A Weird Discrepancy Between Navigation Controllers On iOS And Watch OS

13 March 2015

The user interface of Watch OS is a distilled form of the iOS platform, in many ways refined more so than iOS has been since Forstall’s departure. On a technical level, Watch OS is iOS but that is irrelevant. The UI layer is independent.

Whilst the visual style is a large distinction (I would argue superior interpretation of a flat UI than achieved on iOS), Watch OS exhibits the same behaviour as the phone. Apps have push-pop navigation, table views, top-left back buttons1, pages with a row of dot indicators and scrolling content. The Digital Crown augments the experience … the fundamental ways to structure your app remain the same as UIKit.

However, one thing I noticed is that the layering of navigation controllers is the opposite as to what you would expect coming from iOS. On iOS, views are presented as stacking top-to-bottom. This means when you use the swipe gesture to go back, the finger pulls back the top view to reveal the second one underneath.

Weirdly, this metaphor is not carried over to the Apple Watch. On Watch OS, views stack in reverse. When you pull back, you pull the previous view over the top over the current view. The ‘cards’ get laid on top of each other when navigating backwards. You can see this in the video demo above; compare how view A replaces view B when gesturing on the watch and the phone.

This difference will go unnoticed by the general public. After all, it doesn’t affect how navigation controllers function, sliding back still goes back. changed the metaphorical hierarchy on this new platform. I don’t know why they did it — there’s a chance its simply an oversight — but I have a theory.

At small sizes, which the Watch screen certainly is, it’s easier to see something new coming onto the screen than something old getting removed. Being able to tell early is important because — when using the swipe gesture — your finger will obscure much of the display. The Watch OS even makes the disappearing view recede to further emphasis which context is ‘going away’. Making it easier to see what is happening makes it easier to see if you started the back gesture by accident, which might be a common error with edge-swipe gestures on a tiny touchscreen canvas. It all adds up. I may also be drastically over thinking this. I’d love to hear about any alternative explanations though.

1 Due to limited space, the title of the back button on the Watch is actually the title of the current view. On the iPhone and iPad, this title would normally reside in the center with the title of the previous view in the stack associated with the back button.