There are some products that appear to have been doomed to circumstance since birth – that despite the most ambitious goals, the grandest intentions, and often the wildest strokes of luck, still manage to end up on the wrong side of public perception. No more prominent example exists in the history of software than Microsoft Silverlight, a textbook case of a platform that was never, for one moment, given the benefit of a doubt.
It did not help that its original title, circa 2006, was “Windows Presentation Foundation / Everywhere” (WPF/E), which sounded like the catch-phrase for a neoconservative protest movement. And it really didn’t help that its producer had attained a reputation for defining the Web by default, building less-than-ideal browsers and technologies and broadcasting them into ubiquitousness by tying them to Windows.
But Microsoft was out of get-out-of-jail-free cards, having worn out its welcome with Web developers with the disaster that was ActiveX. Silverlight was a double-down bet on the idea that if a technology were made accessible enough, and its performance were respectable enough, developers would adopt it because they wanted to, not because they were locked into the decision.
What it is, and what it was
Microsoft’s prior behavior mandated that Silverlight (as well as every other tech campaign from the company) should be watched with skepticism and caution. The situation that any developer should work to avoid is one where the best method for solving a problem is only attainable through a single vendor’s product. Imagine if, for example, the best way for an individual to find content, or the most attainable way for content producers to monetize their product, or the most available way to advertise that content, were through a single vendor. Why, the “open Web” would be impossible!
An early demo of a Silverlight app running on Mac OS X, from June 2007 TechEd.
That Silverlight was, to be blunt about it, not really an innovative new method but rather an alternate approach (and arguably a better one, in several respects) to a method addressed by a completely different vendor more than 90% of the time, did not seem to quell the conspiracy theorists. From moment one, Silverlight was pegged as Microsoft’s latest tack toward its old strategy of vendor lock-in – a principle eschewed by Web developers in much the same way Congressmen openly abhor pointless bickering.
Life in the margins
For such a tack to succeed in a market that was seeded against it, Silverlight needed a sign of faith from its executive leadership. It never really got it. CEO Steve Ballmer continually downplayed Silverlight as something that was nice, maybe interesting, but not critical to the company’s strategy. There were times Ballmer publicly demonstrated he knew less about the product than I did. In June 2010, he told an audience that Silverlight does not run on the iPhone, thanks to Apple. This was eight months after Microsoft gave me the first demonstration of Silverlight on iPhone, which its product manager told me was only possible on account of Apple’s direct cooperation and participation. Granted, it was never downloadable through iTunes, but after Ballmer’s little demonstration, you have to ask yourself just whose fault that was.
Of course, the demonstration itself was taken by some as the latest indication of Microsoft’s evil plan, this time to seed the world with proprietary video. (This despite the mounting evidence that there may not really be any other kind.) Keep in mind, the following year, Android would be praised for having advanced the ubiquity of Adobe Mobile Flash.
Early demo of a Silverlight 2.0 app running in Mono Moonlight 2.0, from August 2009.
“To sap and impurify all of our precious bodily fluids…”
Microsoft never actually branded Silverlight for a Linux platform. Instead, it cooperated with a competitor company, Novell, supporting it as it funded the development of an independent product called Moonlight that delivered both Silverlight functionality and video to Linux desktops. As Silverlight is to .NET, Moonlight is to Mono, a genuine effort by independent, open source developers (very good ones, mind you) to implement .NET-derived methods across platforms.
The problem with adopting openness as your mantra is that you must become open to that to which you’re closed. Silverlight is where, astonishingly, Microsoft succeeded and its detractors miserably failed. Rather than swallow the notion that good ideas can emerge from the “wrong” sources, some accused Moonlight of no less than “actively undermining our freedoms”, of effectively brainwashing users, of orchestrating a real-world “Invasion of the Body Snatchers” with some names you’ll recognize serving as Microsoft’s shovels, rakes, and implements of destruction.
For a few years, Microsoft’s work on Silverlight development was fast and furious, and Moonlight raced to catch up. As a result, there no longer appeared to be a devious conspiracy by Microsoft to inject Silverlight into Linux. Mono, the project to which Moonlight belongs, adopted Windows itself as one of its supported platforms, thereby nullifying the very possibility of vendor lock-in that Silverlight had earlier been accused of enabling. Yet almost immediately, the extent to which Moonlight had not yet caught up with Silverlight was called out as a devious conspiracy by Microsoft to withhold Silverlight from Linux, an effort to engineer a new garden wall for vendor lock-in, where Linux would always be one step behind.
The emergence of Windows Phone, which should have begun Silverlight’s ascendency into ubiquitousness, instead launched its downward spiral.
In January 2010, Microsoft launched a parallel course for its mobile OS strategy, literally issuing a correction to its own statements about a future “Windows Mobile 7,” in a plan to make reporters ask about what Microsoft meant by “the future of mobile” to give it just the right opportunity to answer. Microsoft then demonstrated that Silverlight developers could build WP7 apps using the XAML resource management language they already learned for the PC. This was the first indication that Microsoft was working on a cross-platform development strategy for PC and mobile.
But once again, executives including CEO Ballmer downplayed Silverlight. At the very moment the technology should have been portrayed as critical, Ballmer chose instead to characterize Microsoft as shifting away from it. Those subordinates who found themselves playing full-time defense on the strategy shift soon found themselves working someplace else.
And what is this strategy shift about? The move by Windows 8 to WinRT is an overt, intentional effort by Microsoft, as the company freely admits, to march developers away from Silverlight, and toward an altogether new and untried apps ecosystem. That such an ecosystem was technically feasible with Silverlight was never questioned.
But if technical feasibility were the single benchmark for the viability of all Web technologies, today you would not be reading this single-column blog with a long, long scroll bar through a browser that delivers content from multiple sources using an unsecured, stateless protocol. Put another way, if all it took was to make technologies work well, the Web as we know it now wouldn’t even be here.
For Microsoft to remain competitive through the rest of this decade, it must produce a mobile platform that customers want more than any other platform. Right now, it does not. Microsoft’s product development has always, always depended on leverage. It builds new platforms on existing ones. When Microsoft first shifted its Windows Mobile strategy to Windows Phone, it was with the idea that Silverlight might be the link that lets its mobile platform leverage its successful and substantive Windows platform. But that is not enough.
Recently, there has been active speculation that Microsoft may want to converge some elements of its Windows PC and Windows Phone platforms, perhaps just enough to enable certain classes of apps to run on both. This brings up the musical question… Duh! For Windows Phone to make sense as a Windows brand, it needs apps that cross the boundaries of Microsoft’s “four screens” (formerly three). If Windows Phone fails, conceivably Microsoft will fail, entirely. Certainly the many carriers whose faith and support are necessary to make Microsoft’s plan work, would not be satisfied with Silverlight as the leverage point for tying PC to Phone.
The notion that carriers may have nixed this earlier, Silverlight-dependent leverage scheme, as it was presented in late 2009, would explain why Microsoft’s strategy shift was so sudden, so inconsistent with its past and, thus far, so indeterminate with respect to the future. The leverage point must go both ways now; what we see on PC now must borrow more concepts from Phone, in order for the mobile platform to attain the subsidies it needs to be successful. In what many are calling the “post-PC era,” this could be the first instance where carriers are effectively dictating the content of our personal computers.
If that is indeed the case, as I strongly suspect, then there would be no more prominent an indicator that Microsoft no longer dominates computing than the incursion by wireless carriers into its once-sacrosanct PC strategy. That Silverlight should be relegated to a side note on account of a platform leverage strategy, would be a sad and ironic fate for a good technology that, for the duration of its life, was suspected by many of being a platform leverage strategy.