Silverlight is pining for the fjords
Yes, I know I'm beating on this whole discussion on "Is Silverlight dead?", but please bear with me.
For those who don't feel like reading this whole post, here's the short version: no.
Unless you've been in a cave, or just don't develop with Microsoft technologies, you probably know that there have been a few incidents recently that have made some people doubt Microsoft's faith in having us use Silverlight. To refresh your memory:
- October 27, 2010 - At the 2010 PDC, Bob Muglia showcases Internet Explorer 9. Highlights were heavily focussed on HTML5 technologies, Silverlight was ignored. This was made a little stronger when - in a later interview - Bob Muglia (Senior VP of the Server and Tools Business) said:
"Our strategy with Silverlight has shifted." Ooops. The recovery machine moved in to clean up that spill on aisle 6.
- April 12, 2011 - At the 2011 Mix conference, Microsoft demonstrated that it sometimes can't learn from earlier mistakes, and completely ignores Silverlight again in the keynote. Certainly, there were plenty of talks that included Silverlight (27, including the appropriately named "HTML5 for Silverlight Developers"), but no keynote love.
- June 1, 2011 - A Microsoft produced video is posted to YouTube (YouTube. Really? Didn't they have their own video sharing site?) that describes the new Metrotastic desktop UI for Windows 8 (maybe edition).
"We've introduced a new platform, based on standard Web technologies." Again, no love for Silverlight." Petitions are started, people are nervous. In a tone deaf response on the official Silverlight forum,
sacrificial goat Community PM Pete Brown provides this hope to those who have invested time and mindpower in the technology:
"We're all being quiet right now because we can't comment on this. It's not because we don't care, aren't listening, have given up, or are agreeing or disagreeing with you on something. All I can say for now is to please wait until September."
- June 24, 2011 - Microsoft releases a new version of its Internet storage solution, SkyDrive. The interface it touted to include improved speed:
"Common tasks and scenarios, like clicking on folders and navigating photo albums will go from 6-9 seconds down to 100-300 milliseconds." Oh, and it's no longer driven by Silverlight. Just a coincidence.
OK, now that all the bad news is out of the way, what is my ill-informed opinion? Expect to see a Silverlight-Windows 8 shim at the
PDCBUILD conference in September. Expect to hear more about Silverlight as Silverlight 5 gets closer (current target for launch is the "second half of 2011"). Expect a Silverlight 6 announcement about the same time. Shorter version: "Silverlight isn't going away." There are still a few things better done in Flash/Silverlight, and despite the efforts of Web developers, browser implementations and standards bodies, HTML 5 isn't there yet. Add to that the fact that Microsoft has all but announced that there are some components of HTML5 that they won't be doing, and there remains a need for a plug-in to sneak the stuff in.
How did we get here?
If Microsoft has one bad habit, it's that they like to try solving the same problem multiple ways, letting the market deside which is the better solution: Exchange vs. SQL Server, Access vs. FoxPro, Entity Framework vs. LINQ to SQL, etc. What I think we're watching here is the beginning (or perhaps the end) of the battle for the angle brackets of Web developers: HTML5 vs. Silverlight. For part of the story, Microsoft is trying to demonstrate that it can implement barely implemented standards as well as anyone else. Another is that they'd really like to cleanse themselves of the perceived stench of IE6. Finally, there is the organizational story: IE is built within the Windows org, Silverlight comes from Server and Tools (STB). Rather than all one big happy family, the various orgs within Microsoft rarely play fair. Office ignores the controls that Windows and STB have built and goes and implements their own (hello, Ribbon!). Windows ignores .NET (mostly), and carries on with Win32 demos in their SDK. Entity Framework was slow coming out of SQL Server, so the developer folk built their own ORM (LINQ to SQL).
It's not mean-spirited, there are good reasons why the teams do this: to avoid taking the dependency. The software development process for something like Windows or Office are mind-boggling: here's a light description of part of the Windows build process (for a more in depth version, see Vincent Maraia's, The Build Master: Microsoft's Software Configuration Management Best Practices).
If Windows wants to showcase Silverlight in a Windows 8 demo, that means that their planners will have to trust the Silverlight developers to have the features needed in the product, when they need it. The Silverlight developers (who you will remember are trying to ship Silverlight 5 at this point) must trust the Windows 8 developers to have an accurate design, and that they will not slip in their schedule. You end up with a game of chicken where the only thing likely to go off the cliff is the demo. Eventually, SL5 will be stable enough to send over to the Windows build teams. Then it will get integrated. In the meantime, the SL5 developers have added/stabilized a few dozen more features, which then goes back to Windows for another round of integration. At some point, the Silverlight team will fork, with one team essentially working for the Windows team, and the other working on new features for Silverlight. This integration dance is why you see the builds that ship with various Betas jump so. I am also quite confident that the Silverlight team will have something - probably very cool - to demonstrate in September ("second half of 2011")
This is madness!