The Power of Naming

Language is a city to the building of which every human being brought a stone. —Mark Twain

 

For me, words are a form of action, capable of influencing change. —Ingrid Bengis

 

To add:

browse (TBL/Yahoo)—>search(AV/Google)—>browse?(tagging—delicious/Flickr, ?feeds?)

 

Names in general

 

A ubiquitous pattern in language in general, and in computers in particular, is name and content. A word generally references a physical or virtual thing, or qualities of or relationships among those things. Words matter to us, so much that we argue about what the "content" (meaning) of a given word is, and which word is right to use in a given situation. People may change their names when they get married (and may argue about what to change it to). We sometimes forget that the map (the word) is not the territory (tha actual thing), though we can also forget or deny the power that words have ("oh, you're just being PC").

 

Naming has been a topic of particular interest in wiki from the very beginning, both in naming patterns (the purpose of the orginal wiki was to develop a pattern language of programming), and in general.

 

http://c2.com/cgi/wiki?CategoryNaming :

"There seems to be something almost magical about giving something the 'right' name"

 

Ward example/story on naming meeting pages.

 

http://www.c2.com/cgi/wiki?ChoosingWikiNames :

"phrases which are easy to use in sentences" — (remember when semi-arbitrary words being links seemed kind of weird?)

 

WikiCase vs. [[]] — WikiCase excited a lot of early wiki folk, because they gave the sense of a new kind of multi-word name. Bit it's not really anything new. A bunch of words strung together are still a name.

 

Names in computing

 

In computers, names can also be powerful labels for things.

 

"If everything that machines need to talk about has a corresponding URL, you’ve created the machine equivalent of a noun." —Ryan Tomayko, "How I Explained REST to My Wife"

 

Analogously to the way that verbs in natural language can represent actions, names in computing can also represent actions. But they do more than that — if you say them to the right thing (another piece of code, or in the case of machine code, the actual hardware), they can actually produce action. E.g. the "wiki" in c2.com/cgi/wiki

 

Programmers are used to this, and URLs opened it up to a much broader array of people. See Jon Udell's Website API discovery and The power of the URL-line

  • URLs should be meaningful — Humans see them, and should be able to construct them after seeing a few (like snailmail addresses) = "intuitive" to reverse-engineer
  • URLs should be short (without losing too much meaning) — less typing, and it's easier to take in more at once and therefore figure out what a long URL points to.
  • (This is why URL shorteners, and opaque web app URLs are bad.)

Example: http://eugene.craigslist.org/cta/ —> http://portland.craigslist.org/cta/

 

Namespaces

 

...in natural language

 

...within a website (e.g. Wikipedia's disambiguation)

 

...among sites: DNS

 

 

Wagn

 

Plus cards are regular cards, named as two other cards "plussed" together - anycard+anothercard

All the "+" says is a little bit about how these three cards are related:

anycard

anothercard

anycard+anothercard

 

The "+" is different from a space, or the non-space in WikiCase, or the / in file systems & URLs.

 

One typical of plus cards is to implement flatfile-like functionality:

http://www.wagn.org/wagn/John_Abbe+phone has my phone number

Not on the User form now, would be easy to add it back: http://wagn.org/John_Abbe

 

http://www.wagn.org/wagn/phone+*right+by_name has all phone numbers, sorted by name

 

http://www.wagn.org/wagn/phone+*right+by_create has all phone numbers, sorted by date created

 

Works because of

http://www.wagn.org/wagn/*right+*right+*content (recursion!)

http://www.wagn.org/wagn/by_name+*right+*content

 

Can even user services from other websites — e.g., connectipedia.org used to show maps and data about the county/city card you were on.

 

So, non-coders can do code-ish things by "programming" the name, in just the way that Jon Udell talks about programming the URL-line.

 

Now we can talk about Wagn's plus cards and natural language

 

Nonviolent Communication+Eugene or Eugene+Nonviolent Communication ?

 

Could mean something different or not. In Wagn, we always treat them as separate.

 

Standard order among people, places, things, datetimes?

 

Could do something in the sidebar based on _main's left's type, etc.

SHORT

less typing

Once you've seen a few snailmail addresses you can start figuring out how to create them. Web addresses within and across websites should strive for that simplicity. (Okay to require some learning - eg zip codes, two-letter abbrevs.)

If people can construct working URLs *guessing* at some of the URL (command) they want, computers will also be able to. del.icio.us good example of a site that takes this deeply to heart.

2. Past all netty/webby stuff, what do we like?

Messy chunking (English) - symbols, words, terms, sentence fragments / phrases / sentences

Meaning-full - a name that lets us know what we're getting into. Plenty of room for opinion. Name of site? Name of page?

every word is metadata

http:// could have been fewer characters; syntactic space was left to specify things about the kind of connection when we didn't know that the web was going to take over so much.

Twitter's @; shell prompt


HUMAN READABLE

tr.im/7Ytb9a - where'm i going?

Even with a 'real' URL:

hackable

Meaning-full - del.icio.us decided to let individuals work their tag namespace as the like; but those individual pools can also be looked at together by removing the username from the URL, and see together what terminology emerges. They never did much with creating more than a direct democracy with it though. (You could have many processes to help the community converge on terminology, split, etc.)



Namespaces? original wiki, one per wiki.

Other wikis experimented with multiple namespaces, often hanging off the first:
RegularWikiPage/SubPageOfIT

But generally no connection between those namespaces



what metadata in names? Twitter's @

browser addresses as command line commands

REST

============================

WikiWed examples:





=================================================

wiki

Flat namespace; names are atomic

 of some programming patterns

DoTheSimplestThingThatCouldPossiblyWork



Wagn

Structured wiki without losing wiki-ness.

Okay, the shortest Wagn contest will never be four lines of code. (SigWik, 4 lines, 222 chars, Perl and Shell.)

Names are non-hierarchically holonic.


"...postscript seems like the perfect language for a wiki."

====================================================
====================================================

Short URLs rock. If you don't have a brief domain and specify an idea simple enough for a good URL API to make pithy: shorten (despite evil)

Often no URL is better. Don't worry. There's still plenty of metadata weaving your tweet into the net - author, time, language, rhythm

( @claudinec tweets about standing desks )

@claudinec Been thinking standing desk on and off for quite a while. Fun! (Explicit metadata! Sorry, Claudia, continuing meta-tweet-thread.)

@: Twitter's mark for explicit metadata - people, or at least accounts. In the Twitterverse, as important as links, the web's currency.

The @ itself is metadata. It commits meaning in relation to the text up to the next space. One character instead of http://'s seven; brevity

@johnabbe and johnabbe are two different kinds of names in the same namespace.




If the metadata is visible


Shells show metadata as a (or often many) characters at the left before you start typing.


unposted

metadata such as Twitter names -- are the dendritic filaments http://www.youtube.com/watch?v=IY1GevvwaTA that weave the web together