A couple of days back I wrote about the new Technorati API, considering the trade-offs of various kinds of Web APIs. It turns out I was seriously wrong on one of those points, and what falls out is important enough for a new essaylet.
I argued, and I still believe, that whenever you can give a unique name (aka “URI”) to a unit of information or service, you should. Granted, this makes some things more difficult and awkward, but I think the cost-benefit ratio is good, because the benefit is being a first-class citizen of the Web. Not everyone agrees, but that's OK, we're still working all this stuff out, and we won't know who was right about cost-benefit trade-offs until we have a few more years experience under our belts.
Some of the feedback was pretty amusing.
Sam Ruby argues
here that while the
GET/URI approach has its benefits but they aren't exactly the
ones I was pounding the drum over.
He has a point, and he usefully points to
excellent essay by Jon Udell, who covers a lot of the same ground but is
a better writer than I am.
The Problem · The trouble is, the Technorati API doesn't really name the information and services in a usefully clean way. The problem is that all the URIs have to include an “appkey,” basically a ticket representing your right to use the API. (Free appkeys are limited in the number of hits per day they get.) The whole point of publishing a URI is that anyone can use it in any way they want, and you just can't do that the way it's set up now.
Now, obviously you need to have some sort of access control if you want to make a business out of an online service. I think, though, that trying to conflate the access control and the naming scheme is always going to cause problems.
Bill Seitz suggests that Dave Sifry over at Technorati could accomplish what he needs to using basic Web authentication. I'm not close enough to the problem to be sure if this would meet Dave's constraints, but obviously there are alternatives to appkeys, and if Technorati wants to be a first-class citizen of the Web, it might well be worthwhile checking some of them out.
And remember: we're all just making this up as we go along. Ain't life grand?