"This is the main entrance of the building I work in. Eh, to be precise it's the user interface to the door lock. (There are actually 2 user interfaces there. The door bell for the first-timers, and the panel below for "experienced users"). It's standard issue: Swipe your ID card, type in your code and the lock opens with a bzzzzz.
As you can see the numbers are worn off. They can't be read. How do people get in through the door? No they don't ring the door bell. But if they can't see the numbers, how can they enter their code? When I get to work each morning, there isn't a queue of 150 people outside failing to get the door to open. So they must be able to get the door to open somehow.
We don't enter numbers, we leave it to our hand to type in the code. If we do it often enough, the hand learns the code, an effect called Muscle Memory. The hand does not remember the numbers, it remembers a movement pattern. Many people, when asked what their PIN code is, have to type it on a real or simulated keypad and look what numbers their hand type. In fact, when I asked my colleagues about the panel at the main entrance, none of them had even noticed that the numbers were missing!
The brain-to-hand connection is very well developed in humans. Manipulating something with our hand does not take much mental effort. As a result, direct manipulation feels effortless. The flip side of this is of course that if your software is inconsistent with learned behavior, your users will be frustrated.
It's worth repeating that you should not design your software to be consistent across devices. You should design your software to be consistent with the device it runs on. Your users are unlikely to use your software on many different handsets. When your software runs on an old Sony Ericsson phone, it should use the hardware Back key down to the left. When it runs on a Nokia Series 40 it should use the softkey back to the right. Here are some common key layouts:" (Continued via Sender 11, Small Surfaces) [Usability Resources]