This page was last updated 11 November 2008.

Apple iPhone 3G vs. Nokia and others

Usability

The iPhone is in a category all of its own. It's a total pleasure to use. It's extremely well designed, and consistent in all menus. Some competitors have started emulating the iPhone in their top menu, but the similarity is only skin deep.

For example, on a Nokia you need 41 key clicks to connect to a new wireless network, not counting text input, while the iPhone does it with zero for open networks and three with manual selection! Nokia's menus go nine levels deep, and after two years of use I still can't remember where some things are. Symbian has an enormous range of features, far exceeding the iPhone, but the menus still look designed for a two-line black-and-white text display and numeric-only keypad. Symbian looks like a perfect example for a very old interface that had bits and pieces added to it over decades with no plan or design until it became unusable. Sony/Ericsson and Siemens basically follow the same path. Praise to Apple for cutting this Gordian knot.

The iPhone has a popup keyboard. A lot of thought went into making it more usable, like echoing tapped buttons with popup tabs. It's still easy to mistype because there is no tactile feedback. The spell checker is often excellent but sometimes comes up with the most ridiculous nonwords. You have to watch the text you type, and tap a suggestion if you do not accept it. Holding a button for a short time pops up a list of diacritical variants. The keyboard works better in widescreen (landscape) mode, but unfortunately only the web browser supports widescreen keyboard mode.

Apple doesn't like physical buttons, but they have volume up/down buttons and a toggle switch to put the phone into silent mode. Just what I need!

Storage, or the lack thereof

All iPods can be put into storage mode. You enable storage mode in iTunes (unfortunately not on the iPod), and you can put arbitrary files on it like on a USB stick. But this doesn't work with the iPod touch or the iPhone. Very annoying!

But you can't even store or access files you download with the browser, or receive in email attachments! That's a serious flaw. Someone sends you a PDF, or you download one, and there is no way to store it in memory for later viewing! In the case of the browser, you can't even keep the page open for later viewing because recalling clears it.

The FileMagnet application in the App store at least lets you use your desktop machine to put some types of documents on the iPhone, but you can't store things that are already in memory, such as email attachments.

The other direction was forgotten too. Notes written on the iPhone can't be transferred to another computer. Then why write notes?

The iPhone is losing much of its usefulness when not connected with the Internet.

Phone and SMS mode

Not surprisingly, the iPhone works well as a phone. The iPhone doesn't multithread but you can use the full functionality during a call; simply press the home button. A pulsing green title line lets you return to the call at any time. Avoid pressing it to your ear; Apple claims it notices that and prevents spurious button taps but that doesn't work too well.

Writing SMS is very easy. SMS exchanges are shown like chats, showing your and your partner's mail on opposite sides of the display. But the text window shows only four lines even though there would have been plenty of space, and there is no indication of the number of characters typed. I don't know if all networks accept text messages with more than one 160-character unit.

SMS chats (exchanges with the same recipient) are grouped and displayed in a way that makes it easy to find a message. But you can only delete chats from the list, one at a time; there is no delete-all, and no way to archive chats in folders. That's a recurring shortcoming of the iPhone - it cannot store anything. Even multiple deletes are slow because select/delete/move is supported only in a single application, namely, Mail.

Visual voicemail is a really nice touch. It shows voicemails in lists, just like text chats, mails, or pretty much anything else (the iPhone loves scrollable lists), showing the name of the caller and the time. Just tap one and you hear the message. No more voice call to a provider server, and no "press 1 to listen to the next message" - that feels so archaic now...

The iPhone 3G has a reception problem though. Sometimes, when a Nokia shows five bars, the iPhone shows one or has no reception at all. This happens very rarely here in Berlin, but all the time in the USA. And in the USA, it doesn't recover - if you are back in range, it does not reconnect. You won't receive any calls until you power down and reboot the iPhone!

I wish the ringer were louder and the vibration alarm were stronger.

iPod mode: music, podcasts, videos, photos

The iPhone is a perfectly functional iPod, playing music, podcasts, and video like other iPods. Selection of songs is easy, sound quality is good, and it lacks an annoying iPod nano bug that resets to the main menu after a podcast finishes.

It doesn't handle seeking and skipping very well though. The song runtime is represented by a short slider, making it virtually impossible to skip forward or back in any predictable way. That's annoying if you listen to podcasts with trailers, you basically have to sit through the introduction or ad. I still prefer to use a regular iPod for podcasts.

It's also extremely slow responding to orientation changes. It can take up to a minute. Carrying it horizontally will switch to landscape mode with no seeking capability, and it's usually fastest to exit and restart iPod mode to get the controls back. Also, if you put it into front pants pockets, the screen should face out or the skin of your leg may trigger random buttons.

Unlike all the iPods, the iPhone has a speaker. That's an extremely valuable addition. iPod touch owners greatly miss a speaker.

You can sync photos from Apple's iPhoto desktop program too. It's fun to browse photos, but since the iPhone has a large screen, they take up quite a lot of space. You probably don't want to put more than a few thousand photos on your iPhone, even the 16GB model.

But iPod mode has a serious flaw as well, connected to the lack of a storage mode: you can sync it with exactly one computer, which must run Apple's iTunes software (either on MacOS or Windows). If that's your computer at home, you can't go traveling and expect to put new music, podcasts, videos, or photos on your iPhone from your notebook! Well, you can, but only after deleting all existing files on your iPhone! This is totally annoying. Since the iPhone also lacks a memory card slot, it's tethered to a single computer. Stupid!

I still love my Archos movie player; the iPhone cannot replace it.

Mail

The mailer is quite functional. It cannot really replace a desktop mailer but it's very good for reading mail on the road, and replying. Filing away mail in IMAP mail servers is easy and fast. I wish the multiple-select mode used here were available in other applications too.

Once again, the inability to file a received message or an attachment in the iPhone's memory is a serious flaw.

The iPhone does not support cut-and-paste. That's bad for replying to mail because you have to painstakingly backspace over all quoted text you don't want to include in your reply. This is one of the very few places where one gets the impression that Apple didn't QA their software, and the designers totally missed the boat.

Web browser

If all you want is making phone calls, you don't need an iPhone. But if you want to browse the net on the road, without packing a notebook, then nothing even comes close to the versatility and pure pleasure of using an iPhone. It's the first time you can actually carry the World Wide Web in your pocket. And as much as I dislike the obligatory T-Online (or AT&T) contract, the data flatrate is essential too. You have a question, you whip out your iPhone, and a minute later you have the answer. It's not just an excellent browser in a small package, it's a whole new paradigm, and after a week you will wonder how you could ever live without it.

This is the true reason to get an iPhone! Everything else is just icing on the cake.

Now if the browser came with an adblocker like Firefox's brilliant Adblock Plus, and a Flash viewer, and a way to file pages and downloads in the iPhone's memory, it would be perfect.

Calendar and contacts

I have a MobileMe account with Apple. It lets me synchronize my calendars and my contacts (phone numbers, addresses, etc) on my home computer, my computer at work, and now my iPhone. If I make a change at any of these, the change magically appears on all others too. The iPhone's calendar and contact applications are only slightly less powerful than their desktop variants; it's really quite well done.

MobileMe is fairly expensive though, $99 per year.

You can tap a phone number to call it or send an SMS text message, and you can tap an address to show it in Google Maps. And two more taps bring up directions to get there from here, using the iPhone's GPS satellite naviagtion receiver! Very cool. You must specify full addresses though, if the country is missing it assumes the US. And phone numbers are often formatted using US conventions.

Camera

The iPhone has a builtin camera, but it's one of those tiny fixed-lens things that cannot ever replace a real camera. It's slow, needs lots of light, photos are blurry and have little contrast, and movies aren't possible. Compared to other cell phone cameras it's not bad but that doesn't make it usable. It's well integrated into the photo application.

Battery lifetime

The first impression is that the battery lifetime is terrible. It lasts less than a day. There are two reasons for this: it's so very hard to put it down and stop playing with it, and mail fetching.

Calendars, contacts, and email to your me.com (formerly mac.com) address is pushed from the Apple server. This works really well, but non-Apple mail cannot be pushed, and the iPhone must wake up periodically, contact the server, and fetch mail. The frequency is selectable and has great impact on battery lifetime. Once an hour reduces the battery lifetime to about two days, every 15 minutes to less than a day. You can turn automatic fetching off.

I have three batteries for my Nokia. Batteries always run out at inopportune times. One of the major flaws of the iPhone is that you cannot replace the battery, so carrying spares is out too. That's a problem because the lifetime isn't great even if not used.

Extending the iPhone: the App store

If you have iPhone OS version 2.0 or later, Apple's App store lets you download applications that extend the functionality of the iPhone. Some are free, some cost money. It's very easy to download applications on the iPhone; it's very well done. Unfortunately Apple disallows some kinds of applications, such as Internet telephony (came pre-installed on my Nokia E60) or Skype.

Applications also cannot run in the background. For example, if you tap a web address in the contacts application, the contacts app actually shuts down and the browser is started, and there is no easy way to get back. You need to restart contacts. Some applications start where they were last stopped, others don't.

This also limits what you can do with applications. It's impossible to write a useful chat application for an iPhone, because that would require to leave the chat app running all the time so it can receive server messages. It can't wait in the background.

But overall, the App store is very well designed. As you would expect from Apple, you tap a button and you can browse a wealth of add-ons, thousands of useful programs (and, well, thousands of trivial apps like tip calculators). Most cost money, but very small sums, and it's a lot of fun to browse and to try out interesting apps. Symbian et al. can't begin to compete, it's a complicated and painful procedure to find and install applications, hoping that they will work properly. Once again Apple has seemingly effortlessly got something exactly right, leaving everyone else looking sheepish. If only those apps wouldn't be limited by the lack of backgrounding and other artificial restrictions!

Developing your own applications

You can also develop applications for the iPhone, but the process is unbearably complicated and annoying. It is the complete opposite of Apple's normal thoughtful design. You need to buy a developer program membership, which in my case failed to arrive even after two months. (I then opened a new account and within hours I got my membership and a mail asking why I have two requests open?)

Danger - the rest of this section makes sense only to programmers, skip to the Conclusions if you don't care about code!

iPhone apps must be developed in Objective C. (Well, you can mix languages, but you'll end up with Objective C.) That's a derivative of C from the distant past of Apple and NeXT. It was an early attempt to turn C into an object-oriented language, before C++ became the defacto solution. To a C++ programmer, Objective C looks archaic and weird; it is far weaker than C++ and it's effectively a proprietary language now, even though the standard and the compiler are open.

Once you have resigned to learning a special language, you learn to appreciate some of its features. First, it's based on late binding, so overriding a class is as easy as subclassing it and replacing some of its interface methods. No virtual base class needed. Also, you can label a class field as a "property", and let the language take care of creating getters and setters (or, if your field is not backed by storage, write your own). It also has useful garbage collection.

Compared to that, C++ seems unbearably noisy. Suddenly writing all those constructors, destructors, assignment operators, casts, explicit keywords, virtual base classes, envelope patterns, smart pointers, and explicit memory management seems like a waste of time - shouldn't the computer take care of such mechanical tasks? But the fact remains that Objective C's syntax and feature set are rather quaint.

If you are a developer for iPhone apps, you need to agree to an NDA that prevents you from discussing the API. This means I cannot discuss it here, and you will not find help on the web. It has become second nature for me to google solutions to problems I run across; error messages, API details, tips and tricks, and especially tutorials and sample code when the dry enumerations of methods in the documentation fail to hang together. None of this is possible for the iPhone API. Apple tries to be helpful but they obviously can't replace a community of developers.

And behind that nice shiny surface, monsters lurk. The registration process puts text adventures of the 80's to shame, and most of the time it's game over, you lose, but we aren't telling you what went wrong. There is a brilliant writeup at www.mikeash.com, if you want to write iPhone or iPod apps you must read this. The following popup looks like something Microsoft would do, but it's Apple's idea of good UI design (and there isn't just everyone's good friend, 0xE8000001; 0xE800003A is an especially evil one):

Conclusions

Yes, you need an iPhone, if you can accept the provider and the cost, because it's not simply a better phone. It is, for the first time, the Internet in your pocket, on a device that is really a pleasure to use. Other PDAs and cell phones have browsers, but they are painful, awkward, an afterthought with little concern for usability. But...

Strange, Apple is so competent in some things, like design, and yet is so completely incapable or unwilling to getting other things right. The MobileMe service has serious bugs and downtime at the moment (got over 500 bogus warnings today), they treat their developers like lab rats, they can't ship iPhones, their ordering system is asleep (comatose?) at the wheel... Has Apple overreached? I hope not.



PS. I finally got my application built. I kept a log of the ~300 steps it took me to navigate Apple's excruciating maze of certificates, provisionings, entitlements, IDs, and profiles. I am quite proud to have cracked some of the harder nuts, like how to get the code signing profile popup to offer the correct profile (do a fake Build after importing and ignore the errors). I shall now use, for the first time in my life, the blink tag. I hope that the responsible Apple product manager reads this and goes blind.
Apple, this is completely preposterous!

Update: Application upload to the App Store is basically impossible. Like so many others I am stuck at the infamous "Application failed codesign verification" and after doing nothing else for a week I am running out of options.

I have lost all respect for Apple. The amount of incompetence and stupidity I found under the shiny hood is unbelievable. I seriously recommend that you DO NOT develop Apple software, and get involved with Android or, if you must, Symbian.


Back to my Apple page

  


Writing a text message to a recipient in the contacts list. Note the small text area and the spell checker suggestion.

 


The web browser while loading. The top URL bar disappears when loading has completed. You can drag to scroll, pinch to resize, or double-tap to scale a text block or image to screen size.

 


The App store lets you search and browse applications, read description pages, and install with two taps to approve the purchase. Many applications are free; most are very cheap.

 


The iPhone's main settings page. Very simple to use. The Wi-Fi page shows a list of available access points; tap one and you are in, now and every time you come in range in the future.

 


Getting directions with the Google Maps applications, using GPS locations (indicated by the pulsing blue ring) and addresses typed in or found in the contacts list. Satellite view is supported as well.

Tell me if you found this information interesting or useful, or if you have comments.