On monday, 21st of June, Apple released iOS 4.0 for iPhone 3G and up. I quickly grabbed and installed it that same evening. Already aware I was not going to get the full package (no fast app switching UI for example), I was still looking forward to some of the remaining new features. Features like the unified inbox, app grouping, spellchecking, and the home wallpaper.
Upgrading. The upgrade process was a smooth experience. After about an hour, my iPhone 3G was running iOS4, and all of my settings, apps, music, etc. were synced back to the device. I started poking around right away. Unfortunately, even before my first interaction, my confidence got somewhat dented. “slide to unlock”, normally a smooth sliding highlight animation, was all jittery. After an equally lagging unlock, my first disappointment: no home-screen wallpaper. Not that I am a wallpaper enthusiast, but after two years of complete blackness, the grass is a lot greener on the other wall.
Experience. I noticed pretty quickly that the entire phone UI was a lot slower than before. You could almost see the iPhone 3G gasping for free memory when starting a new dialog or app. Even the build-in settings app took more than five seconds to start, and starting the camera app felt like torture. But the absolute worst, is a keyboard lagging 5 characters behind — it’s like a remote shell over a shared 56K modem connection all over again. Eventually the phone would catch up, and typing would become relatively fluent again. Unless you were doing some active browsing in Safari. Where switching a tab, meant reloading the page, and going to the address box meant reloading the typing functionality — frustration ensued.
I quickly made up my mind that I could not go on like this. I decided to restore the phone again, and this time start with a clean setup. No restore of settings, and limit the number of apps to 3 screens. The result was not stellar, but at least, it felt somewhat faster. Typing was less affected, but starting apps was still slow, and using Safari — my #1 app — was still a PITA. However, I lost a number of text messages I was holding on to, and the history of a handful of apps.
Downgrade. I saw no other alternative than pulling the plug on iOS 4.0 and downgrading to iPhone OS 3.1.3. It seems this is easier said than done, however. Attempts to manually restore a previous .ipsw file were met with iTunes error 1015.
Error 1015: This error is caused by attempts to downgrade the iPhone, iPad, or iPod touch’s software. This can occur when you attempt to restore using an older .ipsw file. Downgrading to a previous version is not supported. To resolve this issue, attempt to restore with the latest iPhone, iPad, or iPod touch software available from Apple.
Fortunately, I quickly found a guide that helped me downgrade successfully. The only requirement was to install an untrusted usb driver package and run a 3rd party command line tool. The possibility of becoming a spambot is a small price to pay…
I’m running iPhoneOS 3.1.3, set up as a new iPhone. Completely baffled by the gains in speed and battery life, not only in comparison with iOS4, but also in comparison with my previous installation of 3.1.3. It’s like my 3G was held back by two years of clutter. I’d always assumed it had become slow because of 3.0, but it came on so gradually that I wasn’t sure when it had started.
Future. Did Apple really find the iPhone 3G experience acceptable like they shipped it? Or was it merely a pat on the back, saving us from obsoleteness by one more year?
Seeing as iOS4 contains about 60+ security fixes alone, it makes me wonder if Apple has any plan for backporting these fixes to iPhoneOS 3. Considering that all 1st generation iPhone owners don’t have any choice at all with respect to upgrading. Compared to other carriers and vendors, Apple doesn’t perform bad at all. Nevertheless, when phones contain your whole life and are online 24/7, security is essential. It’s completely irresponsible to drop software support for these devices after three years, let alone one or two.