Computers are built to run on metaphoric relations taken from earlier forms of technology and human experience not related to computers. An obvious example is the concept of a file, stored in a folder. That is, of course, a metaphor taken from earlier forms of organizing information in filing cabinets, when information was stored on sheets of paper instead of bits on a hard drive.
Another example is how users nowadays send files to a trash can, instead of actually deleting them. Earlier, Unix-based, computers did not operate with that metaphor and files were deleted instead of stored in some digital storage for garbage. Even now, Unix-based computers have the rm-command that removes files directly. There is no trash created when removing a file.
The information isn’t even lost immediately, as the operating system simply marks the file deleted, without actually removing the information from the drive. Subsequent write-operations may eliminate that information, but until then, the information persists and is possible to retrieve. Even the computer knowing where a file ends and another begins is part of the programming logic, with specific markers telling the machine where to start and where to end reading certain information.
Files, folders and trash cans are not how computers actually operate, and between the actual processes of the hardware and the commands given by the user is a layer of abstraction, making sure the human-understandable concept of throwing something in a trash can is turned into a meaningful command for the computer to run.
Most of the processes the computer system is handling have nothing to do with humans, but instead form a complex whole of interrelated processes that together ensure that the hardware works together and is able to do what it is supposed to do. If you open a process manager on your computer, you can see a large collection of processes, of which only a few are concerned with providing you an environment to interact with. And this is only a small subset of actual processes running on the computer.
Those processes which do handle interaction with humans are not built directly on top of the ones that actually do configure the system, but instead abstract that configuration to a familiar metaphor, more easily understood by humans: the desktop. Our world natural world consists of physical objects that are graspable and distributed in space. Understanding them requires moving in space and interacting with it in a physical manner. Creating, manipulating and removing information on a hard drive is a completely different kind of an operation, which the metaphor of the desktop grounds in the physical reality.
But the world around computers has changed from the time they were first created. Files and folders are now dead metaphors, not associated with filing cabinets anymore, but referring more often to their digital counterparts. Even remembering where that metaphor comes from takes effort, a conscious remembering.
As computer technology advances, the processing behind our screens becomes more and more opaque, layers of processes built on processes. There was a point in history when a human being could understand all that a computer did, but that time is long past. The interrelated processes and millions upon millions lines of code are not understandable by any one human being anymore, taking the efforts of groups of coders to make a modern computer run, each programmer knowledgeable on a certain aspect of the machine’s inner life.
At the same time, the layers of metaphors are becoming more abstract, each building upon the last. Modern computers don’t assume understanding of the processes behind the layer of abstraction, but of that abstraction itself. Understanding the metaphors is more important than understanding what they stand for. As time passes, metaphors become dead metaphors, and the original abstraction becomes a building ground for new abstraction.
This can be seen in the now ubiquitous cross in the top corner of a program window - a metaphor itself - representing closing the program. There is nothing in reality that this cross stands for, but understanding it’s purpose is central to understanding how programs relate to the operating system. It’s presence is necessitated by the logic of windows, a metaphor present in operating systems since the early Unix-systems.
Now, with the age of touch-screen technology, we are moving back to the world of physical objects. With the rising sophistication of hardware, the distinction between computers and mobile devices is evaporating. Your phone might have once been just a phone, but now, it is a computer than can also transfer sound. Now, most people own a computer than be touched, shaken, turned and flipped to make it do things.
Touch-technology takes its metaphors directly from reality, making swiping, pointing and tapping into actions that the computer can process. Touch-technology maps our understanding of the physical world to the digital world. Programs for reading texts show page turning animations, even if there are no pages to turn, just text stored on the drive.
The latest generation of computer users will always have lived in a world where computers are physical things, to be touched and tapped. An example of this is the baby who, when encountering a magazine, treats it like a non-functional iPad. The metaphor has turned around, with the physical object standing in for its simulation. The baby lives in a world where iPads have always existed, and her experience of the world is coloured by that fact.