e-academy – IT training excellence in Cardiff, Newport, Bristol and South Wales

Developing for the iPhone 3G - when is a phone not a phone?

The iPhone certainly divides opinion - some think it's a fanboy's toy, others think it's an essential tool. Now we have a 3G version, at a lower cost, putting paid to most buyers' objections. Add to that what is one of the richest development environments for a mobile device and what you have is far, far more than just a phone.

26 June 2008

It's not so much when you pick up an iPhone that you appreciate the scale of Apple's achievement - it's when you put it down and pick up another phone. That's because most phones - even smart phones - work in roughly the same way. The iPhone doesn't - it's a complete rethink of the user interface/experience of using a smart phone. The key thing is that when you move back to most other phones, you realise just how old-fashioned and 'wrong' their user interface is.

Of course, the iPhone is literally more than a phone. It's a mobile computer - and a real one, too, that's not just a marketing label. Powering the phone is the same Mac OS X that's used on Apple's desktops and servers - it's Unix, with a custom interface.

Clearly this is overkill for a phone, but that's not really what the iPhone is. It needs to be a phone, because that's the one ubiquitous device that most of us carry - so it works as a pretty reasonable phone.

Of course, version 1 of the iPhone came with some pretty smart functionality. Address book, iPod, calendar, camera, route-planning/mapping and so on - pretty much most of the usual smart phone stuff. And on paper, other smart phones are as good, if not are better - having far better specified cameras, for instance. But what made the iPhone great is not the spec, but the way you use it.

Along with the new 3G version of the iPhone, Apple is launching an on-line store where you can buy iPhone-specific applications. You can download and run applications for other smart phones, so is this a big deal?

It's the nature of how development is done, and the resources available that make it a big deal. Apple launched its software development kit (SDK), opening up the platform to developers around the world. With well over 250,000 copies of the SDK downloaded so far, that's a heck of a lot of people working on applications - in fact, for a platform that's so new, it's a staggering amount of developers.

There are several compelling reasons for developers to gravitate to the iPhone as a platform. The first is commercial - with applications being pushed out through Apple's store (it's the only route) all of that tiresome selling and e-commerce stuff is taken care of for you, and you are instantly put in front of a market of millions of iPhone users. OK, Apple takes a cut for its trouble, but that's life - and a small price to pay for access to such a big market.

The platform itself is stunningly easy to develop for (in relative terms) with the SDK providing drag-and-drop access to many of the core features of the iPhone, such as geographic positioning or integration with personal information such as your address book. This makes it a snap (for example) to develop a 'which friend am I nearest to?' application.

The SDK also provides access to the parts of the operating system that make iPhone applications look great and work in a cool way. It's really easy to create a good looking application; one that's consistent with Apple's user interface guidelines - because it's the default way of doing it. And that includes snazzy elements such as Core Animation and Core Audio. There's a built-in iPhone simulator for testing, and a drag-and-drop interface builder to make developing applications as fast as possible. The iPhone may rewrite the user interface guidelines for users - but it also rewrites the rules of application development for smart phones. And when we move beyond how you develop applications to what kind of applications you develop, the picture becomes even more interesting. This is not just a phone remember, this is a mobile computer with a high-resolution screen, that's almost 100% internet-connected. So games companies already see the iPhone as a major gaming platform - fast, smooth, detailed graphics, with game play that can rely on the iPhone's 'accelerometer' which can detect the orientation of the iPhone, enabling you to move through games without pressing buttons. That's at the consumer level. At the business level the iPhone now has everything the enterprise needs - including Exchange connectivity, push e-mail and the ability to remote-wipe a stolen or lost iPhone.

There really is no limit to the types of applications that can be developed for the iPhone. With the Apple store taking care of distribution, developers can move to the iPhone with ease and concentrate on building - not selling - applications.

In many ways, Apple has blind-sided the competition, and created a mobile computing platform that - while it may not technically be that advanced - is a real leap ahead in terms of user experience, development environment and commercial possibilities.