Sunday, June 27, 2010

My take on iOS 4, WWDC 2010 and the future

It has been a while now since WWDC 2010. I was there live this time; it was one of the greatest experiences of my life. I highly recommend that you attend next year if you can. Well, one thing that I have learned over the last couple years working on the Apple world is that everyone is entitled to have opinions, make predictions and start rumours about the future of the platform. As usual, Apple will never have an official statement up to whatever is said gets launched during the "one more thing" speech of Steve Jobs and whatever I'm writing here, I'm not endorsed in anyway by Apple.

Anyway, after attending about five sessions per day, what really caught my attention is the push from Apple to the multi-tasking world. Of course that five in each five Apple blogs have already told you everything that you ever wanted (or not) to know about iOS 4 multitasking, but I think that I have a different approach here. I want to highlight, not the multitasking on the user side ( what everyone is talking about ) but I want to mention the multitasking on the App development side.

Nope, I'm not going all technical here. In general, Apple has introduced Grand Central Dispatch (GCD) for developer on iOS 4. This is a framework that enable developers to build Apps that have internal components running in parallel. Users will probably never even notice this (except that Apps would tend to be more responsive...); however, multithreaded code for developers could make a huge difference. But, we still have a single A4 processor in iPhone 4 and also in iPad; what leads me to my "futurology" session.

If you think that running code in parallel on a single processor makes no sense, well, you are right. In general, Apps will have the capacity of running in parallel but they will still compete for a single processor. The main advantage for iOS 4 on the current devices is that Apps using GCD will no longer hung or freeze on their hands. Developers will be able to put there blocking codes (load an image from the internet, open a dropbox session, etc) into a separated process what will not ever freeze your UI again. However, this will not add any performance improvements.

Going beyond iOS4, things start looking much better. My prediction after WWDC is that at some time soon we will see multi-core A4(x) processors. This would make a lot of sense. Apple traditionally introduces new technologies in phases. Assuming that developers will start using GDC to improvement their user experience now, Apple will have by the end of this year tons of Apps that will be enabled for true multitasking. Apple would be ready to "change everything again". The next generation of multi-core iPads would not even need to wait up to new Apps get developed. Virtually, every single App that uses GCD would be ready for multitasking at day one. Apple will be able to have the fastest tablet in place in no time.

Regarding time-frames, it would be just a matter of wrapping-up the offers. Apple could take the approach of launching an iPad/iPhone 4 "G" in 2011 ( I assume that by then the 4G cellular networks will be more common in US), this would keep the sales going up by itself because people would really feel the difference of the network speed; may make no sense introducing a multi-core A4 at that moment because it would add to the cost of the 4G components and it could also be a waste of a silver bullet.

As such, I'd see a multi-core iPad/iPhone being introduced to the market on WWDC 2012. Cost would have gone down, 4G will be available to most people, Apple will be ready to launch iPhone 4Gs ( s for speed, does this sound familiar? ).
Well, Let's keep following the next steps and see what predictions come true. The only certain here is that whatever path Apple takes, iOS4 is just the top of the iceberg.

- Luciano