Foley on Microsoft
WPF vs. Silverlight
It's looking more and more like there's a battle between the Windows Presentation Foundation team and the Silverlight team -- and Silverlight is winning.
Before Bill Gates retired from his daily duties at Microsoft, management in Redmond frequently pitted internal teams against each other and let them duke it out. Often, that practice helped create better products -- but it left some understandably sore losers.
I thought that this practice had gone by the wayside over the past couple of years, but now I'm not quite so sure. I'm increasingly convinced that there's a battle happening between the Windows Presentation Foundation (WPF) team and the Silverlight team. Or maybe war isn't the right metaphor here. Maybe it's simply a case of Silverlight superseding WPF. In either case, Silverlight looks ready to triumph over and obliterate WPF.
Yes, I understand that Microsoft officially positions Silverlight -- formerly code-named "Windows Presentation Foundation Everywhere" -- as a complement to WPF. I'm also aware that WPF applications have more features than Silverlight apps have, although relatively few WPF apps really take advantage of the platform.
But Silverlight, not WPF, seems to be grabbing all the glory -- and not just because it's almost time for Microsoft's annual MIX conference for Web developers and designers (MIX10 is scheduled for later this month in Las Vegas).
One reason for Silverlight's popularity is its cross-platform nature. Unlike WPF, which is Windows-only, Silverlight runs on Windows, Mac OS X and Linux. The growing popularity of Web-based applications is spurring interest in Silverlight. And if the rumors are true, Silverlight is going to be indispensable for Windows Mobile 7 (WM7) developers, not only because Silverlight will be able to run on WM7, but also because it'll be the primary development environment for it.
Until recently, Microsoft officials guarded Windows APIs like crown jewels. If you were a developer writing any kind of application, Windows compatibility was extremely important. But that's not really the case any more, with Web and mobile applications rising to prominence. Think about Windows 7: Is there a killer app out there for it? Something that takes advantage of its touch, JumpLists and other capabilities? There's the recently introduced Seesmic Look client for Twitter, as well as Microsoft's Fishbowl Facebook sample app that debuted at the Professional Developers Conference in late 2009.
I'm betting that Office 2010 -- the client versions, at least -- will light up on Windows 7 when Office ships around mid-2010. But beyond that?
With Silverlight 4, which is due out by mid-2010, Microsoft is further reducing the number of reasons developers have to target WPF. Microsoft is adding enterprise-specific features and functionality, such as Common Object Model (COM) support, which will give coders access to hardware like scanners and security-card readers.
There is a problem with that strategy, however: COM will work with versions of Silverlight running on Firefox or Internet Explorer and on Windows only. Neither Mac OS X nor Linux supports COM. The 'Softies say they're exploring how they could add COM to Silverlight on the Mac, but there's no word on their progress so far.
So is it game over already? Silverlight is going to supplant WPF. And even if WPF does continue to exist -- given that Microsoft also is adding more Silverlight features back into it -- it might eventually be called Silverlight, one Microsoft official told me late last year.
However, the Windows team still has incredible power and pull inside Microsoft. In the past, anyone who tried to get Microsoft to follow a course that weakened developers' and customers' dependence on Windows in favor of the Web was shown the door. Maybe times have changed enough that it won't be a career-limiting move for 'Softies to suggest that forcing ISVs and customers to write to Windows APIs might be a thing of the past. However, the fact that Microsoft is continuing to push Windows, rather than Windows Mobile, as the preferred slate/tablet OS makes me think that WPF may have some life left in it yet.
What's your take? Is it game over for WPF? If so, is it game over for local and fat-client applications, too?
Mary Jo Foley is editor of the ZDNet "All About Microsoft" blog and has been covering Microsoft for about two decades. She has a new book out, Microsoft 2.0 (John Wiley & Sons, May 2008), about what's next for Microsoft in the post-Gates era.