Glacial Erratics

Atom IDs, permalinks and persistence

May 29, 2004

It's nice to see MarkPilgrim being relatively clear about the value of persistent and unique ID's in his How to make a good ID in Atom essay.    (7O4)

What's odd, though, is that all of the reasons he cites for why an Atom ID needs to be persistent apply equally well to permalinks, yet he describes many situations where permalinks have failed to be permanent. Further, he goes on to use the data in those permalinks as sources for Atom IDs.    (7O5)

This makes no sense to me.    (7O6)

If you want an identifier to be unique, your safest bet is to use as little meaningful information as possible. This is why primary keys in databases are often auto-incrementing integers.    (7O7)

And if you want something to be a permanent pointer, like a permalink, that means it is a persistent identifier, even though it is considered in the domain of labels. This means, as much as possible, you should strive to make your permalinks behave as identifiers.    (7O8)

In fact identifiers and permanent pointers are essentially the same thing. An identifier is not a resource, it is a pointer to it. It just so happens to be the only reliable pointer to it.    (7O9)

EugeneEricKim and I had a conversation about identifiers on IRC recently in which he, surprisingly, managed to convince me that XRI may be a good source of identifiers for content on the web.    (7OG)

My interest is in using them as PurpleNumbers but they seem to be able to address some of the issues with Atom IDs and permalinks as well. The important trick is that XRI supports both e-names and e-numbers. If I understand things correctly, an e-name is one of several labels for an e-number. An e-name can be resolved to an e-number and then an e-number can be resolved to a possibly moving resource.    (7OH)

I suspect the primary issue with using XRI is implementation. There's no, as far as I can tell, immediate path to making use of the stuff.    (7OI)

To be complete, I was led to Mark's essay from TimBray?'s ongoing entry on identifiers. I mostly agree with Tim given the current constraints of the web. But those constraints are huge.    (7OJ)

The problem is that, as currently used, permalinks are labels that are vulnerable to change. This is because they contain interpretable meaningful information that is dependent on the present day situation. Tim believes his permalinks are permament but what happens when he looses his domain name or (perish the thought) HTTP ceases to exist?    (7OK)

If we claim the permalink is only the file part of the URL, it is insufficiently unique to be considered stable and persistent.    (7OL)

Also, Mark and Tim, what's with the lack of TrackBack or comments? I guess I'll ping them by other means.    (7OM)

Update: Bill de Hora has joined the fray with his usual sensible statements about the way the world is versus how we might like it to be. "The deployed Web works against cool URIs not for them."    (7OP)

Yet another update: DannyAyers joins in, pointing to both Mark and Tim and saying: "Mark’s advice is very well put, but I’d suggest at least that if advice like the following is needed then something in the state of Denmark is edging towards it’s sell-by date[...]"    (826)

Comments

1/4
On May 30, 2004 01:48 PM Craig Blaine said:

If the ID is meant to be a unique ID, similar to database record UIDs, then the whole URI idea is flawed. UIDs should generally be unique, random numbers of some sort. If they are double-purposed, all kinds of trouble can happen. If the unique ID for a post looks like a permalink, some people will use it as one, no matter what the spec says. Then you have to deal with that and grandfather that problem in to the design of aggregators and publishing tools. In database design, if you let the user see the UID (a bad idea) and he sees that, for instance, it looks like an incrementing sequence, it won't be long before he's asking you to change the UIDs for a couple records that he "input in the wrong order." No matter how much you explain that the number can be ignored, the fact that the order is wrong will bug him all to hell. The same sort of problems will crop up with URIs as UIDs in Atom, I predict.    (83K)

Solution: just MD5 the URI so nobody can read it.    (83L)

2/4
On August 26, 2004 09:52 AM Marina said:

well....I've only not understood what is the Atom ID? Could you please tell me?    (NK9)

3/4
On August 26, 2004 09:54 AM Marina said:

well....I've only not understood what is the Atom ID? Could you please tell me?    (NKA)

4/4
On August 26, 2004 09:54 AM Marina said:

well....I've only not understood what is the Atom ID? Could you please tell me?    (NKB)

Sending...