1. Introduction
"Cyberspace. A consensual hallucination experienced daily
by billions of legitimate operators, in every nation, by children being
taught mathematical concepts ... A graphic representation of data abstracted
from the banks of every computer in the human system. Unthinkable complexity.
Lines of light ranged in the nonspace of the mind, clusters and constellations
of data. Like city lights, receding ...."
[Gibson, Neuromancer]
The PSIBER Space Deck is a programming tool that lets you graphically display,
manipulate, and navigate the many PostScript data structures, programs,
and processes living in the virtual memory space of NeWS.
The Network extensible Window System (NeWS)
is a multitasking object oriented PostScript programming environment. NeWS
programs and data structures make up the window system kernel, the user
interface toolkit, and even entire applications.
The PSIBER Space Deck is one such application, written entirely in PostScript,
the result of an experiment in using a graphical programming environment
to construct an interactive visual user interface to itself.
It displays views of structured data objects in overlapping windows that
can be moved around on the screen, and manipulated with the mouse: you can
copy and paste data structures from place to place, execute them, edit them,
open up compound objects to see their internal structure, adjust the scale
to shrink or magnify parts of the display, and pop up menus of other useful
commands. Deep or complex data structures can be more easily grasped by
applying various views to them.
Figure 1, Simple Objects.
There is a text window onto a NeWS process, a PostScript interpreter with
which you can interact (as with an "executive"). PostScript is
a stack based language, so the window has a spike sticking up out of it,
representing the process's operand stack. Objects on the process's stack
are displayed in windows with their tabs pinned on the spike. (See figure 1) You can feed PostScript
expressions to the interpreter by typing them with the keyboard, or pointing
and clicking at them with the mouse, and the stack display will be dynamically
updated to show the results.
Not only can you examine and manipulate the objects on the stack, but you
can also manipulate the stack directly with the mouse. You can drag the
objects up and down the spike to change their order on the stack, and drag
them on and off the spike to push and pop them; you can take objects off
the spike and set them aside to refer to later, or close them into icons
so they don't take up as much screen space.
NeWS processes running in the same window server can be debugged using the
existing NeWS debug commands in harmony with the graphical stack and object
display.
The PSIBER Space Deck can be used as a hands on way to learn about programming
in PostScript and NeWS. You can try out examples from cookbooks and manuals,
and explore and enrich your understanding of the environment with the help
of the interactive data structure display.
Next section, 2. Interacting with Data.
Previous section, 0. Abstract.
Back to contents.