So the other day I bitched about Atom a bit, got a lot of pushback on my comments calling me a complete fucking moron, and generally everyone ignored me and went about their business.
Well, that's fine. Except that it was quite apparent to me (and probably only me) how hypocritical the people who hijacked the Atom API spec last summer are. These are the people who railed against the unreadability and complexity of RDF, yet think that using an unsupported and overly complex system for updating weblogs is the right way to go about implementing Atom API. The parallels are incredible.
The Atom feed is fine. It's not particularly consistent (using link tags in one place and url tags in others for the same type of information), but in general it does the job in a clear straight-forward way. However the API is just wrong. Using PUT and DELETE is a barrier to entry for the vast majority of web developers because of the fact that it takes a level of effort to both undersand and implement those verbs, not to mention the fact that technologies like J2ME simply don't support them. You have to ask yourself, why would the Sun J2ME developers just simply leave out support for two basic HTTP functions? Because they're not commonly used. It's as simple as that.
So these people - the ones that ranted against RSS 1.0 because it was so fugly and ranted against 2.0 because it was ruled by fiat - have themselves developed an API that is itself fugly and insist on calling anyone who disagrees with them morons and trolls. It's incredible hypocrisy.
The parallels are pretty clear to me. RDF, they said, was hard to implement. The Semantic Webbers of the world replied that it wasn't once you understood how it worked, and besides, the tools would take care of all that complexity. But no, the Atomers cried, we want something simpler and clearer! Something that anyone could use! And the Atom feed is exactly that. But then they went on and created the Atom API and there the zealots took over. It has to be REST they said, and not just a simple form of REST using GET and POST (as used by Amazon.com and other popular web services), it has to use PUT and DELETE, because that is the "right way." Even though the use of PUT and DELETE is both unsupported and not understood by just about everyone else except these elite few who decided to take over the Atom API spec.
What amazing hypocrites. To complain about this is to be shouted down. If you don't agree that PUT and DELETE are the best way, you must be a complete moron. If a technology doesn't support those verbs, it must suck and be ignored. There are no alternatives, just the One And True Way of using the web to these people. Though the process is incredibly broken and the API horribly designed, they just won't listen to reason. Like the RDFers before them who refused to accept that the XML serialization of tuples was ugly and flawed (pointed out by none less the Tim Bray himself), the Atom API zealots won't realize that their API is ugly and flawed as well.
What comes around, goes around I guess. I wonder how long before yet another group rebels against this and creates yet another spec to use?
Later... I was going to take a copy of the API and give an example of how I would like to see the spec implemented, but the only official version is copyrighted by Joe Gregorio, so I can't. It's not Creative Commons, or GPLed or any other license, it's essentially a proprietary protocol controlled by a very few people. Now we know.