On Thursday I wrote a piece about MacWrite and MacPaint, two pieces of software that influenced much if not all the software that followed. There are many other examples of seminal software products. In most cases, the products are not the first of its kind, as MacWrite was not the first word processor, but for whatever reason, put enough of the pieces together to lead the way to the future. It's not always obvious in the moment, but with the benefit of hindsight we can see.
They don't, for some reason, study these products in computer science. They fall between the cracks of "serious" study of algorithms and data structures, and user interface and user experience (which still is not much-studied, but at least is starting). This is more the history of software. Much like the history of film, or the history of rock and roll.
In film, the movies of the 1930s were unusually influential. Probably because it was the first decade of sound.
In popular music, the sixties and early seventies were seminal. The music of a very small number of artists and bands took music in a new direction.
It seems to me that the 1980s were like that for software. Before that, serious people dismissed the idea that ordinary people would use computers. You know, the clip from the Steve Jobs movie where fictitious Woz says no one will ever use this stuff. People believed that (not Woz, he's always been a visionary and an inclusionist, the movie did him a disservice). To be a believer meant being lonely. That is, until we all read Ted Nelson's book! So, if we were to make a list of art that led to the popular use of computers, Nelson's work would surely be in there. As would Woz and Jobs, and Bill Atkinson, Randy Wiggington and Susan Kare, who pioneered a little thing like graphic icons. Made a huge difference, and influenced software design for all who came after.
And Unix, sparse, bare-bones and character-based was also hugely influential. In the commercial software world it lay dormant during the 80s, mostly used in academia. But the seed was planted. If you got a compsci education in the late 70s or 80s you used Unix. And then, in the early 90s when networking boomed, it was Unix it boomed around. It became the server platform. The web basically is Unix with a somewhat friendly interface slapped on it (said with a bit of irony). I never thought users would tolerate http:// but it shows how wrong you can be (an idea always worth considering).
Other obvious products of the 80s whose influence are still felt today (and remember this is my list, not anyone else's): Visicalc, Lotus 1-2-3 and Excel in spreadsheets. The popular word processors and databases of the day. PowerPoint. The Finder. Hypercard.
I had to start a separate paragraph for two long-gone and much-missed products: Think C and Turbo Pascal. I used the former, for quite some time, to develop serious software. It did something no one thought was possible -- instant compiles of huge C programs. This was a barrier that was broken by Turbo Pascal a few years earlier. Proves one of the fundamental rules of good software design -- always revisit your assumptions as time goes by and Moore's Law continues to change the rules of hardware. What you couldn't do a few years ago might work perfectly well today.
As I played around with this idea, I started thinking of people whose opinions I would value on this, and then realized this was turning into a software Hall of Fame, like the Rock and Roll Hall of Fame. Something that the movie business doesn't do and should imho -- go back twenty or thirty years and recognize the films they missed when they were new, but turned out to be seminal. Honor people who you didn't know were great when they made their early contributions.
I would ask people like Woz, Ray Ozzie, Dan Bricklin, Mitch Kapor, Joel Spolsky, Marc Canter, Michael Miller (former editor of PC and InfoWorld and a walking encyclopedia of software), Jon Udell, Chuck Shotton (people you might not have heard of but who have great depth of knowledge). Robert Carr and Greg Stikeleather. I'd love to ask Brendan Eich what languages influenced the design of Javascript. Or ask TBL what software he was using in the years leading up to the web. What software was Jimmy Wales studying before he figured out that we needed a global open encyclopedia? What led Adam Curry to come up with the idea for the "last yard" -- the idea that led to podcasting? Who else? Here's a chance for us graybeard programmer types to help put things in perspective.
For my programmer friend who wanted to know about MacWrite and MacPaint, I suggested watching James Burke's great Connections series, which I've written about previously. Every "invention" is more of a synthesis of ideas that were floating around. This is the brilliance that makes change possible. If we had our priorities straight we wouldn't honor the lone inventor (an idea that I don't think even exists) rather we'd celebrate the synthesizer, the Rolling Stones, who loved the music of American blues musicians and figured out how to make it relevant to everyone, but never forgot their roots. Just one of a billion examples.
Perhaps we're ready to give up the mythology of tech innovation, and start studying how forward motion really happens.
I don't have the standing to have an opinion about what other software should be included in a history of important software. I did immediately think of a fun way to teach it online: with movie clips. Show a clip from a movie people would recognize, identify the software and describe what the character was doing with it, tell more about what real people did with it, how it came to be, what it led to.
One thing I liked about MacWrite and MacPaint was their simplicity. They didn't try to do everything. Same with MacDraw (the first object- or vector- based drawing tool). I still hunger for the simplicity of MacDraw. Also of WriteNow, which (as I recall) was written in machine, or something, which made it very very fast. Also hard to update.
Same with MultiPlan, which became (or was replaced by) Excel. I loved the early Excel. It was so simple and easy to use. The current Excel is beyond daunting.
Not sure what Quicken begat, besides Quickbooks, but it was also amazingly fast for its time, and dead simple. Same with MacInTax. I actually loved doing my taxes with MacInTax.
And, of course, ThinkTank and MORE. I don't know what the connection between MORE and the other presentation programs of the time were. Persuasion and PowerPoint both could make what MORE called "bullet charts" from outlines, but neither seemed to know what outlining was. Word, IMHO, trashed outlining by making it almost impossible to use, or to figure out. Still that way, too.
One thing to study is cruft. How is it that wanting software to do everything defeats the simple purpose of doing any one thing well? That's a huge lesson, and one still un-learned, on the whole.
Think about what happened to Bump. Here was a nice simple way to exchange contact information. Worked like a charm. Then they crufted it up and people stopped using it. But was the lesson learned?
Remember the early Volkswagen ads, which were models of simplicity, like the car itself? They completely changed advertising "creative" for generations. Somewhere in there, somebody in the ad biz did a cartoon, multi-panel, showing how to "improve" those simple VW ads. Panel after panel, copy was added: benefits, sale prices, locations and numbers, call-outs... The end result was just another ugly ad, full of crap. Kind of like every commercial website today. Compare those with what TBL wrote HTML to do.
One current victim of cruftism is Apple, at least in software and services. iTunes is fubar. iCloud is beyond confusing, and is yet another domain namespace (it succeeds .mac and .me, which both still work, confusingly). And Apple hasn't fixed namespace issues for users, or made it easy to search through prior purchases. Keynote is okay, but I still prefer PowerPoint, because -- get this: it's still relatively simple. Ugly, but simple.
Crufism in Web services, as in personal software, shows up when creators of "solutions" start thinking your actual volition is a problem. They think they can know you better than you know yourself, and that they can "deliver" you an "experience" better than you can make for yourself. Imagine what it would be like to stee a car if it was always guessing at where you want to go instead of obeying your actual commands? Or if the steering wheel tugged you toward every McDonalds you passed because McDonalds is an advertiser and the car's algorithm-obeying driver thought it knew you were hungry and had a bias for fast food -- whether you have it or not. That's the crufty "service" world we're in now, and we're in it because we're just consumers of it, and not respected as producers.
The early tool-makers knew we were producers. That's what they made those tools for. That's been forgotten too.