Rebol and Xanadu - by Jack Seay - August 2000
Rebol could help create better tools to edit web pages as interim projects, but the ultimate goal should be to replace the Internet as it exists today with something better: a stable data pool interacting with multi-dimentional browser-editor-camera-microphones. Rebol is a new generation language, being hardware independent, incredibly small (and thus fast, easily upgraded, and nearly bug-free), easy to learn (yet powerful), and has an interactive programming environment. It also has built-in graphics, including image processing.
What programming projects are likely candidates for major coordinated efforts?
Start with simple data structures that have no built-in limitations as to: 1. the type or amount of information they can contain or: 2. the types of manipulation and interaction with user/creators.
Something like Xanadu could add the ability for anyone to edit anything produced by anybody. The original version of a document-picture-audio-video would still be available, the original owner would automatically get paid royalties for all quotations and revised versions. Nothing would get lost: not links, documents, versions, or addresses. An infinite number of document ID's are available, thanks to an ingenious addressing scheme. Basically, the whole universe of information is treated as if it were all one document, and every single character, pixel, movement, edit, and sound can be addressed. Normally you would address either a full document or segment (span), but it is possible to get more specific, down to the bit level. It is also multidimensional, not just 3-D, but n-D. The dimensions could replace a lot of programming. Just show the "person's name" dimension as "x", the date as "y", pick out a specific message, then look at it's dimensions to edit the text in the editor dimension (using any available tool), now shown in "x", and the graphic editor dimension, now in "y", then roll into the animation and sound dimensions (with their own dimensions for each action they can perform), etc. until you are finished. Move to another dimension and select "send". So instead of writing a program that will perform these 15 things to a set of documents or images, just select the items in all the needed dimensions, and take a snapshot. Then hit "Play", sit back and watch. By selecting a set of dimensions and choosing operations performed in them, you've created a program without looking at any hieroglyphics. It is up to the presentation program to determine whether the user sees multi-dimensions, an outline, a grid, a 3-d environment, or just a plain page. The same information could be viewed any of these and other ways.
No need to load 4 huge programs, using only 1% of the code or less in each one. That obsolete methodology is similar to the HTML defect of loading only whole pages even when only a small part is needed. Xanadu (in it's newest form, called ZX or Floating World) follows the model of both Rebol and Amiga/Elate of loading only what is actually used into memory, and loading it only once.
Another possibility for a programming project would be something like Lifestreams. It has it's own unusual data storage design: throw everything in one big data ocean, then send out many agent programs to find everything matching a set of requirements. The Lifestreams (Mirror Worlds) type of interface could also be a front-end to the Xanadu database, since it is also multi-dimensional. Jini, and Java Spaces use this technology. The Scopeware website has a Flash presentation worth looking at: http://www.scopeware.com/,
I've often heard that for a new technology to take over, it must be 10 times better than the previous one. I believe we are beginning to see that happen in languages; operating systems; user environments; and data storage, retrieval, and analysis models. These previously distinct domains are in some cases merging as new tools are developed to handle several or all these tasks.
Related web sites:
Amiga, Lifestreams and Xanadu
Hyperworlds mailing list: