The Importance of Names

summary Humpty Dumpty, meet Mr. Lessig
folder documentation

The Importance of Names

Here's a slogan:

Naming = Search = Invocation = Programming
This document talks a little bit about just part of that: mainly "Naming = Search"

A user's interaction with a web browser is a kind of dialog: The user wants some result (a particular page to view, a purchase made, etc.). He gives the browser a name, a URL. What is returned might be the object sought, or it might be some opportunity for refining the search (e.g., a form for purchase details, or a list of search results from which to choose).

So, in some sense, "search" is the only activity that users perform. Users name, roughly, what they want and the browser brings them closer. They click more or fill in more forms — elaborating the name — and the browser brings them closer still until they either give up or find what they want.

What if, then, the fundamental unit of programming were a search engine? If we built up larger web programs from smaller ones by, according to some uniform, universal system, "composing" small searches to make bigger ones?

Tomorrow's Search

Getting off the phone, you realize you'll need to travel to New York and L.A. next week. You turn to your browser and, instead of a URL, just ask it to show you: "my travel itinerary for next week".

The browser's duty is now to find some reasonable meaning for that name and present you with the results. It knows (let's say) who "you" are and what week it is, some details are clear. Yet, you haven't previously mentioned "your travel itinerary" for that week and so, searching for one produces a new document, stored on your Personal Web Server: a blank (except for name and date) itinerary. As you update it, it comes to life, mash-up style. For example, having entered "New York," it can display, say, the available flights from your favorite airlines.

Itineraries can be complicated and, in the end, you might wind up with a small cloud of (inter-linked) documents, all organized under the initial search: your intinerary summary; a couple of pages to print out for each city; pages with hotel details; an expense report summarizing these. Each step of building out those documents is the same: refining a search by elaborating a name.

Copyright

Copyright Copyright © 2007 Thomas Lord Flower source code is licensed under the
Open Software License version 3.0

Creative Commons License Copyright © 2007 Thomas Lord This page is licensed under the
Creative Commons Attribution-No Derivative Works 3.0 Unported License .

Flower includes Patent Pending technology.