Is the Microsoft way the only way?

Word with all toolbars turned onWhat I think of as the Microsoft approach to product development is to cram as many features as possible into each product. Interface is an afterthought: All those features exist primarily for the benefit of the feature list, not the user, so who cares if the feature is buried three menu levels deep? If users complain enough we’ll just add another cryptic icon to a button bar. No room on the button bar? We’ll add another button bar, piling up shortcuts to the most popular features until the interface threatens to overwhelm the app. Maybe users don’t want so many buttons? Give them the option to remove whatever buttons they want. (Another feature!) Hey, we’re giving you features! Why are you complaining? All you have to do is go to Tools > Options > Customize and you can make the interface look just the way you want!

Somewhere along the line this became the default mode for software development. Open source development works exactly the same way. Somebody wants a feature? Great, let’s just add it. Stick it on to a menu (or its equivalent in web applications, a console page) and move on to the next item on the checklist.

I see this in a microcosm surveying the world of mailing list managers (for use on my haiku site, of course). Mailman, PHPlist, Majordomo, Dada Mail aka Mojo Mail … they’re all powerful, capable programs in their way. And their all fantastically complicated to use, because they have so many options. The thought given to interface is minimal, because the focus is on features.

What I want is something like the iPod Shuffle of mailing list managers. I want a simple signup process, preferably with a confirm step thats compatible with SMS. I want to be able to send list members just the content I specify, nothing more or less. And I want an easy console that doesn’t take a week to master. Is that so much to ask?

Hypothesis: In web software as in appliances, the autocratic, top-down approach produces much more usable products than a bottom-up, consensus-based approach. Somebody’s got to get in there and start saying “No” to the engineers. It takes a Jobs to make an iPod. It takes a Blake Ross and Dave Hyatt to make a Firefox.

Is the Microsoft way the only way?

What androids dream of.

Electric Sheep sample imageWhat does your computer do when it’s asleep? Well, if you’re the giving type, it might be searching for intelligent life in the universe, helping find a cure for schizophrenia, or perhaps trying to fold some proteins.

Scott Draves has a different idea. His collaborative computing project, Electric Sheep, is a screensaver that generates semi-random swirly abstract videos. They’re a bit like the “flurry” screensaver that Macs play or the ITunes graphics, except they’re much more complicated and variable, and they don’t have a musical accompaniment.

Each variation, called a “Sheep,” is created by the combination of 150 different variables, so the permutations are many. Using a central server, each instance of the software submits its own sheep to a pool where it recombines with other sheep, in a process not unlike sexual reproduction.

The most successful sheep (determined by humans who press the up arrows to vote for their favorite sheep) are more likely to reproduce, so over time the pool of sheep has become quite wonderful and beautiful.

Not much point to all this except to marvel at the beauty of the sheep, and to think about the implications of using networked computers to produce recombinant creations. In other words, it’s cool!

Draves’ Electric Sheep tour and his 5-page conceptual explanation (PDF) are good introductions. Short description of the project at Grand Text Auto » Spot at Santa Cruz.

What androids dream of.

Creative computing.

Best of Creative Computing cover imageOne of the first magazines I can remember subscribing to (apart from Cricket and Ranger Rick) was Creative Computing. I started getting this magazine about 1980, after I fell in love with the neighbor’s TRS-80. It astounded me that he could have a computer sitting right there, on his desk, completely self-contained and no bigger than one of the TTY machines that we used at the University to talk to the mysteriously distant mainframe. (Even though I wasn’t yet a teenager I still had occasional access to the mainframe, thanks to the fact that my dad and my neighbor’s dad were both university professors.) I knew the TRS-80 was a real computer because, like the mainframe, it let me play Wumpus. It also had an early version of Sargon Chess, which even at that primitive level of AI development could still kick my ass. I am not a good chess player.

I immediately latched on to the ethic of Creative Computing, however, which was that computers are excellent tools for education, recreation, and enjoyment. Its accessible articles and focus on fun made the magazine far more readable and humane than Byte, which sometimes seemed to be written for computer scientists. I never was a computer scientist, and although I started programming as soon as I got my own computer (an Apple ][+) my approach to developing software was always rather undisciplined. I’d dive in, start coding without a plan, steal code from wherever I could find it — including, of course, the pages of Creative Computing — and hack things together until something worked, more or less correctly. That approach worked pretty well for creating some simple games, including a hand-to-hand gladiatorial game I made based on the rules of D&D combat and a maze-race game where you had to navigate as quickly as possible through a randomly-generated cave to find a mad bomber before he blew everybody up. The approach still works, it seems, since it’s how I built the code behind my haiku site, and that’s running fine, so far. When I started trying to build a complex, graphical adventure game in 6502 assembler code, however, my seat-of-the-pants, devil-may-care, Creative-Computing approach to programming broke down. You really need some structure and discipline to program in assembler. When that project failed to come together I focused most of my energies on painting and drawing, and didn’t come back to computers in a serious way until after college.

As it happened, my first job out of school was at PC/Computing, which had just recently merged with and absorbed Creative Computing. By then any traces of creativity were gone from the computer magazine market. PC/Computing was a business-oriented PC pub, pure and simple, and while we had fun, the focus was definitely on efficiency, profitability, and economy. That same impulse drove most of the rest of the PC revolution and the dot-com boom throughout the 1990s.

Now it seems like some of the old ideas are coming back. I look at the rise of Web 2.0-ish products like Flickr, Second Life, Backpack, and for that matter Blogger and TypePad and what I see are people having fun.

And I don’t mean just having fun with computers in a simple, passive, absorb-the-entertainment kind of way. I have been known to play the occasional video game but I’m not really a gamer by any stretch. Actually I think the most fun you can have with a computer, and the most creative way to use a computer, is to program it. And what’s exciting to me about blogging is not just that people are expressing themselves but that they’re actually coding, customizing templates, adding plugins to WordPress, tweaking the code behind their blogs, and developing software of their own.

Sure, a lot of this activity may not have any immediate economic impact on anything. I don’t necessarily buy the argument that “long tail economics” will radically restructure the way we do business or shake the foundations of top-down, corporatized hegemony in any serious way. But I am excited when people take computers into their own hands and make them do interesting, cool, new, freaky things. And by “computers” I mean the whole Interweb, of course.

For the next few weeks I’ll be using this blog to find examples of creative computing and focus on them a bit. I’m hopeful that there really is a sea-change here, and it doesn’t have anything to do with Bubble 2.0. Stay tuned.

Creative computing.

1,000 years in Bali.

Listened this week to an amazing talk by anthropologist Stephen Lansing‘s talk on Bali at the Long Now Foundation‘s seminar series. (Thanks to Jon Udell for linking to it.) Lansing’s talk is an account of how Balinese rice farmers managed to create a system for sharing water and coordinating rice planting schedules in order to optimize the harvest for everyone. The system involves a hierarchical, ground-up network of cooperating farmers, all of whom work together for maximum benefit. Lansing’s talk tackles the anthropological, religious, linguistic, economic, mathematical, and ecological dimensions of the system, which has persisted now for about 1,000 years. And, not coincidentally, it’s democratic in organization.

Interestingly, Lansing and colleagues at the Sante Fe institute ran some mathematical models of rice production and found that, in their simulations, virtual farmers in a similar virtual environment eventually evolved structures very similar to those used by actual Balinese farmers to coordinate water use and planting times. But even if the farmers’ system is economically optimal, it’s the religion that has ensured the system’s longevity, because its rituals give people a way to understand the social networks and a safe way to express their emotions over it.

The sad part of the story is that the Balinese system was very nearly wiped out in the 1970s when international experts came in and tried to rationalize and modernize everything. The system has made a partial recovery, but even now the farmers are still putting fertilizer on their rice paddies — which they don’t need, because the volcanic soil is so rich — and the fertilizer is just washing downstream, unused, into the ocean, where it’s destroying the coral reefs.

Description and discussion of Steve Lansing’s talkLink to MP3

Long Now Foundation’s other Seminars About Long-Term Thinking

1,000 years in Bali.

HDTV for dummies.

Not exactly for dummies, actually, but for beginners: Next week I’ll be hosting a webcast on how to select and set up an HDTV set. Two of Ziff-Davis’s top HDTV gurus, Robert Heron and Loyd Case, will be explaining everything you need to know. I’ll be asking naive questions (and we’ll take audience questions too, of course).

The webcast includes a short video featuring Robert where he shows the differences between plasma, LCD, and rear-projection technologies. I promise this will be a quick, easy, and fact-filled intro to HDTV tech.

The webcast is free but you will need to cough up a few personal details to sign on.


HDTV for dummies.