(Sheesh, I've been busy lately. I had more spare time when I was employed!)
Ever since I got my iPhone 3G in late July, I've been keeping track of the things I like--and don't like--about it.
Since Apple is rumored to be releasing the next major iPhone firmware update today, I thought I'd run through the list now, and then see how the new firmware changes things. Many of these comments apply to the iPod touch as well.
The things I like are, generally, the same things everyone likes. The iPhone is feature-rich, well integrated, well supported by independent software developers, and fun to use.
The things I don't like are, generally, software features that ought to be present but just aren't.
Each time I discover another one of these missing features, I jot it down in my iPhone WTF list. WTF, of course, stands for "Where's the feature?"
Muting and sounds
For example: Where's the feature to mute the phone? You may point to the little toggle switch on the left side, but no, that just mutes the ringer and certain audio alerts, not the whole phone. On my old Palm Treo, the mute switch darn well muted everything, as if the switch disconnected the speaker wires themselves.
On the iPhone, there's no way to predict which sound sources will respect the mute switch. Calendar alerts do; alarms don't. These are good choices--I like knowing that the alarm function will still wake me up even if I mute the phone before going to sleep--but hardly intuitive.
Alarm volume is controlled by the ringer volume, but even the minimum ringer volume is still audible.
Application-generated sounds have a separate volume control. If you're not in the iPod application, which has a volume slider, I think the only way to adjust this control is to use the volume rocker switch while an application is making sounds. Sometimes, that's after the phone has already started to annoy the people around you.
Bottom line: I can't find a way to make the unit completely silent without going into multiple Settings panels and applications, and even that isn't completely effective because some applications (as exemplified by the otherwise valuable Phone Aid) will turn the volume back up when they run.
Alerts and Calendar app
While I'm on the subject of alerts: in the Calendar application, where's the function to set an alert for the exact time of an event? Sometimes I just want to beep myself at 10 a.m. to make a phone call, for example. I don't want to have to set the time for 10:05 a.m. and the alert for "5 minutes before." I love the fact that Calendar supports up to two alerts for the same event, but I wish I could set them to, say, 15 minutes and 0 minutes respectively. This problem could be solved by providing a "Custom" time choice for both of the alerts.
The Calendar app also has the worst user-interface design in the whole iPhone, I think. To select the date and time for an alarm, you spin three wheels apparently stolen from the game show The Price Is Right. The minutes wheel is so easy to spin that in going from :00 to :30, I commonly spin right past :30 and back to :00. Apple has developed many ways to select dates and times for other systems and applications; this is by far the worst.
The Calendar app does something else that's kind of silly. In the daily view, most events get two lines of text: the title and location. Displaying these two lines takes up about one hour of the day. For a shorter event--one scheduled for 30 minutes, say--the two lines get squeezed into one line in an attempt to maintain the orderly appearance of the schedule.
But come on, Apple! The lines on a sheet of paper are fixed. The lines on a computer display aren't. Stretch the lines apart so that every event gets the space it needs! Jeez, this isn't rocket science.
Similarly, a long event has plenty of room to display additional information, such as the notes associated with the event--but instead, the event ends up with two lines of text and a bunch of wasted blank space. Display the notes, and shrink the event if that helps to keep the whole day on the screen. I hate having to scroll the Day display just to show two events.
The Calendar app doesn't handle multiple-user event scheduling very well. Invitations received by the iPhone's Mail app aren't understood by the phone. I can go look at the message on my Mac and add the event to my calendar there, and eventually the event shows up on my iPhone, but that's not so good when I'm traveling. And even then, the event can't be edited on the iPhone--not at all, not even to change the times.
The Calendar app does something very nice: the icon on the iPhone's home screen shows the current day and date. So, where's the feature? Why don't all of Apple's apps do this sort of thing where appropriate? The Clock app icon always shows 10:15. The Weather app always shows sunny and 73 degrees. The Stocks app shows a random squiggle. Sure, updating all these icons would give the iPhone some extra work to do--so Apple should provide a "Live icon updates?" setting and have some rules about how often the updates should happen. I think the slight increase in overhead would usually be worth it.
Music and video
The iPod application is missing a valuable feature found in the desktop iTunes application. It can't play music or videos shared from a Mac on the local network. This feature would be a great way around the iPhone's limited local music and video storage. (Brian Tiemann had the same thought.)
Where's the feature to let the home screen's many pages wrap around from one side to the other? I have seven pages with icons (none full; I use the pages to hold different types of apps) and it bugs me to have to flip pages six times to get from 1 to 7 or vice versa.
Where's the feature to let me generate extended Unicode characters and accents? I assume non-English versions of the iPhone make this easy. Does Apple assume that customers who speak English never have an occasion to write to people in other countries? Or that we don't care about spelling their personal or place names correctly?
E-mail and Notes
In the Mail app, where's the common in-box for all mail accounts? I have two accounts I use regularly, and it takes four clicks to switch from one in-box to the other. Apple's desktop Mail application has a common in-box that displays all the individual in-boxes together (without actually moving the messages), which is just what the iPhone needs.
A popular "where's the feature?" in many articles about the iPhone is the absence of copy/paste functionality. This makes moving data between applications painfully difficult. For example, I've sometimes been forced to write down--on paper!-- something I wanted to copy from Mail into Notes or vice versa.
But I realized pretty early on that the inability to simply select text is also painful. If I decide I want to rewrite a sentence in an e-mail I'm composing on my Mac, I just select the old text and start typing the replacement sentence. On the iPhone, I have to position the cursor at the end of the sentence and hit backspace a bunch of times (or hold it down and try to let go at just the right moment) before I can start typing again. Similarly, if I want to just delete a bunch of text, like unnecessary sections of the e-mail I'm replying to, I can't just select it and hit delete.
Without the ability to select, replying inline to e-mail is so difficult that I usually just use top-posting, which I generally don't like.
As I mentioned, I use the Notes program in spite of the fact that it's basically impossible to bring data into it. It's possible to export text from Notes by e-mailing it to yourself, but that's a one-way trip. Notes aren't available on the Mac after synchronizing an iPhone; they're locked in an undocumented sqlite database managed by iTunes.
(For the adventurous, this database is located at
~/Library/Application Support/MobileSync/Backup on a Mac, or
C:\Documents and Settings\Username\Application Data\Apple Computer\MobileSync\Backup on a Windows machine. There are a few third-party apps that can extract some of this information, but I don't know a way to make changes and get them back into the phone.)
Notes has other problems. It's slow to start up and can't be configured to open into a new note, which makes it ineffective for quickly jotting down short notes such as phone numbers. It uses the MarkerFelt font, which is ugly and more difficult to read than other fonts on the iPhone. (Personally I wonder if this was a misguided homage to the hand-printed appearance of the Casual font on the Newton. Casual would be a good choice for this app, though, since it's highly readable.)
The Mail program, when configured for Apple's own MobileMe service, has its own Notes folder, but that's no improvement. Although it's called "Notes," the iPhone treats this folder like any other mail folder. A "note" shouldn't have addressee information, should it? Similarly, there's an Apple Mail To Do folder, but it has no actual "to do" functionality.
(In fact, where's the iPhone's "to do" functionality? That's a very basic PDA feature that shouldn't have been left up to third-party developers. It was easier to manage to-do lists on the Apple Newton 10 years ago.)
In trying to decide between using the Notes app and this Notes folder for note-taking, I realized that the iPhone doesn't have a single standard for managing modified documents. Mail works like a Mac: when you edit a document, you're really modifying a copy of the original, and you have to save your work. Notes works like a Newton: you're editing the original, so there's no need to save the document, but there's also no way to abandon your changes.
On handheld devices, I much prefer the latter strategy because ease of use trumps the ability to abandon changes. Also, since an incoming call can pull the user away from a running application, it's better for changes to be saved instantly. But one way or the other, there should be a standard for this element of the user interface.
Contacts and phone calls
The Contacts application is very slow if one has a long contact list. I currently have a little over 3,000 cards in my list, and it takes several seconds for the contact list to load in whenever I go to search it--in Contacts, Mail, Phone, or wherever. It hesitates for a few more seconds each time I try to use the quick-scroll list (the letters down the right edge of the screen). That's too slow.
There's a search field in the Contacts list, but for some inexplicable reason, it scrolls with the list. If you aren't at the top of the list, you can't initiate a search. That really needs to be fixed. Also, the search function ought to support searching for names based on first initial, last name (the "flast" method), which generally works better than searching for first and last names.
It would also be nice if, when entering contact information, the iPhone would do word completion based on contact information. Typing "Intel" is no big deal. Repeatedly typing "Microsoft Research Silicon Valley" gets old fast.
My entire Contacts database disappeared from my phone one day. I was worried about what would happen when I backed up the phone--would it decide I wanted to delete all the contacts from my Mac as well? I made a quick backup of the iPhone database before syncing, but it all worked out OK. It took a long time to restore the list, though. It hasn't happened again, and I still don't know why it happened at all.
I often find myself wishing I could link contacts to events and notes, a feature that was enabled on the Newton by third-party software. I used my Newton to keep track of my business activities, which commonly involved taking notes during phone calls. It would be helpful if the Phone app provided a button to start taking notes that would be available through Notes as well as through the Phone app's Recent list.
It would be even more useful if the Phone app could record calls, or parts of calls. I had a great little program on my Palm Treo-- mVoice, from MotionApps--that did that, and I loved it. If someone was about to give me their contact information or driving directions, I could push a button and make a quick recording. There's a version of mVoice for the iPhone, but it doesn't yet have this feature. MotionApps says "we are working hard on enabling this feature and we are expecting to add phone call recording support in near future," but I've heard Apple (or perhaps AT&T) doesn't want to see this feature on the iPhone. That's a mistake, I think.
Syncing third-party app data
Currently I use Griffin's iTalk app to record voice memos. It's a decent app, but it highlights another "where's the feature?" issue: where is the standard method for syncing third-party application data to the Mac desktop?
The iPhone will sync third-party app preferences and data, sure, but only to that darned sqlite database. Programs like iTalk that need to move data to the Mac desktop have to create their own transfer programs. Griffin, for example, has iTalk Sync. These programs are a pain in the neck to deal with. Griffin has a section on the iTalk Web page that describes how to transfer recordings. It says "it's easy" but then provides a five-step, 140-word explanation. That isn't "easy."
Other iPhone apps have their own transfer programs, which is a mess. It seems to me that round-trip data movement, including translation so that documents can be viewed and edited on the Mac or PC (where practical), is a more fundamental feature for a smartphone than a multi-touch display.
I can understand why Apple assigned a higher priority to whiz-bang features like multitouch; if you don't sell a product, it doesn't really matter how well it works. But now that the iPhone's long-term success is absolutely assured, it's time to get back to the mundane stuff like plumbing and save application developers the grief of having to implement their own solutions.
What I'd like to see: a MobileMe folder in the user's home directory that contains one folder for each app that wants to sync data with the desktop.
This would also be the right way to add local file storage to the iPhone. I bought Avatron's Air Sharing application, but that has its own transfer method that's a lot less convenient than what I'd like to see.
Another thing I'd like to see: a standard way to access "advanced" details on complex items. For example, the desktop Mail program has a lot of detailed account settings, but the iPhone provides no way to manage these settings even though they certainly exist inside the software. In the Phone app's Recents list, there's no way to see how long each phone call took. In most items, there's no way to find out when the item was created or last edited.
I thought about this one a lot, and I believe the cleanest way to add this feature to the iPhone without cluttering up the user interface is to put another meaning on the Home button: hold down for more detail on the current item.
This reminds me of one more idea.
Currently, double-clicking the Home button can perform one of three functions on an iPhone: going to the home screen (just like single-clicking), going to the iPhone Favorites screen, and going to the iPod app. (On the iPod Touch, it always goes into the iPod application.)
The iPhone Favorites screen is the most useful to me, but it would be a lot more useful if it amounted to a global bookmarks function, giving me access to favorite Web pages, applications, and even specific functions within applications like "create new note," "send e-mail," "find nearby restaurants," "show me a route to my house," etc.
As you've noticed by now, pretty much all of these comments are purely software related. In truth, I have almost nothing to say about the iPhone's hardware. The iPhone's industrial design and basic hardware features are entirely adequate for my needs, and certainly enough to support all the features I want to add.
Judging from Apple's job listings, it's hiring a lot of people to work on iPhone software, but there's a lot of work to be done. We'll just have to see how quickly Apple can improve the iPhone, and whether it can maintain a clean, consistent user interface at the same time.