When the iPhone was first launched in 2007, it was designed to support one screen resolution, and nothing more. Later, with the launch of the iPad and the Retina display on the iPhone 4, Apple had to optimize its concrete user interface elements for larger, higher resolution displays. Today, we have not only a Retina display on the iPad, but a rumored 4-inch iPhone as well, likely debuting in the fall.
With all of these different screen resolutions to handle, Apple has stealthily implemented a feature into iOS 6, one which will allow developers to intelligently scale their apps to fit nearly any screen resolution.
Pushed in part by the recent wave of giant sized Android phones and mutant “phablets,” Apple is finally pushing for larger displays with increased resolution for its products. This is all fine and good, until you look at the job of the developers writing apps for these multiple screen resolutions.
One of the main reasons developers choose iOS over Android in terms of development is because Android tends to be fragmented, as a result of the hundreds of devices the operating system has to support.
Android developers often have to use dozens of devices for testing their apps on every screen resolution imaginable, from the smallest 320×480 displays, to the newer 1280×800 displays found of many recent Android tablets.
This kind of development process is a nightmare, and its a risk Apple isn’t willing to take with its developers. This is why starting with the iOS 6 SDK, Apple is implementing what it calls “Auto layout,” to prepare for the next generation iPhone.
Essentially, Auto layout performs exactly the same way as it does in OS X Lion, where the feature was first found. Developers provide a set of constraints for interface elements, and depending on the screen resolution, these elements can move around to fit where they need to be.
This essentially combines the best of both worlds. Interface elements in Android run on a similar system, allowing them to stretch to whatever resolution is required. That, combined with the way iOS handles universal binaries, which contain graphics and assets for multiple devices, creates a solution that it not only more pleasing to the developer, but more pleasing to the eye as well.
When Android phone apps are scaled up for tablets, they often end up looking like exactly what they are- stretched out phone apps. With Auto layout, Apple hopes to provide an easy solution for developers, while still keeping the fit and finish that iOS apps are sometimes known for. The neat thing about Auto layout is that it can be applied to much more than just a larger iPhone. Down the road, if Apple decided on a smaller iPad, or perhaps an insane double Retina display, Auto layout would take care of a lot of the work.
This kind of forward thinking is what Apple is known for, and is why no matter how much Google pushes Android, developers will always choose iOS first.