Three apps for iPhone

Third-party applications for iPhone have started to arrive. I have sampled a few of them and have already found three keepers. Two I am enthusiastic about; the third less so.

Scenario Poker. I had a version of Texas Hold’em on my now defunct old mobile phone. I similarly downloaded the Texas Hold ’em game for the iPod. I enjoyed playing both versions and expected that games on iPhone would be one of the things I would surely miss, at least until Apple got around to allowing software downloads to the device. I was wrong. I am already playing poker on my iPhone and it is almost perfect. I am using a Web-based application from Scenario software called Scenario Poker. If you have ever tried their Dashboard widget version of Texas Hold ’em, you will find that the iPhone version is virtually identical. Which is to say, it is a very good implementation. There are even two variations of the game for iPhone, one for Portrait mode and one for Landscape mode.

Note: if you try to load the above link on your Mac, rather than on your iPhone, you will get a message that says: “You should browse to this page directly from Safari on iPhone. Scenario Poker for iPhone is a web-based application, so there is nothing to install. Safari on iPhone will manage Scenario Poker’s resources automatically in its cache and store your preferences in cookies.”

The downsides of the implementation (compared to what a “true” game on iPhone would be like) are very few. The main one is that, to access the game, you have to load Safari and go to the game’s Web page. There is no way to directly click to load the game from the Home screen. You can make access easier by bookmarking the page or even saving it as an open page via iPhone’s option to have more than one page open at a time. But it is still not ideal and requires an Internet connection to do so. However, there is a pleasant surprise here. Because the game’s resources are stored in the cache, you don’t need an active Internet connection to actually play the game after it has loaded. To test this out yourself, load and start playing the game. Now go to iPhone’s Settings (leaving the game as the active window in Safari) and turn on Airplane mode (which turns off both the Edge network and Wi-Fi access). Now return to Safari. You will still be able to continue playing the game (icons of the players may go blank, but I had no other difficulties).

Bottom line: iPhone is only two weeks old and my Texas Hold ’em dilemma is already solved. Cool!

Movies.app. While this second Web-based application is optimized for iPhone, it is also fully functional from Safari on your Mac. Movies.app tells you what movies are playing in the theaters located within your zipcode as well as their showtimes. It has worked perfectly for me so far. Happily, it extends iPhone features such as Maps and Weather to provide useful info that I can access from wherever I happen to be.

iPhoneDrive. This is not exactly iPhone software, as it does not run on your iPhone. Rather, iPhoneDrive is shareware for your Mac that interacts with iPhone to fill in one of the missing gaps in iPhone’s features. With iPhoneDrive you can copy files of your choice to and from an iPhone. Using just iPhone’s built-in software, there is no way to do this, other than what is permitted via iTunes. The iPhone does not show up in the Finder nor in Disk Utility.

To be honest, the iPhoneDrive software has limited value in what it can do. First, you cannot access the copied files from iPhone. For example, if you copy a Word document to iPhone, you cannot open it from the phone. All you can do is store it on iPhone and later copy it back to a Mac. iPhoneDrive’s main value therefore is as a quasi-backup device or to transfer documents for one Mac to another. The transfer option gets to the second limitation: to retrieve a file on a second Mac, it too must have iPhoneDrive installed, requiring another download and shareware purchase. Third, I suspect (although I am not certain) that transferred files are not tracked by iPhone’s backup mechanism. This means that if you ever had to erase and restore your iPhone, all the files transferred to iPhone would be lost.

At some point, I begin to think that it might be preferable to simply get a 1 GB flash drive and carry that around for when you want to transfer files. Still, if you can find value from iPhoneDrive despite its limitations, it does provide the first user-friendly way to copy virtually any data to iPhone. That alone makes it worth a mention.

The Three-button iPhone?

One of the benefits of having waited a week before getting my iPhone is that I was able to read all the early reviews of the device. Thus, when I finally made my purchase, I felt confident I knew what I was getting; I was well aware of the joys of using iPhone as well of how infuriating it could be. My confidence, as it turns out, was a bit misplaced.

As I covered in a previous entry, the early reviews did not prepare me for just how impressed I would be with iPhone overall. As Apple’s ads put it, “touching is believing”—and I needed to actually play with one for awhile before I truly believed. More importantly, the coverage of the numerous the flaws in iPhone didn’t really prepare me for just how much some of them would bug me. Your mileage may vary, of course. What drives me nuts may not be a big deal to you. But I know I am not alone here.

Once you get past the obvious iPhone omissions (such as no voice-dialing), the one thing that most bothers me about the device is the amount of clicks, swipes and button-pressing needed to accomplish simple tasks. Allow me to give you two particularly irksome examples—and offer a potential solution (one that will require a bit of redesign of iPhone by Apple).

Using an iPhone as an iPod while driving. Yup. Others have already pointed out that the lack of tactile feedback from physical buttons makes actions such as skipping to the next song much harder to do with iPhone than with a traditional iPod, especially when trying to do so entirely by touch while you keep your eyes on the road. But it’s much worse than that. It’s how many extra clicks are needed for what should only require one click in any case.

On a traditional iPod, you just feel your way to the right spot on the click wheel, and press it. Done.

With iPhone, you first have to press the Home button to wake up the device. That’s because, to save battery power, the screen keeps turning off. Next, you have to swipe to unlock iPhone. If you left iPhone with the iPod application open, you will now be returned there (whew, that’s one bit of good news!). Otherwise, you’ll need to press the iPod icon. At last, you get to press the skip button (which still takes a bit of skill to hit just right while driving). This assumes iPhone’s display is in portrait mode. In landscape mode, there is no skip button, so you’ll first have to get back to portrait mode, yet another step. I tried to navigate all this while driving, but eventually gave up. For playing music in my car, I will be using my older iPod from now on. Bummer!

Note: You can eliminate the need to start off by waking up and unlocking iPhone if you go to Settings>General and set Auto-Lock to Never. Now iPhone never sleeps unless you manually press the Sleep-Wake button. This would work fine if your method of connecting your iPhone to your car’s speakers incorporates a charger (which is not uncommon these days), making the drain on the battery not relevant. Otherwise, you could combine setting Auto-Lock to Never with setting iPhone’s Brightness to its lowest level and turning Auto-Brightness to Off; this would minimize the screen’s effect on battery drain. In either case, you would have to remember to reverse the settings when you leave the car. Not super-convenient, but a possible alternative if you are planning on taking a long car ride.

Making a call that isn’t in your contact list. Suppose you want to dial a new number, a number that is not in your contact list anywhere? On a traditional mobile phone, it’s simple. Just take out the phone and start pressing numbers on the keypad. On iPhone, you first have to wake up the screen and unlock the phone (as you must do for virtually anything you want to do with iPhone). Next, if you are not at the Home screen or the Phone application, you need to press the Home button. Then you need to press the Phone button. Finally, if the keypad is not displaying by default, you have to press the Keypad button. That’s five actions needed before you even see the keypad! That’s at least 4 actions too many for such a basic and common usage of the phone.

By the way, the problems here multiply if you are trying do to all of this while driving! This is another reason why voice-dialing is a critically needed addition. It would allow you to “dial” handsfree via a Bluetooth headset.

A solution? There are several possible solutions here. None are perfect. One solution that would help in at least some cases would be to have the icons in the menu bar touch-sensitive. For example, when playing a song in iPod, a Play icon appears in the menubar. It would be great if pressing that icon acted as a pause/play button (saving you the need to return to the iPod application to pause a song).

Another partial solution would be to be able to assign a default screen to appear when you click to enter an application, such as Phone—regardless of where you last left it. For example, I could set things so that the keypad always appears when I click Phone, even if I was in the Contacts list when I last left Phone.

However, I believe that the overall best solution is to add two physical buttons to iPhone. These buttons would be placed to either side of the Home button. Ideally, I would make them a bit smaller and perhaps a different shape from the Home button, so that they could be easily distinguished from the Home button. Now, when you are in the iPod application, the Home button would act as a Pause/Play button (you’d need to double-click the Home button to actually go home or wake-up a sleeping iPhone). The other two buttons would act as fast forward/skip and fast rewind/restart buttons, mimicking the touch screen buttons for these actions. The three physical buttons would work this way even if the screen was asleep, saving you the need to wake up and unlock the phone just to skip a song.

When in any other mode, the Home button acts as a Home button (no change from how it now works). The left button would act as a Keypad button; that is, pressing it would instantly bring up the phone keypad, no matter where you currently were. The right button would be user-definable, allowing you to assign any screen you wanted as the one that would instantly appear. These extra buttons would also work to wake-up iPhone. So, for example, to get to the keypad from a sleeping iPhone, you would just press the keypad button and swipe to unlock the phone. Done.

Yes, this gets away from the simplicity of a single button. But Apple managed to abandon the single-button mouse and still survive. I think iPhone would survive additional buttons as well. At least for myself, I would actually prefer it.

Troubleshooting iPhone: Part 1

Given my interest in troubleshooting Macs (I wrote the book on the subject, so to speak), it should come as no surprise that I have been spending a chunk of my “iPhone time” exploring how to troubleshoot the device.

For starters, all iPhone users should download the iPhone User’s Guide. It’s a much more comprehensive manual than the skimpy little piece of paper that comes with iPhone itself. It includes an entire chapter on “Tips and Troubleshooting.” In addition, check out Apple’s iPhone Support site, which has links to a wide assortment of more detailed troubleshooting advice. Finally, for advice on maximizing the battery life of your iPhone, check out Apple’s iPhone Battery page. Beyond Apple, the best source for iPhone troubleshooting is probably iPhone Atlas (disclaimer: This site is run by the people who also run MacFixIt, the site I started and still have an association with).

With that out of the way, here are are a collection of troubleshooting tips that I consider to be the most critical and interesting to know:

iPhone crashes. Have you ever been working in an app or widget on your iPhone, when it suddenly vanishes and gets replaced by the Home screen? What happened is that the application crashed. This is the equivalent of what happens on a Mac when an application “unexpectedly quits” and dumps you back to the Finder.

Why does it crash? Well, given that Apple has virtually locked down iPhone so that you cannot modify its contents in any way, beyond the limited methods that Apple has provided, the typical cause is a bug in Apple’s software that Apple will eventually have to fix. If you are using Safari, it’s also possible that a Web page that is incompatible with iPhone could trigger a crash.

Speaking of crashing iPhones and Safari, the Web browser is undoubtedly the single most common place where you are likely to see a crash. In most cases, there is nothing much you can do to prevent the crash from recurring. However, if the crashes appear to be happening at random times within Safari, and with increasing frequency, you may be able to get rid of them, at least temporarily, by restarting your iPhone. To do this, hold down the Sleep/Wake key until the Power Off slider appears. Then Power Off and restart. If you can’t get the Power Off slider to appear for any reason, try holding down the Sleep/Wake and Home keys at the same time, until iPhone powers off.

Similar to the result of restarting a Mac, this clears iPhone’s memory, which (to put it in non-technical terms) winds up eliminating problems resulting from too much going on with too little memory to do it all.

Another way you might prevent persistent Safari crashes is to clear its cache. To do so, go to Settings>Safari and press Clear Cache. I wouldn’t worry too much that this will slow down the loading of Web pages that would otherwise load from the stored cache. I have never seen a Web page load from cache, even when using Safari’s Back button to return to the immediately previous page. It’s one of the many things that Apple should fix in an update.

A final note on crashes. If anything on iPhone does crash, you will get a message about it the next time you sync your iPhone with your Mac via iTunes. The message states: “Your iPhone contains diagnostic information which may help Apple improve its products.” Similar again to the Mac’s “Unexpectedly Quit” dialog, there will be a Send to Apple button. The actual crash data gets stored on your Mac in the /Library/Logs/Crashreporter/MobileDevice/{name of iPhone} folder. The “MobileSafari” .crash log files can be viewed via the Console utility. Note: There is also a MobileSafari property list (.plist) file that is temporarily stored in this folder; it appears to be deleted after you dismiss the dialog.

• iPhone freezes. If the iPhone stops responding to any of your touchscreen presses or button pushes, it may be “frozen.” The simple solution here is to press and hold the Home key for about six seconds. With luck, this should return you to the Home screen, with everything working again.

Reset/Restore your iPhone. If none of the above can resolve a problem you are having, and you believe that the cause is related to some problem with the data on your iPhone (as opposed to a bug in Apple’s software), your last resort is to reset the iPhone. To do this, navigate to Settings>General>Reset. You have two main options here: “Reset All Settings” and “Erase All Content and Settings.” The first option is less severe. In general, it erases preferences settings you created on iPhone, but not data you entered that is synced with your Mac (such as Address Book contacts). After doing this, you would likely start recreating settings yourself directly on iPhone. Hopefully, whatever problem you were having would now be gone.

If even that doesn’t work, the “Erase All…” option removes both your settings and data. Typically, after this option, you will want to restore (a hopefully non-problematic copy) of the erased data back to your iPhone. Or you may simply decide to start over, as if you just took your iPhone out of the box. In either case, you will be looking at restoring your iPhone from iTunes. Based on some poking around on my own and some reading of other articles on the Web, I am fairly certain that this is how this all works:

To restore your iPhone, click the Restore button from the iPhone Summary screen. You may want to first click Check for Update to make sure you restore the latest version of iPhone’s software.

It is not clear to me why you might want/need to select to the “Erase All…” function on iPhone prior to doing this, as a Restore will also erase all data. The “Erase All…” option on iPhone allows you to erase data without restoring. Otherwise, I see little difference.

Anyway, after you erase your iPhone and restore its original Mac OS X software, the Mac will detect that you have a backup of your iPhone from a previous sync (assuming that you have done a previous sync). A dialog will appear at this point and ask whether you want to set up your iPhone as new or restore the contents from your backup. If you choose the latter, your iPhone should get stocked with everything that you had just erased. This would also be especially useful if you get a replacement iPhone in exchange for a defective one and want the replacement to have all the data and settings that were on the defective one.

[A few words about the backup: The name of the backup and when it was last updated can be found (even before connecting iPhone) by going to iTunes Preferences and selecting the iPhone icon. From this window, you can also click to Remove Backup, should you wish to start over with a fresh copy on the next sync (or if perhaps you sell your iPhone and will not longer need that particular backup).

In addition to backing up the data that you synced from your Mac, the backup also stores many of the iPhone settings. Apples states: “Automatically backed-up information includes text messages, notes, call history, contact favorites, sound settings, widget settings, certain network settings, and other preferences.” The backup does not include photo, video, songs, or email messages.

The actual sync data is located in your Home directory in two locations. First, and most critical, the backup information itself is stored in ~/Library/Application Support/MobileSync/Backup. The data here are what get deleted should you click the Remove Backup button in iTunes. Apparently, all data created on iPhone is stored here, including such things as your list of “Recents” in Google Maps and the notes you created in Notes. It is not in a form that you can easily access. However, enterprising users have written shell scripts (run via Terminal) that can extract the data to a more usable form. You can download one such script here.

Further sync information appears to be stored in yet another location: ~/Library/Application Support/SyncServices/Local. Here you will find a folder called clientdata. Inside this folder are a series of subfolders specific to each sync component maintained by your Mac (such as one each for .Mac, iSync and iPhone). The names of the folders are are series of hex characters of no obvious meaning. But inside each folder is a file named “clientname.txt.” Open this in any text editor to see what the folder’s sync device is. For iPhone, you want the folder with a clientname of MobileSync. There is data.syncdb file in this folder, which contains the actual synced data. There is an even larger data.syncdb file at the root level of the Local folder. Here is where things get a bit murky for me at the moment. I am not certain as to the significance of the two different data.syncdb files (are both files used by iPhone?). And how exactly does all of this work with the data in the MobileSync folder. Again, I am not quite sure. Further, none of the files here are anywhere near the size of the 4GB or 8GB of iPhone itself. So, there is no disk image being maintained. As I work out the answers here, I will update this posting or make a new one.]

Manual vs. automatic sync. If you are having any problems with your iPhone, especially if you will be doing any sort of resetting/restoring, it’s probably best not to have it set to automatically sync when iTunes is launched. Otherwise, you may initiate a sync before you can perform some other needed operation (such as a restore). It’s also useful anytime there is data on your Mac that is scheduled to sync that you want to prevent from syncing at the moment.

To avoid automatic syncing, you have several options. The first is to disable the “Automatically sync when this iPhone is connected” option in the iPhone Summary screen (available by selecting iPhone from the Source list after the iPhone is connected to your Mac via its USB cable). The problem with this approach is that the iPhone must be connected before you can disable it. That’s why you are better off going to the iPhone tab of iTunes’ Preferences and select “Disable automatic syncing for all iPhones.” This overrides the first option. That is, even if you have selected to Automatically Sync from the Summary screen, it will not have an effect if the Preferences option is enabled. Finally, if you hold down the Command-Option keys when launching iTunes until iPhone appears in the Source list, automatic syncing will be prevented for that one time only.

To initiate a manual sync at any time, just click the Sync button from the iPhone screen in iTunes.

On a related note, there may be times when you want a sync to go only in one direction. That is, rather than merging the data on iPhone with the data on your Mac, you may want to replace the data on your iPhone with a fresh copy from your Mac. You can easily do this for Contacts, Calendars, Mail Accounts and/or Bookmarks by going to iPhone’s Info tab and scrolling down to the Advanced section. There you will see the various “replace” options.

If there is a conflict between entries on iPhone vs. your Mac (such as if you changed a phone number for the same person on iPhone and Mac, using different numbers in each case, and there is no way for the Mac to tell which one is now correct), Mac OS X’s Conflict Resolver will launch when you attempt to sync. It will walk you through each conflicting entry and allow you to choose which version you want to keep (the one on the Mac or the one on iPhone). However, I had at least one occasion where this did not work out well. Conflict Resolver kept relaunching with each sync, reporting the same conflicts, even after I resolved them. In this case, using the Advanced option described above to replace the data on iPhone should get the Resolver to stop bothering you (hopefully the data on your Mac contains the desirable variation at least in most cases).

To cancel a sync in progress, drag the slider on iPhone. If you get a call during a sync, the sync is canceled automatically, allowing you to unplug iPhone to answer the call. To finish syncing, just reconnect iPhone after your call is done.

My love-dislike relationship with iPhone

As with the million or so others that have had the chance to play with their iPhones over the last week or two, I now have formed my first overall impression of the device. I call it the beginning of my “love-dislike” relationship with iPhone.

“Love” — because where the iPhone excels (and it does so in many places), it excels so spectacularly well that it is hard to imagine ever again using any other phone. “Dislike” — because “hate” would be too strong a word to describe anything as good as iPhone. Still, there are definitely things not to like about it. Fortunately, they are almost all eminently fixable and I suspect Apple is already working on doing so. Many of them will likely be addressed via software updates arriving in the next few months.

This mildly conflicting reaction is reminiscent of how I felt after I purchased an original Macintosh back in 1984. And that’s a good thing overall. From the moment I took the Mac out of its box, I knew I was in the presence of a machine that would initiate a paradigm shift in computers; that’s how different it was from the typical PC of the time. Yet, there were also times when I just wanted to kick it because of what it couldn’t do (as one example, I couldn’t even get an external floppy drive until several months after I got the Mac). But the problems were eventually fixed and the good things kept getting better. If Apple can pull the same trick with iPhone, and I believe they will, Apple will have succeeded in capturing lightning in a bottle yet again.

As to the specifics, the “dislikes” are pretty much what I expected from what I knew about iPhone before purchasing it (I even noted several of these annoyances on a previous blog entry). The most annoying are the ones where iPhone is unable to do things that even my old clunky basic mobile phone could easily do. This includes a laundry list of items such as voice dialing and custom ringtones. Next, are things that are just more hassle to do than they should be, especially given Apple’s otherwise great design of iPhone. As one example, I already find myself getting irritated at how many extra clicks I have to make to pause a song I am listening to on iPhone’s speakers, if I leave the iPod application while the song is playing. I have to click to return home, then click to reaccess the iPod application, then click to pause. It’s much simpler—just one click—on any standard iPod (or on iPhone with the headphones plugged in; you just press the remote button on the headphone cord). Plus, if I pause a song, and shift out of the iPod application, the odds go way up that the song will be “forgotten” when I return. It happens to me about 50% of the time. On the plus side, the fact that I even have the ability to listen to songs over iPhone’s built-in speakers, something no other iPod can do, is quite convenient (even given the inferior quality of the sound).

The keyboard in portrait mode is too small, at least for my fat fingers. I make too many typing mistakes and I don’t think this will get better with more practice. The one trick I did find to be helpful is to hold down but not release my finger from a key, until I see the letter “pop up.” If it is incorrect, I can slide my finger to the correct key. If I lift my finger before doing this, it is too late. I have to delete and re-enter the letter.

Speaking of my fat fingers, perhaps my biggest frustration with iPhone is how often I select something unintentionally—either because two active buttons are too close together or because I intended to scroll but iPhone interpreted it as a click. The result, in either case, is I have to back track to where I was before. This is especially annoying in Safari, as clicking to go Back does not immediately reload the previous page, even though Apple claims that Safari is maintaining a cache just for this purpose. I instead have to wait for the page I was just viewing to load again.

Speaking of typing, iPhone could really use a decent text editor with a to-do list function, something that allows copy-and-paste and that syncs to your computer when you sync the iPhone. The Notes widget doesn’t make the grade.

But why dwell on the downsides of iPhone when there is so much to love about it?

Google Maps is fantastic, even without built in GPS. My wife and I were driving around the other day when we realized that we were near a restaurant that we had been meaning to try. The only problem was that we couldn’t recall its exact location. I pulled out my iPhone and, in a few seconds, I not only had the address but driving directions. As a bonus, the map even showed me the current traffic levels on the major highways. How cool is that?

On another occasion, I wanted to look up a word in the dictionary. Again, I just pulled out iPhone, went to dictionary.com in Safari and presto, I had my definition. I’ve read many reviews commenting on ways in which iPhone’s version of Safari is less than perfect. I guess it depends on where you started from. In my case, I started from a basic phone that had virtually no Web access at all. Now, I can read the front page of the New York Times from my phone, almost as easily as I can from my desktop Mac. It’s fantastic. The limitations are trivial by comparison.

The iPhone’s 2.0 megapixel camera is more than adequate for me. I have heard others complain that it has no zoom function and no video capability. Heck, I don’t intend to use it as a substitute for my Canon camera. I am just happy that it takes much much better quality pictures than my old phone (which had only a 1.3 megapixel camera). Plus, the photos can be transferred to my Mac with much greater ease than with my old phone (although I wish the Mac could remember what I have downloaded and not ask to re-import the same photos each time I sync). It’s also quite nifty to assign a photo to a contact, so that the photo appears when the person calls you.

As for video, it goes without saying (although I’ll say it anyway) that watching a movie on iPhone is a far more enjoyable experience than watching on an iPod with video.

Last, but certainly not least, there are all the great finishing touches Apple has put into the interface and design of iPhone. Combine that with the large multi-touch screen, which provides a much easier way to navigate than the methods on a traditional mobile phone, and you have a device that is simply a joy to use. Even for something as basic as making a phone call, I often find myself smiling at how much fun it makes an otherwise mundane task. For one example, if a friend of mine has 4 different phone numbers in my contact database (work, home, mobile and fax), selecting the one I want to use is as easy as one finger tap. Editing the contact info is far easier and faster as well.

And of course, the ability to flick or expand/shrink the screen with your fingers simply must be tried to truly appreciate what a marvel of engineering it is.

I have only been using iPhone for 3 days. It took me a week to decide to get one this soon. But I am already glad I did not delay any longer.