The iOS 8 beta has been out for a while now, along with the developer tools to go with it. I wanted to put my thoughts together on what some of the new APIs could hint at for future features and products from Apple.
Size classes vs. a new sized iPhone
Before iOS 8 the recommended way to make a dynamic interface that worked on both iPhone and iPad was to check the device’s idiom. Your code would check which device it was running on and then adjust the UI accordingly. Now this is discouraged and the new way to do this is via size classes. You check which size class is set for the current view and view controller through its trait collection. The size will either be compact (phone) or regular (tablet), and can be different per horizontal and vertical axis.
So what does this mean for the future? Apple is really pushing dynamic interfaces, meaning if a new screen size came available your app would continue to work. Now I think there’s enough evidence for the a larger iPhone 6 already, but this is more evidence we can throw onto the pile.
Resizable simulator and the UIPresentationController vs. multiple apps per screen
The iOS simulator now lets you change the size of the screen to any size you’d like. This isn’t just changing and relaunching the app, this is changing while the app is running and have it adapt dynamically (via size classes). I think this will contribute to the ease in developing for differently future sized devices, however with the rumours brewing around being able to use multiple apps on the one screen on the iPad, I think this backs it up.
During the runtime of your app, changing the size will also adjust the size classes within. Apps are expected to dynamically change between an iPhone and iPad layout to accomodate.
Also, now developers are recommended to use a UIPresentationController. Rather than the previous strategy of pushing and presenting view controllers, the UIPresentationController will dynamically choose which presentation style is appropriate based on size class. This could mean showing a popover on an iPad or a vertical presentation on iPhone.
Local authentication vs. Touch ID on an iPad
Now in iOS 8 the Touch ID fingerprint sensor has been opened up for developers to incorporate in their own apps. It would be silly if this was only available to apps running on an iPhone, I think it’s quite likely the next iPad (and maybe iPod Touch) will see a built in Touch ID sensor.
Indoor location vs. improved Maps app
CoreLocation got some brand new indoor functionality. Now the device can tell what floor of a building you are on. Perhaps there is a big Maps update underway (only capable of running on a brand new iPhone 6, of course…)