Joel Spolsky is getting a lot of mileage for his essay, How Microsoft Lost the API War, and it’s deserved because there are a lot of good things in there. For instance, the fact that you (mostly) don’t have an install process to run web apps (or console games for that matter) is definitely something Microsoft should think long and hard about (and I’m sure they do). I’m just fed up with installing and configuring apps, and it’s even worse when you want them available across 3 or 4 home PCs.
However, Joel’s whole argument relies on a premise that he never bothers to back up: “[the web as a platform] is Good Enough for most people and it’s certainly good enough for developers, who have voted to develop almost every significant new application as a web application.”
That’s quite a radical assertion but it isn’t reflected by facts. From digital audio, photography and video to gaming, whole software categories have grown strongly those last years, on Windows primarily but also on the Mac and consoles. Nothing more convicing than amusing demos and gizmos exist on the (HTML) web in those areas, which, by the way, happen to be the fast-expanding frontier of digital lifestyles, so that’s what matters in terms of consumer adoption and developer interest (and just look at what software people buy and use). The fact is, developers kept targeting Windows and other non-web platforms all along, and users have asked for more. Even online there’s been an explosion of desktop applications. Don’t bother telling Joel Spolsky about the many developers who create instant messaging or file sharing applications or newsreaders (many of them on Windows) and the dozens of millions of users who download and install them, he’s busy making an important point. After reading Joel’s memo, no doubt Epic Games will surely stop using DirectX (gasp, the latest version even) and commit to creating Unreal Tournament 2005 in the browser.
The platform switch challenge for Microsoft is well known and Joel may yet be proved right in the long run, but the game is far from over and his calling the score is quite premature. Remember that he said .NET was vaporware four years ago only to say now that ASP.NET is the best web dev platform. In this week’s essay, where’s the acknowledgement that at the time he got excited by a vague whitepaper but his sanguine statements were since then proved wholly incorrect? You’re right, there’s none. We’ve heard this kind of hubris about the end of the Microsoft API from the Java guys for years and look where it got them: definitely somewhere, but even more definitely, far from everywhere, and certainly in less computers than Microsoft.
There are other problems as well in Joel’s essay, such as this complete strawman that somehow, the fact .NET supports several languages is confusing. Hello, are web apps done in a single language? How is this supposed to be a problem? Making grand statements springled with smart quotes sure will get you lots of attention in the blogosphere. But for a healthy diet, just take it with a grain of salt (that’s worth for my own writing as well of course, my own biases are I think quite transparent to long-time readers, starting with the fact I’m long on MSFT).
Update: similar doubt elsewhere.
Update #2: some continuing discussion at Ensight. I’m again being opposed Salesforce.com’s success, like Trip Foster, VP of Marketing at Intellibank, did in a great answer to one of my posts earlier this year (this is why I’ve changed my mind about comments on blogs: you can get good feedback from people who don’t necessarily have a blog to anwer you).
Ok, so I’ll admit readily that web apps make sense in an enterprise software context, though I’d argue that Outlook in many ways provides a compelling alternative. Those frontends often replace either ancient text-only applications (and it’s about time terminal emulation and screenscraping died), or badly written client-server apps that never fully delivered on their promise (the UI and feature richness often translated into klunkiness and poor performance). But those apps are mostly handling text, which doesn’t need much local processing power or storage to start with. Good luck doing anything else through a browser.
And notice Joel now has a whole shopping list that he’d like to see implemented in browsers. Huh, I thought the current generation would already “get us 95% there”? Those features are only playing catch up with things that have been available on Windows for years. Yep, it’s nicer to have a result list filtered on the fly based on the field you’re currently filling in (a service provided for instance by Data Views in Windows Forms). And, gee, on the topic of developer productivity dear to Joel’s heart, shouldn’t developers have better things to worry about in 2004 than how to do menus?
06/18/04 update: Seven Reasons Why the API War is Not Lost After All, Some Thoughts on Joel Spolsky’s “Microsoft Losing the API War”
06/19/04 update: Defending the Rich Client, Rich versus Reach Debate Heats Up.
06/20/04 update: mciSendString(“Wrong, Joel”), Joel Spolsky and the Temple of Doom, One Run-time to Rule them all…, Prasenjeet Dutta.
09/21/04 update: Rich Clients or Browser Interface?.
02/11/05 update: Client definitions, Rich Internet Apps To Tie SOA To Desktops.