The Blog

Aug 24, 2008

"Flex vs. Silverlight" Is A Misnomer 

by Maxim Porges @ 8:24 PM | Link | Feedback (0)

I was reading over this article that LeGros posted on my recent blog post on Silverlight's performance for those who had installed the plugin.

The author does a decent job of laying out the case for both products, after which he draws four possible conclusions.

1) Flex will continue to dominate the market place.
2) Silverlight matches Flex’s market share.
3) Silverlight will fail to gain any significant market share.
4) More competition will flood the market.

The author felt that #1 was the most likely outcome. Personally, I think #2 is practically guaranteed. Allow me to explain.

If you want a platform to take hold, you need three things:

i) Minimal requirements for installation for the end user,
ii) Development tools that developers can't live without, and
iii) Killer front end apps.

The author states that "The consumer is the least impacted. For consumers it is simply a matter of downloading the plug-in or not.". To me, the consumer is potentially the most impacted, since they will have to get that plugin installed in order for the platform to fulfill item #i above.

IMO, there are two reasons that the Flash player has such ubiquitous adoption: (a) people's love of punching a monkey in a Flash ad in the late 90's, and (b) the fact that the Flash player installation is almost seamless. Now, of course, I am being facetious with the "punch the monkey reference", but the point is that you need some application/gimmick that will make users motivated enough to want your plugin in order to get to it, fulfilling item #iii. As for the seamless install, this was especially true for Windows users where IE would almost magically inhale plugin updates and run the new version immediately without even needing to shut down the browser.

This is where Microsoft could really take hold from a platform perspective. Since they own Windows, and Windows is clearly king in the OS marketplace in terms of market share, they can get Silverlight out there just by bundling it with Vista and waiting long enough for users to upgrade either their OS or their whole PC. Of course, most of the Vista users are still going to want to punch the monkey and will need the latest Flash player to do so, so that puts the number of Silverlight installations at parity with Flash (for Windows users at least).

Next, we've got to worry about development tools. Well, Microsoft doesn't have much to worry about there. At least amongst my network of professional colleagues, Visual Studio ranks as one of the most powerful and loved development environments on the planet. Add Silverlight capabilities to this and throw in a healthy quantity of C# and VB coding capabilities coming in Silverlight 2.0, and requirement #ii has been covered as well.

The only thing left to do will be to come up with a Silverlight "punch the monkey" equivalent for non-Windows users. As developers start creating killer apps in Silverlight, it will only be a matter of time before non-Windows users will want one of these apps badly enough to install the Silverlight plugin. If Microsoft can really focus on user experience here they can win over users on any platform. Of course, that might be a pretty big "if" based upon past experience, but I believe they can pull it off based upon the positive movement that took place in Vista (at least for decently spec'd machines).

So, what does this mean for Flex vs. Silverlight? It means that in all likelihood, Microsoft's best grab of the market will be about 80-90% of installed OS users, most (if not all) of whom will already have Flash as well or will get it soon after plugging in their new computer. I don't think Silverlight is going to offer anything to Flex/Flash developers that will make them jump over to Silverlight development or vice versa, so all the guys coding in Flash and AS3 today will be coding in Flash and AS3 after Silverlight 2.0, and all the guys working with .NET today will start producing more Silverlight apps instead of HTML apps because the rich capabilities in Silverlight will be so much cooler than what the browser can deliver alone today.

Of course, the proof is already in the pudding. Look at RIA development shops like Cynergy Systems and EffectiveUI; they aren't building apps in Flex or Silverlight, they are building apps in both depending purely upon the need. I'd bet a kidney that Universal Mind would also be developing in Silverlight today if it weren't for the fact that they are such a close Adobe Solutions Partner (of course, I could be totally off base here - but I think not).

So, my final word on the subject is that there are plenty of desktops ready to receive Silverlight, plenty of developers ready to code in it, and plenty of action left in the Flex/Flash space for all those guys to be enjoying life too. This may be one of the few cases where it doesn't matter which technology you want to go with - they will all be as ubiquitous as each other since they run cross-platform. Long live Flex AND Silverlight.

As somebody who started as a Java developer, this explosion of cross-platform front-end technologies is really something wonderful for me to see in my career. Java held the promise of cross-platform capability but really only ever delivered it on the server side. Now that Flex and Silverlight are here, we finally get to have first-class support for cross-platform capabilities in the front-end as well - and nothing makes developers happier than lots of people using their apps.