Skip to main content

iOS and Android

Range of hardware devices.

GPU (Graphics Processing Unit) bound mobile hardware improvement follows "Moore's Law", with chip manufacturers alternately die shrinking their CPU's - reducing power consumption, and re-architecting their processors, doubling the number of transistors. When these improvements are combined with the admittedly slower improvements in the energy density of battery technology, it allows the production of increasingly faster, cooler, longer running and cheaper devices.


Since launch there have been 17 distinct iOS hardware devices, with storage from 4Gb to 128Gb, and a wide range of system and video RAM, screen size and resolution.
iOS runs on:
iPhone, iPhone 2, iPhone 3, iPhone 3GS, iPhone 4, iPhone 4S, iPhone 5
iPod touch generations 1, 2, 3, 4 & 5
iPad, iPad2, iPad3, iPad4 (the official Apple designation doesn't use these numbers)
iPad mini
iOS itself is in the 6th major release, with iOS7 available currently to iOS developers for testing.

The release cycle varies for each device, but in all cases averages under a year.
Mac Rumours offer this information in their buyers guide (2013)

Last ReleaseSeptember 21, 2012
Days Since Update321 (Avg = 338)
Recent Releases - days between releases
Sep 2012 353 days
Oct 2011 467 days
Jun 2010 370 days
Jun 2009 344 days
Jul 2008 156 day

iPod touch:
Last Release May 30, 2013
Days Since Update 70 (Avg = 345)
Recent Releases - days between releases
May 2013 233 days
Oct 2012 371 days
Oct 2011 398 days
Sep 2010 357 days
Sep 2009 365 day

Last Release October 23,2012
Days Since Update 289 (Avg = 311)
Recent Releases - days between releases
Oct 2012 230 days
Mar 2012 362 days
Mar 2011 342 days

iPad mini:
Last Release October 23, 2012
Days Since Update 292 (Avg = ?)


The Android developer deployment tool for the Google Play Store indicates there are 2462 different devices that run Android.
Samsung are seen as the market leader, with regular prominent outputs from HTC and LG in the phone space, and Google Nexus, B&N Nook and Amazon Kindle in the tablet space.
The release cycle for devices is quicker than the average phone contract in UK, driving upgrades.

Chart showing growth of Samsung Android devices compared to overall worldwide smartphone sales - source - Kleiner Perkins Caufield & Byers Internet Trends report 2013

Adoption rates.

The Game Developer Magazine Survey for 2012 indicated that:
"Of the iOS developers, 39.4% targeted devices running iOS version 4.1 and above, compared to 30.7% targeting iOS version 5.0 and above, 16.5% aiming for 4.0 and above, and 13.4% developing for version 3.0 and up."

OS releases follow a similar path to the hardware, in order to benefit from the improved hardware, Apple have committed to a yearly release cycle. The adoption rate for iOS revisions is strong.

OS updating isn't so prevalent with Android devices, which are often bound to a specific version of Android, and often have vendor additions.
However data collected from the Google Play store (1st Aug 2013) indicates that over 40% of Android devices are running the latest version of the OS (Android 4.2.x JellyBean ), and over 60% are running version 4.x.x   Android OS refresh cycle.

Chart showing Android OS version adoption rates- source Android Play Store

The level of device upgrades - and handset renewal rates being tied to contracts - means it’s possible for a developer to build for a substantial section of the activated devices on a 12 to 18 month revision cycle.

These adoption rates mean that a developer for iOS or Android is likely to be able to target current or previous OS versions as a minimum requirement, thus reducing the number of workarounds, and fallbacks for unsupported features, as the user is more likely to be running up to date version of the OS. However this also means the effective sales window for an OS optimised application is reduced, the time to market for applications must be faster, alongside a need to extend the maintenance and  more frequent app update cycle. Currently app updates tend to be free, providing an obligation on developers to provide ongoing support, without additional revenue.

Languages and Design Patterns.

There doesn't seem to be a scarcity of developers with skills for developing Objective C, or Java, and the languages have a fair bit in common.

iOS - Objective C.

 Objective C, is a superset of C, supporting Object Oriented approaches to development. It was devised in the 1980s and still maintains some archaic practices such as split header and implementation files. Because there is no garbage collection even simple tasks like declaring a property take several steps, and require resource deallocation at the end (this has been made easier with the use of automatic reference counting). The Xcode toolset, which includes a drag and drop Interface builder for iOS development is provided free of charge to registered Apple developers. The tools are robust and supported by comprehensive documentation on the Apple API's and HCI (Human Computer Interaction) guidelines, which mean an iOS user experiences  well designed and consistent navigation and controls.  Building native iOS apps in Apple's Xcode requires the adoption of a Model View Controller (MVC) design pattern (MVC is Apple's preferred way to handle objects).

Android Java.

Android Java is a version of Java with touch extensions, and whilst it has a C like syntax, though unfortunately the Java compiler won't compile C code.
The Android Studio provided by Google is a full featured IDE, built on IntelliJ. Because of the very mature nature of Java there are a wealth of other development tools available.


Intel (2013) Moores law. Available at: Accessed on [11-8-13]

Samsung (2013) - Samsung CPU development roadmap 22nm and beyond. Available at:  [Accessed on 18-8-13]

MacRumours (2013) Mac Rumours buyers guide. Available at: [Accessed on 9-8-13]

Google Android Developer Resource. (2013) Current Android Analytics data- Platform versions, Screen Size and density and OpenGL version.Available at : [Accessed on 28-5-13 - updated fortnightly]

Primate Labs iOS and Android benchmarks - available at and [Accessed on 18-5-13]

Android Developer Resource. (2013)  Android distribution control. Available at: [Accessed on 11-8-13]

Google Android Developer Resource. (2013) Android version uptake at August 1 2013. Available at: [Accessed on 11-8-13]

Popular posts from this blog

Spine again - animating game assets

Laura Tallarday gave a neat demo of how to build an animation in Spine on the CoronaGeek Hangout, so I had a bash at chopping up an image and animating it.
The plan is to add some more sophisticated animations to the new game "Duck sized horse".. but as was discussed in the show adding a whole bunch of spine animated objects might hammer a mobile device... and as the aim is to have 100 tiny duck sized horses, I'd best choose another approach for them.

anyway here's a swaying viking...


Beta Beater

The Google Developer Console is really very very good.
It's logically set out, and makes it super easy to run a Beta test.
I'm on the tenth iteration of the final draft, and think I've got to a point where I can actually promote the app to Production.
The latest revision changed the icon set, and removed a load more cruft, slimming the app down to just 12.14Mb. I could strip out the iOS icons and lose a few more bytes but the original aim way back when I started on this project was to build a simple game that could be deployed cross platform, so I think I'll try and maintain just one codebase... as I really should submit this to the iTunes store too, to close the project.