Tuesday, February 17th, 2009

Developing and Releasing My First iPhone App: Part 1 - Background

I’ve owned several Windows CE-powered devices and have written both commercial and personal apps utilizing that platform and while the familiarity of the Windows idioms, Win32 API and other developer-friendly attributes from Microsoft, I’ve always felt that there is a certain sterility and ho-hum quality to the end product. There was always something missing; graphics quality, marginal OS stability, kludgy device integration are just a couple that come to mind. Regardless of my perceptions, the applications were usually developed for business use and not really targeted at a consumer market. I know this and for the intended purpose, development on the Windows CE platform was straightforward and presented few problems that I wasn’t able to work around. But, this expected in early 2000-2001. The platform was immature and Visual C++ and Visual Basic were the development languages able to target the variety of targetable processors available in the handful of devices on the market. Typically I used a Compaq iPaq or the HP Jornada for commercial development. Since I was an experienced Visual C++ programmer, the Win32 API was plenty fast and didn’t require the monolithic runtime that Visual Basic imposed. It was the only real choice for professional development.

Over the years, I have also owned several Windows Mobile OS-based phones and have still felt that each successive release of the OS brought less functionality and more robust hardware requirements. The tradeoffs didn’t seem interesting to me, but I still bought the phones out of necessity. I wasn’t interested in the rapidly-declining mindshare of Palm OS. Even now, my “daily driver” is a Palm Treo 700W phone running Windows Mobile 5. It does the job, but in all honesty I’ve never used the SD slot for anything, I don’t store any MP3s on it, I don’t use any of the Pocket Office apps. Hmm…why do I use it? Well, back when I bought it, having a full-blown Web browser on a phone was avant garde and I justified the cost of the phone and the exorbitant monthly cost of the data plan from Verizon as something I would use all the time for things like Googling the address of a store, using Google maps, instant Wikipedia access for those situations where I had to know the MSA data for Pocatello, Idaho for an argument I might find myself in. You get the picture and I’m sure you have also rationalized the same kinds of things. You know what, I never found myself in a situation where knowing the MSA data for any city in any country was useful, I never needed Google maps since I have a GPS device in my car, and I never really needed to use Google while driving. Basically, the only times I needed the Web browser was to surf the web while waiting in line somewhere or while waiting at the dentist’s office. Fun stuff, sure, but certainly not enough fun to justify a $49.95 data plan on top of a $39.95 voice plan. I decided I would find an Internet-connected PC if I needed to perform any real stuff. Bingo, problem solved and I canceled the data plan within 6 moths of buying the phone.

To be honest, I have always missed the convenience of knowing I could access anything on the Internet from my little phone on a moment’s notice. So, I have continually been on the lookout for something that was could deliver an immersive user experience at a reasonable price point. What I’ve had been looking for was the iPhone. I finally saw a device that much more than a something to place and receive calls. I marveled at the overall simplicity and quality of construction. It seemed to possess most important attributes I felt lacking in the available phone, small size, useful embedded applications, fast Internet connectivity, a brilliantly designed user-interface that is both immersive and simple to use and, finally, and most importantly, an extensible development platform which could be leveraged for a broad range of customers and application types.

I didn’t rush out and get an iPhone as some did. I wasn’t interested in the cool factor so much as the stability and uptake beyond the early adopters. Remember, I mentioned that an extensible development platform was a deal breaker for me and I didn’t see that Apple had a story to tell here. So I waited and finally rumors surfaced that Apple was, indeed, going to have a developer story to tell. Flash to now…availability of the iPhone SDK.

» Filed under Apple, Mac, iPhone, iPhone SDK by bcraun at 11:39.

Leave a comment