Microsoft has taken the covers off of Silverlight. The industry seems to be stunned as the execution and the technology facts are quite impressive. I will not go into the analysis of the Silverlight features, there are plenty of other resources for that. Instead, I would like to discuss what the news has in it for Flash/Flex, Adobe and us(Midnight Coders).
Flash/Flex. Silverlight is clearly a competitor to Flash/Flex. Competition typically results in two things: (1) Consumers benefit from lower pricing (2) Competing technologies tend to improve to deliver better, faster, cooler features. For example, availability of Silverlight Streaming may certainly have a profound impact on the pricing of products like FMS (and our own WebORB Enterprise). Another example is the plugin processing speed. Scott Guthrie in his
interview with Channel 9 mentions the speed of the Silverlight virtual machine (CLR/DLR) and indirectly refers to an alternative product saying Silverlight is about 20 times faster. I am not sure if he's talking about Flash9, though something tells me that's what MS would benchmark their product against.
Adobe. Things will never be the same for Adobe. With a single move, Microsoft put .NET on the RIA map, the same .NET Adobe has been completely ignoring with Flex. This means that in theory every single .NET developer is qualified to be an RIA developer, but unfortunately they will remain in the Microsoft's camp. Should Adobe try to gain any traction with the .NET folks? Absolutely! Giving up on them would be letting MS eat Adobe's lunch without a fight. The key is to focus on the material and immaterial assets Adobe has. I believe there are three:
- Adobe still has the majority of the graphics/art designers in its camp. The role of the designers in the RIA space is extremely important. That's a huge asset.
- Flash plugin market penetration. Many people say it is very hard to get the deployment numbers Flash player has and MS may fight an uphill battle to get the same ubiquity with Silverlight as Adobe has with Flash. I tend to disagree with this argument. Microsoft can get the same number overnight just by doing a "security update" and install Silverlight onto every single Windows XP, 2000, 2003 and Vista box.
- Platform/OS agnostic approach. Unlike MS, Adobe has no vested interest to stick to a particular operating system or a suite of server-side products (databases for example). As a result, Adobe's product vision *must* be "Flex is for everyone, Flex is for all". No matter if you are .NET, Java, PHP, Ruby, Python (or even Prolog) developer, you should be able to get the same quality of service and support when building an RIA with the backend of your choice.
What should Adobe do now in response to Silverlight? Here's my top ten:
- Embrace ALL popular languages as equal citizens of the Flex ecosystem
- Provide comprehensive backend implementation for all supported languages. That would include remoting, data management, messaging, and tooling.
- Simplify application Flex development live cycle. Rely on code generators and development workflow automation. Look at what we did with WDMF, this is the kind of things developers LOVE.
- Open up, document and standardize on-the-wire protocols
- Bundle FMS and FDS together
- Create a competing online streaming hosting service with even more hard drive space and bigger bandwdth pipes than MS.
- Pay attention and nourish small to medium size businesses. Let them use the product even if it means no revenue.
- Consider Visual Studio plugins/compiler for Flex development. I hear many .NET developers complain about their experiences with Flex Builder. I tend to agree, with all things being equal, Visual Studio is lighter and faster.
- This is a wild one (and kind of contradicts #8), but the benefits are huge: Introduce support for .NET languages in Flex Builder. Why lock people in to ActionScript? No reason one would not be able to program Flex in C#..
- Finally partner with Midnight Coders :)
Midnight Coders/WebORB. Our product is designed to be completely agnostic to the client technology. Today we support Flex, Flash and AJAX clients and can connect them to a variety of the backend systems (.NET, PHP, Ruby on Rails and Java
(no Flex support for Java though)). As a result, it would make perfect sense to add Silverlight to the list of supported clients. That would open up a lot of interesting opportunities. For example, tighter integration between Silverlight clients and PHP or Ruby backends; server-to-client method invocation, perhaps even support for WDM(S?) :) We are not rushing there yet, our primary focus is still Flex. Even though it sure would be nice to do all development in Visual Studio, I believe Flex is superior to Silverlight
especially when it is integrated with .NET through WebORB.
Technorati tags: WebORB, Flex, Silverlight, Flex and Silverlight