iPhone Review for Programmers

by Noah Gift

Were you like me? Did you foolishly wait in line for the iPhone even though you never wait in line for anything? I don't do lines, but I did wait in line at the Fayetteville, GA AT&T store. The line wasn't too bad and I arrived home with an iPhone for my wife and and an iPhone for me.

I had some problems getting my iPhone activated and I thought I was pretty clever when I called up AT&T and told them to cancel my Activation. I had just been working on some multi-threaded python code with two separate thread pools and I kept thinking to myself....this is a stuck worker thread in the queue :) As a side note you can find a great description of the queue module working with threading in python here.

I think I was right and someone did not do enough unit testing at AT&T! When I cancelled my activation over the phone and re-activated my iPhone it worked in seconds. Sure, sure, I admit maybe it wasn't a poorly written unit test on multithreaded code, but IT COULD HAVE BEEN and don't wake me up from my dream that I was the one person in the world that found the secret to unlocking the iPhone. For that day I was Indian Jones.

With that miracle iRock to iPhone turnabout on Saturday night, I quickly jabbed and taunted my friends over email and IM about my victory. I then set to work on playing with my iPhone. I really like the fact that it connects to my home Wireless Network. The first big win I had was with my almost 7 month old son. We went to YouTube on my iPhone and typed in Gummy and my son almost had a heart attack.

He froze in his tracks in his tracks and was completely awestruck by the power of YouTube, which is run on Python BTW, iPhone, and a provocatively dancing Gummy Bear. Already, the iPhone has payed for itself. I have a lethal stun weapon for my wild alien baby.

The next day we decided to go the Zoo and since we decided to go at the last minute, we didn't even bother to look up directions. In the car, I realized, hey wait, I have a friggin iPhone! I pulled up Google Maps and typed in "Atlanta Zoo" and I got step by step directions in about 10 seconds. I also realized that my iPhone synced up my Safari and Mail apps and I could use my bookmarks and send and receive mail. The iPhone is amazing. The only thing I didn't have is a shell, which I have a fix for now...I will explain more later.

One of the other fun side purposes of my Star Trek Communicator, is that I was detecting wireless hotspots and connecting all along the street route to the zoo. It was amazing how many unsecure wireless routers there are next the Atlanta Zoo. I also took a bunch of pictures of my wife and kid at the Zoo with the iPhone and they came out great.

Here is a picture of my kid after I took away the "Gummy Bear Singing iPhone" away. As you can see he takes after me, as I had the same look on my face from Friday night until Saturday night, as my iPhone wouldn't activate. On a side note,I was able to upload these pictures quickly and share them out via Picasa through the iPhoto plugin after my iPhone synced to my MacBook Pro.

My iPhone saga ends with a fix for the Terminal problem. Of course, python is involved, yet again, in my iPhone melodrama. A friend emailed me tonight with this link to a python ajax terminal .

Ok that was my story this weekend. I would love to hear some other programmer/geeks tell me about their iPhone experience and tell me what they plan to do next with their Phone. If someone can get iPython to work you are my hero!