At the beginning of this month, I took a two-weeks vacation to learn how to program an iPhone. It was surprisingly successful — I started by reading “Learning Objective-C on the Mac“, which took the first week (knowing some PHP was only marginally helpful to understand what Object Oriented Programming is all about), then spend some frantic days reading “Beginning iPhone Development” because I only had one week left. During the final three or four days I started to write my first App … and it worked. I guess Randy Pausch was right when he said: “Fundamentals, fundamentals, fundamentals. You’ve got to get the fundamentals down, because otherwise the fancy stuff isn’t going to work.”
But what was really surprising and mind-blowing was not that sticking to the fundamentals first (OOP basics) was helpful. It was what happened during the last three nights of my vacation: When the ideas behind the programming language fell into place (kinda like the blocks inside the pyramid in “Alien vs. Predator“), a few pebbles began to fall … I saw how I could program a few Apps that I always wanted … and then the pebbles stuck a few more pebbles … knowing what was possible to program gave me ideas how to improve these Apps … and then some larger stones began to tumble down … seeing which other Apps would also be nice … and more … how they could be programmed and improved and … and this quickly turned into a landslide as idea after idea suddenly poured out of the depths of my mind … and more and more came. And when idea after idea was pouring out, screaming in the pains of birth and claiming life … my idea capturing infrastructure was ready to deal with it. I spend the better part of the night (being single at the moment) writing down idea after idea on the notepad that is always lying next to my pillow (again, being single at the moment, otherwise …). When I was sitting in front of my Mac the next day, I jotted the ideas that came during the day down into a text file that I quickly opened with Quicksilver when I had an idea. The following night I again spend more hours than I slept awake, sketching out ideas and jotting down new ones. I still haven’t sorted them all, but they are already in my Wiki. In the end, it’s only 128k characters or 19k words, but there are some really nice ideas among them.
Most of these ideas would be lost if I did not have had my idea capturing infrastructure in place. Oh, perhaps I would recognize the ideas when I would see them in another person’s App, but I think I could not access most of the ideas in my memory directly if and when I wanted to. That’s why I jotted them down. That’s why I transferred the notes to the computer while I could still recognize what I wrote (my handwriting is … strange). And that’s why I will sort them into categories and assign them to the respective App ideas in a Circus Ponies Notebook. I did use that idea landslide to get a pretty good collection of future projects I want to realize, and fleshing out the Apps will give me further ideas. Sure, the idea landslide phase made me feel (and act) manic at times and my sleep suffered, but I think it was worth it. I could not directly program all the Apps when having the ideas (this takes more time than the quarter-second of the idea), but I did the next best thing — I captured the ideas and now I can realize them when I have the time and the mood for it. If there is another way to be creative, then, frankly, I don’t know it.
By the way, the idea landslide stopped the third night. On the last day of my vacation I made the mistake of going to the office and checking my mails, where I found an eMail about an EU project proposal that is very promising but completely screwed the next two weeks (which also is the reason why I am writing this blog posting two weeks after my vacation was over). If my vacation had been a week longer I would probably have had more ideas … but, alas, it was not meant to be. On the one hand, I think that the EU project will be very interesting (if it gets through, it had a very tight deadline), on the other hand, I think that’s a typical example of an environment that is not very conductive for some ideas.