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.'"

Pinsonneault says Silverlight and HTML5 are still complementary technologies, similar to Silverlight and HTML4 today. "Yes, HTML5 provides an easier way to display video and animation than previous versions. But when we talk about live streaming video, Silverlight is the product of choice. HTML5 is good for sites, Silverlight is good for applications," he says. Several content providers rely on Microsoft Windows Media and PlayReady DRM platforms, which are supported in Silverlight.


[Click on image for larger view.]

"The media support in HTML5 is a breakthrough relative to HTML4, but it's rather primitive compared to Silverlight -- or Flash, for that matter," agrees Brust. "And I expect that 'delta' in media capabilities might grow in size."

Silverlight was always intended to be an RIA platform and RIA really means interactive LOB apps, says Magenic's Lhotka. "It's more compelling than Windows Forms or some of the older .NET technologies because it has simple browser-based deployment and, yet, has all of the smart-client capabilities that we want."

Magenic is building several enterprise apps for customers in government and large organizations that run in the browser. Many of these projects were started in Silverlight 3 and then transitioned to Silverlight 4. The apps support things like geolocation mapping and terrain analysis, and are often used by people who are managing data in the field. Silverlight makes real-time field validation and other functionality a lot easier to build.

Magenic also used Silverlight for Windows Phone 7 -- a subset of the Silverlight technology that's closer to Silverlight 3 -- to build and market a consumer-facing app in the Windows Phone Marketplace. The Windows Phone 7 app, GuestList, is a front-end to a Web service called Eventbrite for running user groups, conferences or meetings. It allows you to check people into the event as they arrive.

"Client development -- even rich native development for a platform like Windows Phone, I think -- needs something that goes beyond HTML5," agrees Telerik's Anglin. "It needs something that has more access to the local processor, has more access to the local system APIs. I think that's where the Silverlight future lives in the .NET space, as more of a replacement for what we might call traditional client application development with Windows Forms and Windows Presentation Foundation and other technologies of the past. Silverlight comes in to replace that model, giving us the true desktop-like development experience while taking out the sort of overhead that has existed in the past for desktop application deployment."

Anglin says Windows Phone 7 is a case in point. The Windows Phone Marketplace is an ideal platform for selling Silverlight applications that target the native capabilities of the Windows Phone 7 platform in a way that HTML5 is "frankly incapable of doing," he says. "We see it on the iPhone. We see it on the Android. So this is definitely played out in other mobile environments as well," he explains.

Silverlight 5
Scott Guthrie is expected to talk more about the Microsoft vision for Silverlight -- and what's coming in the next release -- when he gives the keynote for the Silverlight Firestarter on Dec. 2, an all-day educational event that will be streamed live and also available on-demand.

One area that developers are anxious to hear more about is the roadmap for additional convergence between Silverlight and Windows Presentation Foundation (WPF), which Microsoft promised at PDC09. "I think that convergence has to take place," says Brust. "This, too, involves strategy that's still evolving. But unification will come, at some point."

In 2009, Microsoft said that convergence would take two or three releases, recalls Lhotka. "They can't just break; they've established WPF and Silverlight user bases. But you can see it from Silverlight 3 and .NET 3.5 to Silverlight 4 and .NET 4 -- there's already a substantial convergence between Silverlight and WPF."

Microsoft is continuing to bring some key features of WPF into Silverlight. "Microsoft now suggests [you] start by creating a Silverlight application, and then switch to WPF if some features are required, because it's easier to move from Silverlight to WPF than vice-versa," says Pinsonneault. "In the next version of WPF, it will support hosting of Silverlight applications."

Lhotka would like to see Microsoft adopt a unified programming model, with a common Silverlight core and desktop, Web and Phone extensions. "WPF hopefully will end up having the Silverlight core with lots of extra goodies to make Windows development really a lot of fun," he says.

Silverlight 4 still lacks key functionality such as client-side storage of data -- also a hotly debated issue on Silverlight for Windows Phone -- and internal reporting capabilities. Workarounds to build reporting engines such as the rudimentary printing subsystem and Office integration (Excel) introduced in Silverlight 4, or browser integration with SQL Server Reporting Services, are not adequate. "For most of us, that's not really what our employers are paying us to do," says Lhotka.

Developers can use Visual Studio 2010 and Expression Blend to build Silverlight applications, but many still find Blend intimidating. "There are features of Blend that I'd like to see in Visual Studio," says Lhotka. "I think the minimum bar for an app is higher than it was, and so things like basic animations and transitions -- we need some way to tap into that from inside Visual Studio."

Lhotka also thinks there's a lot of room for improvement in the Visual Studio XAML Designer. "I have confidence that we'll see major improvements," he explains. "What we've got is perfectly good, but not great, and I want something great."

Coexistence
Brust wouldn't be surprised to see direct HTML5 support and related tooling in Visual Studio for ASP.NET applications.

"Microsoft isn't a monolith. It's a big company, accommodating a variety of opinions," he says. "And I think that variety includes some diversity of philosophy around .NET versus native code and HTML5 versus RIA and client technology like Silverlight and WPF. I think the two will coexist, as I think they should. The exact configuration of that coexistence is still evolving, and so are Microsoft's internal opinions on the matter."

IDC's Hilwa praises Microsoft for supporting HTML5, which he says is an important transition that will define the Web over the next 10 years. "The fact that we won't have intense HTML5 browser wars is a good thing, and everyone should breathe a sigh of relief," he says.

"However, HTML5 won't do a lot of things," cautions Hilwa, "and the envelope on what is doable by devices will continue to move inexorably higher and in ways that standards will never keep up with. Plug-ins to browsers will continue to bring these capabilities to the Web world and also provide synergies with off-browser application development models. In that sense, I see Silverlight as a strategic evolution of WPF as applications continue to transform to Web architectures."

Brust advises developers to tell clients the same thing he's telling his Silverlight RIA customers: "Be careful, keep your eye on this situation as it develops and resolves itself, and avoid putting too much stock into any prediction that features hysteria or drama."

Lhotka agrees. "I look at what happened in the media and the twittersphere as a blip," he says, "because if you step back and look at what's been going on for the last three years or so, there's been this steady embrace of Silverlight across all these different platforms and things that are really strategic to Microsoft's overall direction."


Reader Comments:

Fri, Jan 28, 2011 Mathias Boston, MA

@Marc in Beaverton - Extreme example would be you tube. Loo at any media site with embedded video. They are driven by business applications. You and I would both be able to retire on one days revenue of the revenue CNN or BBC drive via video. Application Development that drives many a thriving businesses who incorporate video. As for animations, Every Fortune 1000 company relies on it for creating website images or use it for advertising online (ie banners). Again, Applications that run the business which must be developed.

Tue, Dec 7, 2010 Marc Beaverton, OR

"With HTML5 promising native support for video and animation ..." Could you please explain why this is at all relevant to application development? How many business applications do I know that have (or could have) video? ZERO. And you? With respect to animations: Silverlight is steeped in animations, and this is all very supportive. But I have never heard any customer complain about the lack of animations in their applications (whereas people quickly complain about too apparent animations). So again, what difference does HTML 5 make for application development? What really is relevant to application developers is speed of development and customizability. With its controls, templates, and databinding, this is where Silverlight really shines.

Fri, Dec 3, 2010

I have supported Microsoft for years, but this shift on Silverlight has forced me into silence. I can not say to management that they should invest in any Microsoft technology if they are going allow internal squabbling to shift their emphasis like this. I still use Silverlight, but I don't recommend it. I stay silent and let the other architects push their approaches. Silverlight's future is uncertain. The amount of problems with frozen patches requiring complete system rebuild (backups don't even boot indicating the problem got into it before the patch, but it was not detected) that I am having with 32 and 64 bit 2008 server (R2 too) will mean the end of all Microsoft technology where I work. This is not happening with the 2003 Server installations and it has been going on since it was rolled out. With each patch I pray they fix it, but so far no.

Wed, Dec 1, 2010 Matt Stoke-on-Trent UK

There is a lot of focus on the things that HTML5 will bring that can already be done in Silverlight video/audio/animation but what about the things it can't do [as easily] such as read and write to a database? Anyone developing a business application will soon be lost with a pure HTML5 solution if they can't do this. To me one of the many benefits of Silverlight is that I can code the majority in .NET and don't have to bother too much with HTML Javascript etc

Wed, Dec 1, 2010 Roy

Silverlight is a great concept for developing rich applications the .NET way and HTML5 brings new features and capabilities over standard browsers. But why not enjoy both worlds? Why not allow us to benefit from the .NET desktop development experience to create statefull rich web applications for HTML/HTML5 - all in a plain browser. This is actually what Web Forms and Silverlight meant to be, don't you think? One of the fast maturing solutions targeting this is Visual WebGui. It seems to be the closest to what Microsoft was trying to establish and it is based on Microsoft standards to allow true Web Forms, richness and responsiveness all in a plain browser and with no need to develop for each browser.

Tue, Nov 30, 2010 D NY

My team is no longer pursuing the use of Silverlight for corporate LOB apps because it won't work with the hardware that our users want to use – iPads, iPhones, and Android devices. If on Dec 2, Scott comes out and says that Android will support SL, then I might reconsider, but I'm not going to tell upper management they need to purchase a different device to get to an internal LOB app. ASP.NET5 should target the HTML5 spec and I see how MS is trying to influence pieces of the CSS spec http://www.interoperabilitybridges.com/css3-grid-align/ to set up their tooling to render HTML5 compliant output. That's a good thing to see them starting to do because the next refresh of the IDE hopefully will contain all that and more CSS3/JQuery support to justify the upgrade. Web Forms will hopefully also be a focus of their efforts to improve the existing tooling to better support HTML5/JQuery/CSS3. Web Forms changed the game and enabled web development to turn a corner in terms of speed to develop and deploy. It enabled ease of maintenance and troubleshooting as well. MVC is nice, but something based on a pattern from the 1970s doesn't set my world on fire, even if all the commercial test suites they've developed and are trying to push along with TFS are geared toward the separation of concerns based on that pattern. Testing is crucial and so is writing less code as more jobs continue to be outsourced. Thus, I do hope MS continues to extend Web Forms and its related controls. Unfortunately, history proves otherwise and in MS fashion I will guess that that they'll cram XAML and MVVM down everyone's throats if you want to render an HTML5 compliant web app – just my guess – I hope I'm wrong. For the occasional client side app that must be built, Windows Forms does a nice job and is simple and easy to get deployed with click-once via the web. SL had me sold on out of browser, but once again, not worth it for the occasional client side app request or the alleged richness that SL brings to bear over a web forms based app – JQuery can provide very rich user experiences nowadays. I'll continue to monitor offline HTML5 apps to see how that shakes out http://www.html5rocks.com/features/offline IE9 will be a nice departure for MS from proprietary ways about the web, but they haven't strayed too far because of their hardware acceleration and how it's tied to the OS – can't use XP with IE9. MS needs to make money, I understand that, and thus, they'll tie sales of an uber web experience to their OS. Don't know if the non technical folks will care though as the current trend in browser usage is starting to show and the other browsers are catching up in terms of hardware acceleration. SL for WP7 is a nice short term use of the technology. Early sales figures aren't encouraging and rapid releases to improve the phone OS and have a good web browser should prove interesting. Time will tell whether efforts devoted to SL development reap dividends there. My 2 cents.

Add Your Comments Now:

Your Name:(optional)
Your Email:(optional)
Your Location:(optional)
Comment:
Please type the letters/numbers you see above