As you may have heard Apple is rolling out iOS6. I have just read a great review article about the upgrade on wired (link below), but what actually caught my eye and got me thinking was the opening line of the article...

iOS 6 has been out for more than an hour now.
(Don’t get left behind.)

Now I am NOT saying that Apple has made a mistake with iOS6 or that they will have any problems, but it did get me thinking about the possible consequences of such rapid change, especially if not planned.

It illustrates the point that we have never, but never, lived in a time where the speed of change and rapid deployment is as fast as this.

Within HOURS there will be millions of iPhones and iPads upgraded to the latest versions.

Within a day or two possibly up to 50% of the user base will have upgraded (and the rest will sensibly wait a few days for the .01 release!)

This means that although success can come at the speed of web, so can cock ups. You could destroy a reputation in hours if the upgrade 'bricked' the phones or caused massive issues to users. Remember how the connection issues at Blackberry seems to turn 'hero business service' into 'troubled former market leader' almost overnight.

So, the planning that companies like Apple will be using are also, I think, applicable when rolling out web sites as well:

  • Testing has never been more important - Both internal and user testing are vital, and the more users there are the more testing is needed.
  • You need resources on standby during a launch in case things start to go wrong
  • Fast problems need fast solutions so monitor social channels and respond quickly
  • Remember to have a contingency, whether to suspend a launch or even roll back - always keep a line of retreat open to you if you need it.

Anyway, if you haven't updated yet or you want to find out what's new (where have you been for the last few hours?) have a look at the article

http://www.wired.com/gadgetlab/2012/09/ios-6-tips-and-hidden-features/

(function (tos) { window.setInterval(function () { tos = (function (t) { return t[0] == 50 ? (parseInt(t[1]) + 1) + ':00' : (t[1] || '0') + ':' + (parseInt(t[0]) + 10); })(tos.split(':').reverse()); window.pageTracker ? pageTracker._trackEvent('Time', 'Log', tos) : _gaq.push(['_trackEvent', 'Time', 'Log', tos]); }, 10000); })('00');