A NEW OPPORTUNITY
The last couple of weeks have been really exciting.
From the very moment I bought my iPhone I wanted to write software for it.
Unfortunately, I had been too busy with my activities as an IT consultant
so I never really found the time to start this new adventure.
It all changed a couple of weeks ago when my last contract as a consultant
had ended and I had to look for a new job. There were a couple of options,
mainly with companies I had worked with before, but I had been consulting
for over a decade now, and while it was an interesting thing to do and even
fun at times it also took me more and more away from actually developing
software that I would also use myself. So eventually, I decided that a change
might do me good and downloaded the iPhone SDK from Apple's web site.
I made my first contact with computers as a kid in the early 80ies when a
cousin of mine showed me a book about BASIC on one of the many weekends that
our family spent at my grandmother's place. His school had just introduced
computer classes that year to draw our generation's attention to the new medium,
and at least as far as I am concerned, their plan turned out to be a huge success.
I asked my cousin to lend me the book for a while and started to write my first programs
on a few sheets of checked paper. When I got a Commodore C64 on the following christmas
I already had so much experience that I managed to write a whole game in just one day.
That Boxing Day sealed the end of my innocent childhood...
I think that my generation had a unique opportunity to learn computers from ground up.
Home computers such as the C64 came in one piece, and the whole operating system fit into
16 kilobytes of read-only storage. There were even books with annotated assembler listings
of the operating system, so that nosy kids like me could finally understand what it takes
to make a computer tick. It was also easy to build hardware extensions for the C64.
All you needed was a soldering iron and a handful of switches, resistors and transistors,
and maybe one or the other IC that you could by off the shelves of stores that you can
hardly find anymore these days.
It is also amazing how long the C64 managed to stay around without a single upgrade.
I kept mine for about ten years until I got myself a Commodore Amiga and not so much later
a PC, another PC, yet another PC, and finally a Mac. While these computer were also fun
and certainly challenging you could only understand certain pieces of it, not the
system as a whole, and as the systems got bigger and bigger it became more and more difficult
for individuals to write proper software for it. Some game development budgets nowadays
even exceed those of Hollywood movies, and often takes dozens of manyear to finish a game.
Why am I writing this? Well, the iPhone SDK reminds me of the good old days. Even though the
firmware of the iPhone is several 100 megabytes big the core API's such as the user interface
framework are small enough to be understood as a whole, and appart from the more or less periodic
firmware updates there are no changes to the underlying system that an application programmer
needs to be aware of. There are no extensions, no drivers, no hooks, no shared library huzzles,
not even other programs that your programs need to share their execution time with.
In a way, this is just like the good old C64 back then.
I sometimes regret that I was still in school when home computers had their peak.
I would certainly have enjoyed writing cool games all by myself that I could eventually go and sell.
The iPhone may be giving me a new opportunity to do just that.