Identity, DNS, and Web Services

I’ve been lending an occasional hand to Dave Winer on portions of his EC2 for Poets project that is building on the OPML Editor and other tools to create a “coral reef” alternative to Twitter-like services. One of the more thorny issues is how to deal with identity for users and their content across a big federation of systems, operating systems, and platforms.

The short answer is to use one of the ubiquitous “platform” services everyone pretty much has to use on the Internet. Things like email addresses, URLs, domain names, etc. all fall into this category. Email addresses are easy, but disposable, can be easily manipulated, and aren’t so hot from a Twitter-like syntax perspective when prefixed with “@”.

URLs are clunky and hard to remember, often break, get shortened and obfuscated, and require a server at the end of each URL.

Simple domain names, like chuck.shotton.com, would be an awesome alternative to service-specific usernames (e.g. @cshotton on Twitter) because they could be tied to a persistent portion of the Internet infrastructure. The problem is one of ease of use. DNS ju-ju is inscrutable to most folks. If it goes beyond setting up a home page on GoDaddy, it’s into the realm of grey-bearded Internet science projects when it comes to DNS, running a DNS server, and keeping one up to date.

Enter the idea of a REST interface to DNS. Something that makes it drop dead simple to add, change, remove, and otherwise operate the DNS system as an easy-to-use mapping between a simple identity and the location of some other resource. That’s exactly what DNS was designed to do. Unfortunately most people only know it as a way to map friendly domain names into gnarly TCP/IP addresses.

But suppose it mapped friendly domain names into some branch of your online identity? Instead of mapping to an IP address, it could map to a URL to your RSS feed. Instead of using some random, often-changing email address, you could map a fixed name that you kept forever into specific resources on the Internet that you were related to — web sites, Twitter users, RSS or OPML feeds, etc. Much better for the long term, since people can always find you, and you simply need to point your identity at a new resource. TXT records in the DNS system are perfect for this. But the semantics of the TXT strings needs to be defined for this to work.

In all fairness, the market has already produced a service that pretty much allows all this to happen as part of the coral reef. DNSimple.com gives a great set of APIs for managing domains and DNS records through simple Web interfaces that anyone able to tweak a little Javascript can call remotely. Whether it’s the right answer, or if there’s an open source alternative, is one of several questions to resolve.

Here’s what I think the pending questions are that need answers before this solution takes off:

REST APIs for DNS – what is the best solution for widespread developer access and support?

DNS TXT records – what standards, if any, already exist for using these DNS fields to map to URLs or other identity methods?

If nothing exists, what should go in TXT records? (e.g. some XML fragment like <url=”http://shotton.com/feeds.opml” /> ?)

I’m interested in trying to leverage DNSimple or a comparable service to start providing a prototype of this identity mapping through DNS service. Anyone else want to play along?