Comments from Frankston, Reed, and Friends
Wednesday, June 30, 2004
BobF at 11:47 PM [url]:
Project MAC: Man-Machine Symbiosis
Today many of the ideas pioneered Multics are still evident in its offspring - Unix and Windows. The reunion was an opportunity to reminisce and see how the ideas have fared. While I enjoyed the talks on the technical legacy of Multics we shouldn't forget that that purpose of Multics was to create an information utility.
The reason Multics has had such an impact on computing is that it was designed to give normal people the ability to use computing as a fundamental resource rather just use them as gadgets.
Project MAC was created in the 1960's as a multidisciplinary laboratory. JCR Licklider, an acoustic psychologist was one of the founders. He was also instrumental in funding the Arpanet which was the predecessor of the Internet - Project MAC (later renamed Laboratory for Computer Science and is now CSAIL) was a key participant in both of these efforts. Though "MAC" itself was not an acronym, it can be considered to stand for "Machine Aided Cognition" or "Man and Computers".
In the 1960's computers were very expensive and inaccessible. In order to give (normal) people access to computing it was necessary to have them share computers. Multics went a step further than this and took advantage of the sharing to create collaborative environment.
Multics was designed from the start as a highly secure computing environment. This was important to the military but it was necessary for collaboration. The goal was to create an environment that the users could trust enough to use their working environment.
In order to be able to trust the system you have to have confidence that the system understands your intent. Who can read which files and who can make changes. In Multics you simply needed to look at a file's access list. In today's systems you can't quite be sure because there are so many different paths and the systems don't make it easy to look at the rules.
Multics was constantly refined to make it understandable. Confusing or risky features were fixed or eliminated. The system itself continuously backed up files so you could feel confident that your files wouldn't get lost.
Multics didn't make a strong distinction between developers and users - the system allowed anyone to create new programs and services. Users trusted the system but they didn't have to trust each other. You need protection from well-meaning users as well as malicious ones. In fact, you need protection from your own mistakes.
It was an information utility that delivered computation as other utilities deliver electric power. The user defined the applications.
Today's personal computers are children of Multics. The systems are far more capable but something has gotten lost in translation.
Instead of earning our trust, today's systems require unbounded trust and confuse security with isolation. We have an asymmetric model of user experience - how do we make computers seem cute and cuddly rather than nurturing a symmetric relationships in which all participants learn and evolve.
We have good reason to distrust our computers - the systems are too complex and thus unpredictable. The complexity makes it difficulty for us to feel comfortable that the systems are doing what we intend and they provide numerous opportunities for others to subvert our intent.
The goals of Project MAC are even more pertinent today than they were when were working on Multics. We are living in a connected computing society yet act as if we are simply bystanders entranced by gadgets and at the mercy of systems beyond our control. We cower behind firewalls instead of embracing the possibilities.
How can we revive the vision of Man<->Machine symbiosis and give people the ability to be engaged rather than just being observers with little choice beyond what ring tone to buy for our cell phones? We find increased efforts for certification rather than getting the ability to make our own informed choices.
Just to cite one technology example: Microsoft now has a program for certifying device drivers because of the problems caused by bad drivers. Rather than making it more difficult to support devices Microsoft should create a safer environment for drivers. The current driver architecture made sense on the slow computers of the early 1960's but today we must emphasize resilience and flexibility rather than requiring that every element of the computing environment work perfectly. If I buy a new scanner I should be able to put it on my network rather than having to modify my operating system by installing a special driver which has the ability to crash my system - or worse.
If I don't understand what is happening with my computing systems then I can't solve my own problem. Millions of people are at the mercy of the operating system providers for protection against those who exploit the vulnerabilities hidden within this complexity.
Computers can act as our agents and leverage our creativity. This was the vision of Project MAC. It's a vision that has been lost amidst the glitter of gadgets and the fear of the shadows lurking in our inscrutable computing systems.