In the initial years user interfaces derived heavily from real-life objects. Common examples include buttons, spin controls, dials, check-boxes and radio-buttons. Modern UI design relies on prior Computer exposure of general public and controls are now designed for the user-interfaces directly and not modeled on objects. Today we no-longer see the 3d button like controls in tool bars. There are exceptions like media players and clocks, but they have exact real-world couterparts.
One of the things that worked somewhat opposite to the real-world is the scroll-bar. When we read from a piece of paper, we move the paper up to continue reading it. However on-screen we click on the down arrow below the scroll bar to make the document move up. Some software like Adobe Acrobat models there user-experience on the real-world. There you have the option of using the Hand Tool to grab the document and push it up, as you’d do with a piece of paper.
Its funny to notice that most people are more comfortable with the scroll bar and not with this hand tool. Dominant software makes users conditioned to do things is a way so much so that they start feeling that this is indeed the right way to go.
I have noticed a very similar thing with elevators. In developed countries its hard (or impossible) to find someone not accustomed to elevators. But in developing countries like India you sometimes do find people who are not very familiar with it. For them elevators are like cabs, they figure out they need to summon it and once inside need to tell it which direction to go. For them the usage pattern is very different. If they need to go down and the elevator is on some floor below them, they’ll press the up button to call the elevator. When inside they’ll press the down button. But to their astonishment it’ll go to floors above them first.