Monday, January 08, 2007

4 P's

It occurred to me last night to characterise mechanical/electrical computer systems by 4 P's:
Purpose,
People,
Place,
Processes,
and an extra one: Processors although this is more of an implementational detail than a part of the character of a computer system.

I considered these aspects with reference to whether the system has one or many of each. So let's dig into the history a little as I remember it.

Computer systems started out as glorified calculators, code crackers. This was a single purpose. They were used by one person at a time who had to be present at the computer. They did only one task at a time and were in fact only a single processor (with little in the way of peripheral I/O). I think this is the simplest form of computer: each of the P's is singular.

Moving forward in history, there have been systems that have made some of these P's plural with varying levels of success. Mainframes allowed many purposes in many processes and many people. Desktop PC's seem to be a backwards step in many ways: they started off as general purpose, but limited to one process for one person. Then something changed. Desktop computing added multiple processes - badly at first, but slowly becoming much better. Multiple people has yet to be adopted in a complete way, but systems such as desktop Unix installations have done better than most. Also, the place factor has become much better supported. I find myself able to log into a limited set of computers that give me *basically* the same experience. I can even take my usual laptop to another location and have nearly the same experience. Infact, I can log into almost any computer and have access to some of my usual experience if I keep my pen-drive with me (having said that, I am more experienced than most users and know how to use a range of different environments relatively effectively).

So what's next? Well, as I see it, someone somewhere will make good on Sun's promise that, 'the network is the computer', but also support times when the network is unavailable. This should make all of these P's plural in all cases. General purpose computing can be supported better with the introduction of byte-code compiled, interpreted environments. This could help make multiple processes safer too with strong sandboxing of processes against eachother. The operation of the system within the context of multiple people needs to be strongly addressed, especially when the system deals with multiple places, multiple processes and multiple processors. I have talked about security before, Unix systems appear to be the closest to what I have in mind.

In conclusion, I think it is possible to specify a system that could start along the path of pluralising these 4 or 5 P's. I think this would be a sensible next step in the evolution of computing history. Moreover, a focus on pluralising these P's should fix problems with current systems and add flexibility to the whole computing experience.

No comments: