Apple provides the 3.0 upgrade “free” for iPhone owners, but those folk have either paid a premium for their devices or are locked into multi-year service agreements. If you have an iTouch, the upgrade is basically $10. While I would prefer that it was a free upgrade, I feel obligated as a software professional to pay for the software I use (I like it when people who use my software pay for it).
The 3.0 upgrade adds a bunch of features. In the brief time I’ve had the update, I haven’t used many of the new features but cut & paste is a welcome addition. Push notifications look like they will possibly fix the ‘no background apps’ issue, I’m looking forward to trying out some apps that make use of the feature. I didn’t notice that the web browser was slow, but I’m all about faster browsing.
I wish they had gone further with the bluetooth enhancement – ideally if they had managed to allow me to use my existing bluetooth enabled phone via an iTouch based interface I would have had a budget iPhone. Imagine being able to dial your current non-Apple phone via the touch and then have it route the headset audio through the touch. I suspect you’d soon get sick of carrying two devices and would drop the money on a real iPhone. Oh well, today all that is offered is stereo headset support.
Read on for details on my upgrade difficulties, and how I resolved them.
My upgrade wasn’t very smooth. I run iTunes under Windows which I host in a VMWare image on my Ubuntu desktop (say that fast 5 times). Usually this works fine, but not for the OS update – the start was fine, it managed to wipe my data and the existing OS – but then it failed with a somewhat cryptic message. Addtional attempts had the same problem.
I ended up cross-booting my machine into a native WindowsXP install, creating a “virgin” iTunes installation and updating the OS that way. First I restored the 2.2.1 version, then I moved up to 3.0. This process went smoothly.
Of course, since I was on a virgin install of iTunes, I didn’t have the previously purchased 3.0 update. I suspect that the Apple store would have been smart enough to remember that I had already bought it and not charge me again. However, I took the more hacker like approach and copied the update file (iPod2,1_3.0_7A341_Restore.ipsw) from my VMWare install and placed it in the right spot for my virgin iTunes to find it (/Documents and Settings/<User Name>/Application Data/Apple Computer/iTunes/iPod Software Updates). Then it was a simple matter of clicking the upgrade button – iTunes found the file, and was happy to install it (no prompting to purchase it, in fact the virgin iTunes doesn’t have an Apple ID associated with it at all). One neat trick is to click the Restore button while holding SHIFT, you’ll be prompted for the source firmware file to use.
I don’t have hard evidence about what went wrong with the VMWare based install, but I’d caution others not to try. The 1st step of the install changes the type of USB device that is detected (it changes from a ‘camera’ into an ‘apple usb boot device’). I suspect that the firmware bootloader knows enough to download the firmware installer (into RAM) and then execute it. Once the firmware installer starts, it uses yet another USB protocol (I’m guessing here) and my Linux install had no idea what to do with this – and was not able to tunnel it through to the VMWare image in a sensible manner. So this failure to communicate, caused the upgrade to bail.
The last thing that I screwed up was backups. When you synchronize your iTouch, iTunes will store a backup. One is even created automatically when you do the OS upgrade. However, only the latest backup is kept – this is what got me into trouble. Since I had to perform the upgrade on the virgin iTunes install. When I moved to my VMWare hosted iTunes I got the prompt “Hey, this device is sync’d to another iTunes library, do you want to wipe and sync to this one?”. I foolishly answered yes, which in turn wiped out the useful backup. If I had been more careful I could have forced the restore of my backup over the new device (or at least found some way to save the data). The net result was the loss of the eBooks I had been reading, the network/email/etc. settings I had put in. Not a big loss, but frustrating.