email Jecel Mattos de Assumpção Jr for more information
Many of the ideas in the user interface for Pegasus 2000 were inspired by the Canon Cat, a computer created by Jef Raskin which showed what he had imagined when he created the Macintosh project at Apple (before it was taken over by Steve Jobs and transformed into a mini-Lisa, which in my opinion also turned out very nicely). An obvious influence is Ken Perlin's zooming interface and anyone who has used the Kansas user interface in Self 4.0 will be right at home (things like "radar view" and "core sampler" are there, just not that obvious), but there are also several ideas that were developed independently for the Merlin project user interface.
The user interface is entirely controlled by the keyboard. A mouse (or trackpad, or tablet) is needed in order to allow the user to draw, but otherwise isn't used. The main difference between the Pegasus 2000 user interface and most others is that the cursor always stays in the exact center of the screen (it has the shape of a small cross). The arrow keys scroll the whole contents of the screen around, while typing text also causes the screen to scroll like on those old, mechanical typewriters. Two special keys are used to zoom in and zoom out. Though pressing an arrow key makes the screen scroll too slowly to go very far, it is a simple matter to zoom out/scroll a little/zoom in nearly a single motion to get anywhere you want.
The set of objects that are spread around this infinite space makes up what is called a "world". Each world is stored in a separate floppy disk and fills it up completely - there is no file system. When you pop in a floppy, its world is read in at once and presented on the screen. You write the world back to the disk before removing it from the machine.
Another special key is called "find" - holding down this key while typing something will take you to the next occurrence of what you have typed so far (this was called the "leap" in the Cat). The search is normally done in the down direction, but typing an arrow key can easily change that to any of the four directions. Pressing "find" while you are already scrolling takes you to the next object in that direction (it is easy to become totally lost when you have infinite space! This keeps you from "drowning in the ocean with land just over the horizon").
There is a second world where objects float above the main one, casting a shadow to make their status clear to the user. This is called "heaven" and exists only in the computer's main memory, so it simply disappears every time the machine is turned off. Whenever the main world is scrolled around or zoomed in or out, the objects in heaven stay exactly where they are on the screen. But if the "shift" key is pressed then the arrow keys and zoom keys affect the objects in heaven while those below in the main world stay put. This makes it very easy to adjust the objects in the two worlds relative to each other.
Two more special keys are used to exchange objects between the two worlds: "clone" will create in heaven a copy of the object in the main world that is under the cursor, while "grab" will actually move the object to heaven. Pressing "shift" reverses the direction: "clone" becomes "stamp" and will insert a copy in the main world of the object in heaven under the main cursor and "grab" becomes "drop". When you press one of these keys, the object that will be copied, moved or inserted into (if the shift is pressed) is highlighted and if it wasn't exactly the one you intended (you might be interested in just a button on an object instead of the whole object, for example, or in just three words in a text) you can adjust the selection by using the arrow and zoom keys. When you release the special key the action requested is taken. There is no way to abort an action once you press these keys, but you can then press the special "undo" key if you are not happy with the result.
It is interesting to note that heaven is like the "clipboard" in most modern GUIs, but it is much less abstract since all objects inside it can be visible ("can" because they might be scrolled off the screen or zoomed in or out so far as to be invisible). Since heaven is not affected by swapping floppy disks in or out, it is easy to use it to transfer any number of objects between two different worlds.
The last special key is simply called "do". Pressing and releasing this key makes the "evaluator" pop up - it is a text field into which you can type a NeoLogo expression which is sent as a message to the object under the cursor when you press "enter". The previous messages you have sent to that object are listed just below the text field and pressing the up and down arrow keys can bring any of them into the text field where they can be edited or sent again as they are.
If you type something while holding down the "do" key, then what you have typed is searched for in a global table and the associated NeoLogo expression is sent to the object. This table is editable, so the user can change the set of available commands. To minimize typing, it is convenient to set up this table so each expression's label starts with a different letter - so "do p" could mean print the current object while "do s" could toggle the sound on and off, for example.
Besides the user objects in the current world and heaven, there are a set of system objects that are normally not visible. They form the machinery that makes things work. There are objects, called "portals", that simply offer a view into a different part of the world. They have many interesting uses that won't be described here, but it is also possible to create portals in heaven which can look down into parts of the great underground of system objects. They can even be used to make changes to these objects if the user really insists, but the results can be a bit nasty. The idea is that no doors should be truly closed - there should be no limits to learning.
All the special keys mentioned here will be specifically marked in the Pegasus 2000, but since the Merlin 4 prototype used initially has an old PC XT keyboard, the following mapping was adopted:
|PC XT key||Normal Fuction||Shifted Function|
|up arrow||scroll world up||scroll heaven up|
|down arrow||scroll world down||scroll heaven down|
|left arrow||scroll world left||scroll heaven left|
|right arrow||scroll world right||scroll heaven right|
|page up||zoom in world||zoom in heaven|
|page down||zoom out world||zoom out heaven|
back to Pegasus 2000 home page