In the PBS special "Triumph of the Nerds," Steve Jobs makes the point that he doesn't begrudge Microsoft's money or success -- he just wishes that their software had taste, had more class. I have a new understanding of what he meant by that, and what I dislike about the Weiser and Brown model of "Ubiquitous Computing."
I want ubiquitous computers. I want my milk to talk to my refrigerator, so that the fridge can give me its inventory and warn me when the milk is gone or is about to go bad. I want my rooms to have sensors that can control the lights and tell me where my son is hiding at bed time.
But I don't want them to be invisible. I want to be able to think about them and to reprogram them. I want to be able to play music by arranging milk cartons in patterns in the refrigerator. I want my kids to program the house to play "Warmer/Colder" with a teddy bearing a sensor. Sure, someone can sell me a program to do that for $10, but I want my kids to be able to write it.
Let me explain why.
Seymour Papert was right. The computer makes tangible and concrete a whole host of "powerful ideas" that were previously the domain of mathematicians only. It allows many more of us to play with mathematical ideas like recursion and metaprocessing. Those ideas are worth knowing -- they are certainly more useful and interesting than the quadratic equation or how to add fractions.
Andy diSessa and Alan Kay are right, too. The computer is the first meta-medium: The first expressive medium that can mimic any other medium: Music, drawing, cartoons, motion pictures. The way that one expresses oneself in the computational medium is by programming it. Everyone should know something about programming the same way that everyone should know something about composition (even if they're not a writer) and drawing (even if they're not an artist). Yes, you can just use Photoshop or Clarisworks, but that's like only drawing with stencils. You are unnecessarily limiting yourself.
And while I think very highly of Don Norman, I think he's wrong on this point. He likens the computer today to the electric motor of yesteryear. Sears Roebuck used to sell a single electric motor with "attachments" for vacuuming, polishing, etc. The obvious analogy is to the overly general personal computer with specialized software for word-processing, databases, and drawing. And he's right -- we should have lots of computers with specialized roles. But that's as far as the analogy holds, because the computer has many more degrees of freedom than an electric motor. I can believe that mechanical engineers can figure out most of the ways that I might want to use an electric motor (or twelve). But I do not believe that anyone is going to think of all the ways that I want to use a computer.
There is a joy in making things for yourself, for expressing yourself through a medium. People still do make wood bookshelves. (I mean, besides Martha Stewart.) The computer offers unprecedented flexibility with unprecedented ease. I don't want anyone taking that away from me. Of course, there are levels that I probably don't want to dig down to, like rewriting network code. (Though, I'd prefer a Squeak like approach, that makes those layers available, should I want to rewrite them.) But I want as much flexibility reservered for me as possible.
People can create things of beauty with computers. People can do amazingly cool things through programming. We need to not lose that.
Why pick on Microsoft in all of this? Because I don't think that they see this point. There was a recent response from Microsoft to a DaveNet piece where the proponent of Microsoft claimed that all Microsoft wanted was "to make better computing better all the time." I shuddered a little at that. Microsoft doesn't want what I want for "better computing." Microsoft thinks I want new word-processors, new databases, new spreadsheets -- none of these being things that they invented. They're not inventing new ways of using the flexibility and power of the meta-medium. They're copying others' ideas and making them as cheaply and as feature-studded (so that you never have to face your own program adding your own features) as possible. Yes, they do provide user-programmable features -- through Visual Basic, one of the stodgiest and least expressive languages ever invented.
I fear that John Seely Brown and Don Norman are pointing us toward a Microsoft world of ubiquitous computing. I don't want to keep upgrading my house. I want a world of wonder to play with.
Last modified at 10/12/97; 2:40:27 PM
Other Links of Interest
College of Computing | EduTech Institute | GVU Center
Mark Guzdial | Papers
Rendered with Frontier
Opinions expressed here are my own and do not necessarily reflect the opinions of Georgia Tech or the College of Computing. Notwithstanding any language to the contrary, nothing contained herein constitutes nor is intended to constitute an offer, inducement, promise, or contract of any kind. The data contained herein is for informational purposes only and is not represented to be error free. Any links to non-Georgia Tech information are provided as a courtesy. They are not intended to nor do they constitute an endorsement by the Georgia Institute of Technology of the linked materials.