A level is now formally defined as a world view, a way of seeing reality that is complete and consistent in itself. So a computer on the mechanical level is all hardware but on an informational level it is all software. We cannot observe a program on a motherboard nor a hardware device in a data structure. Your mobile phone does not have separate hardware and software parts, but is hardware or software in toto, depending on how you view it.
Hardware and software are therefore ways to view a computer system, not ways to divide it up. Hardware becomes software when we see computing in a different way. The switch is like someone swapping glasses to see the same thing close-up. Hardware and software are the different types of glasses we can use to view computing.
Following this theory, all the disciplines of science are world views, like walking around an object to see it from different perspectives. We can then choose which view is most appropriate. For example, to describe World War II as a scientific history of atomic events would be ridiculously ineffective, as a political summary is the more appropriate view.
As views, levels emerge from each other, as lower abstractions give higher ones (Figure 1.4). Information emerges from hardware options, meaning emerges from information flows, and communities emerge from common citizen meanings. Conversely, without physical choices there is no information, without information there is no meaning, and without meaning there is no community. A community is here defined as a set of people who see themselves as a social unit.
A world view is:
- Essential. To view a world one needs a view perspective.
- Empirical. It arises from interaction with the world.
- Complete. It consistently describes a whole world.
- Subjective. We choose a view perspective, explicitly or not.
- Exclusive. You cannot view the world in two different ways at the same time, as you cannot sit in two places at once. One can, of course, view from one perspective and then another.
- Emergent. One world view can emerge from another.
Note that a level as a view must be chosen before viewing, i.e. first pick a level, and then view.
Levels affect design because how we see the world affects how we act in it; e.g. if we saw ultra-violet light, as bees do, previously dull flowers would become bright and so every flower shop would want to change its stock. Levels as higher ways to view a system are also new ways to operate and design the system. Hence new software protocols like Ethernet can improve network performance as much as new cables.
Levels have also changed how business works in computing. When the software era arrived, hardware continued to evolve but hardware leaders like IBM no longer dominated computing unilaterally, as they had before. The software level changed business fortunes by changing what computing is. Selling software makes as much money as selling hardware, as the software changes more rapidly and needs to be replaced or updated more often. Web queries are even more volatile, so Google gave its service away for free and then sold advertising around it — it sold its services to those who sold theirs.
As computing levels changed, so did the business model, as selling knowledge is not like selling software. Facebook is still working out its business model, because you cannot “sell” friendships as you do hardware and software. Yet Facebook now challenges Google because we relate to family and friends even more than we query knowledge — social exchange has as much trade potential as knowledge exchange.
New ways to view computing thus affect how we design and build computing systems. Each level emerges to add to rather than replace earlier levels. As design requirements cumulate, socio-technical design includes hardware, software and human requirements, as well as community needs (Figure 1.5). Computing that appears to us as just hardware now has a social level; e.g. smart-phones are a communication medium as well as a hardware device. Computer design is inclusively evolving from engineering design to socio-technical design, to keep pace with computer evolution.
It is worth reflecting on how the role of technology has changed in a few centuries. During the industrial revolution, technology was isolated from the needs of society; e.g. a village beside a factory belching smoke found its need for clean air threatened. The idea of socio-technology first arose because technology was implemented with ethics as an after-thought.
However, in the information revolution the social and technical merge into one. If social needs are not met online, there will be no online community, which means the technology fails. In socio-technical design, social needs as the higher level always come first. In the evolution of design, higher level requirements have a natural priority, as is now discussed.