My business iPad arrived last Thursday, and I spent the first few days absorbing the feel of the built-in apps and thinking about how to alter my existing iPhone apps so that they fit in with the iPad idioms.
I use the list and navigation controller combination a lot on iPhone, so the natural progression is to put some of the list layers in the left pane of a split view and some on the right in the main pane. I rapidly came to the conclusion that it is a mistake to have multiple navigation levels on each side: either have the top-level choices fixed on the left and multiple levels on the right (like the settings app) or have multiple levels on the left and reserve the right for a single ‘leaf’ level of content (like the mail app). It gets very confusing very quickly if there are multiple levels on both sides.
On iPhone I have a few modal views for changing settings or entering required information; I have generally found that these work well as popovers.
Both of these design decisions bring a common challenge, in that the user can see two views which were previously mutually exclusive at the same time. A lot of my code for iPhone was designed to defer update costs until the last possible moment; I used the knowledge that you couldn’t see the list screen and the screen which allows you to alter list entries at the same time to save on runtime costs. On iPad where you can see more than one of these screens at once, the code needs to be changed so that alterations in one pane are immediately reflected in the other visible panes. The changes need to be animated nicely as well: everything else on iPad is wonderfully smoothly animated, so any instant change sticks out like a sore thumb.
Another challenge is how to use all the extra space. With some apps it is easy: the maps app for instance just needs to show a bigger map. Others, focussed utility applications like the original calculator, weather and stocks apps on the iPhone are much more difficult to convert: this probably explains why there aren’t iPad equivalents of those three supplied by Apple. The difficulty is that if your app is perfect in 320x460px there will be a lot of empty space on the iPad at 768x1004px; if you add more stuff to fill the space, you lose the focussed nature of your app and with that much of its value.
I don’t know how to solve this yet, nor do I know of anyone else who does; I shall keep you posted…