Silverlight vs. Flash – Where’s the Fire?

Is fuel efficiency really what we need most desperately? I say that what we really need is a car that can be shot when it breaks down. –-Russell Baker

I had a chance to reflect a little bit today on Silverlight and Flash and I’d like to offer these observations.

I have some not insignificant experience with Flash. Many developers are too new to remember FutureSplash – but I remember it very well, and I used it when it first came out, circa 1995. That was the predecessor of today’s Flash, which was ultimately purchased by Macromedia, and now of course subsumed into Adobe.

A lot of the stuff you read today revolves around “Flash vs. SIlverlight”. The media loves controversy, and they’ll hammer on this subject ad-infinitum – often to the extreme detriment of any real content.  If you are on Twitter, the latest volley was about MLB (Major League Baseball) dropping Silverlight and going back to Flash for their video coverage. Its seems like every Tom, Dick and Harry Blogger / Twitterer needed to “break the news”.

It was a joke – it got to the point where the signal-to-noise ratio made it uncomfortable to even find relevant content about “Silverlight”. Fortunately, they’ve started to give up and things are getting back to normal.

I have no idea what the facts are behind this arrangement, nor do I particularly care, because Silverlight is already “on a roll”, and it’s just the beginning. Flash is not going to go away, and I don’t want it to - that’s good because competition is good for everyone.

When I and Robbe Morris (my MVP partner on the eggheadcafe.com venture) worked for Sprint Telecenters back in 2000, Sprint spent over $500,000 to have some very sophisticated Flash developers put together a really hot-shot Flash animation web page for their current home – business offering called “ION”. Needless to say, it no longer exists as a product. The animation was fantastic – but at the time, that’s all it did – be a Flash-y animation.

Flash was and still is used primarily as a delivery system for graphic animations, banner ads, and to a lesser extent, a UI front – end for interaction with data on some back-end such as a database. Flex has brought some notable changes, but I haven’t seen any compelling business scenarios built with it. Microsoft properties use Flash – and they’ll probably still be using it for quite a while. Sure, they want to promote Silverlight – but they aren’t stupid! Bloggers seem to want to expose some sort of hypocricy on the part of Microsoft here – but Microsoft is simply being pragmatic in my view. The Flash IDE has not changed much in all these years – it it still “Timeline” concept – based. Silverlight is much different.

When I was able to use the Silverlight .NET Framework to perform fast custom binary serialization of strongly typed .NET objects combined with in-memory Zip compression and send the resultant  compact byte arrays back -- and forth -- over the wire from the client – side Silverlight application to a WCF service on the server side, that’s when I realized that my Flash friends cannot perform this kind of sophistication. Their infrastructure simply does not permit this kind of enterprise – level, “create your own transport channel” architecture at present. (Note in the comments to this post that I stand corrected in some areas, but you can draw your own conclusions). Bear in mind, we are talking about custom binary serialization in Silverlight, and doing it in your language of choice – C#, VB.NET, Ruby, etc.

The main difference with Silverlight is that it really leverages the developer base – both designers and coders – to use their .NET Framework skills to build line-of-business applications that can deliver enterprise-level interaction coupled with high quality video and vector graphics -- with animation -- in a subset of the .NET Framework that installs and runs on the user’s PC, in their Internet browser. You could clearly make the case that the single compelling reason to look at Silverlight is that you are already a .NET (or Mono) developer and don’t want to learn ActionScript (or that you like VB.NET or Ruby or Python!)

And unless you’ve been living in a cave, I don’t need to sell you on the fact that  .NET has matured to the point where most all of the major corporations around the globe are using it as a mainstream technology.

Moonlight, the Microsoft / Novell supported *nix version of Silverlight, is about to make it’s debut.  And the Eclipse Silverlight IDE is already available to try in BETA.

SIlverlight code is compiled. It runs (in several different programming languages now)  up to 300 times faster than comparable Flash code, which relies (currently) on ActionScript.

The next generation of Silverlight will support Hi-Def video, adaptive streaming, and much more.

I still like Flash. But I just love Silverlight, because the productivity curve with Expression Blend and being able to create applications in the familiar environment of Visual Studio 2008 (and even in Visual Studio Express versions) Is quite compelling.

Recently I subscribed to NetFlix just so I could opt –in to the SIlverlight – delivered “Watch Instantly” feature, which is a pleasure to use. Full – screen, searchable hi-def video of your favorite movies, streamed live right to your computer monitor. I like Indie, comedy and foreign films – and they have plenty.  It’s comedic to see these MAC users (who are often hardcore Microsoft – haters) having their jaws drop when they see it working so well on their MACS!

Don’t sell Silverlight short. You’d be making a big mistake. It’s not about Flash vs. Silverlight; it’s about RIA and good competition.