On iPhone Fullscreen user interactions
As I am looking into iPhone application development, I did an informal survey to figure out what are the common ways to handle zooming and fullscreen interactions.
- The “survey” was conducted on my iPhone 3G 3.1.2.
- By ‘controls’ I mean any button, toolbar or popup that the user can tap on.
- All the apps were at their latest version as of the 28th of March 2010.
Apps with variable size canvas :
- Maps: Double tap to zoom in, two fingers tap to zoom out, pinch to zoom in/out.
- TomTom: Double tap to zoom in, two fingers tap to zoom out, pinch to zoom in/out (in the “explore map” screen).
Apps with a fullscreen view and variable size canvas :
- Google Earth: Double tap to zoom in, pinch to zoom in/out. Each corner has some buttons to trigger actions or show more controls.
- OffMaps: Double tap to zoom in, pinch to zoom in/out. Single tap to show/hide controls (but a double tap also triggers this).
- iOSMaps : Double tap to zoom in, pinch to zoom in/out. Always some controls on the top of the screen.
- Seadragon : Double tap to zoom in, pinch to zoom in/out. Single tap to show controls, with a delay before tappable elements fade in/out.
- Moon globe: Pinch to zoom in/out. Single tap to show and hide the controls.
- Photos app: Double tap to zoom/cancel zoom, pinch to zoom in/out. Single tap to show/hide the controls.
Apps with a fullscreen view and fixed size canvas :
- Stanza : Pinch to zoom in/out, single tap in the middle to show the controls.
- MyPaint free : Pinch to zoom in/out, a button in the corner to show the controls, tap in canvas area to dismiss.
- Koi pond : Buttons in the bottom corners. Fade in after a few seconds in the app, but still tappable.
Pinching is the only standard gesture for zooming.
- Double tap seems to be relatively common for zooming in.
- Pinch is the only common way to zoom out.
I was surprised to find that the two-finger tap gesture was quite rare, as it is featured in the iPhone dev kit samples and in the Maps app. Maybe it is judged as not easily discoverable?
Another interesting point to me is that no one seems to allow zooming out in single-handed operation.
Leaving fullscreen mode :
There seems to be two different ways to trigger showing more controls on the screen.
- For some apps you have to tap on a control, either partially transparent (Koi Pond, My Paint Free) or fully visible (Google Earth).
- For others, the single tap gesture is recognize, and triggers showing / hiding more controls to the user.
As a user, I find that ‘single-tap to show UI’ works well only in Stanza, maybe because it is a non-scrollable canvas. On scrollable canvas, the only OK implementation I found (in my very limited sample) was in the Photos app. I personally found it sluggish in Seadragon, too sensitive in Moon Globe and too annoying in OffMaps. For example in OffMaps: you can tap-and-hold to add a waypoint; to dismiss the control that appears, you have to tap somewhere else, but that triggers the global “show/hide UI”, as does a double-tap to zoom. By contrast, in the Photos app you have to tap to show the controls, but any tap or scroll in the photos area will dismiss the toolbars.
My main problem with single tap to show the UI is that it is too easy to trigger involuntarily in apps in which you interact with the screen for scrolling. Maybe it is much harder to get right? I believe it is easier to have the control out of the way in a corner, where it is still easily found yet harder to trigger unintentionally.