I was chatting with Mike Vernal at lunch today about the various reactions to Microsoft's Silverlight project and he mentioned that he hadn't seen much insightful analysis or critiques beyond general kudos and praise from the blogosphere. Since I'd seen quite a few posts that went beyond the kind of gushing you see in posts like Robert Scoble's Microsoft "rebooted the Web" yesterday or TechCrunch's Silverlight: The Web Just Got Richer, I thought Mike and my readers would appreciate some pointers to responses that contained a little more technical meat from seasoned Web developers.
In his post Frustration with RIA platforms Julien Couvreur writes
There has been a recent flurry of announcements around rich internet applications (RIA) recently, from Adobe (Apollo, open-sourcing the Flex SDK and Tamarin), Microsoft (Silverlight v1.1) and Sun (JavaFX). They seem to battle plain AJAX on three main fronts: richer rendering capabilities, improved performance, and a comprehensive set of designer and developer tools.... But they do little to address the native problems of the web.Here are some examples: integrating web sites and services, cross-domain mashups with private data, access control, identity and charging for web services, user-driven website customization and extension, safe client-side composition. In other words, the recent wave of RIA platforms make things look nicer and run faster, but we are still left off with the non-semantic markup, the page model, and the same-domain policy.
There has been a recent flurry of announcements around rich internet applications (RIA) recently, from Adobe (Apollo, open-sourcing the Flex SDK and Tamarin), Microsoft (Silverlight v1.1) and Sun (JavaFX). They seem to battle plain AJAX on three main fronts: richer rendering capabilities, improved performance, and a comprehensive set of designer and developer tools.... But they do little to address the native problems of the web.Here are some examples:
In other words, the recent wave of RIA platforms make things look nicer and run faster, but we are still left off with the non-semantic markup, the page model, and the same-domain policy.
Grant Skinner writes an interesting analysis from the perspective of a Flash developer entitled A Flash of Silverlight? My Analysis which is excerpted below
By now, everyone has heard of Silverlight (previously WPF/E), Microsoft's answer to the Flash player...From my perspective, the discussion can be broken into four categories: opportunity, runtime, tools, and intent. Opportunity...Flash may not have the gold rush opportunities of Silverlight, but it is a very entrenched technology (98% installed base, 85%+ for Flash Player 9) that will continue to expand its reach, and offer stable growth in web interactive (and beyond) over a long period. There's money to be made in Silverlight development right now, but its future is less certain once MS stops throwing money at it. However, it is worth considering that the skills you acquire using Silverlight will be fully applicable to other Microsoft platforms. Runtime...Silverlight has a lot of potential in this area if Microsoft can innovate. Unfortunately, I have yet to see evidence that they can, and Adobe has a massive lead, both in terms of capabilities and adoption. Tools...Microsoft can and will build a better developer toolset, and provide a better story for tool integration. However their unwillingness to support Macs, and their inability to truly understand creativity or designers will be their Achilles heel. Adobe has a deep cultural understanding of the creative process, and experience with cross-platform support that Microsoft can't match Intent...Cross-platform support for Silverlight is not in Microsoft's best interests if they kill Flash. Neither is continued innovation. As a long time Mac user, I really don't trust Microsoft's intentions, but I do welcome the pressure Silverlight places on Adobe to continue innovating
Opportunity...Flash may not have the gold rush opportunities of Silverlight, but it is a very entrenched technology (98% installed base, 85%+ for Flash Player 9) that will continue to expand its reach, and offer stable growth in web interactive (and beyond) over a long period. There's money to be made in Silverlight development right now, but its future is less certain once MS stops throwing money at it. However, it is worth considering that the skills you acquire using Silverlight will be fully applicable to other Microsoft platforms.
Runtime...Silverlight has a lot of potential in this area if Microsoft can innovate. Unfortunately, I have yet to see evidence that they can, and Adobe has a massive lead, both in terms of capabilities and adoption.
Tools...Microsoft can and will build a better developer toolset, and provide a better story for tool integration. However their unwillingness to support Macs, and their inability to truly understand creativity or designers will be their Achilles heel. Adobe has a deep cultural understanding of the creative process, and experience with cross-platform support that Microsoft can't match
Intent...Cross-platform support for Silverlight is not in Microsoft's best interests if they kill Flash. Neither is continued innovation. As a long time Mac user, I really don't trust Microsoft's intentions, but I do welcome the pressure Silverlight places on Adobe to continue innovating
And from Mike Shaver of Mozilla there is the high cost of some free tools which contains the following gem
If you choose a platform that needs tools, if you give up the viral soft collaboration of View Source and copy-and-paste mashups and being able to jam jQuery in the hole that used to have Prototype in it, you lose what gave the web its distributed evolution and incrementalism. You lose what made the web great, and what made the web win. If someone tells you that their platform is the web, only better, there is a very easy test that you can use: When the tool spits out some bundle of shining Deployment-Ready Code Artifact, do you get something that can be mashed up, styled, scripted, indexed by search engines, read aloud by screen readers, read by humans, customized with greasemonkey, reformatted for mobile devices, machine-translated, excerpted, transcluded, edited live with tools like Firebug? Or do you get a chunk of dead code with some scripted frills about the edges, frozen in time and space, until you need to update it later and have to figure out how to get the same tool setup you had before, and hope that the platform is still getting security and feature updates? (I’m talking to you, pre-VB.NET Visual Basic developers.) ...The web can eat toolchain bait like this for breakfast. And, if Mozilla has anything to say about it, it will do just that. You won’t have to give up the web to work offline any more, or programmable 2D graphics, etc. Soon you’ll have the power of 3D and great desktop/application integration as well, via projects like canvas3d and registration of content handlers, and you’ll have it in a way that’s built on open specifications and a tool ecosystem that isn’t a monoculture. Why wouldn’t you choose the web, given its record and power and openness?
If you choose a platform that needs tools, if you give up the viral soft collaboration of View Source and copy-and-paste mashups and being able to jam jQuery in the hole that used to have Prototype in it, you lose what gave the web its distributed evolution and incrementalism. You lose what made the web great, and what made the web win. If someone tells you that their platform is the web, only better, there is a very easy test that you can use:
When the tool spits out some bundle of shining Deployment-Ready Code Artifact, do you get something that can be mashed up, styled, scripted, indexed by search engines, read aloud by screen readers, read by humans, customized with greasemonkey, reformatted for mobile devices, machine-translated, excerpted, transcluded, edited live with tools like Firebug? Or do you get a chunk of dead code with some scripted frills about the edges, frozen in time and space, until you need to update it later and have to figure out how to get the same tool setup you had before, and hope that the platform is still getting security and feature updates? (I’m talking to you, pre-VB.NET Visual Basic developers.) ...The web can eat toolchain bait like this for breakfast. And, if Mozilla has anything to say about it, it will do just that. You won’t have to give up the web to work offline any more, or programmable 2D graphics, etc. Soon you’ll have the power of 3D and great desktop/application integration as well, via projects like canvas3d and registration of content handlers, and you’ll have it in a way that’s built on open specifications and a tool ecosystem that isn’t a monoculture. Why wouldn’t you choose the web, given its record and power and openness?
All three posts contains some ideas I agree with and many I disagree with. I agree with Julien Couvreur that at the end of the day we still don't have a good solutions to many of the problems facing the Web as a platform. RIA platforms concentrating on how to make things shinier and prettier while writing less code are distracting us from many of the problems that still need to be solved to lead the Web to its true potential. Grant Skinner's post reads to me as if he's in denial. Everywhere he grudgingly gives Microsoft Silverlight a compliment he follows up with an insult that questions the company's competence and assumes that the platform will not fulfill its initial promise. Mike Shaver has a lot of good points in his post especially with regards to RIA platforms ensuring that they play nicely with everything that makes the Web so great in the first place. However I can't help but smile at the final comments in his post that end up sounding like he is pitching Mozilla's proprietary approaches to building Rich Internet Applications as alternatives to the proprietary approaches coming from Adobe, Microsoft and Sun. :)