The OS and Software of the Future

by Jack Seay
April 19, 2004

Rene' Descartes started rethinking his philosophy by beginning with only one assumption: I am a thinking thing. Perhaps it's time to rethink software design starting with the basics.

A hard drive is like billions of light switches, all connected together. It has no actual folders, directories, file names, etc. What operating systems and programs do is to group bunches or sets of these switches together and turn the switches on or off according to the program's rules and user's instructions. The switches are actually tiny positive or negative magnetic areas. Bunches of these magnetic fields are copied into the computer's RAM, or memory. That's where they are turned on or off as rules and instructions are applied to them by programs. They are then copied back to the hard drive for storage. One switch can be either on or off. In the computer's memory, they consist of microscopic transistors with either high or low voltage electricity flowing through them. One switch can be thought of as either on or off, 0 or 1, a black or white dot on the screen, male or female, yes or no, true or false; any two values we want them to represent. Put two switches together and you have four possible combinations: 00, 01, 10, or 11. These can be used to make four different sounds, show four different colors on a point on the screen; anything that has four options. Add one more switch and you double it again to eight different options; as you can have either a one or a zero in front of the just mentioned four combinations. Each time you add one more switch, you double the number of things that can be represented. These can represent numbers, letters of the alphabet, whole words, and locations of other switches. This is an important concept.

Nothing in the design of a computer requires you to organize these groups of switches into sets that contain other sets that contain other sets (folders within folders within folders) and that you must give eight letter names to these groups of switches. Nothing in the design of the computer requires that letters, numbers, pictures, etc. have to be displayed inside separate two-dimensional rectangles. You could just as well use circles, cubes, transparent balls, or 3-D objects; with lots of lines connecting them to show how they are related. Close your eyes and imagine or dream anything you want (or play some video games): shapes, motions, pictures, words, sentences, voices, music, three-dimensional environments. Don't just think of flat pages of text with fixed names in file folders inside other file folders (where you have to remember the exact name and location of each page to find it again).

Although links between documents and segments of documents are not connected using filenames and folders, these can still be used as organizing structures when desired. It's just that reorganizing and renaming, copying, moving, etc. won't break any links. The same document or segment of a document can be in as many locations as desired. Those locations may look like trees, lists, folders, spiderwebs, neural nets, imaginary n-dimensional animations with voices, music, movies, books, radio and tv stations, unglued magazines; with all thoughts, ideas, art works, and visions linked visually in numerous ever-changing selectable views. The limits of our imaginations will be the limits of our software.

Think of a sentence or paragraph with visible lines connecting it to every document that contains it. If you change a word in it in one document, it changes in all the documents that quote it. If you make a movie and three people review it next month, anyone watching your movie will automatically see the links to the reviews, even though the reviews were written after the movie was made. The movie reviews can contain clips of your movie and you will get a small payment anytime anyone reads the review and watches your movie clips. You can even change the name of the movie after the reviews are written and the reviews will still point to your movie and your movie will still point to the reviews. You can even have several names for the movie, the name can have spaces and any punctuation marks in them. Other people can name their movies the same as yours and the operating system won't get confused and delete your movie.

There will be no damaging viruses because the operating system won't allow one program to destroy other programs or documents. Each program is like a robot in a sandbox. The robot can do anything and be as unruly as it wants in it's own sandbox, but it will not be able to jump into another sandbox and destroy the sand castle there. The tools won't even exist in this design for that to happen. We now create parts that can be assembled into metal robots with long arms. The walls of the sandboxes we now have are low and built of glass. Is it any wonder that tens of thousands of unruly robot monsters have been built that can break the glass walls and tear down the sand castles (although just a few hundred of them cause most of the problems). But if you build the robot parts of plastic and the sandbox walls of steel, this won't happen. Even an unruly monster can only destroy itself. It can't hog all the sand or cause any damage outside itself. It can pick up a telephone and talk to the other robots and send and receive messages, but that is all the tools will allow. The operating system controls it and knows who it is. The operating system calls the shots. Bad robots will be terminated and their sandboxes given to nice robots.

Links between files (or groups of bits) always point both directions, aren't broken by revisions or renaming of the files, since they don't point to the filenames and directory location, but to stable unchanging groups of switches which can be either part or all of a document, movie, or song. There will be user defined types of links. You can filter whose links you want to see or hide; view just the first 10 links, then the next 10, and so on; or sort links by reviewers' ratings and recommendations. They can link between points, phrases, sentences, paragraphs, documents, books, movie clips or whole movies, songs, etc. A link can be from any media type and any length and can point to any media type and any length segment of a document. Different ways of visualizing different link types will be available, or you can create your own. Links can have more than one ending and look like a multi-dimensional spiderweb or any shape you can visualize.

Imagine there is a long line of tiny switches in space going around the earth. Every time you save a document, record your voice onto your computer, transfer a movie clip from your video camera to your computer, all the switches that hold that information slams (at the speed of light) onto the end of that one line of switches going around the earth. Your documents, videos, and sound recordings are encrypted for several reasons: 1. to authenticate that you are the author/creator/publisher (even when quoted in part or whole) 2. to hide first drafts until you are ready to go public or semi-public with it (it could be sensitive company, personnel, or financial data). 3. If you decide to sell your information, only those who have indicated a desire to pay for it will have it decrypted for them. If you make a correction to a saved document (even one letter), and save it, that becomes a new version which simply points to all the unchanged parts that have already been saved and adds in the additions, takes out deletions (by not pointing to them in the previous version), and shows what has been moved around (by pointing to the different parts in a previous or the original version of the document). But you aren't the only one adding millions of switches to this orbiting spiral. Hundreds of millions of other people are also adding to it at the speed of light. No changes are ever made to the spiral other than adding onto the end of it; thus links never break. There will be methods to point you to the same content in a newer version of the document.

Semi-technical details: The name of the software I am describing is Xanadu, designed by Ted Nelson. The operating system I describe is partly inspired by Ted Nelson's writings (especially "The Future of Information") and partly by the secure operating systems described at Agorics' web site. The single long string of switches I describe orbiting the earth is a visualization of how information on millions of connected hard drives could be addressed and accessed; the information sold, re-arranged, revised, edited, filtered, indexed, annotated, and re-edited over and over by many people. It is possible to give every smallest piece of information a unique unchanging address where it may be found and recombined into many other documents, versions, movies, and sound recordings. You can actually see this happen if you use Docuplex. You can now buy and sell and write and edit documents with others on the Internet using token_word. You can do parallel window editing with visual changes seen using Abora (Windows only). These programs (and others) demonstrate on a smaller scale what Xanadu and zigzag (an infinite dimension program) will do on a huge scale. They are in development now. A (now abandoned) project called gzz can give you a preview of what zigzag will be like. Xanadu and zigzag combined will be appropriately called Floating World.

One single switch is called a bit. Eight switches grouped together is called a byte. A byte can hold any of 256 possible values, because they can be turned on or off in 256 combinations (often letters, numbers, and punctuation marks). What must be built from the start is the right data structure: the long string of switches or bits that contain the world's information of all types (of course, to be published on Xanadu, the publisher/author must agree to the terms). The fancy programs that display, reuse, and edit it can be added gradually and constantly improved. But once you have picked a data structure, it is practically set in stone. So you want one that prevents identity theft (of document ownership), prevents broken links, allows anyone to reuse and edit anything, saves all versions, and allows the same version of the same document to be viewed in many ways. A single line of data that is constantly added to (a permascroll) allows all this and more. It could actually be implemented as billions of files on millions of computers. There will be clever addressing schemes applied to make your software treat it as if it was one continuous stream.

Relevant links can be found at,

Permission granted to quote this document in part or in whole anywhere.

Jack Seay

Back to home page