The people at ACOT SM (Apple's Classroom of Tomorrow) recently offered me the
opportunity to work on another of their cool projects. I'll tell you all about the
project, but--as usual--I'll also veer off into some wild philosophical speculation
about computers and programming. So please fasten your seat belts and keep your head
and arms inside the magazine at all times.
ACOT was working on a research project in mobile computing: by combining GRiDPAD
® computers (notebook MS-DOS machines with pen-based input) and tiny wireless
modems, they had created a unit that could be carried around easily in the field and that
was continuously connected with other identical units. The software they were
developing to run on these machines was a sort of collaborative spreadsheet, so that
many separate users could enter and edit data simultaneously, and everyone would be
updated continuously. They were going to give these units to kids at an elementary
school in Tucson, Arizona, and send 'em out in the desert to collect various kinds of
environmental data (temperature, pH, location, number of cacti, and so on). The idea
was this: the kids would be able to see not only their own data, but how their data fit
into the big picture. Presumably learning is enhanced when a person can see multiple
levels of meaning side by side, because the mental "level switching" that has to happen
to discern interdependencies can happen faster.
In addition to the spreadsheet, they wanted a user-configurable graphing tool that
would enable the user to plot any available value against any other, and to label the
data points with a third variable to get a crude sort of a 3-D graph. This is another
potentially powerful thing: being able to see the same set of data represented in two
different ways side by side should enhance the understanding of the data and how it
relates to reality. ACOT was running out of time and needed someone to write the
graphing tool. In return for taking on this project I'd get a trip to Tucson to assist in
the field trials. It sounded great: I love to program graphics, I have a good friend in
Tucson I haven't seen in years, I'd get to learn all about a pen-based computer, and I'd
have a chance to participate in some really interesting research.
Unfortunately, this was at a time when my workload, which waxes and wanes over the
quarter, was on a steep rise. I had less than ten days to write this graphing tool, and I
had to maintain some semblance of responsibility to my regular job. I knew perfectly
well that if I took this project it would mean some late night and weekend hacking
(something I increasingly try to avoid, at least for code that relates to work), and it
would also mean working on an MS-DOS machine, something I had hoped to adroitly
sidestep forever. Ah well, what's life without a little adventure? I took it.
Suddenly there I was, sitting in front of this strange machine made by Toshiba, all
softly textured gray plastic and glowing plasma orange, surrounded by about thirty
pounds of documentation, and the screen says something like "C:\GRID\BIN>." Yikes!
What have I done? I'm a Macintosh guy. I can get around OK on UNIX ® , thanks to a
class I took once, but I've never touched an MS-DOS machine in my life, believe it or
not. Now I'm not going to write yet another MS-DOS slam fromthe Macintosh
perspective, but there are two lasting impressions I want to share. First, it took me
almost half an hour to copy one directory of files into another the first time I tried,
and I'll never forget it. Second, batch files are pretty handy.
Mercifully, I didn't have to spend much time in MS-DOS itself. I used Borland's Turbo
C ® to do the actual development work, and it's a lot like THINK C, my preferred
compiler on the Macintosh. Also, the programming interface for the GRiDPAD is very
Macintosh-like, so aside from some syntactic differences I felt pretty much at home
writing the code. In order to finish on time, though, I did have to go on a rather severe
coding binge.
You know that feeling that you get around the sixth or eighth or tenth hour of nonstop
digital interaction? Strange tensions, displacement, a weird urgency enclosing every
movement, feeling compelled and repulsed simultaneously . . . you've all been there,
I'm sure. Isn't it bizarre that computers can create such visceral reactions? Maybe if
you do anything nonstop for a long time like that it would feel the same, but somehow
I don't think so.
Programming is, at least partially, the ability and/or desire to force your mind to be
completely literal. I have a pet theory that the reason programming is so difficult for
many people, and the reason it induces such a strange mind state, is that it's a
fundamentally different way of thinking that's not at all natural and must be
consciously donned, like a hat that doesn't fit. You know how it sometimes takes a while
to get fully into it, and once you're there it takes a while to come out of it? My wife
still struggles with that: she doesn't understand that I am in a sort of trance, holding a
whole strange world inside my head that is at odds with reality. She'll ask me a simple
question, like what should we eat for dinner or have I let the dogs out recently, and it
sometimes takes a full ten or fifteen seconds before I can react coherently. And it's not
that I'm ignoring her. I just don't have room in my poor overburdened brain for the
real world: it's been crowded out by the digital one. And unfortunately, by coming out
long enough to answer her, I've lost a lot of ground. It will take another twenty minutes
to get back to where I was. I don't think, though, that programming has to do that to
people forever: it's just that our method of telling computers what to do is still very
crude and cumbersome.
How can computers be so . . . I don't know, profound? I mean, they're only machines,
right? And they only do one thing really well--they can add--but boy, are they good at
it! They can add circles around anything else on the planet. Big circles. And somehow
that makes them into what they are: these fluid, configurable, multipurpose tools and
toys. You forget, and rightly so, that they're just adding machines on steroids. I once
heard Todd Rundgren give a talk at a local SIGGRAPH meeting, and he made the point
that computing itself is a poorly understood thing. He compared computers to the
handles on tools: if you put a handle on a rock, you've got a hammer. Computers are
like handles, but we don't yet know what they're handles to, and I suspect that we won't
really know for a long time, if ever. It sure is a lot of fun, though, to grab that handle
and start swinging!
Well, I can't tell you the end of the ACOT story, 'cause it hasn't happened yet, but
maybe a future column will pick up where this one leaves off. My little graphing tool
plugged into the spreadsheet with a minimum of hassle, thankfully, and it seems to be
just what they wanted. Next week we get to hand our newly forged handle to the kids and
see what they bash into. It might be anticlimactic-- maybe they'll just treat it like a
fancy pad of paper--but maybe, just maybe, their minds will light up when they grab
on.
DAVE JOHNSON has the best toy collection of anyone around. He says that his
favorites either make cool noises, fly, do something surprising, or have just the
right number of exclamation points in the product description. His Humming Bee (a
rubber band stretched over a cheap wooden frame on the end of a string) hums
when you whirl it over your head; Mike Stone's Amazing dip-er-doTM Stunt Plane
defies gravity (it's a weighted paper plane that only does tight loops, so no matter
which way you throw it, it always comes back to you); and the rattleback-- this
one's so surprising that Scientific American had to publish something about it
(see the article in Roundabout: The Physics of Rotation in the Everyday World by Jearl
Walker, 1985). But his favorite toy of all is his Macintosh, because it makes
cool noises, flies (well, figuratively), and does surprising things all at once. When
he's not playing with his (and everyone else's) toys, he enjoys redwoods (wherever he
may find them), dogs (his own in particular), clear blue (sky and water),
escapist fiction (science and otherwise), and complex mechanical contraptions. *