In-Depth
Silverlight Futures
With HTML5 promising native support for video and animation, what can developers expect from Silverlight in the months to come?
Developers' excitement about the U.S. rollout of Windows Phone 7 on Nov. 8 was tempered by growing questions about the future of Silverlight, the Microsoft rich Internet application (RIA) and Windows Phone 7 development platform.
Uncertainty in the developer community was initially sparked in March by Microsoft's release of the Internet Explorer 9 Platform Preview, which centered on HTML5, the next version of the HTML standard for creating text and elements in Web sites. HTML5 is a giant leap forward with support for inline video, audio, animation and other interactive features provided today by browser plug-ins such as Silverlight and Adobe Flash.
Recently, anxiety has been heightened by reports of alleged internal conflicts at Microsoft about HTML5 versus Silverlight, ambiguous messaging and blog postings, and less emphasis on Silverlight technology outside of Windows Phone 7 development at the 2010 Microsoft Professional Developers Conference (PDC10) in October.
The Silverlight 4 beta release, which added functionality that solidified the RIA platform's viability for line-of-business (LOB) apps, was a major highlight of PDC09. Silverlight 4 shipped in mid-April, topping off a three-year tear of rapid releases since the technology was introduced in 2007.
During that time, many Visual Studio developers have come to rely on the plug-in for uniformity across Web sites and browser implementations, and they've applauded the Microsoft .NET Framework productivity offered by Silverlight, which features a subset of the .NET Framework and the CLR. More than 600,000 developers are developing for the platform, according to Microsoft.
"I really don't think HTML5 and Silverlight are competing for the same plot of land," says Todd Anglin, chief evangelist for Telerik Inc., a toolmaker for Silverlight and Windows Phone 7, among other Microsoft technologies. "I think there's a future where Silverlight and HTML5 continue to coexist and technologies like Windows Phone 7 only underscore that reality. HTML5 and related technologies will be perfectly suited for building the rich, standards-based Web, and I think eventually as HTML5 solidifies and as more and more browsers uniformly implement [it], Silverlight may be used on occasion to provide greater degrees of richness in the browser. But for the most part, the rich Web will be done through HTML5."
Dual Strategy
Criticized over the years for failing to conform to World Wide Web Consortium (W3C) and International Organization for Standardization (ISO) standards, Microsoft with Internet Explorer 9 seems to be addressing those concerns, with aggressive support for HTML5 (including 2D rendering with Canvas), Cascading Style Sheets 3 (CSS3) and Scalable Vector Graphics (SVG). The goal is to enable developers to use the "same markup" across browsers.
"Internet Explorer is the dominant browser and everybody hates it because it's not compliant with any other browser," says Rockford Lhotka, principal technology evangelist at Magenic. "On the other hand, I use a lot of browsers and none of them are compliant with each other, so I think that criticism of Internet Explorer is a little false."
Internet Explorer 9 and its support of GPU-accelerated HTML5 were spotlighted during the opening segment of the PDC10 keynote by Microsoft CEO Steve Ballmer and VP Dean Hachamovitch, who's in charge of Microsoft browser efforts. In September, when the Internet Explorer 9 beta was released, Microsoft announced that Bing and Xbox 360 will support HTML5 compatibility -- in some instances replacing smooth streaming and Silverlight -- in an effort to lower costs with the ESPN3 video application. Windows Phone 7 at launch does not support HTML5.
"It's clear that the expectations of all of us for the Web are raised," says Lhotka, who identifies himself primarily as a Silverlight developer. "We expect more from our Web sites. For Windows to continue to be a compelling OS, it has to come with a compelling browser that can do all this stuff that we want the Web sites to do -- so Internet Explorer 9 makes all the sense in the world in terms of making sure that Windows remains a very good Web client."
Microsoft, he says, has to have a dual strategy of supporting the Web in a very powerful way, while simultaneously supporting smart client development.
"If the browser is the client technology and everybody is only building apps for the browser, then Windows becomes irrelevant, right? Clearly, they're not going to do that," Lhotka says. "'Windows development' now all of a sudden doesn't just mean Windows. It means Windows, Windows Phone, Windows Embedded Devices -- they've [even] decided that it includes the Mac. Silverlight is clearly a great technology for enabling that type of development target."
Shift in Strategy
Microsoft's failure to communicate that Silverlight is no longer viewed as the primary cross-platform runtime solution for .NET developers came to a head at PDC. Comments about a shift in Silverlight strategy made by Bob Muglia -- president of the Microsoft Server and Tools Division -- during a PDC interview were reported by longtime
Microsoft watcher Mary Jo Foley in her All About Microsoft blog.
Silverlight is the development platform for Windows Phone 7, "sweet spots" in media and LOB apps, and a cross-platform runtime solution for some OSes and browsers, Muglia explained in the interview.
"But HTML is the only true cross-platform solution for everything, including [the Apple] iOS platform," he reportedly said, according to Mary Jo Foley's Oct. 29 blog, Microsoft: Our Strategy with Silverlight Has Shifted."
Various interpretations of Muglia's comments went viral, which ignited an uproar on the Web and Twitter. The aftershocks even reached mainstream media outlets such as The Wall Street Journal. The resulting confusion has forced some developers to face tough questions after working to convince management and customers to commit to Silverlight technology.
"[W]e've been hit by a big wave of questions," says Louis-Philippe Pinsonneault, a senior .NET developer at consultancy RunAtServer Inc. and a Microsoft MVP in Device Application Development. "My company, RunAtServer, is seen as the local leader in RIA and Silverlight applications, so we had to reassure our customers that Silverlight is there to stay. We had some customers who put projects on hold. But once the customers understood the real meaning of the 'shift in strategy,' everything went back to normal."
Many Silverlight devotees remain unfazed. "Certainly the spin on what was quoted by Mary Jo was shocking, but the reality I think is not nearly so sensational," says Lhotka. "Anyone who stopped and thought about it would realize that Microsoft has invested an amazing amount of resources and energy into making Silverlight a primary development target for Windows, for the browser, for the Mac, for the phone, for embedded devices. So the idea that just on a whim they would go, 'Oh yeah, HTML5 will actually become real in about three to five years, so we're going to bet the whole company on that.' I mean, that's crazy."
Andrew Brust, chief technology officer at Tallan Inc. and Redmond Review columnist for Visual Studio Magazine, says Microsoft's Silverlight strategy had to change to account for HTML5. "But the phrase 'our strategy has shifted' made it sound like Silverlight was being explicitly de-emphasized. And even if that were true, I'd be surprised to hear someone pronounce it so directly," Brust says.
Scott Guthrie, Silverlight lead and corporate vice president of the Microsoft Developer Division, addressed Silverlight concerns in his blog in early November. He reiterated that Silverlight is a strategic technology for Microsoft and that the company's investments in the technology focus on three core areas: client apps inside and outside the browser, apps on devices (Windows Phone and Windows Embedded) and media solutions.
Guthrie explained: "Where our strategy has shifted since we first started working on Silverlight is that the number of Internet-connected devices out there in the world has increased significantly in the last two years (not just with phones, but also with embedded devices like TVs), and trying to get a single implementation of a runtime across all of them is no longer really practical (many of the devices are closed platforms that don't allow extensibility). This is true for any single runtime implementation -- whether it's Silverlight, Flash, Java, Cocoa, a specific HTML5 implementation or something else."
IDC analyst Al Hilwa agrees with that assessment. "The world has actually changed in the last three years in this one important respect: application platforms are proliferating like wildfire. And in such a transformative age where this proliferation might get worse before it gets better, it's going to be impossible to support all platforms," Hilwa explains.
Hilwa notes that many key platforms restrict the use of layered platforms above them. Both iOS and Windows Phone 7 follow this model.
"What I'm hearing from Microsoft is a perfectly sane strategy, which is to target a specific set of platforms and do them well," Hilwa says.
Silverlight will continue to be multi-platform, but use a different approach than when it was first introduced, says Pinsonneault. "Since Silverlight 4, Microsoft has introduced some functionality, which is only available for a specific platform. COM is an example," he says. "So I'm not surprised that they decided to offer platform-specific functionality. This is the real meaning, in my eyes, of the 'shift in strategy.'"