It’s clear that Apple is feeling the heat from the competition in the mobile space. Matt Drance eloquently analyzed Steve Jobs keynote presentation on the first day. The avalanche of information just accelerated during the rest of the week. The expression “drinking from a fire hose” came up frequently in conversations during the week.
In a previous life I was an enterprise Java architect and dutifully made the annual pilgrimage to the JavaOne conference. In the beginning of Java, the language and the API:s were small enough that you could grasp everything. But at one point everything exploded and there was no way to keep up with all the new API:s and all the new things Java was attempting to do. I feel that we’re approaching that point with iOS (formerly known as the iPhone OS).
The complexity of the platform has also increased. Take multitasking for example. Managing database connections and open sockets when your app is transitioned between the active/inactive/running/background running/suspended states, is not trivial. Neither is scheduling a background task to complete when your app is about to stop running, while also dealing with the fact that the background task can also be interrupted. And this is just one set of new API:s.
Recently I’ve been doing some code reviews for clients. One of the first things I do is to run the static analyzer. When that comes back with 170 warnings, I get disappointed. Why would you as a developer ever release code that has over a hundred memory warnings? Especially when the static analyzer is one of the easiest Xcode tools to run: just select Build and Analyze instead of Build from the Build menu. Apple is releasing a slew of new tools and instruments to help you analyze and tune your iOS apps. These tools are very powerful, and they definitely have a learning curve.
Don’t get me wrong; I’m not complaining. On the contrary I think this is all great for us professional iPhone developers. Keeping your skills up to date with the latest tools and technologies is the best way to stay ahead of the pack. For consumers it’s even better. Without investing any time or effort we get to enjoy the fruits of the accelerated innovation coming out of Apple and the competition.