My favorites | Sign in
Project Logo
                
Show all Featured downloads:
Xerblin-0.9.5.tar.gz
People details
Project owners:
  forman.simon

Xerblin is a completely general Human-Computer interface.

It provides a single metaphor for interacting with computers that is simple enough to teach to children or the elderly yet provides facilities that are useful to advanced programmers. It can integrate all levels of software from the Desktop to assembly language.

Basic Design (Level 0)

There are three basic user-facing elements to a Xerblin system.

In addition to the above three UI elements there are discrete commands called ExecutableWords that provide the basic functionality of the system and can be composed into more complex commands.

The builtin ExecutableWords can be composed into compound commands using the following four primal relations.

Using the above four relations, compound commands can be composed that perform more involved tasks using built-in or user-provided "primitive" ExecutableWords and other compound commands. This composition can be done by program, by command line, in the GUI using the mouse and keyboard, or by means of parsing languages.

With a rich set of basic Executable Words and the four kinds of Compound Executable Words you have a completely general computer interface that allows for extreme customization and great flexibility yet can be understood by the average user.

Additionally, any program written in any computer language can be decomposed into this format, allowing the more advanced user several interesting possibilities for program development in Xerblin.

GUI Interface (Level 1)

See Screenshots

On top of this simple, elegant, extremely efficient model of computer programs there are several kinds of User Interface.

(And there is also a 3D Environment that allows for several sophisticated methods of interaction and design, but it's not going to be ready for the "1.0" release.)

Each of these different interfaces access and control the same Xerblin environment, and it is perfectly alright to use them interchangeably as their strengths and weaknesses indicate, so that you might use the Text interface to author a script which is then sent to the Xerblin Interpreter via the command line interface for execution.

The architecture of the Xerblin system consists of a main, central Xerblin Interpreter wherein the Executable Words and environment of the system reside, and a set of client windows that provide the different aforementioned interfaces to the interpreter.

The complete state of the system can be saved to a file or stream at any time, and then reloaded later or on another machine. This, with a little help from a versioning filesystem (such as provided by Subversion or GIT) permits a sort of time independence. One can go back in time, as it were, to previously saved states of the Xerblin environment and reload them, just like many video games have the capacity to save and reload games.

The proof-of-concept demo version of Xerblin is written in Python and is available for download. It currently contains a the Xerblin code and a script "xerblin" that starts with a Text-based Interface with a Guide loaded as well as a ListBox viewer to visualize the Xerblin Stack.









Hosted by Google Code