In Turing’s Cathedral: The Origins of the Digital Universe, George Dyson says of the engineers and mathematicians who birthed computing:

By breaking the distinction between numbers that mean things and numbers that do things, they unleashed the powers of coded sequences, and the world would never be the same.

Consider the number 30 stored in a computer. It can mean something: how many dollars in a bank account, how many minutes a meeting will last. But it can also do something, by representing part of a sequence of instructions that updates the amount in the bank account, or that notifies you when it’s time to go to the meeting. Depending on context, the same number, in the same memory location, can mean something or it can do something.

Deep inside the computer there are only numbers. Out here on the Net we humans prefer to operate in terms of names. Happily it turns out that names can exhibit the same magical duality. That’s particularly true for the special class of names we call Uniform Resource Locators (URLs).

In a 1997 keynote talk Andrew Schulman put up a slide that contained just a URL:

http://wwwapps.ups.com/tracking/tracking.cgi?tracknum=1Z742E220310270799

“Think about what this means,” he said. “Every UPS package has its own home page on the web!”

Also, potentially, every bank transaction, every calendar appointment, every book (or paragraph within every book), every song (or passage or track within every song), every appliance (or component within every appliance). If we needed to, we could create URLs for grains of sand, each as compact and easy to exchange as Andrew Schulman’s Fedex URL. The supply of web names is inexhaustible, and the universe of their meaning is unbounded.

But these names don’t only mean things. They also do things. The URL of a Fedex package does more than merely refer to the package with a unique identifier (though that’s miraculous enough). It also engages with the business process surrounding that package, drawing together status information from a network of cooperating systems and enabling you to interact with those systems.

It takes a while for the implications of all this to sink in. It’s seventeen years since Andrew’s epiphany, you’d think I would have adjusted to it by now, but I’m still constantly surprised and delighted by unanticipated consequences.

Consider this tweet from Etsy’s CTO Kellan Elliot-McCrea:

My new favorite pick me up, searching Twitter for “congrats”, scoped to folks I follow https://twitter.com/search?q=congrats&f=follows 1

What does Kellan’s URL mean? The set of tweets, from the (currently) 1099 people that Kellan follows on Twitter, that include the word “congrats” — information that brings happiness to Kellan.

What does Kellan’s URL do? It activates a computation, inside Twitter’s network of systems, that assembles and displays that information.

Both the meaning and the doing are context-specific in several ways. In the temporal domain, each invocation of the URL yields newer results. In the social domain, Kellan’s invocation queries the 1099 people he follows, mine queries the 1046 I follow, yours will query the population you follow.

Two factors conspire to bring us an ongoing stream of these delightful discoveries. First, systems (like Twitter) that think like the web. In these case that means, among other things, enabling people to invent powerful names. Second, people (like Kellan) who do the inventing.


1I have simplified Kellan’s URL slightly. His original tweet includes the parameter &src=typd. Its purpose seems to be unexplained, and omitting it doesn’t change the result.