21st Century Smalltalk

April 18, 2007

Thoughts on Microsoft’s Silverlight

Filed under: .Net Architecture, General — pfisk @ 4:17 pm

There has been a lot of buzz in the past few days about Microsoft’s renaming WPF/e to Silverlight.

Tim Sneath has indicated that there is a big surprise to be announced at MIX07 and the best guess that I have seen so far is that this will be server side Ruby support for Silverlight.

(The following information appears to be incorrect).

But what are the capabilities of Silverlight itself? I came across this blog entry of someone who has downloaded the SDK, read the documentation, and looked at the code:

WPF/E (Silverlight) HAS NO SUPPORT FOR BINDING TO MODELS, BINDING TO DATA, OR EVEN CONNECTING TO NETWORK RESOURCES TO OBTAIN DATA

So, I will summarize Microsoft’s efforts to date around Silverlight. They have created a declarative programming model that uses XAML as an instantiation language for rich 2D (not 3D) content and animations, as well as extended JavaScript to support this model. Using this model, you can create embedded mini-apps that have access to rich animations, graphics, audio, and video objects. However, these mini applications cannot communicate with the outside world, they cannot consume web services, and they cannot bind UI elements to data. In addition, this model doesn’t even have support for things that should be considered a stock part of any library such as buttons, checkboxes, list boxes, list views, grids, etc.

Microsoft seems to be waiting for the Orcas release cycle before adding data binding, controls, and .Net runtime support to Silverlight – and Orcas could be delayed until 2008.

At the moment, you can develop Rich Internet Applications (RIA’s) which run in IE7 on Windows Vista (or Windows XP with a 23MB WinFx download). Vista is now installed on about 20 million machines and there are perhaps a few million XP machines with WinFx installed. Considering that there are over 800 million machines connected to the Web, you can deploy a .Net RIA to about 2.5% of potential users. Or, you can deploy a Flash 9 RIA and reach 84.9% of potential users.

Perhaps the only real battle for the RIA marketplace is going to be between Ajax and Flash.

History sometimes repeats. In 1981, IBM gave away the microcomputer software market to Microsoft. In 2007, after billions of dollars and years of development to create .Net, Microsoft seems to be giving away the Internet software market to Adobe and others.

Microsoft may make a miracle announcement at MIX07. If they don’t, we have likely gone through a major turning point in the software industry.

12 Comments »

  1. I’m hoping that it’s mini clr support. I may be wrong. I’m not happy about the lack of binding support either – it’s so fundamental to WPF.

    But you’re argument makes no sense. If the RIA decision is flash versus Ajax then surely the Ajax camp have the option to include Silverlight. In fact i would bet that if you are using the ASP Ajax controls you will get some Silverlight for free. This is a pretty good strategy, if you have an existing AJAX solution it’s pretty easy to add some flash like features.

    Comment by Joe — April 19, 2007 @ 12:58 am

  2. We’re not giving away the Internet software market – trust me, I wouldn’t still be working here if I wasn’t full of excitement about our strategy in this space.

    Comment by Tim Sneath — April 19, 2007 @ 2:20 am

  3. Joe,

    The issue to me is the power of the programming model on the client side. Perhaps the correct term that I should have used is “Flex versus Ajax”. Flex (MXML + ActionScript) is much more capable than JavaScript 1.5.

    If the requirement is simply to load and play video content, then the Ajax approach is fine. I am assuming that an entirely new style of programming will be needed to support interactive environments similar to “World of Warcraft” or Squeak’s Croquet.

    Comment by pfisk — April 19, 2007 @ 12:21 pm

  4. Tim,

    Microsoft’s .Net technology is very good and has a huge potential.

    I hope that the MIX07 announcements in a couple of weeks will clarify matters and then everyone can concentrate on building the next generation of interactive applications.

    In 1977, someone told me that “Microsoft is the Cadillac of micro-computer software” and he was right. I have always admired the company and I wish you continued success.

    But VM deployment is the key issue if you want to win in this space. That’s where Adobe has the advantage for now.

    Comment by pfisk — April 19, 2007 @ 12:58 pm

  5. I think your work looks interesting, but I wouldn’t call it typical for the average B2C or B2B site. If you think about the position that these internet companies are in, and the pressure to add some specific functionality to their already AJAXed site then Silverlight is going to offer them a compelling option. Even more compelling if they are using the ASP.NET AJAX Toolkit, and even more if they already have some existing XAML assets for existing WPF application.

    I think Silerlight is a huge step. Given the status of WPF, as the strategic presentation system for Windows, Silverlight is the first time that I know of that there is a cross-platform technology related to the primary presentation technology of any major OS. How close that relationship will be for ver. 1 won’t be clear until Mix07 – but as a cost saving strategy, to unify leverage development between LOB apps, RIA and web based applications it has a huge selling point. Remember, strategies for next few years are not set on deployment snapshots for now. Given Microsoft’s control over this channel, it’s unlikely they will lose over deployment numbers (think IE8, Office, Windows Update etc).

    Comment by Joe — April 19, 2007 @ 3:24 pm

  6. Joe,

    I have worked long enough with corporate IT to understand your point of view, and I agree with you in that context.

    When the PC came out in 1981, IBM estimated 250,000 sales over three years. They thought that the major use would be for SNA terminal emulation and word processing – they didn’t see 90% of the market.

    It was GWBASIC from Microsoft that captured people’s imagination and they used it for games, educational software, business applications and even for writing 8088 assemblers (CHASM “Cheap Assembler” was written in GWBASIC). IBM never foresaw any of that market.

    I feel that it’s going to be the same with the next generation of internet applications. 90% of the market isn’t going to be corporate, it will be programmers (amateur and professional) making new kinds of applications (games, social networking, …?) that have never been done before.

    That requires using simple tools like Smalltalk which, IMHO, will be the GWBASIC of the Internet.

    Comment by pfisk — April 19, 2007 @ 7:09 pm

  7. [...] Thoughts on Microsoft’s Silverlight « 21st Century Smalltalk “Vista is now installed on about 20 million machines and there are perhaps a few million XP machines with WinFx installed. Considering that there are over 800 million machines connected to the Web, you can deploy a .Net RIA to about 2.5% of potential user (tags: RIA Flash Ajax) [...]

    Pingback by James Governor’s Monkchips » links for 2007-04-19 — April 19, 2007 @ 11:31 pm

  8. > these mini applications cannot communicate with the outside world, they cannot consume web services

    As usual, it would be great if people had a clue what they’re writing about..

    Quoted directly from the Silverlight SDK documentation:

    The Downloader object is a special-purpose WPF/E object that provides the ability to download content, such as XAML content, JavaScript content, or media assets, such as images. By using the Downloader object you do not have to provide all application content when the WPF/E control is instantiated. Rather, you can download content on demand in response to application needs. The Downloader object provides functionality for initiating the data transfer, monitoring the progress of the data transfer, and retrieving the downloaded content.

    The properties and methods of the Downloader object are modeled after the XMLHttpRequest (XHR) set of APIs. XMLHttpRequest provides JavaScript and other web browser scripting languages the ability to transfer and manipulate XML data to and from a web server using HTTP.

    Comment by Jeff Atwood — April 20, 2007 @ 9:56 pm

  9. Thanks for the correction.

    Comment by pfisk — April 21, 2007 @ 2:40 am

  10. Methinks you should update the incorrect content of this entry. The blog entry you link to and quoted from (obviously without validating the claims yourself) has been removed (at least shows an error for me now).

    Comment by Ewan — April 21, 2007 @ 5:06 am

  11. Agreed.

    The changes are done.

    Comment by pfisk — April 21, 2007 @ 12:56 pm

  12. fDBwgL Blogs rating, add your blog to be rated for free:
    http://blogsrate.net

    Comment by Michael Nowak — June 23, 2008 @ 10:43 pm


RSS feed for comments on this post. TrackBack URI

Leave a comment

Blog at WordPress.com.