Words fail us

Programmers talk to computers using precise instructions -- but when they communicate with people, human language betrays them. An excerpt from "Dreaming in Code."

Topics: Computers, Books,

Words fail us

Stamping [a feature in Chandler that would allow users to transform one kind of data into another, like making an e-mail message into a calendar event] aimed to introduce a kind of productive ambiguity to the computer desktop that more closely mirrored the way people think. It was not a simple concept, even for the designers who’d invented it; for the developers who had to make it work, it was even trickier. Computer programs used silos and trees and similar unambiguous structures because they helped keep data organized and limited confusion. If an item belonged to one group, it did not belong to another; if it lived on one branch of a tree, it did not live on another.

Human language is more forgiving: one word can mean more than one thing. This flexibility provides a deep well of nuance and beauty; it is a foundation of poetry. But it only leads to trouble when you’re trying to build software. As OSAF’s developers struggled to transform the innovations in Chandler, like stamping, from sketch to functioning code, they repeatedly found themselves tripped up by ambiguity. Over and over, they’d end up using the same words to describe different things.

Take item. To the designers, an item in Chandler was anything a user would think of as a basic piece of data: A single e-mail; an event on a calendar; a task or a note. But the back-end world of the Chandler repository [the custom-made database the program used to store information] also had items, and its items were subtly but substantially different from the front-end’s items. A repository item was a single piece of information stored in Chandler’s database, and in fact you needed many of these repository items to present a user of Chandler with a single user item like an e-mail: Each attribute of the user item — the subject line, the date sent, the sender’s address, and so on — was a separate repository item. At different times in Chandler’s evolution, proposals arose to resolve this problem — to “disambiguate” the word item. Maybe the term “user item” could always be capitalized. (This helped in written material, when people remembered to do it, but not in conversation.) Maybe another term for one or the other type of item could be adopted. (But some of those proposed, like thing, were even more ambiguous, and none of the proposals stuck.)



The Chandler universe was rife with this sort of word overlap. The design team kept using the term data model to refer to the list of definitions of data types the user would encounter along with all the attributes associated with that data type. For example, the data model would specify that every note would have a “date created,” an “author,” and a “body text.” But to the developers, data model referred to a different, more technical set of definitions that they were using to store and retrieve data at the level of their code. What the design team called the data model was really, in the developers’ vocabulary, the content model.

Then there was the problem with the term scheduled task. In the design world, a scheduled task meant an item on a user’s to-do list that had a date and time assigned to it. But for the developers, a scheduled task was something that Chandler itself had been told to perform at a particular time, like download e-mail or check for changes in shared information. Or take the term event notification. For the designers, this meant things like telling the user that new mail had arrived; for the developers, an event was some change in the status of a code object, like a window closing or a click on a menu item — and notification meant sending news of that change to other code objects.

Kapor would observe these little linguistic train wrecks and shudder. “We need to speak one language,” he’d say. “We should all speak Chandlerese. We have to fix the vocabulary.”

Finally, Brian Skinner stepped forward to try to do just that. Skinner had joined OSAF as a volunteer and helped Andi Vajda and Katie Parlante sort out the subtleties of the data model back when Vajda was just trying to get the repository started. Now a full-time OSAF programmer, Skinner had a knack for explaining developer-speak to the designers and design-talk to the developers. When the groups talked past each other, he was often the one to sort out the language. Why not, he proposed, set up a Chandler Glossary on the wiki? It would provide a single, authoritative, but easily amended reference point for all the terminology floating around the project. It could get everyone, literally, on the same page.

Skinner took arms against the sea of ambiguity. He produced dozens of glossary pages. He built a system for linking to them from the rest of the wiki.

It was a heroic effort, but it didn’t seem to make much difference. For one thing, usage of the terms continued to change faster than his wiki-editing could keep up. More important, the developers, who were already drowning in e-mails and bug reports and wiki pages, didn’t seem to pay much attention to the glossary, and the pages languished, mostly unread.

The glossary’s futility might have been foreshadowed by the outcome of another naming effort in which Skinner participated. OSAF’s Howard Street headquarters had a half-dozen conference rooms, and Kapor decided that it would be useful for them to have names, so that instead of saying “Let’s meet in the little conference room around the corner from Donn’s desk,” you could just say the room’s name. OSAF held a contest and solicited proposals from the staff. Skinner suggested using names from imaginary places; he won the contest and ponied up his $150 prize to fund a happy hour for his colleagues at Kate O’Brien’s, the Irish bar down the street.

The fanciful names — the two main conference rooms were Avalon and Arcadia — captured the spirit at OSAF, where imagining new worlds was on the collective to-do list. It was only later that everyone realized what a bad idea it was to have the names of the most frequently used rooms start with the same letter: No one could ever remember which was which.

Reprinted from “Dreaming in Code” by Scott Rosenberg. Copyright (c) 2007. Published by Crown Publishers, a division of Random House, Inc.

Salon co-founder Scott Rosenberg is director of MediaBugs.org. He is the author of "Say Everything" and Dreaming in Code and blogs at Wordyard.com.

More Related Stories

Featured Slide Shows

  • Share on Twitter
  • Share on Facebook
  • 1 of 22
  • Close
  • Fullscreen
  • Thumbnails

    Once upon a time on the Bowery

    Talking Heads, 1977
    This was their first weekend as a foursome at CBGB’s, after adding Jerry Harrison, before they started recording the LP “Talking Heads: 77.”

    Once upon a time on the Bowery

    Patti Smith, Bowery 1976
    Patti lit up by the Bowery streetlights. I tapped her on the shoulder, asked if I could do a picture, took two shots and everyone went back to what they were doing. 1/4 second at f/5.6 no tripod.

    Once upon a time on the Bowery

    Blondie, 1977
    This was taken at the Punk Magazine Benefit show. According to Chris Stein (seated, on slide guitar), they were playing “Little Red Rooster.”

    Once upon a time on the Bowery

    No Wave Punks, Bowery Summer 1978
    They were sitting just like this when I walked out of CBGB's. Me: “Don’t move” They didn’t. L to R: Harold Paris, Kristian Hoffman, Diego Cortez, Anya Phillips, Lydia Lunch, James Chance, Jim Sclavunos, Bradley Field, Liz Seidman.

    Once upon a time on the Bowery

    Richard Hell + Bob Quine, 1978
    Richard Hell and the Voidoids, playing CBGB's in 1978, with Richard’s peerless guitar player Robert Quine. Sorely missed, Quine died in 2004.

    Once upon a time on the Bowery

    Bathroom, 1977
    This photograph of mine was used to create the “replica” CBGB's bathroom in the Punk Couture show last summer at the Metropolitan Museum of Art. So I got into the Met with a bathroom photo.

    Once upon a time on the Bowery

    Stiv Bators + Divine, 1978
    Stiv Bators, Divine and the Dead Boys at the Blitz Benefit show for injured Dead Boys drummer Johnny Blitz.

    Once upon a time on the Bowery

    Ramones, 1977
    “The kids are all hopped up and ready to go…” View from the unique "side stage" at CBGB's that you had to walk past to get to the basement bathrooms.

    Once upon a time on the Bowery

    Klaus Nomi, Christopher Parker, Jim Jarmusch – Bowery 1978
    Jarmusch was still in film school, Parker was starring in Jim’s first film "Permanent Vacation" and Klaus just appeared out of nowhere.

    Once upon a time on the Bowery

    Hilly Kristal, Bowery 1977
    When I used to show people this picture of owner Hilly Kristal, they would ask me “Why did you photograph that guy? He’s not a punk!” Now they know why. None of these pictures would have existed without Hilly Kristal.

    Once upon a time on the Bowery

    Dictators, Bowery 1976
    Handsome Dick Manitoba of the Dictators with his girlfriend Jody. I took this shot as a thank you for him returning the wallet I’d lost the night before at CBGB's. He doesn’t like that I tell people he returned it with everything in it.

    Once upon a time on the Bowery

    Alex Chilton, Bowery 1977
    We were on the median strip on the Bowery shooting what became a 45 single sleeve for Alex’s “Bangkok.” A drop of rain landed on the camera lens by accident. Definitely a lucky night!

    Once upon a time on the Bowery

    Bowery view, 1977
    The view from across the Bowery in the summer of 1977.

    Once upon a time on the Bowery

    Ramones, 1977 – never before printed
    I loved shooting The Ramones. They would play two sets a night, four nights a week at CBGB's, and I’d be there for all of them. This shot is notable for Johnny playing a Strat, rather than his usual Mosrite. Maybe he’d just broken a string. Love that hair.

    Once upon a time on the Bowery

    Richard Hell, Bowery 1977 – never before printed
    Richard exiting CBGB's with his guitar at 4am, about to step into a Bowery rainstorm. I’ve always printed the shots of him in the rain, but this one is a real standout to me now.

    Once upon a time on the Bowery

    Patti Smith + Ronnie Spector, 1979
    May 24th – Bob Dylan Birthday show – Patti “invited” everyone at that night’s Palladium show on 14th Street down to CBGB's to celebrate Bob Dylan’s birthday. Here, Patti and Ronnie are doing “Be My Baby.”

    Once upon a time on the Bowery

    Legs McNeil, 1977
    Legs, ready for his close-up, near the front door of CBGB's.

    Once upon a time on the Bowery

    Suicide, 1977
    Rev and Alan Vega – I thought Alan was going to hit me with that chain. This was the Punk Magazine Benefit show.

    Once upon a time on the Bowery

    Ian Hunter and Fans, outside bathroom
    I always think of “All the Young Dudes” when I look at this shot. These fans had caught Ian Hunter in the CBGB's basement outside the bathrooms, and I just stepped in to record the moment.

    Once upon a time on the Bowery

    Tommy Ramone, 1977
    Only at CBGB's could I have gotten this shot of Tommy Ramone seen through Johnny Ramones legs.

    Once upon a time on the Bowery

    Bowery 4am, 1977
    End of the night garbage run. Time to go home.

  • Recent Slide Shows

Comments

0 Comments

Comment Preview

Your name will appear as username ( settings | log out )

You may use these HTML tags and attributes: <a href=""> <b> <em> <strong> <i> <blockquote>