1.2 Computing Levels

Figure 1.3. Computer system levels

The evolution of computing is approached here using Bertalanffy’s general systems theory (Bertalanffy, 1968). This theory is based on the observation of discipline isomorphisms, when different specialist fields discover the same equation or law in different contexts, e.g. a social agreement measure that matches a biological diversity measure (Whitworth, 2006). Bertalanffy proposed a “science of sciences”, namely the study of systems in general, since sociologists study social systems, psychologists study cognitive systems, computer scientists study information systems, and engineers study hardware systems. The isomorphisms of science are then general system rules that apply across disciplines.

Applying general systems theory to the evolution of computing gives the computing levels shown in Figure 1.3, where a computing system can be studied as a mechanical system, a software system, a human system or a social system, by engineers, computer scientists, psychologists and sociologists respectively. Computing began at the mechanical level, added an information level (software), then a human level and finally a community level; it is an example of general system evolution. 







Norms, culture, laws, zeitgeist, sanctions, roles




Semantics, attitudes, beliefs, feelings, ideas


(computer science)


Programs, data, bandwidth, memory




Hardware, motherboard, telephone, FAX


Table 1.1. The levels of computing

Table 1.1 shows how different levels change not only the system type but also what is exchanged. So a physical system exchanges energy, a software system exchanges information, a human system exchanges meaning, and a community system exchanges memes, where a meme is a common idea held within a culture. Each level of a system evolution is built on the previous, so that social computing emerges from personal computing, personal computing emerges from software, and software emerges from hardware. As computing evolves to higher system levels, so its design also changes, from technical to socio-technical design.

Levels can clarify the often confusing terms of computing. In Figure 1.3, a technology is any tool that people build to use, e.g. a spear is a technology. Technology is designed and built by engineers. In contrast information technology (IT) is the application of hardware and software, with a user implied. Computer science (CS) is then just about the software level, regardless of the hardware implementation. So information technology is not a sub-set of technology, nor is computer science a sub-set of engineering (because software is not part of hardware).

Human computer interaction (HCI) is a person in front of a computer, a human plus IT system, with physical, informational and psychological levels. Just as IT is more than hardware, so HCI is more than IT because it includes a human level. HCI systems exchange meaning, while IT systems exchange information. The semantic web vision of Tim Berners-Lee, the founder of the World Wide Web — his “dream for the web” — was a recognition of the human level of computing.

Today, computing supports online communities that have hardware, software, personal and community levels. If the first two levels are technical and the last two socialthe result is a socio-technical system (STS). If information technology design is computing built to hardware and software requirements, then socio-technical design is computing built to personal and community requirements as well. In socio-technical design, the new “user” of computing is the community (Whitworth, 2009a).

Unfortunately, different disciplines use different terms for the same levels, e.g. the study of software can be called computer science or software engineering. The human level of computing is even more confusing: engineers use the term IT to refer to user applications; business prefers the term information systems (IS); education uses information communication technology (ICT); and health professionals invented the term informatics to meet their needs. Each defines itself apart, but in this pan-discipline view, all are just the human level of computing. This book uses the term HCI for consistency.

If all the Figure 1.3 levels are computing we must design computer products as both social and technical systems. Limiting computing to hardware (engineering) or software (computer science) denies its obvious evolution.

Levels in computing are not system parts. To draw an analogy, a pilot flying an aircraft is one system with different levels, not a mechanical part (the aircraft) with a human part (the pilot). The physical level includes not just the aircraft body but also the pilot’s body, as both have mass, volume, inertia etc. Likewise, the information level is not just the onboard computer, but also the neuronal processing of the pilot’s brain.

The human level is the pilot, who from the sensations and perceptions of his or her brain generates meaning. To the pilot, the aircraft is an extension of his or her body, like extra hands or feet, and computer data is like extra eyes or ears. On a human level, the pilot is the actor, with the aircraft just a mechanical tool of the pilot’s will, so in an aerial conflict, the tactics of a piloted aircraft are different from a computer drone.

To repeat, the mechanical level is not just the physical aircraft but also the pilot’s body, and the information level is all the processing, of both the brain and of onboard computers. Finally, an aircraft in a squadron may do things it would not do alone, e.g. expose itself as a decoy so that others can attack the enemy.