Silverlight aficionados will tell you that comparing Silverlight and Flash makes as much sense as a comparison between a Moto Razr and the iPhone. They will tell you that Silverlight was created for a far bigger purpose; to light up the web (to use Microsoft’s marketing lingo) in the same way as Windows Presentation Foundation (formerly Avalon – I just love Microsoft’s system of nomenclature. Which genius thought of Vista though?) was to light up the Windows Platform. Maybe they are right – Silverlight might have a more audacious goal (which Microsoft product doesn’t?), but with Microsoft trying to eat up some of the ubiquitous Flash market a comparison is valid.
Before we begin to start comparing them as media clients, let us examine them as application platforms from the perspective of the one trying to play ketchup, i.e. Silverlight:
Silverlight stepped out of the browser with Silverlight 3 and brought with it the same sandbox environment as it had within the broswer. Unlike Adobe Air applications (Flash’s flavor for desktop applications), Silverlight apps do not require elevated privileges to run, which makes for a more secure environment. But then, with elevated privileges Air apps can do so much more.
Offline Browser Support
Speaking of more, Adobe Air has better offline browser support with an included webkit; whereas, with Silverlight if the app requires HTML or a script running within the browser, then too bad – you can’t do it. Air also has local database support with embedded SQLite, Silverlight does not.
Remote Data Access
Silverlight 3 does address remote data access shortcomings; Ajax apps (and Silverlight apps) will be able to to retrieve remote-data which will come down in the default JSON format.
Silverlight 3 is also looking to be more SEO friendly by permitting deep linking URLs to point to places within the application. To make things even more exciting for search engine crawlers, an ASP add on mirrors dynamic content into HTML for easy indexing.
Things become easier in the 3rd dimension with Silverlight, where you can apply a 3 D effect to any media object with a 3 D API.
Oh and here’s the closer: multi-touch support is available with Silverlight 3… but only on Windows 7 (did I mention this was a Microsoft product?!)
To summarize: Microsoft seems to have done a great job with Silverlight 3 and promises much more with Silverlight 4. But how can it convince developers to ignore the ubiquity of Flash (installed on 95% of web browsers) remains the big challenge for Microsoft.