We’ve build software for decades now. Starting with running software on remote mainframes and providing access via (dumb) terminals we moved toward personal computing where most of the computing activities happened locally on the desktop of the computer (aka the personal computer revolution). Spreadsheets are a wonderful example for this: from the mid-1960s onwards software on mainframe computers was used for spreadsheet calculations. This began to change in the late 1970s with the arrival of the first spreadsheet programs for what then called minicomputers: users were using their own machines and run spreadsheet software locally – without mainframes.
When the world wide web entered the scene things began to change again. Users started accessing remote servers and companies began to offer services on their servers and moved their services into “the cloud”.
This was more accelerated by ever growing use of smartphones: modern apps are using lots of remote services from the cloud. Typically, apps all kind of information (e.g, user behavior in the app, collect sensor information, etc.) and send it the the cloud where some business logic decides what to with the information and then the apps act accordingly. Smartphones also have become more and more connected with all kind of household appliances: there are apps that control fridges, thermostats, unlock doors, speakers, etc. The physical world around us has become “richly and invisibly interwoven with sensors, actuators, displays, and computational elements, embedded seamlessly in the everyday objects of our lives, and connected through a continuous network.”.
This is basically the ubicomp vision of Mark Weiser – who is recognized as father of ubicomp. He described invisible technologies that “weave themselves into the fabric of everyday life until they are indistinguishable from it,” where computers are integrated “seamlessly into the world”. People were to own many computers, all interconnected, all with different form factors and with different usages: inch-scale displays as notes, foot-scale displays as paper, yard-size displays as white-boards and digital billboards as – well – billboards. Devices would be equipped with all kinds of sensors to obtain information about their location and surroundings. This is called now context-aware computing.
This division into different contextual usages echos proxemics, a term coined by anthropologist Edward Hall in 1966. The core of proxemics is the study of the culturally dependent interpersonal use of space for human interactions. Hall defines four proxemic zones for interpersonal distances:
- intimate (less than 1.5 feet)
- personal (1.5 to 4 feet)
- social (4 to 12 feet)
- public (12 to 25 feet)
People behave differently when in these zones and adjust their behavior accordingly: they adapt their their social activities to the respective interpersonal distance.
Mapped onto the way how we use computers in various daily situations, we can easily see that there is a strong correlation between activities with computers and behavior in different proxemic zones. In an intimate distance, we use a computing device alone, with nobody else involved. Imagine for example a person writing a text message on a smartphone. The smartphone is right in front of the person’s face while she types the message (unless she is one of the persons that can text messages while their phone is in their pocket – but this still happens in the intimate distance).
In a personal setting there is another person involved. For example, you turn the screen of your desktop/laptop towards a colleague sitting next to you and show a spreadsheet to discuss the content. In a social interpersonal distance, there are several people involved. In an extension to the scenario above, imagine just more than one person looking at your spreadsheet presentation or you are giving a short software demo in front of several colleagues. Finally, in a public interpersonal distance you might be at the center of attention when presenting a project progress report to a large audience during an project audit.
Now, if we view the activities trough a software lens, a proxemic perspective on computing strongly suggests several different software architectural paradigms for different proxemic zones:
- Intimate = Personal Computing
- Personal = P2P Computing
- Social = EDGE Computing
- Public = Cloud Computing
Like in proxemics, where the respective zones can overlap depending on the individual and society norms, there are no hard borders between the different architectural paradigms. In fact, if we take distance into account, P2P computing provides applications like file sharing that can be regarded as “social activity”. Thus it can be placed into a social or even public distance when hundreds of strangers are participating in file sharing activities.
This initial mapping needs to be studied deeper for metrics that offer a clear differentiation between the different proxemic contexts and mapping of computing activities to the different zones.
Source: IKANGAI | Blog | Towards a Proxemics Driven Software Architecture