What Is that Light In the Tunnel?
With the introduction of Silverlight, Microsoft is entering the race to create a platform that enables developers to create Rich Internet Applications (RIA), a term coined by Adobe.
The essence of RIAs is almost a blast from the past -- the client-server past, that is. Faced by the limitations of HTML, the non-compliance of browsers with DHTML and even CSS, and the needs of end users for a richer application experience, Adobe built technology on top of their ubiquitous and very popular Flash platform called Flex.
With Flash/Flex, developers have the means to create both wildly creative and graphical applications especially in the Web 2.0 world of highly integrated (read "mashups") world of web apps, and also the means to deliver them on the back of the Flash runtime which is estimated to run on 98% of the world's desktop computers including mobile devices, Mac OSX, Linux and of course, Windows. For a team of developers looking at a world of increasing device diversity, and a willingness of end users to use non-traditional devices to engage on the Internet, cross-platform support is no longer a nice-to-have. It's a business necessity.
And this is where the real challenge for Silverlight comes in. No one has it. At least no one other than the leading edge developers who are working with it. But beyond the corporate IT environment where the platform can be controlled, how do you entice a team to use Silverlight when none of their end-users have the needed runtime?
Looking (back) at .NET, we can see a similiar experience. When .NET applications were first shipped (and even today), the necessary .NET runtime wasn't pre-installed in the operating system so developers had to include it in their downloads or CD distributions. This wasn't great and in many cases was unacceptable especially where corporations lock down the environment to any OS modifications by application installers. But we've worked through it largely by now, and .NET is clearly a fantastic way to develop applications strictly for the Windows 2000 or higher platform.
I've been working with Microsoft technology for almost two decades now, and have seen it evolve across platforms, hardware, and the dawning of the Web. But looking out across the landscape now, I'm not sure if Silverlight is too little too late, or if it will become in many years a very real competitor to Flash/Flex. It's not simply a matter of technical merits -- it's about whether by the time Silverlight "catches up" to Flash/Flex, that standard will have moved on yet again.
For teams looking down the road and trying to make a decision, these are challenging times. It used to be that "nobody gets fired for buying IBM". The same could be true for Microsoft technology for many years now. But as an engineering manager, I also wonder if that old saw is from another time before the advent of YouTube, Google, iPod, social networking, and so on.
So is that light you see the beginning of another journey, or the end of one?
Guess we'll know soon enough.