Interaction Design Pattern - Execute and Exit
The purpose of this article is to introduce a mobile-specific interaction design pattern that leverages the underused double tap gesture. I’ve dubbed this pattern Execute and Exit. In addition, I’d like this article to initiate a dialog regarding the value of the idea itself, improvement ideas, and/or alternatives. If you don’t care about the back-story or my reasoning behind the double tap gesture decision then you can skip straight to the pattern.
In designing and developing the mobile app Noded over a year ago, I created a solution that I’ve since dubbed Execute and Exit. This solution aligned with the application’s core goal of getting the user in and out of the app as quickly as possible. For exiting, I wanted the application to automatically save the user’s input data but also self-close, send the user to their home screen, and provide visual feedback confirming the save action. Execute and Exit accomplishes all of these goals in a single double tap gesture as can be seen in the pattern example section below.
Recently, I’ve been wishing this ability was in other apps more and more. As a result I’m writing this article and introducing the idea to see if there is any validity to its use in other applications. I firmly believe it would be useful in Twitter, Gmail, Facebook, Calendar, and virtually any app that uses a ‘Save’ or ‘Post’ action, but I bet others could come up with other great use cases too.
It’s worth noting that I’m suggesting specificity in the action, application, and behavior of Execute and Exit, but a TL;DR version could just as easily be:
I could see an extension of this pattern leveraging triple tap too. In this situation, the screen would also shut off. Here is an example use case:
Triple tap may be a slightly extreme or uncommon interaction, but I could still see it being valuable for users. Educating users would likely be the trickier part and triple tap may only be valuable for ‘power users’.
Why Double Tap?
In all honesty, it initially just made sense. Upon revisiting the decision and revisiting the mobile gesture guidelines of Android, iOS, and Windows Phone, I’m convinced it’s the right choice.
Revisiting the Decision
A single tap on a button executes its primary action. We are all used to this concept in both the virtual and physical worlds. If a user taps this button again, he/she assumes one of two things based on their reinforced input:
- The action will again take place (if the button hasn't changed state or been disabled)
- The action will occur quicker
These above thoughts are not validated by data as I believe them to be common knowledge and expected behavior, but by all means go confirm or deny them. I think about it like this, when was the last time you used an elevator? Did you push the same button more than once in hopes of making the elevator work faster?
Unfortunately, elevators are like honey badgers so you’re SOL there as each subsequent button press doesn't make the elevator work incrementally faster. I bet all elevator users wish this was the case, but I digress. My point is that a double tap on a button is reinforced input. I argue that this reinforced input (depending on the button type) is commonly associated with an expectation of a speed improvement regarding the button’s resulting action. Speed (and convenience) is ultimately what we are after by leveraging the Execute and Exit pattern. The second tap as reinforced input is why I think double tap is the best choice. I am all ears if you believe otherwise though, in fact I’d love to hear your reasoning - @derekknox.
Having revisited the decision, I also grew curious of how all three major mobile platforms differentiate in their gesture guidelines. You can view each double tap (also known as double touch) gesture guideline at their respective page below:
As you can see, double tap’s use is virtually identical from an OS guidelines perspective. You can also see that its use is restricted to zoom. If you however know of any apps (ideally a collection of them) that use double tap in a consistent (non-zoom) way, I’d love to hear more. Otherwise, I'll continue to assume that that double tap is restricted to zooming.
Some might argue that a long press gesture is a superior solution, but it seems to me that long press has its expected use carved out already. Long press has become more synonymous with the contextual click of Windows and Mac or as a “learn more” toast behavior that identifies what a button’s icon represents. I actually tried long press in replacement of double tap temporarily in Noded during testing. I quickly reverted however, as long press felt like an inferior interaction. Again, I believe the reinforced input of the double tap implies the intention to execute the action quicker, which is ultimately what we’re after with the pattern.
Execute and Exit
Users want to execute their final action for a given session within an application and intentionally communicate this fact to the application so it can automate subsequent actions
A button’s primary action has the potential to be the final action a user would take during an application session
Give certain buttons the ability to execute a secondary action in addition to the button's primary action
Add a double tap listener to buttons that benefit from using Execute and Exit functionality and ensure that its handler accomplishes or delegates these four actions:
- Execute the button’s primary action
- Close the application
- Send the user to their home screen
- Display a toast message communicating that the primary action was taken
Noded is currently the only app I’m aware of that uses Execute and Exit, but as mentioned before I believe most apps could benefit from this pattern (Twitter, Facebook, Gmail, Calendar, and any app that has ‘save’ or ‘post’ functionality). Below is the pattern in action within Noded:
I believe Execute and Exit is a useful pattern as it automates what users commonly do after executing their final action in an app. My biggest concerns with the pattern are:
- It may only be valuable for ‘power users’
- Educating users on double tap gesture usage outside zoom
If you have any thoughts regarding the pattern, don't hesitate to contact me on Twitter @derekknox.