When the iPhone first debuted, its built-in motion detector (the accelerometer) was a delightful novelty, and it inspired a corresponding number of first-generation novelty apps. Your iPhone could be a light saber, a glass of beer, or a shotgun. Give it a tilt, a shake, a wiggle, and your iPhone responded with animations, sound effects, you name it. The shiny new hardware feature proved irresistible to developers of more staid apps, too, who experimented with using hand waving gestures to trigger some actions—moving the iPhone itself as an alternative to touching the screen. In particular, the shake gesture showed up everywhere and for all kinds of uses: Urbanspoon used shake to choose a random restaurant; Facebook used shake to load new content; PCalc used shake to clear the current calculation; and Etch-a-Sketch used shake to erase a drawing.
Even at the time, here's what all of those developers knew: shake is a gimmick, a cute novelty more than a useful gesture. While shake works well for casual entertainment apps—it's great for games and music apps—or to support an interface metaphor like triggering Urbanspoon's slot machine, it's a disruptive and awkward motion for other uses. Shaking draws attention unnecessarily to the hardware and away from the task at hand. When you're tapping away and focused on the screen, shaking the entire device pulls you out of your flow and, afterward, forces you to find your place again onscreen. It's not exactly the most discreet gesture, either: it's tough to keep a low profile in a public place or a board meeting when you're waving your phone vigorously to get something done. While shake is awkward to perform on demand, it's also all too easy to trigger by accident. A quick jog, a speed bump, or an over-caffeinated morning can all yield unintended shake gestures. That means that it's an especially bad idea to use shake for a destructive action like deleting content or clearing a screen.
Exactly when you should use shake is a point of confusion. Its inconsistent use across apps means that users don't have a stable expectation of what shake might do from app to app (randomize? delete? reload? undo?). Starting in iPhone OS 3.0, the built-in apps started using shake to conjure the undo/redo dialog box, suggesting a standard use for the gesture, yet many apps continue to use it for lots of other actions. Even as Apple's apps settle on shake to undo, it remains clumsy to pause in the middle of typing to shake your device—and it doesn't scale well at all to larger screens like the iPad, where shaking takes a real windup. Still, this emerging standard for using shake to undo will likely become a first expectation for the gesture. For productivity apps, in particular: if you use shake at all, it's best not to fight this standard; reserve shaking to trigger the undo/redo dialog box.
Apps that continue to use shake for other features should at least consider adding a button or other onscreen action to provide an alternative to the awkward shake gesture. Urbanspoon offers a button to spin its restaurant slot machine, for example, and Facebook, likewise, added buttons to supplement its originally shake-only feature for fetching fresh content. "You still can shake in Facebook—it's still an option—but I personally never use it anymore," says Facebook developer Joe Hewitt, who developed the first three versions of the app. "I might even be inclined to take shaking out of the app at this point."