Archive for March, 2007

77 Million Paintings by Brian Eno

Monday, March 26th, 2007
the DVD package

I recently purchased Brian Eno’s 77 Million Paintings (not to be confused with Sala’s One Thousand Paintings), which generates paintings on your screen by layering a set of images and slowly fading between them. The software is designed to emulate a 1970s slideshow installation that Eno built; many of the images are from the original slides. Most of them are abstract scratches, geometric patterns, color blocks and swirls, but some paintings have very clear imagery: rocket drawings, schematics, halftoned faces etc. Each time you run the program, it starts in a different place, so you’re always at the dawn of a new day of paintings. But patterns do repeat: the number of slides is limited, so there is definitely a style among the imagery—this is not pure randomness.

But I have to say that since I bought this program a month or so ago, I’ve only run it a handful of times. I ran it for friends once. Karl and I stared at it for a few minutes once. When you get it going, it really is captivating and beautiful, but because it’s a self-contained program, you really have to want to see it. The activation energy is high, especially because there’s nothing you can do in 77 Million Paintings but sit and stare (and listen—the soundtrack is also generated). The only thing you can manipulate is the speed of the transitions before the show starts. So it’s unlike a video game or a word processor or any other application on my computer. It has no real functionality; it’s all form. And that’s frustrating for me, because I never go looking for pure, self-contained form in my Applications folder. Every other program I have is about me somehow manipulating content of my choosing, and here comes Eno with this rogue Application to which nothing can be Applied. It’s a misfit.

A screen saver seems like the ideal venue for pure, self-contained form, doesn’t it? I’m really surprised that Eno didn’t take it in that direction, or at least provide the option. He must have considered it, but I couldn’t find an explanation in the packaging as to why it wasn’t a screen saver. In his diary, Eno went on and on about screen savers—he loved them!—so I’m baffled.

I can only guess why it it’s not a screen saver. When active, screen savers are not usually the center of attention. They’re a background element, something one might see across the room, or something one might not see at all because one is down the block having a sandwich. Eno may feel that his work should really have people’s undivided attention when it’s running, and that it would be an insult for it to exist only as background. That is, maybe he wanted the software to be as true as possible to its original museum context. Unfortunately, people do not use computers as they use museums, so I think the intent falls flat.

Free-Syncing Liberals

Saturday, March 24th, 2007

I tried out two new services over the last couple days, Highrise (contact management web app) and GrandCentral (a “one phone number for life” VoIP call-forwarding service). I’m not going to review them here, but I noticed that both services make the false, tired assumption that either my address book is static or their copy of it is authoritative. They provide a way for me to send them my entire address book, but it’s designed as a one-time operation. So either my address book never changes, or their copy of it is all-holy. I don’t want to single out these two apps, though; this is a serious problem. Skype, Adium, LinkedIn, Facebook, you name it. Many many more apps are culpable. And it seems ironic that, in 2007, the Internet is creating more data disparity for me across everyday applications, not less. I thought this was supposed to be the great connector of people and data?

Web applications are partly to blame. Highrise offers import/export options for vCards. To their credit, they do delete obvious duplicates when you re-import set of vCards. But that’s not syncing, it’s just dupe detection, and it still assumes that Highrise’s copy of the contacts is authoritative (their copy always “wins” on an import). I want to sync! I don’t even want to manually initiate it. I just want the network to assimilate my changes automatically. Unfortunately, as much as we all love JavaScript these days, this isn’t something you can do inside a browser window. But moving this data around manually is a 100% waste of time, so when I sign up for Highrise, I’m signing up for that time waste. I believe there is no customer for whom the import and export function for address books is a benefit.

We need syncing. We need to smoothly merge versions of our data from different contexts.

One answer is to store things in fewer places, but that’s unrealistic in 2007, unless my plan is to quit the Internet entirely. Fact of life: My digital data is dispersed all over the place. I have bookmarks in five different web browsers on two computers. And my address book is so dynamic that the authoritative copy is in my head and in a stack of business cards in my desk drawer, and the digital copy on my Mac is rarely up to date. But when I do bother to update it, I want to do that operation only once. I want to be able to make updates in different contexts; it really shouldn’t matter.

So why is syncing so hard? Part of the problem is that most software doesn’t remember my actions, it only stores the data I acted upon. So later, when I sync, the computer tries to compare one address book copy with another, but it often can’t decide how to merge the two. I have to explain my intentions again: I want this copy, I don’t want that copy, because this is the copy I changed most recently. Were a dated change log in place on both ends, fine-grained version control, the computer would already know what I intended in the first place. But developers have historically faced a lot of space limitations when programming, as computer memory and hard drive space were once a huge premium. So metadata still seems luxurious to some. Or it seems unrelated to the problem at hand; an afterthought. But notice that developer tools have long been able to sync: multi-user version control systems for code have been around forever.

I think the real trouble is that syncing is dangerous for software companies. Some see syncing as a potential recurring revenue stream, so they see little incentive in opening things up. Apple will let me sync—if I sign up for their .Mac service. Cell phone companies offer a centralized over-the-air backup service for my address book…so smooth syncing would eat into their subscriber base. I recently heard of a phone company that’s been able to monetize the sync operation itself: $2.99 a shot, for me to move the data a couple feet between phone and computer.

Syncing would also make it easier for me to switch to the competition. Companies would much rather hold my data hostage with artificial barriers like proprietary data formats and closed APIs. I’m part of probably 15 social networks right now, and all of them sovereign states who pretend the others don’t exist. Apple has been so successful not because they play well with others, but because they’re creating and selling all of the devices you’ll ever want to sync between. It’s magical to see all of these devices talking to each other so smoothly, isn’t it? Yet there never was a technical limitation to it!

It makes Apple a lot of money, but it’s not an open solution and they can’t possibly sustain it for a long time. Every company goes through cycles (see Sony), so we can never rely on one to come through for us. So what can we do to bring the Apple magic into the larger space of web apps, cell phones, and MP3 players?

Free software will help us; the political incentives are different there. Reverse-engineering will help crack the data monopolies, as well. This information wants to be free, and I believe the network will eventually destroy any false barriers. There are free phone projects in the works, and we’ve already seen open source iPod firmware replacements. The world is entirely hackable; so now we need to create more open standards for syncing all of this structure data, and start getting these free software projects talking to each other. No company would dare to do this, so it could be the next huge leap in the free software movement.

Movement interfaces

Thursday, March 15th, 2007
Karl Cronin
Karl at the DeCordova

Karl teaches me a lot about how “real people” use computers, and it’s fascinating. As a dancer, he has a kind of body intelligence that is spell-binding to watch, because it is beautiful and because I know I could never do it. I think his brain developed toward movement very early, and mine toward BASIC, so he has an extreme muscle memory that is very powerful and expressive. His favorite thing right now is mouse gestures, but I think the mouse is ultimately too simple of an input device for him. I believe there’s a missing interface paradigm and set of applications that could extend the self-expression of a mover just as Word extends self-expression of a writer. Marginalized and underfunded as dance may be, I’m learning that there are a lot of movers in the world, and that, as far as I can tell, few of them end up in computer science. The people writing code, myself included, are really writers and linguists—they’re stuck in their own heads. So anyone who wants to interact with or program computers with their whole body is, for the most part, out of luck.

The gamers are, of course, ahead of the interface curve. The Wiimote represents the biggest advance in input devices in a decade, I think, but it only tracks the movement of one limb, and on the software end it’s only scratching the surface. The current games emulate existing real world movement (golf, bowling)—they don’t let you code with movement, there’s no room to create new movement vocabularies. I’m ready for that; I think Karl is, too.

Along these lines, I saw Aza Raskin’s excellent talk “Death of the Desktop” at SXSW and he demoed two things that represent good steps away from the 25-year-old “desktop.” Why should the desktop die? Not because it’s old; because it is 3D: things are hidden and they should not be. We spend all day moving windows around. We spend all day looking for these files and applications that should just be right in front of our noses. Anything that is not direct content manipulation, Raskin posits, is wasted effort. Exposé helps, but doesn’t get us all the way there. And sure, you can boost your productivity by getting 2 or 3 monitors on your desk, but Raskin has a couple alternatives.

For today’s users, Raskin recommends Enso, his company’s Spotlight/Quicksilver app for Windows. It executes simple commands typed while the caps lock key is held down. It’s a CLI on crack. Good stuff, and in his demo he killed Explorer.exe just to show his app in place of the desktop, running on a blank screen.

But the real goodies came later in the talk, when Raskin demoed a Zoomable User Interface. It’s not really a product, but it’s cool! A ZUI is just a plane, often infinite, with all of your content on it: photos, documents, web pages, whatever. No desktop, no file browser per se, no icons, no “open” or “save” commands—just directly manipulable content everywhere you look. And as you work with your content, you develop a cognitive map of the content plane, so you can find things easily—eg. if I’m at my video album from SXSW, I’ll know that my recipes are generally to the left, and my new voicemails are up and to the far left.

Spore
Spore screenshot

But once again, the gamers are already way ahead of the operating system designers, training today’s children to use tomorrow’s laptops. Game designers have the luxury of creating entirely sovereign environments for their games, so they have a lot of flexibility. Many games are already ZUIs, both 2D and 3D. Will Wright’s Spore has a beautiful 3D ZUI. Raskin still hasn’t convinced me that 3D UIs are cognitively a bad idea; I think it really depends on the input device. Mice are not good for navigating 3D content, but something soon may be.