Can Microsoft Make WPF Successful?

new_wpf.png

Tim Sneath was surprisingly honest in his post covering Microsoft’s latest release of WPF. It’s been interesting to watch Microsoft’s struggle to approach the rich experience application market with WPF. It appears they fundamentally misunderstood the market, their developer base and their ability to drive adoption. At least that’s the way it looks to this armchair analyst.

Microsoft had an epiphany a few years back and decided to buy into the “experience matters” tagline Macromedia was pushing all over the web. Despite their best efforts to kill it, it was clear the cloud “might be” the next application platform and that extremely rich clients connected to the cloud were beginning to outpace the desktop. These rich clients could deliver completely custom branded experiences and rich interactions that often included animation (animation appears to be the holy grail for old school application platforms — maybe because it was such a pain in the ass for them, dunno really, but man are they hung up on it).

experience_matters.png

Now the folks up in Redmond aren’t idiots. They could see the writing on the wall and they needed to do something to stem the bleeding and make the desktop cool — it’s the cash cow and their entire empire is tied tightly to it. In their view they needed to dramatically remake the decidedly utilitarian Windows experience and the applications that run on top of it. Fight fire with fire was their thinking. Make the desktop compelling by bringing custom chrome and animations to it. Application builders would have no choice but to double down on the MS stack in order to take advantage of the new capabilities (if they didn’t their competitors would). Thus was born WPF.

In typical MS fashion they had grandiose ambitions and a marketing budget that exceeded those ambitions. We were to be treated to rich experiences in a way that would “shock and awe” us. The entire OS presentation tier was to be built on top of WPF (take your Cocoa and shove it Apple). The entire suite of consumer oriented applications that shipped with the OS was going to leverage WPF (My Apps not iApps). And just when you thought they might be forgetting about the cloud they announced their intent to repaint rich browser experiences in a Silverlight — a subset of WPF delivered as a browser plugin. A veritable Flash killer (gasp).

Microsoft primed its PR pump (wined and dined everyone you can imagine), rattled its saber and deployed its vanguard of tech journalists and evangelists, promptly chasing Macromedia under Adobe’s skirt (holy shit they’ve got Photoshop under here). There was one little problem though — they couldn’t execute. It turns out that WPF wasn’t peformant enough to run as the OS UI layer so scratch that. MS then announced it just wasn’t reasonable to rewrite all those consumer apps to leverage WPF so scratch that. That’s two pretty big gulps if you’re counting.

On the browser plugin front things weren’t exactly golden with the 1.0 release of Silverlight coming off more like a .5 release. It didn’t support the .Net languages that MS developers are well versed in and fanatical about, had no component framework and adoption was tepid. In general it was a pretty damn rough release (wait for 1.1, urr, 2.0 I mean).

Things weren’t rosy on the third party consumer application development front either. Third party WPF consumer apps are extremely scarce (they’re on the endangered species list for sure). One of the biggest problems is that platform penetration has been minimal. Microsoft promised quick, massive adoption of the framework. After all, Vista was coming and it would do all of the work (you hear the same argument about MSN’s Olympics coverage and Silverlight). Those left on XP would be able to download the framework through Windows Update and since the latest and greatest apps were going to leverage WPF consumers were going to be motivated. Hmm, turns out not so much.

Perhaps most surprising is how out of touch with its development base MS really is. It sure seems like most of the profitable consumer desktop apps written for Windows are C++ oriented. Its as if MS forgot that they essentially replaced the JVM with the .Net runtime and that Java and .Net have been mostly relegated to the server-side or behind the firewall enterprise apps. Desktop developers on Windows might be using Visual Studio, but its my guess they’re not typically using any flavor of the .Net runtime (MS has been trying to pull C++ out of the cold, dead hands of desktop developers for years). This isn’t all bad for MS, enterprise users are increasingly demanding the level of richness they’re accustomed to in the consumer market (lots of crossover / leakage these days) and MS has a ton of “impact weight” behind the firewall.

All of this leaves me wondering if Microsoft can make WPF successful at all? It’s not clear to me that WPF will ever be the desktop development platform of choice on Windows. It sort of seems like the product they have in hand is a total mismatch for the developer base they’ve gathered under their tent and the OS they have under the hood. I’m also not sure that for consumers 25 MB really matters — the pain is that you have still have a 25 MB VM to download on XP and it runs like a dog. However, it’s nice to see Microsoft acknowledge that Vista is such a flop that XP is now the only real shot that WPF has.