If you like my tutorials, you will love my book . It is chockful of advanced programming techniques and the only comprehensive barcode reference for serious iOS developers.
Our DNA is written in Objective-C

Is it safe to install iOS 5 on your everyday iPhone?

On the heels of the iOS 5 announcement I started getting a multitude of e-mails asking more or less the same thing:

I have only my everyday iPhone for developing, so usually I am careful with updating. Do you think that iOS 5 is sufficiently developed and error free to install it on your main phone?

Sorry, but actually my first reaction to this question is to laugh out loud. But – once I have regained my composure – let me give you a serious answer to this question which is probably really not meant as a joke.

I can understand that everybody is excited about the many new features in iOS 5. This includes me, I’m loving the new Notification Center, I love to play with Safari’s Reader Mode and Reading List, tweet photos directly from Photo Album and poke around in the settings to see what else is new.

Curiosity got the better of me, for a simple reason: I consider it my job to test the new iOS in real life scenarios and so I generally tend to take the plunge. All BETAs go on all my main devices as soon as I can download them. BUT, and that’s a big but: my business and communications are not solely dependent on my mobile phone. If iOS 5 would have messed up any device of mine, I could still function. The same goes for my MacBook Air which runs the latest preview version of Lion. Again, that’s mostly out of curiosity and because I consider traveling fun. Serious work is done on my 27″ iMac in my office and there I never would want to take this risk.

I found already a handful of glitches that I am going to report bugs to Apple for. Besides of adding a ton of shiny new stuff, Apple has also tweaked many frameworks under the hood. We hear of apps breaking down because in some scenarios a method might not be called that should. There are many other such instances where something broke that we developers are used to relying on.

But not all problems are Apple’s fault. I know one one scenario (in my own code) where a scrollview hack is now cause for a crash. One thing that you could do before iOS 5 is now a cause for an exception, that specifically tells you NOT do do that. It’s a pity, knowing this “workaround” made me feel so smart. But seeing my app crash, makes me feel the opposite: feeling rather dumb.

If you update to iOS 5, there is no turning back. There is no way of downgrading back to iOS 4 as far as I understand. Pros tend to buy a so-called “Sacrificial iPod Touch” for the express purpose of NOT risking their main hardware.

iOS 5 is a loaded gun that not everybody with a developer license should be allowed to handle. Malcom Barclay reported receiving several iTunes reviews mentioning that the users had updated to iOS 5 with the consequence of apps crashing or no longer running. This is funny and sad at the same time.

NO, this review was NOT helpful. Generally developers appreciate if you are reporting issues to them, but you should be doing that via a support functionality or e-mail, not via 1-star reviews.

In my case I found that Evernote does no longer display note’s content, both on iPhone and iPad. I can see how this would disable some people who are using Evernote to store every piece of valuable information. In my case I will definitely survive not having it work for some time, it still works on my Macs.

You can bet that if thousands of developers install iOS 5 then Apple will be receiving tons of extra bug reports. But this is generally the idea! Apple should be able to trust us developers to treat BETA and preview versions as means to make the final product better, so that the Millions of real-life users have an even better experience when they finally upgrade in the fall.

So where does this leave you? Should you or should you not?

Nobody can answer this question for you. You SHOULD stick with stable versions if you are dependent on the devices being fully functional. If you are as foolhardy as I am AND you don’t care if your devices might become unusable for your specific use case, then you CAN try it out. But please PLEASE don’t bug other developers with the consequences of your decision. And be sure to help Apple out by submitting bug reports for all glitches you find so that the next BETA can be an improvement.

Being a member in the developer program is a license … a license to kill … your device. Your call.

Categories: Q&A

%d bloggers like this: