I’ve been working with the iPhone SDK for about a week now, and I have to say that with only a few noticeable exceptions, the experience has been the best handheld software development experience I’ve had in my life.
First and foremost, you get to develop your code on a Mac. After years of having to keep a Windows install around to do BlackBerry development, this is a freaking godsend.
Beyond that, the language you actually develop in is Objective C, which is now officially my programming language of choice. Objective C has all of the best things I love about C, Ruby, and Java.
The Coverflow Project
We have several iPhone/OS X projects going on at Brain Murmurs, including native clients for Mentat. We recently decided that we needed Coverflow functionality as a part of our toolset. This is easily accessible using the toolchain in a private class, but it isn’t available at the present time in the SDK.
David Brown and I decided that the best thing to do was roll our own implementation. I think that the odds are good that Apple will make a canned version of their standard view available in a future SDK release, but in the short term, developing our own implementation would force us to get up to speed on a lot of iPhone related technologies.
Unfortunately, because the contents of the SDK are guarded by a Non-Disclosure Agreement, I am not at liberty to say what APIs I was able to use to make this happen. I can say that it was fun, and cool, and that Apple has a lot of powerful technologies available to developers that are ready to roll up their sleeves and dig into it.
On the other hand, I don’t think that there is a legal problem with showing some screenshots of an iPhone showing pictures of my unlovely countenance.
I needed some photos for the project, so I just popped off several shots with my iSight and Photobooth at my office (hat courtesy of my son, Isaac). The results appear below:


Now, the basic implementation is there, but I’m obviously missing a few features like a reflection layer. I’ll probably add those in sometime tonight if I get the chance, but the main technical goals we had have been achieved.
UPDATE:
I’d initially tried to get the demo to run in landscape, but without success. I was eventually able to get landscape mode working thanks to some much appreciated help from Guy English of Rogue Amoeba (Thank you!).

I’d be happy to discuss the technical details involved to anyone else in the iPhone development program. Just get in touch with me using the contact info on the side bar.
-Daniel
Technorati Tags:
apple, GTD, iphone development, iphone sdk, Mentat, user interface design