Wednesday, 30 June 2010

iOS4

iPhone 4 is out. Hurrah! But I don't have one. I still have 2 years to wait on my contract before I get a chance to sample the delights of Apple's latest and greatest, by which time iPhone 5 will probably be a distant memory. Roll on iPhone 6!

In the interim, though, I am fortunate enough to own an iPhone 3GS which (mostly) supports the new functionality, albeit with a somewhat lower resolution display. Of course, any display is a retina display if you hold it far enough away from your eyes, so I'll just have to hold my phone at arms length whenever I use it. A small price to pay!

Seriously, though, there are some nice new features in this update. The whole thing feels a little more polished, too. The Snow Leopard style reflective dock, for example, and the additional zoomy animations. Some people have been complaining about slow down, but I can't say I've noticed it generally.

Multitasking

The big ticket item in the iOS4 upgrade is multitasking. Many people have bemoaned the iPhone's one-thing-at-a-time approach. I haven't had a problem with it, as such. After all, it's a phone, not a general purpose computing device. Given the problems I had with my old Nokia 770 and its battery eating ways if a background process decided to keep chewing cycles, I don't have a problem with not doing too much at once.

The iPhone's new multitasking features, then, seem like a pretty sensible trade off to me. Applications do not run in the background; instead, they are suspended and stored in RAM for easy retrieval. It's more like "quick task switching" than multitasking. Of course, the iPhone's roots in Mac OS X mean that it is actually capable of preemptive multitasking. It's just not available to apps at the UI level.

Some things, though, you need to be able to do in the background. The iPod, phone and SMS apps have always been able to run in the background, but they do this by way of OS services rather than by running the whole heavyweight GUI app all the time. These services have been extended and made public so other apps can use them. Want to use the GPS in the background, or play music, or just complete a task that the user might not want to have to wait for? Use a background service.

In concept this is similar to Grand Central Dispatch in Snow Leopard. The OS takes charge of making sure tasks given to it by foreground apps run properly behind the scenes, rather than letting each process just hog all the resources it wants. This is a stroke of genius, in my opinion, as it makes the OS coherent and capable of managing on the limited resources of a portable device without sacrificing functionality. It just takes a little extra effort on the part of the app developer, but when it comes down to it, it's just one more API on top of all the others that developers have to conform to anyway.

In use, it's perfectly usable. Double-click the Home button and a task list appears at the bottom of the screen, scrolling the foreground app upward to make room for it. It's a simple one-line row of recently used apps that can be scrolled left and right, much like pages on the home screen. Select the one you want, and a little swoosh animation switches out the current app for the one you selected.

I was concerned that by doing that I'd be robbing the phone of RAM due to all the suspended apps and performance would suffer. At present, though, I have 6 pages of suspended apps and the phone is showing absolutely no signs of slowing down or running out of memory. Even 3D games are running quickly and without hassle. Back in the days of iPhone 2G I'd have to reboot the phone now and again to free up memory for the games to run properly. Not any more, even when Facebook, Twitter and Words With Friends are sat in the background.

One final nicety is the ability to quickly access orientation lock and iPod controls from the task switcher. Swipe right (scroll left) and there they are. Nice. The orientation lock is a bit strange in that it only locks to portrait. It would be nice to be able to lock to landscape, although I suppose the home screen doesn't support landscape orientation so would still involve a switch between the two. Still, it's nice to be able to use the phone while laying in bed without it throwing a wobbly trying to keep up with my position.

App Folders

Organising apps on the home screen is a chore. When you have more than a handful, of which only about a third are frequently used, trying optimise the layout has been something of an obsession of mine. How many screens do I have to scroll to get to app X from app Y? 8? Blimey ...

Organising apps into folders seems like the obvious approach, and so here it is in iOS4. The folders themselves show up as icon-sized mini-pages. You can see a tiny representation of each app within the folder, laid out in a grid. Open the folder, and the home screen literally splits apart to reveal the contents of the folder "behind" the rest of the icons. All the other icons fade to shadow to let you focus on the folder itself.

A limitation of folders is that they can only contain 12 apps, and cannot contain other folders. One level deep is all you get. The nesting is a fair trade-off. It would soon become unwieldy to try and manage nested folders while dragging around apps on a touch screen without some sort of specialised interface for it. Apple understandably wanted to keep it as simple as possible. Only allowing 12 apps seems strange when a home screen page contains 16, and it seems to only be for reasons of eye candy that this is done. If the folder filled the screen there'd be room for more. Similarly, if you could swipe across the folder, as you can on home screens, you could scroll to what you wanted. But then, I suppose, the situation hasn't vastly improved. You still need to scroll to the app you want.

One nice feature is the automatic guessing of a name based on app categories. I dragged Jet Car Stunts onto Rally Master with the intention of creating a "Racing" games folder. Its auto-suggested folder name? "Racing". One less thing to type on the tiny keyboard. I like that.

Unified Inbox and Notes

Apparently people have been crying out for a unified inbox in the iPhone's Mail app. Can't say the thought ever crossed my mind, but now I have one I love it. I have 6 email accounts set up, and constantly moving back and forth in and out of accounts, folders and messages to get from one to the next was a pain. Now they all appear in one list of emails. Much better for a small device. Of course, individual inboxes or other IMAP folders are accessible too.

Another little innovation is the ability to synchronise your notes to your IMAP accounts. A new folder called Notes is created per account the first time you store a note. Any notes you create can be separated by email account or stored natively on your phone. A default account can also be set. Creating a note essentially creates an email message in the folder. The From line is set to your own address, the Subject is the subject of the note, and the body is stored as an HTML MIME attachment. I wrote about hacking this HTML recently.

Camera

The camera app comes with two new innovations; a slider for digital zoom, and the ability to point-to-focus video as it is being recorded. The former is useless, the latter is useful.

I've never been a fan of digital zoom. The only way to do it without impacting image quality is to crop rather than interpolate, so you end up with either a much smaller image, or a pixelated, grainy mush. I'm quite surprised that Apple caved in and put zoom in the native app, but I suppose they're responding to demand. Camera Plus Pro includes a pretty good digital zoom that does a good job of fixing up zoomed images to not look quite as terrible as they did, so Apple just moved the functionality to an included app. It still sucks, though. If you want to zoom, just walk closer to the thing you're photographing.

Touch-to-focus, however, is very useful. I often use it when taking snapshots to ensure that the sky doesn't reduce the foreground to a silhouette. The fact that exposure is linked to the autofocus point is a great addition and is trivially easy to use. Having the ability to do the same for video is a no-brainer.

On the subject of photographs, and not directly related to the camera, are some changes to the photo albums. No longer do you get a list of albums underneath the Camera Roll, you get a single Photo Library option, followed by any individual folders you've decided to synchronise with the phone.

Inside the Photo Library, the whole thing has fallen into line with iPhoto '09. You can view albums, of course, but more importantly you can view "events". This is the default grouping in iPhoto and it's made the transition well. Another first is that you can view by person and place, using the face detection and geolocation features of iPhoto '09. Of course, if you don't have iPhoto '09 then all this is moot. I do, though, and it's lovely.

Other Fun Things

What else is new in the world of iPhone? Wallpaper for a start. The ability to have a custom background image might seem obvious, but prior to iOS4 the iPhone only supported a custom image for the lock screen. Not something you see when actually using the phone, so it always felt a little superfluous. Now, following on from the iPad, the iPhone can have any image you like behind the home screen. It doesn't seem like much, but it really does make a difference in user perception of the phone. One of those intangible things that make you think "this is nice".

Another new addition is full spellchecking for entered text. Of course, the iPhone has world leading, if occassionally irritating (there's no apostrophe in posessive "its" for heaven's sake!) autosuggest functionality, so highlighting potential spelling mistakes and allowing the user to go back and correct them without having to delete the word and retype is nice. Thanks to the autosuggest, though, I haven't misspelled a word in ages. Got the wrong word entirely, maybe, but at least it was correctly spelled.

One last thing, then, before I wrap up this lightning tour of iOS4, is automatic event detection. This is an apparently simple thing that highlights likely events within text as hyperlinks. It seems to be able to recognise words that indicate intention, although I've not managed to get it to work consistently. It doesn't pick up actual dates, but it managed to detect "from 9am to 10pm" in an email. I've never actually used this feature, and find it a bit annoying, but I'm sure others will find it invaluable. One little thing though; if I write "Can I do 2 way sync?" (as I did in my aforementioned blog post on Notes), I don't want the phrase "2 do" to be highlighted as a potential "to do" list item. I don't use txt spk, ta. I suppose others do, though.

That's all folks!

I'm sure there is more under the hood that I've not discovered yet. Little things that pop up and make me think "oh, that's nice!" As more and more apps get updated to use the new SDK, fast switching will be a bit less hit-and-miss (Facebook app, I'm looking at you) and the whole thing will feel more cohesive. iOS4 is a good upgrade to the older iPhone OS 3, although I can understand iPhone 3G users' frustration with only getting half the feature set and a performance hit to boot. Rumour has it that iOS4.1 is just around the corner, though, with a whole slew of fixes for the niggles ...

No comments:

Post a Comment