mciSendString(“Wrong, Joel”)

Joel Spolsky’s (why hasn’t Software Development hired him as a columnist?) Microsoft Lost the API Wars has a series of solid observations and at least one brilliant construction (“Chen v. MSDN”), but I’m afraid his title and conclusion aren’t supported by his arguments.

He hoists himself on his own petard when he says “The new API is HTML, and the new winners in the application development marketplace will be the people who can make HTML sing.” You need a media API to sing. Maybe not Redmond’s mciSendString, but whatever you choose, HTML isn’t a complete platform. You still need data access, networking, and threading. Initialization and configuration customization. Error handling and recovery. Logging. File system access. Email. Messaging. Globalization. Security, encryption… Well, I’m just running through namespaces now.

Where have Web Apps and thick clients gone head-to-head? Email. Personal finance and tax software. It seems way premature to announce the thick client dead based on those markets. Anywhere else?

I’m not discounting the benefits of Web Apps, which make form-based UIs as easy to construct as in Visual Basic (you want to say “even more”? Fine, I’ll posit it.) and, therefore, vastly easier than with Win32 APIs. Even more importantly, Web Apps are great for occasional use (love that hyperlink!) and are “touch once, fix everywhere.” But on the other hand, media clients require fat clients.

You can’t get away from the need for lots of APIs when developing applications. That Microsoft APIs must now compete for favor with APIs from Palo Alto, SourceForge, or where-have-you is true, but that’s vastly different than losing. The game is barely afoot.