5 October 2011

Goodbye Steve Jobs

It was about this time of year in 1981 that I dropped into my high school's Computer Science and Data Processing classroom to talk to a buddy of mine.  At the time I thought I was on a track that would lead me through high school to an aeronautical engineering or commercial pilot program somewhere, and I would become a professional aviator.  That would have surprised exactly no one, since I had been engrossed in aviation since... well, as long as I can remember.

I asked my friend what he was doing, and he showed me some little BASIC program he was writing that did some silly thing with the low-res graphics on the Apple ][ computer he was working on.  Hmmm... that's kinda cool, I thought.

It wasn't long after that I saw another buddy who had taken the same Data Processing class writing some more code.  I asked what he was doing, and this time he explained the program to me.  I don't remember what it was, but I remember how I could understand what the code meant... although he did have to explain why some of his variables had a "$" at the end.

Coincidentally, the Grade 11 Physics class I was taking was studying rectilinear motion, and we had learned several equations.  While I didn't have any problem doing the equations by hand, I wondered if I would be able to use this computer thing to do the calculations for me.  So, I asked one of my friends what material they had on BASIC, and was shown a shelf containing a raft of Apple manuals.  I politely asked the teacher if I would be able to use one of the 4 computers to write some programs during lunch and after school, and he happily agreed.

After some initial fumbling and stumbling and asking a lot of questions of the guys who seemed to know what they were doing, I figured out the mechanics of writing and executing a program.  I was then able to run calculations for one of the equations, cross-checking the result with my hand-calculated version (an early acceptance test!).  If I recall correctly, the next thing I did was purchase my first 5.25" floppy disk for, I believe, $8 from the teacher so I could save the program.  When I wanted to move the next equation, I created my first UI that allowed me to select which equation I wanted to run.

After a week or so, including some time with one of the math teachers to explain how to solve quadratic equations - which we hadn't learned yet - I had a fully functional program that some of the other students were interested in using.

And, I was hooked.

Next came explorations into graphics, both the clunky low-resolution and the much more interesting high-resolution modes available on the Apple.  I played with shape tables, learning how to move shapes smoothly around the screen.  When BASIC code became too slow for what I wanted to do, I had one of my more advanced fellow geeks show me this "assembler" thing I had heard was pretty fast.  That led to my first computer book purchase so I could dig even deeper.  I had gone over to the dark side... I could now lock up the computer faster than anyone had imagined!

I also started reading magazines such as Byte at the local library, and learned about the Apple founders, Steve Jobs and Steve Wozniak, and their vision for computers everywhere.  It was now early 1982, and my  choice of future vocations had completely changed.

I remember the 1984 announcement of the Mac, and seeing one first-hand at my Uncle's place a little while later.  I still remember how easy it was to use, and how the floppy disks were so tiny!  The future had arrived, or so I thought.

When I went off to university, now to become a professional software developer, I was struck by how primitive the mainframes I now had to used seemed compared to the desktop Apple ][ I had.  These so-called "powerful" computers couldn't do anything remotely like the graphics I was able to write on the Apple and, dammit, I couldn't even directly access specific memory locations!

A couple of years later I was back on Macs while working summers at Bell-Northern Research, and back to that familiar, easy to use feeling.  It all just made sense, and it all just seemed to work (for the most part).

It wasn't to last, though.  At some point I had to work with PC's, and I was appalled at how primitive, how clunky and how... un-fun they were.  Over time I became used to the PC, although UAE's in Windows 3.0 constantly made me want to go back to Macs.  Unfortunately, all of the clients I served were PC shops.

It wasn't until 2006 that I was able to work with a Mac again, this time a MacBook Pro.  What a fantastic machine, although I had to leave it behind when I moved on from that company.  In the ensuing years it became more and more clear that not only were all the cool kids using Macs, but the people who I respected and did serious programming work used them.

I resisted the iPhone, initially, kind of as a matter of principle about Apple's closed model for the App Store.  Once the iPad came out, though, I was once again hooked and picked one up.  I haven't looked back.  I'm typing this from a MacBook Air, whose Bluetooth mouse has about as much computing power as the Apple ][ that started this 30-year journey.

Steve Jobs' vision made computers approachable to everyone.  Yes, there are more PC's Windows out there, but Windows wouldn't exist if not for the original Mac.  Steve Jobs' vision also focused squarely on making the total user experience a primary driver in what they created and how it worked.  He will certainly be missed, but he does make St. Augustine's words ring true:
If you want to be immortal, live a life worth remembering.
I could have been that voice from the pointy end of the airliner you're strapped into, telling you how we're number 14 in line for takeoff at O'Hare and it'll "only" be another 30 or 40 minutes until we're ready to roll.  Because of Steve Jobs, I'm here writing about software development and helping others to improve how they do it.

Thanks, Steve.  My heartfelt condolences to your family, and may you rest in peace.

No comments: