Herewith some evidence, for the general tech public, that Atompub is a big deal, and for the Atomistas, some interesting developments.

It’s an Atompub Future · Let’s see; Microsoft is using Atompub for... well, everything, pretty much. Google has been for a while, and that’s now leveraging Oh, and the Kool Erlang Kids are getting into the act: Atom-PubSub module for ejabberd (Hmm, I dislike “Atom PubSub” and all its orthographic variations). And then there are things like AtomServer.

The Right Amount of Cloud Lock-In · But here’s the real reason. We seem to have consensus that the future is cloudy. My #1 gripe with the cloud-computing infrastructure I’ve seen out there is that it all seems to come with some degree of lock-in.

The only appropriate amount of lock-in, to build a cloud-centric future, is zero.

It seems to me that Steve O’Grady really hit the nail on the head with Question for Cloud Campers: The Cloud and Standards. Now it’s quite possible that my obvious bias as one of Atom’s fond parents is showing here, but it seems to me that the Atom format provides a nice clean zero-lock-in way of getting information out of the cloud, and Atompub an equivalently safe way in.

Now let’s move on to some Atom-technology news stories.

Atom-Multipart · To post an image (or any other bit-blob) with Atompub, you HTTP-POST it; the server stores it and creates a synthetic Atom entry for metadata about it. Then if you want to update the metadata, you have to PUT that. So Joe Gregorio, based on his work at Google, is proposing “atom-multipart”; the idea is use pack up your bit-blob and an Atom entry full of metadata, and push ’em at the server in a MIME multipart package.

Everyone seems to like the idea, the Atom-protocol mailing list is chewing it over, the IETF seems to think it’s appropriate for the standards track, and I’ve volunteered to be the consensus referee (which is probably poetic justice since I’m obviously going to have to implement the sucker in mod_atom).

Meta-CRUD · Just to review: an Atompub implementation lets you create, retrieve, update, and delete (CRUD) Web Resources. So, suppose you think of publications as Web Resources, wouldn’t Atompub be a candidate for the CRUD job? Now, this is all getting more than a little bit meta, but the idea is so obvious that everybody is doing it. In fact, I’m doing it myself in mod_atom, since my original idea (to create a new publication, edit the Apache config file) is, well, really lousy.

I thought “If everyone’s doing this, maybe we should standardize it, and then authors of Atompub test suites (like me) could build portable tests”. So I raised the issue on the mailing list and well, it’s complicated.

Just by way of reminder: Atompub starts with a Service Document, which contains one or more named Workspaces, which contain Collections, which are what you actually POST to in order to start up the CRUD process.

So the meta-idea is simple; have a collection that when you POST to it, creates a new publication. What could be simpler? Well, it turns out that there are three obvious choices you could take as to what happens when you POST to one of these meta-collections:

  1. Create a new Service Doc, with Workspaces and collections.

  2. Create a new Workspace in the current Service Doc.

  3. Create a new collection in the current Workspace.

There are implementors out there doing all three of these things; mod_atom does #1. We just don’t have enough experience yet to decide which (if any) of ’em deserve standardization. Oh well.


Comment feed for ongoing:Comments feed

From: Dan Diephouse (Jul 07 2008, at 17:55)

Why don't we model Services and Workspaces as Collections? Then I could post to the Service collection to create a new service. Or I could post to the Workspace collection to create a new workspace.

I think the whole workspace/collection idea is pretty useless on the whole. IMHO these could've been modeled as Atom entries to begin with.


From: Eric Meyer (Jul 07 2008, at 19:25)

Just to be clear and be sure I didn't miss something (easily possible hereabouts, where Super Smart People write and post): when you say "To post an image (or any other bit-blog) with Atompub..." did you mean "bit-blob"?


From: Tim (Jul 07 2008, at 22:31)

Eric - Oops, I did indeed to refer to blobbiness not blogginess. I'll fix it now, but somehow I like the term "bit-blog"; I wonder what it might refer to?


From: Sylvain Hellegouarch (Jul 07 2008, at 22:42)


People have replied to you regarding meta service but you haven't actually replied to them. Why asking people's view if you don't discuss with them afterward?


From: Jeffrey A. Young (Jul 08 2008, at 10:54)


As Dan suggested, your three "meta collections" are themselves just collections that should support CRUD operations. It's turtles all the way down. I disagree about his comment that the concept of collections is "pretty useless". Every relationship in a domain model that has a multiplicity of '*' implies a collection of some kind.

Andy Houghton and I suggested something similar recently in the Q6 blog. Like yourself, I am convinced that the implications of CRUD are more profound than people realize.



From: Taylor (Jul 12 2008, at 16:13)

AtomServer, and also brought to my attention recently...and exist db plugin for atom:

From what I hear after installing the extension you just add "atom" in the regular url and it becomes and atompub server.


author · Dad · software · colophon · rights
picture of the day
July 07, 2008
· Technology (85 fragments)
· · Atom (91 more)


I am an employee of, but the opinions expressed here are my own, and no other party necessarily agrees with them.

A full disclosure of my professional interests is on the author page.