Thursday, July 31, 2003

Trusted Computing

I've struggled with trying to come up with a simple way to understand and explain Microsoft's "Next Genernation Secure Computing Base" initiative, formerly called Palladium and in some way connected to the larger "Trusted Computing" project that also involves Intel and other hardware manufacturers. (It's possibly worth mentioning that the name "Palladium" refers to a statue of Athena in Troy; it was stolen by Odysseus immediately before the Greeks built the Trojan Horse. Who's in charge of project naming at Microsoft?)

The first thing to do is to disambiguate "Trusted Computing" from "Trustworthy Computing;" Microsoft and Bill Gates use the latter term to refer to software so incredibly secure from attack and reliable that you could use it as an operating system, a goal Microsoft hopes to eventually achieve.

Trusted Computing, I've finally realized, is quite simple to explain: it's a computer architecture that prevents you from gaining root privileges, even through hardware modification.

Wednesday, July 30, 2003

So Why Build a Bipedal Robot?

Monday, I fingered Honda for flubbing the answer to the reasonable question "Why Build a Bipedal Robot?" Their answer, "Because we want to help people" is a nice warm and fuzzy sentiment, but not exactly the sort of thing you'd publish in The Journal of Applied Robotics, nor particularly enlightening to the audience. It's too bad, too, because there's a perfectly good answer. It's probably what they had in mind, and they certainly implied it in their other slides, but never quite came out and made it real.

We live in a bipedal world. Humans are bipedal, and we live in a world of our own construction: stairs, door handles three feet off the ground, light switches four feet up. Chairs that bring your head to a certain height, and tables and desks accessible to your hands when sitting. It's so obvious that we may never think it consciously, but a vast majority of the time, we are living, acting, interacting, and existing in constructed reality. This fact, of course, is why there had to be legislation like the Americans with Disabilities Act; because not every human really is functionally bipedal, and the world -- really, the human-constructed world -- is pretty unfriendly to those on wheels.

So the answer to why build a bipedal robot is because you're trying to build a robot that can live in humanity's world, and you have to be a biped to do that. A dog could go up stairs, but he couldn't turn on the light switch. There are additional benefits to bipedalism, most notably as demonstrated by Honda, that we humans will regard bipeds as a peer social actor. (Have you seen that video where a dog goes nuts because Aibo is trying to get at a hunk of meat? I'd like to see a gorilla beat the snot out of ASIMO.)

The irony here is that many of the functions of the world -- light switches, doorknobs, etc. -- are features of a pre-robot world. If you've got good enough robotic technology to build ASIMO, you could just as well embed that technology in things like doors and lights, and make them respond intelligently to human needs. In the movie Honda showed, a helpful ASIMO carried a newspaper and a cell phone over to a woman in a chair. Excuse me, but I could figure out a way to have her talk on the phone without leaving her chair for a lot less than $100,000. It's as if, in 1900, a brilliant engineer had the idea of using automobiles to carry hay along for the horses you were riding. In this sense, ASIMO is backwards compatability for the human-built world; reality as legacy app. But do we really need this compatability, or would it be better to forge a new construction with this new technology?

Monday, July 28, 2003

Saying Hello to ASIMO

I went to Honda's demonstration of ASIMO, a humanoid, bipedal robot on Saturday. I thought I'd share my impressions.

The first thing that needs to be said is that it's amazing. Seeing it in person, walking in a very human-like fashion, is almost a little eerie (and partially because it isn't walking exactly like a human). In a real sense, it's the most humanoid machine that's ever been built. It can do all sorts of things - fluidly climb stairs up and down; easily walk in a circle; stand on one leg. Honda's engineers did a heroic job and have made a real breakthrough. My impression is that it's working a little bit like Dean Kamen's Segway: constantly adjusting balance forward and backward, and with 46 degrees of freedom and lots of sensors in the joints, it's constantly optimizing its stance and balance, even as it moves through a maneuver.

With that out of the way, I think Honda, and its self-styled "ASIMO North American Education Tour" have done an enormous disservice to the field of robotics and to the people to whom it is presenting. While the show is over-produced (lots of flashing lights, driving music, and an over-the-top host), I expect that much from a self-promoting corporation. However, they portrayed ASIMO as a fully-aware, conversational, social agent capable of sensing what humans around it were doing and responding appropriately. It was only marginally less capable than C-3PO. And it was (almost) as much a Hollywood trick as sticking Anthony Daniels inside a suit. ASIMO was run by remote control by human operators standing (and I'm not making this up) behind a curtain. (It's unclear whether they appreciated the Wizard of Oz-flavored irony.) The host went out of her way -- far out of her way -- to treat ASIMO as a social agent, not only conversing with it, but during a section when a movie was showing, leaning down and pantomiming whispering to it, pointing out things in the movie. At the very end, there was a blink-and-you-miss-it acknowledgement of the "computer operators," but of course they were never shown, and it was not explained what they had been doing. It was all a lie.

I am convinced that the audience walked out of that room with a less-accurate and worse-informed sense of the state of the art of robots than they had walking in, and for something calling itself an Educational Tour, in a sort of Orwellian Education-is-Ignorance fashion, I think that it was atrocious. While perhaps the audience didn't care, I also think it was a great disservice and showed great disrespect to the work of Rodney Brooks and Cynthia Breazeal, who really are trying to solve the difficult questions of making a robot interact in a social fashion with humans.

There were plenty of other things about the show that bothered me -- not acknowledging the existence of Isaac Asimov, for example, or insisting that a lot of "science" went into building ASIMO and not mentioning "technology," and flubbing the basic question of "Why build a bipedal robot?" -- but these things could be forgiven, or dismissed as mistakes. What isn't so easy to forgive is that Honda is consciously and intentionally perpetuating a false impression of their technology, one that approaches Wally's-Head-in-a-Box levels of demo fraud. And it's sad, because the technology really is such a breakthrough, and so impressive, and so important for the future, that they didn't need to cloak it in a lie.

Friday, July 25, 2003


If any of you are in the Boston area, come to the Museum of Science on Saturday or Sunday to see Asimo, Honda's humanoid robot. Here's the schedule and more information.
Narrative is a Pattern Language

So my closing insight in this series of musings about narrative is that narrative, exactly as Campbell set it out in Hero with a Thousand Faces is an Alexandrian pattern language. (A reference to architect Christopher Alexander, if you're not in the software patterns field.) In fact, the parallels are quite remarkable. Each element of the Hero's Journey has certain elements, some of which are constant, some can vary. These elements have relationships to other stages, just like A Pattern Language of Design sets out relationships between the patterns, and describes the problems that they are meant to solve. And both Alexander and Campbell distilled their lists from extensive surveys of the field, picking up only what was universal and fundamental. He might as well have called his book A Pattern Language of Myth, except of course that he published twenty-five years before Alexander.

What good is this insight? It means we can apply a whole body of knowledge of pattern languages, mostly developed in the software field, to narrative arc. Narrative elements -- the patterns -- exist on fractal scales, have certain structural or behavioral relationships with other elements. And taken as a whole, the language is generative; it doesn't describe a single story, or myth, any more than Alexander's pattern language described a single, ideal building. While Campbell meant Hero to be a distillation of the world's mythic knowledge and wisdom, we can use it in precisely the opposite sense, to create an infinite number of new myths.

Next week, I'll talk about something different.

Thursday, July 24, 2003

Atoms of Meaning, Molecules of Narrative

So as I may have only implied, I'm noodling around with a software implementation of the Hero's Journey/Three Act Structure. It's a game, but it's also an experiment in figuring out how easy or hard it is to reify various aspects of the narrative arc. As we've seen, "refusal of the call" is a tough one, while others, like "the road of trials" is a natural.

The problem I'm currently struggling with is how to define the atoms of the story. For example, I could easily put a deck of cards together, where each card represented an action or a character in a story, and then deal them out, one at a time, with some set of rules to make it feel interactive. Well, that might be fun once. (Maybe.) To be useful, however, this deck of cards needs to be reusable, playable over and over again without incurring boredom or predictability. Why not? A regular card deck only has 52 cards, and even collectible card games like Magic don't gain their sense of newness or difference of each match to suddenly new cards. What the surprise comes from in these cases is in new combinations of cards.

But I don't think that that's my solution. "You've got the Goddess Mother Figure, the Father Figure, the Nemesis, and All Hope is Lost." Umm... okay. This is just making a new deck of cards with funny names, and maybe it would even be an okay game, but it would lose the very idea of narrative structure, that the goddess shows up in the middle, that All Hope is Lost is the end of Act II. So if not from the combinatorics of cards, where do differences between matches come from?

I think it must come from a combination of more fundamental atoms, which combine to form the cards. So each deck, each time you play, is a set of maybe 100 cards, but each card is drawn from a large, maybe huge, potential deck, customizing and randomizing each card. But identifying these atoms, these fundamental units of narrative, is tough.

Wednesday, July 23, 2003

The Ordinary

I just wanted to amplify a throwaway statement from yesterday's entry. A Hero's Journey, according to Campbell, involves crossing a threshold. That threshold is the barrier between the ordinary, home, the village, the safe and understood; and the unknown, the realm of the gods or of the dead, where rules are not understood. This is an important tautology. If the rules were understood, it would be home and there wouldn't be a threshold. The Journey involves spending time in that realm, facing the ultimate tests and thus achieving understanding. And with that understanding -- the "boon" -- the hero is now capable of returning to the home realm, but now as a warrior, capable of doing whatever it takes to save the village or impart his new wisdom.

Now in a game like Everquest, the go-forth-and-kill is your day job. What could be more quotidian? It is hardly a departure from the ordinary into a non-understood realm. The danger here is not that it gets boring, clearly people find it amusing enough, but that by definition it is incapable of capturing an important aspect of the hero's journey. And as such, it will lack an important mythic and emotional resonance.

This is a problem easier to diagnose than fix. Can you only go on a Hero's Journey once? Once a year? Once a week? Is the use of the hero's journey as construction principle an oxymoron?

Tuesday, July 22, 2003

Sidenote: Weird Search Queries

There's a whole literature of strange search referral strings. (Just search for "search referrals" or "weird search referrals"). My strange referral string of the month is "hero's machines." Well, I can figure out how I got on the Google page that responded to that answer, but what on earth were they looking for? Second place is "howard dean illuminati." Of course, having put them in this entry, I'll show up even higher.
Refusal of the Call: the game

One of the stages of Jospeh Campbell's Hero's Journey is the "refusal of the call": the initial unwillingess of the hero to venture out of the village and into the unknown. You only need to think of Luke Skywalker; he's received the call (Obi-Wan says to him "Come with me to Alderaan."), but he refuses it ("Uncle Owen needs me."). Of course in that and most hero's journeys, the refusal is only temporary.

But as I think about how to encode the hero's journey into a game, that's a tough one. The whole point of a game is to get to experience adventure. What player would thumb the "no" button, when Obi-Wan says "come with me?" Even in table-top roleplaying, where there's more chance for real acting and character development, this sort of reluctance is very difficult. Because, deep down, the player -- not the character -- really, really wants to go.

I've been trying to imagine in what context a refusal would be even imaginable. And I can think of two factors. One, there needs to be a real sense of risk on the player's part. If I'm playing most platform games, even if I die trying something stupid, I just start over at the beginning of the level. (And of course Infocom games had "undo."). No risk. But if it's my character in a persistent shared world, one that I've built up over perhaps years of game play, and I could really lose him forever, well, I might be a little more cautious. And two, the refusal can really only happen embedded in a social context, for two reasons. "I can't let Uncle Owen down" is a response that says existing social relationships are more important than an exterior request (and by Campbellian definition, the Hero's Journey must be a departure from the ordinary). And two, if there are other players around, then someone else could shoulder the burden. In Homer Simpson's immortal slogan for garbage commissioner, "Can't someone else do it?" In a multiplayer persistent world, there are plenty of somebody elses around to risk their neck. Why me?

This is just a case study, though, as I walk through the Quest and think about how it could translate into computer software, games or otherwise. Interesting to see the extent to which sociality is embedded in the meaning, or expression, of the journey.

Monday, July 21, 2003

The Emotional Palette of Games

Neurologists tell us that no learning can occur without emotion. It doesn't really matter what that emotion is, so your stomach-curdling terror of Sister Mary Godzilla is just as good as the pulse-pounding fun of Math Squad. This actually shouldn't be surprising - learned taste aversion is one of the most powerful learning effects known (it needs only a single instance and lasts for years if not forever), and of course is linked to the sense of disgust. This is one of the reasons that people are looking to computer games as learning tools; far more than traditional classroom dynamics, games have been effective at exciting emotion. In fact, classrooms have been stamping out emotion for decades, whether fear or fun.

But while any emotion might do for learning (or perhaps not; these things are only on the borders of the understood), it seems strange to me to place such a burden on a medium that is actually quite narrow. Games, while quite effective at eliciting some emotions, are not so effective at the broader palette of subtler emotions. Especially as compared to film, a notoriously powerful medium for transmitting and creating emotional reaction. Games can certainly do fun, and excitement, and fear. But other emotions, or even variants of those: awe, or dread; affection, or disgust; rage, or peace. I recently watched the film Das Boot for the first time, and thought about all of the submarine simulation games out there, none of which could capture the mix of boredom, claustrophobia, and dread that Wolfgang Peterson conveyed so effectively. Well, maybe the boredom part.

So is this a structural limitation to the medium, or just a market dynamic? For sure, Hollywood spends little time trying for the subtler emotions: action and comedy cover most of the bases these days. Is it the limited input range of a comparatively tiny screen and tinny music? Perhaps VR will allow for all sorts of innovative genres of games. This is a question similar to that of why comic books (in fact, note the name) are vastly predominantly about superheroes, a bizarre little sub-genre. There used to be army comics, and western comics, but no more (of course, those genres have largely disappeared from all media). Why? Why are 24-page graphic artworks only about superhuman psychopaths in tights? Why aren't there computer games about angst, or boredom, or unhappiness, or unrequited love, or frustration, or community, or joy, or a sense of the divine, or selfless service, or sacrifice? Maybe there are, but only for the Nintendo, so I haven't played them?

Friday, July 18, 2003

Disruptive Technology

A lot of people throw around the term "disruptive technology" or "disruptive innovation," especially after Clayton Christensen's book The Innovator's Dilemma. Now it was a great book, but apparently either a lot of people didn't exactly understand it, or read it, because most uses of the term are wrong. That's too bad, because it's a useful idea.

Christensen's question is, why do powerful incumbent companies fail to develop certain new technologies? His answer is that in many cases, they do. They do in when the new technology is, according to the current metrics of success, better than the existing technology. It doesn't matter how different the technology is - giant magnetoresistive disk drives were a real change in drive tech, requiring years and millions of dollars of investment, but the existing drive manufacturers all made the transition. When they fail it's because the new technology is worse than the existing technology, according to the current metrics. The catch, of course, is that the new tech is better according to a different set of metrics. When 5" drives were introduced, they were worse than 8" drives on all of the usual metrics: price per byte, maximum capacity, profit margin, size of market. What the incumbents didn't understand was they were smaller. Strange, but true. No incumbents adopted 5" drives, and all subsequently went out of business.

Now people use the term to mean anything better, but most technologies described as "disruptive" aren't. They might be perfectly good, but they aren't disruptive, which means that the incumbents are just as likely to hop onto them as the startups (and it's usually the startups or the VCs who are describing their tech as "disruptive").

Christensen's flaw as a business analyst, though, is that he sees everything through the lens of disruptive innovations. There are lots of reasons why some technologies succeed and others fail, and disruption is just one of them.

Thursday, July 17, 2003

Addicted to Moore's Law

Every year, engineers at Intel and AMD deliver another nice heaping pile of CPU crack to software developers, who gratefully smoke it and produce increasingly bloated, crappy, huge, slow programs. And they get away with it, of course, because if your program gets twice as crappy every eighteen months, no one notices except the unAmerican cheapskates who refuse to buy a new computer every couple of years. Since 1995, CPUs have gotten something like 50 times faster. How much faster is Windows XP than Windows 95? Umm... not at all? And recall that Win95 ran reasonably on computers with 32 MB of memory, itself a stunning increase over the 4 and 8 MB recommendations for Windows 3. I just had to add another 256 MB of memory to my Dell laptop to stop XP from swapping every time I moved the mouse. (Okay, granted I was moving the mouse over OpenOffice. But still.)

And of course the reason that we don't storm the Redmond Bastille is that that 256 MB upgrade cost me a total of $44. (Does anyone need an extra 64 MB SODIMM?) So programmers -- and it's hardly just Microsoft -- get away with doubling the memory footprint of their programs every generation, get away with grindingly slow implementations, all saved by Gordon's magic wand.

The first question I ask myself is "Why isn't software getting better?" Are we really, really doing so much more it? My web browser is only marginally more functional than Netscape 2 was in those days; my spreadsheet calculates the same functions, my email is the same, my word processor is the same except for those squiggly red lines.

The second question I ask myself is "What happens if Moore's Law is repealed?" We all know that it isn't a law (although irritatingly the press often refers to it as if it were a physical principle), just an output of economics and engineering. The engineering won't stop, but the economics very well might. It seems to me that there's a huge market opportunity for a classically Clay Christensen disruptive innovation, undercutting price and performance of existing processors signficantly. AMD tried this, a little, and that's the theory behind the Intel Celeron, but these are on the same escalator, just a few steps behind. There's a lot of people out there who would pay a few hundred dollars for a fully functional, 1999-era computer, and that computer will be reasonably powered for many, many years. Other than a few niche applications (most notably 3D games), we've really saturated the performance market.

My prediction is that Moore's Law will end because of market economics long before it ends because of engineering limitations, and when we do, it's going to be a long, hard, cold turkey for some software companies.

Wednesday, July 16, 2003

Don't Skate to the Puck

"Some people skate to the puck. I skate to where the puck is going to be." - Wayne Gretzky.

When discussing or researching technologies, people seem to have trouble keeping in mind that technology changes. This is odd, because the rapid advance of microprocessor technology is one of the most obvious trends in our society. But even researchers, who can easily chart the future progress of their own work, often compare their future performance with today's technology: "We can beat state-of-the-art lithography in just ten years," ignoring, of course, that lithography will be advancing at its accustomed pace in that time.

A response to yesterday's post claimed that I was wrong about ubiquitous networking because his laptop had trouble getting a signal from his base station. Well, I'll get right on that, and in the meantime you might take a look at the IEEE 802.16a standard, which will likely do for metropolitan area networking what 802.11b has done for local networking. Similarly, others claimed that the surveillance state couldn't happen because software isn't smart enough to monitor everyone, and there aren't enough people to do it manually. Don't skate to the puck! The software is in development. For just one example, check out everyone's favorite convicted monopolist's work MyLifeBits.

Don't believe the cameras are out there? Check out the very funny, very scary, somewhat leftist Surveillance Camera Players. Criminologist Clive Norris estimates that a citizen of London is photographed by a surveillance camera 300 times a day. If you've got a subscription to Technology Review, read Surveillance Nation, a great review of where the technology is going.

These technologies -- microcameras, wide-area wireless networking, analysis software -- are going to be developed in the next few years, even if Congress zeroed the budget on TIA. (Does anyone think that Adm. John Poindexter, of Iran-Contra fame and director of TIA, will worry overmuch about what Congress says?) Don't skate to the puck. We need to figure out what to do about the technologies before they're finished.

Tuesday, July 15, 2003

We All Live on Temptation Island: A Story of John the Baptist

Reality shows, as controversial, inane, and, frankly, terrible as they are, may turn out to be the most important social innovation of the last ten years.

Like blogging, reality shows are one of those things that could have shown up years ago but didn't. The first network executives at CBS could have had the idea to find six attractive idiots and film them trying to, I don't know, live in a bomb shelter. (Maybe one of them would really be a Communist spy. Hey! That's pretty good. Let's do lunch.) But they didn't, just like Tim Berners-Lee didn't stick a blogging interface into the first browser.

So why reality shows? For one, they're dirt cheap. You think a million dollar prize is expensive? Each member of the cast of Friends earns that every week. To be financially competitive, a show like Survivor or Idiots in a Box hardly needs to beat "regular" shows to turn a profit. And, it turns out, people watch this stuff in droves. (There are a couple interesting potential explanations for that, but I'll limit myself to the observation that sticking a bunch of people off the street with no special training or, apparently, personality still produces a more interesting show with better dialogue than 90% of what the networks turn out. "Perhaps," mull the networks, "the problem is that the audience wants higher definition signals." Yeah, perhaps.) These shows thrive on feeding a never-ending appetite for more and more intimate/embarassing/private/dreadful behavior, and this drives an arms race to the bottom (as if there were a bottom). So why I am heralding them as being so important?

Because, magically, weirdly, just in time, they are teaching us what it means to be watched, all the time, and have all of your actions and interactions not only observed by millions of anonymous strangers, but analyzed, judged, and preserved forever. And this is a lesson that we, especially in the United States, desperately need to learn, because it is about to happen to all of us.

Digital cameras, even video cameras, are becoming so cheap that they're in the check-out lane at Wal*Mart. An 802.11b chip costs $10 in quantity from Texas Instruments, and falling. There's a growing and soon ubiquitous wireless network. Software to analyze human movement, facial expression, voice intonation, and emotion is becoming mature. A drive with a few terabytes of storage, almost enough to record your entire life in video, is cheap and getting cheaper. And, thanks to 9/11, U.S. government agencies are empowered to collect this data on every citizen (to trample the meaning of the word "citizen").

This is a wonderful -- terrible -- confluence. How is it that a innovative and vapid form of entertainment, technically possible for more than fifty years, shows up just in time to teach us the true meaning of the Panopticon? If reality shows are John the Baptist, I don't know that we're ready for the messiah. But this is our own Temptation Island. This technology is being developed, TIA or no, and the siren song of security calls on us to build it: if enough of our privacy is taken away, the song goes, people will stop hating us enough to fly airplanes into buildings. Will we succumb to temptation? Stay tuned.

Monday, July 14, 2003

Why Do I Blog? An Apologia

I realize, now late into the game, that I've never tried to set down why it is that I write this blog. A million people have millions of reasons to write their blog: some sublime, some self-absorbed, some bad. I probably share all of these reasons.

1. I am a terrible writer. Well... not quite in that sense. But I have a deep flaw as a writer, which is that I stew and mull over prose for a very long time, much to the dismay of editors I've worked with. "No," I'll say, "I"m just not happy with it." They insist that it's fine, but I want to do another draft, although I can't quite say what it is that displeases me. Blogging, in contrast, is me spilling out my unformed ideas with no second draft. I'm hoping that this discipline of undisciplineness will make me a more agile writer. Someone said that mostly what writers do is re-write, and that's true, which is why, generally, blogging isn't really writing.

2. "Write every day." Richard Gabriel is a poet and computer scientist, and he's been writing a poem a day for more than two years. Partly it's a form of practice, and partly it's an exercise in quantity: like evolution, you create more offspring than the environment can support, and the best ones survive. He tells a story worth repeating of a arts teacher who taught a class of pottery. One half of the class, she announced at the beginning of the course, would be judged only on a single piece. They could make as many as they wanted, but only the quality of a single piece would determine their grade. The other half would be judged on nothing but the gross weight of their output for the course, with no adjustment for quality, upwards or downwards. The half graded by weight produced much better work. This blog is my attempt at being graded by weight: if I write enough paragraphs, presumably some of them will be interesting.

3. I have too many ideas. Related to point 1, above, I write slowly. Which means that for the last few years especially, I've had far more ideas than I have any useful outlets to pursue. Ideas for cool software projects, language features, random rants about technology. I plan to get to them someday, never do, and eventually someone else does it. So I put my ideas on the web for all to read and, maybe, profit by. I figure that at worst, nothing will happen, and I'm even. Maybe someone else will like an idea and run with it and get rich. Great.

Hmm. Reading back over what I just wrote, I realize that it's exactly the kind of self-absorbed, blogging-about-blogging crap that I wanted to avoid when I started. Well, so be it just this once, but I promise I'll be better. I suppose that this post is really an apology or perhaps better a warning: the kind of things I'll post in this blog may not be well-thought out, or sensible, or coherent (domain name notwithstanding). This space is my drafting board for ideas in progress. Hope you enjoy it.

Friday, July 11, 2003

Why did TCP/IP win?

SNA was a great networking protocol. In really every performance respect, it was superior to TCP/IP. So why haven't you heard of it? Because with TCP/IP, nodes could be added to the network without centralized configuration. The coordination cost of SNA was too high. This is a strategic error that IBM made -- and to a lesser extent, continues to make -- over and over again; emphasizing performance over usability. OS/2, SNA, AIX. This is the Worse is Better principle at work, of course, but it highlights a specific principle: that coordination overhead can kill a technology.

Thursday, July 10, 2003

Thoughts on Spandrels

No one said "spandrels" up on stage, although Kevin Werbach told me he had considered it.

But they probably should have; it's an interesting and useful idea.

Architecturally, a spandrel is the triangular space created between (for example) two adjacent archways (that is, bordered by the right side of the leftward arch, the left side of the rightward arch, and the ceiling). Steven Jay Gould used this as a metaphor for something in evolution that's created as a side effect. No one (in Gould's formulation, although perhaps this isn't good architectural criticism) planned or intended the spandrel; it's an inevitable side effect of putting two adjacent arches in a design. Similarly, in evolution, a vast amount of phenotype isn't necessarily driven purely by natural selection; it might have evolved only because some other, possibly distantly-related, feature was selected for, and that feature had side effects. This is so for things like body plans; we often assume that a body (of, for example, a dog) is plastic to evolution. If evolution (or, more to the point for dogs, breeders) favored long snouts, then voila, the snouts would get longer over the generations. Now this is true as far as it goes, but lengthenieng the snout can't be done without making other changes in the shape of the skull and even the rest of the body. So a long snout might, for example, come packaged with sharper teeth. Those sharper teeth are the spandrels.

This whole argument is meant to be a counterbalance to fundamentalist adaptationists, who insist that every feature in an organism must have evolved that way because it offered some kind of selective advantage in evolutionary history, often requiring acrobatic feats of explanation. The idea of spandels significantly lifts the burden of adaptationist justification. (Of course, spandrels can then evolve into a useful feature in their own right, just as architectural spandrels became elaborately decorated).

The application of this idea to software or policy is useful. What features do we have not because they were useful on their own merits, but because of some other thing that we needed? The QWERTY keyboard, of course, which was created to slow down typists so they wouldn't jam the machine and "guard bands" in spectrum allocation because our technology wasn't sophisticated enough to resolve multiple signals. Certainly there must be others, but of course it's often hard to see them as such.

Wednesday, July 09, 2003

Blogs are the funny robots of the web

It just occured to me: blogs are just a distributed version of Mystery Science Theater 3000.
Bring Me the Head of John the Baptist!

I used to work for Jim Gray of IBM (not the Microsoft Jim Gray who does databases, but the inventor of SNA). He was a deeply devout Christian (as is another influential former IBM technologist, Fred Brooks), and once told me a metaphor that has stuck with me. He said that technologies came in two stages; one was like John the Baptist, who predicts or foreshadows the real arrival. Of course, this first technology (or the company that brings it to market) ends up with its head on a platter. Only then can the real messiah come. BBSes and the Internet; the Newton and the Palm; Simula and Smalltalk; gopher and the web.

So what technologies around today are John the Baptist? Too often, people take a failure as evidence that the idea is fundamentally flawed, but sometimes failure is what sets up the technology's ultimate success.
What Do You Call It?

Simon Phipps of Sun just beat up on the term "social software" because he said it's not new; "Computer-Supported Cooperative Work" is a conference that's been running for many years.

I disagree for a large number of reasons. First, I just hate the knee-jerk response of computer scientists to insist that there is never anything new. Sure, you can always stand up at the back of the room and claim that MULTICS supported that feature, whatever the speaker is actually talking about, but this comment is never useful. So what? MULTICS is long gone. This is just a destructive and rude form of social one-upmanship. (On the flip side, however, I also don't like it when work doesn't adequately cite previous work.)

But to the merits of the argument. One, CSCW is, primarily, a field of study, not a category of software. I'm a member of SIGGROUP; I read papers published at CSCW and SIGGROUP conferences, and I've got nothing against it. But it's a name of a field, not a kind of software. Two, CSCW is about, well, work. Social software is a much broader category. There's lots of social interactions that can't be captured just by work. Studying how computers can help people work together is fine, but it's not the entire world. Three, CSCW is a long and unwieldy name and "social software" sounds better.

In Medieval Europe, the vast majority of labor was provided by serfs, people who were bound to a specific plot of land, but who didn't own that land or the output of their labor. They weren't slaves, because they couldn't be bought and sold and thus weren't property. I'm at David Weinberger's talk at Supernova, and he's talking about the threat of a network in which we as users don't own the software we use; where proprietary applications hold central, priviledged positions. His example is that IRS tax forms are in PDF, meaning that Adobe Acrobat, a proprietary application, is necessary to interface with the government.

Inspired by Dan Gillmor's characterization of this (on the simultaneous chat line) as serfdom, I call this world "webserfing."
The Sudden Arrival of Vision: Three Stories

One. For the first 300,000 years of the universe's existence, the electron density was so high that photons could not freely travel. Once the density was sufficiently low, photons were "freed" from the primordial mass and it became possible to see. Of course, there was no one around at the time to see, but when we look out in the universe and thus into the past, that line is the barrier beyond which there is only a glowing cloud, impermeable to vision.

Two. One of the great mysteries of child development is what's called "infantile amnesia," which is the phenomenon we all share that we cannot remember anything before a certain age. There's no generally accepted explanation to this, but there are hints in the fact that infants earlier than this age do have both short-term and long-term memory. It's not that they are insufficiently developed to store any memory, it's just that, for some reason, the memories are not accessible or perceived at a later age in the same conscious way that normal autobiographical memory is. But to me it is a similar story to the universe: a sudden clearing, a sudden tipping point where the connectivity of neurons, or photons, is causally distant enough that what was a soft glowing cloud is suddenly clear.

Three. About 540 million years ago, the sophistication and variety of forms of living creatures increased dramatically. This increase is known as the Cambrian Explosion, and was best popularized by Steven Jay "Spandrel" Gould in his book Wonderful Life. But why did this explosion happen? Self-organization proponents like Stuart Kauffman might not be surprised, but Oxford biologist Andrew Parker has an intriguing explanation in his book In the Blink of an Eye: it was the evolution of vision. Once you have vision, you can hunt, you can tell relatives from predators (if in fact they are different), and you can evolve a whole host of new features like color that will matter to the environment.

So. We see that the conditions for vision can suddenly crystalize in an environment; that existing but invisible processes suddenly change their form and our perceptions of them; and that vision changes the competitive landscape so enormously that the basic patterns of life transform.

What vision is about to precipitate into the world today?

Tuesday, July 08, 2003

Spandrel Watch, Day One

Day One of Supernova is over, and no one has used the word "spandrel" yet.
Invisible Technology

It seems to me that it's in general a useful exercise to ask the question "What does the world look like if X becomes invisible?" where X is a technology (not, for example, the Invisible Girl.). This comes up often for specific technologies, famously Don Norman's The Invisible Computer, and here at Supernova (and usually at a speech by Tim O'Reilly) that the browser is going away.

It's happened already to lasers. You might think of lasers as being high-tech objects, but you don't know how many lasers you have in your house (a lot). The point isn't that you should know; in fact, you shouldn't care how many lasers there are, any more than you should care about how many electric motors you have, or, in the last few years, how many embedded processors there are in your car. (Lasers example thanks to Rodney Brooks.)

But in general we should just do that exercise for any given technology. Note that we're not exactly asking what happens if a technology goes away, just if it submerges into the fabric of the rest of human technology. What if phones became invisible? What if web browsers became invisible? Search engines? Recorded music and stereos? Robots? (Rodney Brooks again). Genetic therapy? Drugs? Medicine?
Navigating Heterogeneous Wireless

Whenever people talk about wireless, it seems that they talk about it as if it was going to be homogenous. WiFi people talk about WiFi everywhere; 3G talks about 3G everywhere; Bluetooth talks about the subset of the world in which Bluetooth is everywhere. But the reality must be that the world will be extremely uneven; broadband wireless somewhere, no network somewhere else. Some of this unevenness will be predictable; here a hotspot, there a hotspot; some of it will be unpredictable as new signals come on line. We need to start thinking about wireless spaces, in the ways that architects think about physical space.

Architects, and I'm specifically thinking about architects of public space like museums, have a well-developed set of skills and vocabulary for designing space. Some spaces are for collecting traffic flow, others are dispersive; some are gateways that offer choices to visitors, some are places with content. And among all these different kinds of spaces are wayfinding tools to help visitors find what they want. Some of these wayfinding tools are explicit, like signs ("Rest rooms ->"); others are implicit and perhaps not even consciously noticed by visitors (like having a larger, more open space to one side).

But in the wireless world, we as network and interface designers, aren't anywhere near this skill. We don't speak of different kinds of wireless spaces, much less have a vocabulary to communicate with users about spaces and wayfinding. Now this doesn't mean -- it can't mean -- overwhelming the user with dialog boxes or information about the physical network status, but it does mean we need to arm users with information, even if implict or even subconscious, to adequately navigate the wireless spaces.
The Sense of Being Watched

A while ago, a friend of mine sent an email introduction for me to someone else, saying basically "Geoff Cohen gave an interesting talk at O'Reilly about biology." Shortly afterwards, I saw in my referral logs a hit from Google with the search terms "geoff cohen o'reilly biology." It's a little weird knowing exactly who's googling you. I never heard from him - I guess he didn't like my website - but it's an interesting restoration of symmetry on the web of watching and being watched.
Where Was It Invented?

A little tat arose during Clay's talk about sources of innovation. Clay had made the claim that most technologies associated with the Internet -- the transistor, the laser, fiber optics, TCP/IP -- were all invented in the United States, and yet we're not even in the top ten nations of broadband acceptance. Someone from the audience brought up the web, which of course was invented in Switzerland (although by an American). I countered that the graphical browser was invented in the US, although some guy next to me insisted that Mosaic reverse-engineered Tim's browser. I had never heard that TBL had a graphical browser before.

Anyway. The point I want to make is less about geography than field. What's interesting to me is that the web wasn't invented by a big computer science research project, but by physicists. It's one of the greatest contributions to information technology, but it wasn't really information technologists who did it (although I'd still maintain that it was the CSists at NCSA who were responsible for its success). This is, I think, one example of computer scientists focus on problems that affect themselves, rather than trying to innovate for a different and new class of users. When I was in CS grad school, you would run your new system -- a new OS hack, a new microarchitecture, a new caching system, whatever -- against a standard set of benchmarks. Those benchmarks were typically things that computer scientists or scientific computing users would employ: simulating water molecules, airflow calculations, big number crunching apps. This is a pattern of use that represents maybe one-tenth of one percent of all users. Maybe. Benchmarking and the whole culture of benchmarking could never invent something like the web.
Foy-yuh Analysis

At dinner last night, I heard someone about doing a broad FOIA (Freedom of Information Act) analysis of the government. But he pronounced it Foy-yuh, and (it was noisy) I thought he said Fourier analysis. And suddenly I had this picture of doing a Fourier Transform on the US government, transforming it from our domain into some other domain in which it might make sense. Just like a Fourier Transform takes a noisy signal in the time domain and turns it into something in the frequency domain in which you can suddenly see strong spikes. So maybe you think that US government policy -- foreign policy, budget policy, (and to the point for Supernova) telecom regulatory policy -- doesn't make sense, but if there was some kind of Fourier transform that changes it to some other domain, maybe it would make sense. And maybe it's not just governments.

Next time someone does something that doesn't make sense to you, imagine a different domain in which it might.
Why Supernovae Matter

A supernova is a stellar explosion; it occurs when a star of sufficient mass collapses after it has exhausted its fuel; the resulting incredible increase in density drives one final explosion.

When first-generation stars formed, that is, formed from the primordial hydrogen cloud resulting from the Big Bang, of course there could be no planetary system, since there's only hydrogen. Only when that star eventually novas, if it does, will elements heavier than lithium be scattered into the nebula. However, that process only makes elements up to iron; ordinary stellar fusion doesn't have enough energy to create heavier elements. So only supernovas can create those heavy elements, creating a nebula that might later produce planets with elements necessary for life. So, at some point, there must have been a supernova where the Earth's solar system is now, creating the nebula from which the Sun and the planets formed.
The Token That is Unknown is Still the True Token

Cory came up to me last night and said "What's that crazy made-up word we're supposed to say?" and I realized that even knowing that there is a secret word is equivalent to actually knowing the secret word. Which is good, because I had forgotten it.

Friday, July 04, 2003


I'll be in DC (Arlington, VA, actually) Monday-Wednesday for Supernova, a conference about decentralization. If you'll be there, use the word "spandrel" in conversation (in Gould's sense) and we'll all secretly know that you're a member of the Coherence Engine family.

I'll most likely be blogging the conference.
First-class objects

First-class objects, you might recall, are those that a system can manipulate as a single item. In programming terms, it's a type that can appear on the left hand side of an assignment statement.

There are too many useful things in computer systems and interfaces that aren't reified as first-class objects. For example, the current state of a GUI, with the windows in a current position, with certain dialog boxes open, with something highlighted. Why can't I save this as an object? It might be especially useful for sending to tech support.

What about a configuration change? Microsoft Word, famously, has a zillion possible configuration states, with all sorts of options turned on, off, or set to something. Often, finding those settings is very difficult, even if you know what it is ("How do I turned off autonumbering?"). But it's very difficult for me to communicate the answer to someone else other than by giving them a multi-step process of changing the configuration. Why isn't "autonumbering off" a first-class object? Why can't I mail it to a colleague and have them automatically apply it?

How about tasks? Users are first-class objects in most operating systems (now that Windows XP belatedly brought Microsoft up to speed), but as Whitman (Walt, not Christie), "I am large, I contain multitudes." (Maybe Christie would say that, too.) Sometimes I'm using my computer to have fun, sometimes I'm working on consulting project A, sometimes I'm working on consulting project B. Often I do all three of those things in a day, and switch back and forth. Why can't I package up the state of my system just as I like it for one project, wad it up in a ball, and keep it on the shelf for when I'm ready to get back to it? Why must I open up all the new editor windows, go to the same web pages, and move windows around every time I restart my work?

Thursday, July 03, 2003

Ambient Music as Interface

I'm going to tie together two recent threads here: ambient interfaces and game design elements. And the knot that ties them together is music.

I remember, more than ten years ago, playing Wing Commander, a sci-fi flight-simulation shoot-'em-up. It was notable at the time for its extremely cinematic experience (more so than the later movie, some noted). And although most comments were aimed at the video sequences that interspersed the actual interactive parts of the game, even the flying/shooting segments could be cinematic as well. This was primarily through the music.

Now Hollywood has known for a long time that music can heighten the emotional impact of visual sequences; we're now so accustomed to it than in a strange way, the absence of music is seen (or rather, heard) as being not realistic. But of course the music must be carefully tailored to the scene. (There's an exhibit in the Museum of Science in Boston that shows a scene with one of five different soundtracks, and you're supposed to guess what happens next based on the mood. It can be quite different, even though the video sequence is the same in all cases.)

What Wing Commander did so effectively is dynamically generate appropriate music for what was happening that moment. If you were cruising along from planet to planet, it played, well, cruising music. When the enemy showed up, the music became more urgent and tense; when your shields started failing, the music was more threatening; and when you finally blew away the last bogie, the music turned triumphant. The transitions were barely noticeable.

Now what's interesting about music is that while we do hear it and perceive its emotional message, it doesn't take up a great deal of our conscious attention. I didn't have to listen to the music, much less try to interpret it; I just knew, often subconsciously. And it's a good thing I didn't need to think about it, because I had a lot of other inputs to be paying attention to and commands to issue. Music is sort of the aural equivalent of Code-Division Multiplexing Access wireless protocol; a way to share more information in the same box of air.

Could we use this technology to convey more complex information? Hopefully, it's applicable in situations other than an attack by cat-like aliens. It could be dynamically generated, or it could just be selected from a large library. Imagine letting a computer select your music from your legally-obtained collection of digital music files, and it picks a certain kind of music when your portfolio is down (Yesterday, Eleanor Rigby), and a different kind when your portfolio is up (Twist and Shout, Eight Days a Week).

How precise could this channel be? How much bandwidth would it really have, in terms of shades or nuances of information? ("Your technology stocks are down, but biotech is doing well.") For a science fiction take on this (and because it's an amazing book), check out Jonathan Lethem's Gun, With Occasional Music. And Mark, if you're reading this, I want my copy back.
How Do I Get This Job?

"Stephen Baker, director of industry analysis at the NPD Group, attributed the surge in sales of laptop computers to a greater interest in being able to transport a personal computer."
- AP story on laptop sales exceeding desktop for the first time.

Wednesday, July 02, 2003

Game Elements in Non-Game Applications

The cover story of Communications of the ACM is on the use of game elements in non-game software applications. It's an interesting issue, but it feels to me that they're taking a fairly narrow view of what constitutes a "game element." The introduction to the section claims that games are engaging because they provide realistic 3D worlds. Well... certainly, realistic 3D worlds are pretty cool, but there are plenty of games that are not simulations, do not provide a 3D experience, and yet are extremely engaging.

What are some more basic ingredients of game design? Not every game has all of them, and the list doesn't span every design, but it still represents a useful toolkit of application properties that both make games engaging and are missing from standard (non-game) software applications.

Conflict. Games, like movies, are about conflict. You, as the game player, are a protagonist, which means that you have a goal to pursue. A nemesis is responsible for blocking your progress towards that goal. This is a more general idea than it might appear: in Tetris, your goal is to keep the well clear, and the blocks are the nemeses. Not quite on the level of Darth Vader, but still. (The flip side is the presence of in-game helpers, like those 4-block long pieces.)

Score. In many games, there's a way to keep score. This is way of providing immediate feedback to the player. How am I doing? How far have I gotten? Am I doing the right thing?

Reward. After you accomplish a task, or enough tasks, you get a prize. This might be going up a level (in the roleplaying sense), or a short movie (like the interscreen animations from Pac-Man), or a power-up, or even just a significant check-off ("You've completed all the quests on Snowy Mountain!"). The payoff is one of the things that make games so addicting, and the bigger the payoff, the stronger the emotional reaction, even if (or maybe especially if) the payoff is rare. (Incidentally, this is one of the reasons that I finally became a re-convert to the idea of level-based roleplaying games rather than strictly skill-based ones.)

Skill Development and Recognition. You actually have to get better at most games to win them; few of us start as skilled at playing Tetris as we eventually become. (Back in the days when you had to buy Tetris, we bought it for a friend of the family. After weeks or even months of playing and loving it, he called us up. "Did you know you could rotate the pieces??") We like this tangible feeling of mastering a skill, and of course this is reflected not only in the progress we can make in the game ("I made it across Fire Canyon!"), but in things like high scores and top ten lists.

This is just a snippet of a list; obviously games have a broad and rich set of designs to draw upon.

The best place to apply these elements is in educational and training software, which are to date embarrasingly unengaging. The state of the art seems to be drill games like Reader Rabbit, Math Blaster, or typing games. Some companies, like Lucas Learning, do seem to be making games that require real cognition to solve, and in principle teach skills like design, but there are few examples with which I'm familiar that teach an actual skill or subject (say, Physics, or Algebra) in a way that's as engaging as a Playstation II game. Why not?

And it's not just for education. Every application designer ought to be considering the list of game design elements as ways to make the experience of using an application richer, more rewarding, more engaging, and more powerful.

Tuesday, July 01, 2003

Looking Outside the Screen

Why is our view of the screen on a desktop so static? Since the dawn of the metaphor, we've been looking at a fixed-size window that implicitly contains all of the space. In Unix, there are lots of various windows managers that support "multiple" desktops, so you can page around to completely different views. This would be a huge step forward from Windows, but it's still basically the same metaphor.

I think we can make other improvements without even leaving the desktop metaphor. For example, why can't we zoom? Again, there are freeware apps that can do this sort of thing (and I think MacOS comes with something like it). But I'm not just talking about a magnifying glass; I want to zoom in on documents. And, if I can zoom in, I should be able to zoom out. And if I can zoom out, then why is there an arbitrary limit to the apparant size of my screen?

However, this introduces complications. Now, when I'm looking at my screen, I'm really seeing just a subset of the available "desktop." My screen is, in fact, a window (or more accurately a viewport). However, I don't want to have to scroll back and forth, up and down, to find my apps or icons. I need a better way to visualize the entire field. In fact, this is just one instance of a larger problem. Think about the problems you have using MapBlast or other online maps: either you're zoomed out and can see the points of interest but not the street you're on, or you're zoomed in enough to navigate locally but have lost sight of landmarks.

Researchers at (surprise) PARC have come up with one very cool way to indicate nearby but offscreen destinations. A system called Halo draws a circle around the destination, with a radius sized exactly so it just barely intersects your visual field. You can tell the direction of the destination by judging the center of the circle, and you can judge the distance by the shallowness of the arc. A very shallow arc means a large radius and thus the destination is far away; a sharper curve means a smaller radius and a closer destination. It's very non-intrusive because by design, the arcs only overlap a few pixels on the edge of the screen (see

As more and more of what we do is through smaller keyholes into larger fields, we need more elegant tricks like this to help us find our way.