Since 2003 I have been working with the problem of adaptive user interfaces. The common examples are apps that work on phones and tablets that can have a range of different screen sizes, shapes and resolutions. Marco Arment in episode 85 of the Accidental Tech Podcast spoke a bit about what he has learned from his previous app, Instapaper. As well as a lot of custom elements this had a separate UI for iPhone and iPad. This was then compared to his new app Overcast and the additional challenges being offered by the different screen sizes on the new iPhone 6 and 6 plus. A variety of reasons were given for minimising the amount of UI that is custom to a specific device and instead just having a single universal adaptive UI that works on all iOS devices.
On first listen I broadly agreed with some of the reasons given for this and kind of agreed with the conclusion, even though I also hope it is wrong. I want apps that get the best out of my iPhone and my iPad. Not just a one size fits all kludge due to the cost, or questionable user value of having anything device specific. It kept bugging me and I remember how this is a surprisingly complex area. A lot of people are in the dark about all the issues here.
Back in 2003 the design brief was to take a touch based mobile app platform (yes they did exist back then) and allow it to adapt to a range of screen sizes. “Apps can scale on the desktop when you resize the window, now just do the same for mobile”. But mobile apps were far more complex. Factors such as holding and using a phone one or two handed needed to be considered. Then there were different types of app. Some could easily scale to use a different screen such as many games, video and the web browser. While others such as the calendar needed major redesigns.
Since 2003 we have seen the emergence of responsive websites. A single site that can adapt to desktop and mobile web browsers. As Apple have increased the range of screen sizes and resolutions with the iPhone and iPad they have also introduced a single new solution to adaptive needs called Auto Layout. Today the new naive call is just make your app scale like a responsive website, or just use Auto Layout. But it is not that simple. There is no one size fits all. Or at least there isn't if we want to not wave goodbye to a whole class of interesting applications. At this stage in the evolution of apps shouldn't we be seeing more interesting variety, not less?
The following series of posts is an attempt to share some earlier learning. To describe why mobile is different to the desktop and the web. To explore how different types of apps have different problems. I then want to research some of the key solutions to making adaptive apps and share them. Right now I am unconvinced that there is a magic technology that can solve all these issues. That new thinking and new solutions are needed. As well as that device manufactures have a responsibility to limit the range of devices they offer. To better consider these problems and not burden app creators with a wide range of screens as if these issues are not that important or have been satisfactorily solved.