iPhone 2.1 Goodness

One of the things that's been immensely frustrating as I transition everything in my life (my job, my home, my site) to a new version of everything in my life has been the sudden and drastic drop in reliability of a device I've come increasingly to rely on for damn near everything. That device is, of course, my iPhone. Your primary phone is not ever a device you want to go without for very long. Phone service has become so crucial that I can't think of anyone anywhere that could really do without it for any stretch of time. It's more ubiquitous — and certainly more important — than television, or even, dare I say it, The Internet (though I might hasten to point out that when it's working well my iPhone does all three). So when your primary phone begins behaving erratically, it's more than a bit of a pain. And when that lack of reliability occurs during major transitional periods of your life, well, the expression I like to use is: frickin' annoying as shit. I'm telling you, since updating to version 2.0 of the iPhone software — a plunge I honestly wish I'd waited on — I have been tempted numerous times to chuck the damn thing — the phone I've had a love affair with for the past year, this phone of phones — clear across the room, after which I would pounce upon it and tear out and feast upon its touch-sensitive insides. Seriously. It's been bad.

I'm happy — no, unbelieveably thrilled, actually — to report, however — and this is the actual purpose of this post — that the latest 2.1 iPhone dealie-o really does fix all the crap they said it would. The new(ish) iPhone 2.1 firmware, as promised, fixes all the problems I've had over the past month or so. The infuriating slowdowns and maddening drop-outs seem to be truly gone. It's like I'm running version 1 again, which is to say, glorious. Oh, iPhone! I can't stay mad it you!

Figures, though, they fix it right as I'm getting settled. I guess when it rains it really does pour.

iPhone Browser Cache

I love my iPhone. It is increasingly important to me for getting things done. I use it for everything: appointments, reminders, fact-checking, contacts, text, entertainment and, of course, as a telephone. It's boosted my productivity immensely, yet made my life easier and better in so many ways. I'm not sure how many products I can say that about.

Nevertheless, I have one persistent gripe when it comes to the iPhone, one thing that just pisses me off and confounds me every time I encounter it: Mobile Safari's cache is simply too small, to the point where it almost seems pointless to have cache at all. Case in point: I open a web page. It gets cached. I open a new window, and a new page in that new window. It too gets cached. Unfortunately, this new cache invariably wipes out the previously cached page, so that when I navigate back to the other window, the first page has to reload. And, just for the record, these are mostly text-based blogs, sometimes with a picture or two. It doesn't always go down this way, but more often than not it does. This defeats the usefulness of both cache and the multi-page interface available in the browser. I'm not sure what the point is.

I'm sure the browser cache equation rides a fine line between usefulness and unnecessary disc overuse. But for anyone who uses the Edge network on any kind of regular basis, I think they've got that balance wrong. And I can't help wondering why they don't give us a setting — just like in any other desktop browser — for cache size, within a sensible range, of course. Or, if not that, simply make the default a bit larger. The current one is pointlessly small.

UPDATE:
Fixed!

iPhone to iCal Sync Problems

I recently had a problem with iCal syncing to my iPhone: Calendars would sync fine from the Mac to the iPhone, but any event entered on the phone would not sync to the Mac. Moreover, calendars deleted from iCal on the Mac — calendars that no longer existed — would still be available for syncing in iTunes. Clearly there was a problem with cached data of some sort, somewhere. But where?

After a lot of trial and error, and hunting around — I tried resetting iTunes preferences, iCal preferences, and anything else that might present an easy fix — I finally figured out where all this data gets mashed up. There are two folders in your home account that are responsible for syncing the databases between your iPhone and your Mac. The first one, as far as I can tell, just contains a backup of your iPhone data. It is:
~/Library/Application Support/MobileSync

The second is where all the syncing action happens:
~/Library/Application Support/SyncServices

To fix my problem, I renamed these two folders. They'll get recreated the next time you sync your iPhone and you can keep these in case anything goes wrong. Then start up iTunes and reset all the items under the Info tab for your iPhone. (Fortunately, items under the other tabs seem to have been left alone, at least in my case. YMMV.) I still couldn't see my calendars in iTunes at this point, but I went ahead and just hit the Sync button. And it worked.

Everything now appears properly in iTunes. New calendars show up; deleted ones disappear. And syncing calendars between my iPhone and my Mac works perfectly now.

UPDATE:
Reader Ferdinand points out that Apple strongly discourages the removal of the SyncServices folder. Instead they recommend resetting your SyncServices with the instructions in this article for Mac OS X 10.5 or this one for 10.4. I'm quite happy I didn't have any problems, but if you need to mess with your sync services, I strongly recommend following Apple's advice over my own.

Leopard Beefs

So I really like Leopard. It's nifty, but not without it's problems. I thought I'd take a minute to post some of the issues I've had with the new OS.

So far I've only had a few complaints. Actually, my initial experiences were quite positive. I did an Archive and Install, preserving user and network settings, on my work machine, a Quad-Core Intel Xeon tower. I left all my old preferences in place and used my old home account data. All this went off almost completely without a hitch. The only snag, oddly, was my Final Cut Pro Studio suite, which needed to be re-serialized. Beyond that, smooth sailing.

Upgrade Woes
That upgrade went so well I decided to do the same to my aging PowerMac 2.7 GHz G5, and for the first time since I bought it that machine felt slow. Dog slow. Problematically slow. This was cause for concern. But what finally convinced me that there were major problems was what Leopard did to my iPhone. Oh, the horror!

Addresses
On the first iPhone sync with Leopard, all my addresses got completely borked. Each address was there, yet the name field was blank and there was a lot of information that didn't make the transfer. Fortunately I had a backup, and I was able to get back up and running. Oddly, the second sync worked perfectly, and only the latest contact info on my phone was lost.

Photos
Importing photos from the iPhone to iPhoto was also problematic on the upgraded Mac. The import took an extremely long time, and the imported photos suffered from strange color shifts and banding. They were unusable.

At this point I decided to do a fresh install. This worked much better, and my computer has been running much faster and handling iPhone syncs much more reliably. As part of the fresh install process, I also started with a fresh home account, which may have helped as well. But this was not the only source of problems, as I verified their existence on a clean account as well. Still, better safe than sorry, I figure.

In any case, for whatever reason, older hardware seems to like a fresh install. Things have been working reliably now for a few weeks. I'm happy.

AFP and MPD
My other beef with Leopard has to do with AFP mounts in the Finder. The way the Mac OS has always dealt with such mounts in the past is that when you mount a shared drive, you authenticate as a user with access to the resource and the drive mounts as though the authenticated user had mounted it, even if that user is different that the one who's logged in. So, for example, I could be logged in as SystemsBoy, but authenticate to a server as JimminyCricket. The server will show me the available shares for JimminyCricket, not SystemsBoy, even if they have different access privileges to that server. If I unmount the share, I can then reconnect to the server, this time authenticating as SystemsBoy, and then I see the shares available to SystemsBoy. This is actually more useful than it sounds. I have numerous identities that I use on my network. This allows me, for instance, to be logged into a machine as a non-admin user, but still connect to a server as an admin user and have admin access to those resources.

In my initial experiences with Leopard, however, the behavior had changed in a way that was potentially sucky. In Leopard, when I'd connect to a share I'd authenticate as a user, just as in the past. And the share treated me like the authenticated user, just as in the past. But once authentication had taken place, Leopard remembered the user credentials even after ejecting the mount. At this point, when attempting to re-log in as a different user, the Finder would refuse to forget the previous login identity and authentication would be bypassed. The server would simply remount as the originally logged in user.

This behavior could be a convenience for users who only use a single identity on client and server. But for those of us with MPD (that's Multiple Personality Disorder, smart guy) it's a real problem. We'd now find ourselves unable change our login identity on a server without a reboot, or until some period of time has expired. Crap!

Now, I have to say, this was happening to me without fail a few weeks ago, and it was really annoying. But now, for some odd reason, the behavior seems to have reverted back to it's old self, asking for authentication each time I request a server. It's really quite strange. I know this was a problem, because I noted it in my log of Leopard issues, but I'll be damned if I can reproduce it today. I suppose it's something to watch out for, but I'm glad to see that it seems to have cured itself. In any case, clearly there are bugs in Leopard, however inconsistent and occasional they might be.

~/Library
Leopard is a bit of a hard ass when it comes to your Library folder. The Library folder is where all the user's settings are stored, and Leopard takes steps to insure that it's always there. In fact, it disallows you from renaming or moving the folder. Try to rename it and it simply won't highlight; try to move it and you can only copy. This is both a blessing and a curse, I suppose. I mean, from an admin standpoint, I never really have to worry again about users removing their ~/Library folders. But then again, I never really did anyway. Conversely, it requires a trip to the Terminal to move a user's Library folder and test any problems therein, which is a fairly common troubleshooting step. I guess we break even here, but I think I preferred the old way of doing things. It just made my life easier.

Uh... So far that's it. Compared to my Tiger Beefs from a couple years back, that's nothin'. Hell, compared to any new software release that's frickin' amazing.

I'll say it again: Leopard is a pretty damn sweet release.

UPDATE:
I continue to have AFP problems on my Intel machine. They're different from those detailed above, but no less annoying. Earlier, I attempted to connect to a server and the process hung. I had to force quit the Finder to get out of it. And just a few minutes ago I connected to a server and copied a group of files over to my local system using a "command-c" copy, only to be denied for permissions reasons. Dragging and dropping the same batch of folders worked properly. And now, after ejecting and reconnecting to the same share, both styles of copying the same, exact folder work just fine. So clearly there are some AFP bugs that need to be worked out in Leopard. Nothing life-threatening, but surely annoying.