The thing is, I’ve seen this movie before: The movie where there’s an emerging standard that’s got some buzz and looks promising and maybe it’ll raise the tide and float all our boats a little higher, and then Microsoft says they won’t play.

Since there are huge numbers of computers out there with Microsoft client software, APP-enabling those clients would definitely lift the tide. But then, of course, the people using those computers would be able to post to any old online property they want to. As opposed to just Spaces. By the way, Dare has spent quite a bit of time on the Spaces team.

Do I believe that Microsoft would deliberately steer their client implementations away from APP and toward something else that Windows Live Spaces would have the first and perhaps only implementation of? Well, um… yes.[jcheng: emphasis mine]

I don’t have a lot to say on the merits of APP for whatever scenarios Dare is talking about. I’ve always found it really hard to think about how well general protocols map to abstract problem sets. You don’t really feel the pain until the rubber meets the road. *

But what I do want to address is the idea that Microsoft might be sabotaging APP for nontechnical reasons. I can’t blame Tim for being paranoid and cynical about Microsoft–no doubt he’s been butting heads with Microsofties in standards meetings since the Bad Old Days–but please, consider the following:

Microsoft has already shipped a general purpose APP client (Word 2007) and GData implementation (Windows Live Writer). [Update 5/13/2007: Writer currently only supports GData, not generic APP.] These are the two main blogging tools that Microsoft has to offer, and while I can’t speak for the Word team, the Writer team is serious about supporting Atom going forward.

These two clients also already post to most blogs, not just Spaces. In particular, Writer works hard to integrate seamlessly with even clearly buggy blog services. I don’t know anyone who works as hard as we do at this.

Dare was not at the interop event–it was for people with APP implementations, and he doesn’t have one–but at least I was. And if I recall correctly, Writer was the only blogging client there (someone from Flock RSVPed but didn’t show). In fact, of the names I regularly see on the atom-protocol list, the only one I recognize as the developer of a blog client is Daniel Jalkut (MarsEdit).

Spaces may not support APP, but it does support MetaWeblog which Microsoft has a lot less influence over than APP (since MW is controlled by Dave Winer, not by an official standards body). Consider that many of its main competitors, including MySpace, Vox, and almost all overseas social networking sites, have poor or nonexistent support for any APIs.

And also, as far as I can tell, there is nobody at Microsoft who would be less likely to tolerate this kind of anti-competitive behavior as Dare Obasanjo. I have not met Dare in person but I see him all over the internal mailing lists, and he is always arguing for doing the Right Thing–loudly, abrasively, persuasively arguing. Whether he is right or wrong in his arguments, I personally have little doubt that he is at least sincere.

Oh, and I added the “probably” to the end of the title, because in the end, what the hell do I know… I’m just a dev. But if there is some kind of strategic agenda around APP, they are doing a notably poor job of communicating it to the folks on the ground.

* I spent a fair amount of time trying to put Onfolio’s storage online while piggybacking on top of existing, fairly widely deployed servers–first FTP with HTTP access (i.e. webhosts), then WebDAV. And while each seemed like it should work fine and dandy, when I actually tried them, it all fell apart when I realized I simply could not make it work without lease-based pessimistic locking–and I couldn’t do that without some kind of master clock to rule all the clients. And the main reason I needed lease-based pessimistic locking is that I was doing link-based hierarchy. I’m not smart/experienced enough to think of these kinds of issues unless the problem is concrete.