If the user shakes the phone when your app is running what should it do?

Will users get platform control of their gestures?

I have overheard a few conversations in the last week where folks were talking about the “shake” gesture on mobile. It has been interesting to see more and more apps respond to that gesture.

On the one hand it is so alluring in that it universal, global and can be made at any point in the experience, but on the other hand its effects are not discoverable, can be hard to trigger, and can lead to false positives.

Sometimes a source of joy, and at others very frustrating.

Over time we have seen a series of themes for the shake gesture:

Shake to undo

The first time I saw the gesture used in a mainstream way was in iOS itself where you could shake to undo what you had typed. To be honest, most of the times I saw this were in error (shaking in my pants).

But the notion of undo-ing an action, and having a stack that has undo/redo built in is powerful. It is always frustrating to use an experience that uses a warning “Are you sure you want to do that?” vs. giving the ability to undo the action. In applications such as Mailbox I find myself using this a lot.

Oops, I didn’t mean to delete that email => SHAKE

When a user builds trust in your app they explore more, knowing they can go back in time if they made a wrong turn.

Shake to initiate core action

Do you have the context to know that there is a primary action that the user probably wants to quickly get to right now?

In Asana I wish I could shake to add a task. Starbucks lets me shake to pay. In this way we can bring the other context into the picture, for example “I know that you are in the store, so let me get some store features ready for you!” (we do this in our apps).

You can imagine adding a gesture like this to some context elsewhere (shake to pay at a vending machine). In a world of beacons, you don’t always want them pinging you all the time, but it could be nice to activate an action.

Shake to shuffle

Other forms of navigation are a mix of undo and “go somewhere else”. For example, many apps let you shake to go to the next random song, or start a new game

Global actions and taking control

The shake gesture is one of very few global gestures that you, the user, can perform. On my desktop I can go into settings and configure the control of a gesture (e.g. Cmd-Shift-T == create a new tweet) and set the scope of said gesture. What about mobile?

I would love to be able to force an action on shake (e.g. really, let me shake to create a new task Asana!) and to do that you could go past the world of manual setup per app, and let the system detect injection points (deep links).

On some platforms, such as Android, you see applications such as an app launcher to quickly get you where you want to go.

I may want to shake to get to an app, but this is where the context could come in again. If I shake the phone the system can show me different thoughts based on if I am near a beacon or in a geo fence. If I get to Starbucks let me shake to get my Starbucks Card from passbook (vs. launch the app etc). If a notification just disappeared let me see it again.

I really hope that the platforms end up giving us users control again, and I am curious to see what other gestures and sensors will come in to being. Leap motion here we come….

In the meantime, if the user shakes the phone when your app is running what should it do?


Yesterday, Ben posted his thoughts on Pursuing Memory. I have enjoyed spending time discussing this topic with him in the past as we are both working on improving our working set.

I have been trying systems such as:

  • N-Back brain games: pushing me to build up my ability to hold more working memory at a time
  • Lumosity: some of the games are memory based
  • DuoLingo (and Cat Spanish with my son!): I have gotten back to learning Spanish again
  • I continue to iterate on a system that I use to organize my world in Asana. I store my ‘Raw Thoughts’ as they happen, and I process info on people, places, processes, information, and more. It has been a huge boon for me to date, but I want much more automation.

It feels like we are so primitive at times. When you think about the monks who could memorize huge swathes of information. We have to be able to learn faster (I am curious about ideas such as SuperMemo) although I know that with technology of today we don’t have to learn things in the same way.

Leave a comment

Your email address will not be published. Required fields are marked *