back

The iPad from a developer’s point of view

1comment add yours Check out this blog article #neoco #crmtweet this

Posted February 4 2010 By Igor

If you’re lucky enough to have not heard of the new product that Apple will soon be bringing out, then this post might not interest you. If you are unlucky enough to have been overwhelmed by the multitude of blogs, tweets and parodies of the iPad, then don’t worry, this won’t be a fanboi wet dream of a post.

We at Neoco have always liked to embrace new technologies and whenever something new or exciting comes out we naturally get excited. This happened with the iPhone, which we now make applications for, and this is bound to happen with the iPad.

The rumour of an Apple tablet has existed for over a year and now that it’s soon to be reality, developers must look at ways they can create applications or adapt their current ones to best fit the new format. Thankfully, the iPad runs the same operating system and contains the same frameworks as the iPhone and iPod Touch so many developers can immediately get to work. The transition, however, may not be as simple as might be suggested by the fact that they both run iPhone OS.

It runs iPhone applications doesn’t it?

It’s well known that the iPad will run most current iPhone applications. Some won’t work due to hardware differences, some because of changes to the underlying frameworks.

The lack of a camera, which many expected to be included, means that all the fun photo adjusting applications become boring (since you must use an old photo form your library) and augmented reality applications (like those that point you to the nearest Tube stop as you look through the camera) obviously cannot work. GPS seems to only be included in the 3G model, so again like with the iPod Touch, this rules out turn-by-turn navigation programs for many people.

Some changes to iPhone OS 3.2 have curiously broken code from past versions. This is presumably an effort to improve the range of functionality, yet in the past they managed to find ways to do so without forcing developers to re-write their programs. Case in point: the Media Player Framework. It’s not clear whether this is just an iPad issue or whether it will affect all devices upgrading to 3.2, but essentially, the mechanism to play a video won’t work. In the past, the only way to play a video was to launch a full screen player. Now you will be able to play videos in smaller boxes, but you have to do so in a different way. Fortunately even if your application featured heavy use of videos, this should be easy to correct.

Then there is the size. Yes, it can run iPhone applications at their native resolution and, yes, it can scale them up to fit more of the screen, but both forms result in an appalling user experience.

At first it might be tempting to just increase the window size to take up the entire screen and leave the rest of the interface in the much the same form, but it should be pretty obvious that this will not make for an attractive application.

Because of these points and more, it is clear that users will expect developers to make iPad-specific applications. In fact, not just iPad-specific applications, but universal applications that work across the range of Apple mobile devices.

Design and interaction

For all their systems, Apple publish Human Interface Guidelines that describe how they envision all application user interfaces and behaviours. For the iPad they say that a few things need to be different from the iPhone/iPod Touch paradigm:

Orientation

If you spin the device round into any orientation and the interface must follow – this happens in a few iPhone applications, but far from all. Curiously, it sounds as though Numbers form the iWork suite for iPad will only work in landscape.

UI

You shouldn’t just make it bigger. As stated above, with such a large and rich screen this would make your application unappealing on the iPad. But it’s not just a case of aesthetics – Apple want applications to look more like the things they act model from the real world. Their Contacts application, for instance, is modelled after a pocket address book. Naturally this won’t make sense for all applications, but Apple is trying to encourage designers to think slightly beyond the traditional iPhone OS interface elements.

  • Downplay controls such as buttons and drop-downs
  • Avoid full screen transitions – present information in place where possible to improve the overall visual stability
  • Use high quality, physically realistic graphics
  • Present lists and their detail views together – e.g. the mailbox list and email preview are on the same screen side-by-side in Mail on the iPad
  • Reduce modal interfaces (these interrupt the user flow) – e.g. avoid alert message pop ups by presenting responses inline

Having said that, developers shouldn’t attempt to make desktop-style applications – Apple still maintains that across the iPhone OS family applications should each perform one main task in a clear and concise way. I.e. an application shouldn’t sprout new features – only a new interface – and shouldn’t deal with a file system model of opening and saving files (all changes made to something should always be preserved, and only loss of data such as deletions should ask for explicit confirmation).

Actual Multi-touch

The iPhone and iPod Touch have had multi-touch technology for years, but in very few applications, beyond games, is it used. This is probably because there are few situations where it can be put into practice in a meaningful way on the small screen. With the iPad, Apple is encouraging a more touchy-feely approach to applications.

The crux of this? Lots to redesign for existing applications, lots more thinking/sketching/prototyping before making new applications.

Another worry is the increased fragmentation of hardware and capabilities of the devices an application is expected to run on. Fragmentation is one of the much maligned facts of the Android platform. There are so many Android devices with differing screen sizes and system resources that it is hard for developers to accommodate all forms. The beauty of the iPhone OS family used to be that it was simple but now you have 3 iPhones, 3 iPod Touches and 2 iPads, all with varying capacities. With new models coming out almost yearly, it’s foolish for developers to only focus on the latest systems and cut off the millions who bought one just last year.

What exactly is it for anyway?

All in all, Apple’s choices for the iPad suggest that they’ve carefully thought through what sort of niche the device sits in. The fact that it runs iPhone OS is great for developers as there’s not too much to learn and great for users as it will feel natural to those who have used iPhones or iPod Touches. They haven’t overloaded it with hardware features and focused on the software. Despite being both a hardware and software manufacturer, Apple have explicitly stated that it’s hard to compete in hardware – they will be matched very quickly by others. It’s software where they can claim to stand out above the rest.

It’s a little less clear what this niche is though… The iPad is too big to carry in a pocket / have with you always. In contrast, an iPhone would barely leave your side. The iPad isn’t the most convenient things to hold and you probably can’t use it with one hand or on the move. In contrast, you can type a text message on the iPhone with one hand while walking. Its giant screen will wow you, but will your eyes get tired of the bright light and colours after reading more than a few pages?

So be certain of one thing – the iPhone is going nowhere and will remain popular. But will the iPad succeed? We think so if the developer community can build great applications as they have done for its predecessors.

Comments Add Yours

Leave a Comment

Or login using your Facebook details

Connect with Facebook