How many times have you clicked a button in an iOS app that unexpectedly routed you to another app with no way to get back? Or tapped a push notification and forgotten which app you came from? Using the application-switcher to go back is slow and manual, and good luck finding that app again on your home screen.
Finally with iOS 9, Apple is solving this by adding a “back” button to the top status bar whenever these interruptions occur. Links from your email will still open in Safari, but when you are finished reading the content, you can now tap the handy “back” button in the top left to go back to your email. This behavior is supported for push notifications, app-to-app linking, and the new home-screen search. And best of all, this behavior is provided automatically to both first and third-party apps. While Android devices have a hardware back button that allows users to navigate to a previous app whenever they want, the iOS back button is purely a software enhancement that allows for backwards navigation under certain conditions. The button is controlled at a system level and apps cannot create or manage its behavior.
Geeking out over new features is exciting, but since this is a development blog, let’s try to break something. Even though we don’t have any developer hooks into the back button behavior, there are still a couple ways a user can get into trouble:
Pre-iOS 7 Apps
Frankly, I am surprised that these apps can even launch on iOS 9. That said, you can see a nasty border around the back button in pre-iOS 7 apps. This is most likely because the standard button type for iOS 6 was the UIButtonTypeRoundedRect, which is now mapped to the borderless UIButtonTypeSystem in iOS 9.
If a user is routed from one app to another app and then to a third app, the first app’s back button state is discarded. This means that a user cannot go back more than once and the stack is cleared every time a new “back” button is created.
Even for an early beta, there aren’t too many issues with the back button behavior. As an iOS user (and fanboy!), I am very excited to have this feature on iOS.