A number of blogging, feed reading, and other tools have implemented support for Atom already, although we haven't yet generated an official standard version. Most implementations appear to be using version 0.3. While some have responded with excitement to the growth of Atom even before the creation of an official specification, the Working Group's mailing list has seen a little rain fall on the party in the form of a message discouraging the roll out of Atom support before version 1.0. Should people be holding off on rolling out Atom support until version 1.0, or is it okay to support the current drafts?

There are good arguments on both sides, and some that I don't think are so good. Before I get into that, let me say that I' dstrongly recommend against implementation of the latest draft. If you're going to implement now, stick with version 0.3. That's what's most popular in the wild. Everything else should be done only on an experimental basis. There may be other pre-1.0 drafts that are solid enough to be worth implementing, but not the current draft as of today.

On to the pro and con. On the "wait" side:

  • The more people who support pre-1.0 drafts, the longer it will be till tools have no need to continue supporting pre-1.0 drafts
  • The drafts released thus far have been incomplete, which could easily give rise to incompatibilities between how they are implemented by different people.
  • An argument that I don't think is vry strong: if a large installed base supports early drafts, there will be a huge outcry if whenever we change anything.

Why do I think that last argument is weak? Because:

  • it was obvious from the beginning that things were going to change, so no one is in any position to complain when they do.
  • Software supporting early drafts will still interoperate fine with other software supporting early drafts, no matter what we change in later drafts. I doubt that tools supporting the early drafts will drop support for them quickly as new drafts are released.

How about arguments for implementing now?

  • Customers are asking for it. I know CaRP's customers are. They want to process the Atom feeds that are out there today.
  • Experience gained from implementing and deploying early drafts will provide guidance on what works well and what needs to be improved.
  • If your tools are Atom consumers (as opposed to producers), you're not creating legacy data that will cause interoperability problems going forward, you're consuming what's out there right now. What does that hurt?

When 1.0 is released, probably sometime next year, hopefully we'll all quickly implement support for it, and the pre-release drafts will quickly disappear into the past. I'm sure not everyone will move on quickly. As long as those who don't don't actively resist the progress everyone else is making, I don't see it being much of a problem.