Over in Atom-land, we have all been educating each other at incredible length (365 email messages so far) on the subject of the dates you attach to the electronic what-nots you publish. It has, like most educational processes, been painful. I frankly can’t imagine who out there would care about this, but I need to get it out of my system. Plus it has a humorous rhyming couplet.
Prior Art · Of course, given that all computers have clocks and are used to store information, well (sings) Dates and data, dates and data / go together like olives and feta... [bad idea -Ed.]
Unix · Like most operating systems, it keeps two interesting dates around for each file: when it was last updated, and when it was last read (there’s a third date which is almost but not quite the creation date.)
HTTP ·
The protocol that the Web is built on includes a
Last-Modified
header and allows you to make your request on an
If-Modified-Since
basis.
Mind you, on a high proportion of all Web resources, the
Last-Modified
header turns out to be wrong.
Publishing and Content Management · Professional publishing and content management systems build comprehensively baroque structures around dates. Basically, everything that you do gets recorded and timestamped. I spent some years earning my living in this space, and one of the most painful lessons is that each product—worse than that, each installation—has its own incompatible ideas about what the important dates are and what they’re called and how they should be used.
Perhaps the worst are reference publishers (dictionaries, encyclopedias, and so on), who combine maniacal attention to detail with seventeen-step editorial processes; a necessity when teams of dozens are processing entries by the thousand.
Dublin Core · “DC” for short, it has a long history which started in Dublin, Ohio, hence the name. The key offering is the Metadata Element Set, fifteen useful facts that you might want to know about, well, anything electronic.
They dive a little deeper than just the basic fifteen; for example they recognize lots of different kinds of dates: Created, Valid, Available, Issued, and Modified. You’d think that would be enough, unless of course you’d ever been in the publishing business.
RSS ·
The history of dates in RSS has been, well, patchy.
Sam Ruby’s excellent
comparison
chart will come in useful.
The 0.9, 0.91, and 0.92 flavors didn’t have dates at all on individual items,
RSS 1.0 used Dublin Core dates, and not till RSS2.0 did a per-item
pubDate
arrive.
Current Software ·
Current blog publishing and feed reading software doesn’t do all that much
with entry dates, which isn’t all that surprising since there are still a lot
of 0.9* feeds out there that don’t have any.
NetNewsWire, for example, sorts entries by the pubDate
, if it’s
there, but other newsreaders mostly ignore it.
The various publishing tools attach a wonderfully whimsical selection of dates to their entries, whose names tell little about what they really mean. The Atom Wiki has a survey of the landscape, check it out and if you have the facts about a tool that isn’t there, fill them in.
What Should Atom Do? · Given the patchy prior art, the discussion has been built on theory, with factions coalescing around selections of dates representing this or that publishing model and defending their turf furiously.
There is one fairly obvious gulf between the worldview from professional publishing, where the idea of revising something in place is foreign, unnatural, and wrong, and the blogging mindset, which finds it entirely natural and good. My much-updated Genx permanent status page has been much bandied about as an example in this or that side-show of the main debate.
Consensus? · Not even close: check this out. We’ve imposed a temporary quietus on the list to give people a chance to cool down and think and will take another run at it late next week.
The notion of farming it all out to Dublin Core as RSS 1.0 did,
or simply
having a <date>
element whose description says “this is the
entry’s date” may not be very appealing to those who have this or that grand
scheme in mind, but it could be where we end up unless people can stop
defending turf and start struggling for consensus.