Fantastical: Tap vs. Hold
On touch interfaces, tapping and holding the same element may yield two different behaviors. On the surface, this looks like it would theoretically break 2.2 of Cadence & Slang, which calls for consistent behavior. In this part, three examples of inconsistency are called out:
- Similar behavior but different appearance. If two elements trigger the same behavior but look differently – for example, if they use a different icon or text label – you should probably do what you can to make them look the same.
- Similar appearance but different behavior. If two elements look the same but behave differently, you have a problem with your interaction model.
- Ambiguous pliancy. A special case, this breaks down whether an element is clickable (or tappable) or not. Tappable elements should look tappable; un-tappable elements shouldn’t.
In Fantastical for iPhone, the reality is more nuanced. Tapping the date (which, at first blush, doesn’t look tappable, much like many core elements in iOS 7 and 8’s operating system) takes you back to today; but holding the date takes you to a date picker.
iOS 7 and 8 have ambiguous pliancy throughout, most egregiously in their basic app navigation model. While an accessibility setting exists to add button shapes, it’s off by default, and even then it doesn’t work universally. Fantastical breaks pliancy here, but in the same way as the rest of iOS – and I personally believe this is more Apple’s doing than Fantastical’s.
This brings us to the last point: why do tapping and holding yield two significantly different behaviors? It depends on whether you think tapping and holding constitute two different interactions. Novices likely don’t; experts likely do; intermediates may need to be tested.
Germane to Fantastical alone, why does holding bring up a date picker? Fantastical allows numerous different ways of navigating to different dates, most of which leverage their unique (and legitimately excellent) interaction model. A date picker – one that looks quite a bit like the stock one that iOS provides – seems a little redundant at best, and breaking the portion of 2.2 that calls for similar elements having similar behavior at worst.
Holding-for-date-picker is the kind of behavior that I would test to see if I could remove it in subsequent versions. That would result in a simpler and more consistent app.
- Similar-looking elements should function similarly; similar-functioning elements should look similar.
- If you have more than two different ways to perform a certain function in your application, take a hard look at which of them can be cut, if any.
- Novices may regard tapping and holding as the same kind of interaction.
For more on these principles, read Cadence & Slang today.