[Date Prev][Date Next][Thread Prev][Thread Next][Author Index][Date Index][Thread Index]
(Resendo of Dirt-Simple Interface Specs): :zz: EASY/DORKY WAY TO GET UP ON ALL MACHINES
- To: zzdev@xxxxxxxxxx
- Subject: (Resendo of Dirt-Simple Interface Specs): :zz: EASY/DORKY WAY TO GET UP ON ALL MACHINES
- From: Ted Nelson <ted@xxxxxxxxxx>
- Date: Thu, 05 Nov 1998 20:56:53 +0900
- Cc: ted@xxxxxxxxxxxxxx
- Reply-to: zzdev@xxxxxxxxxx
Hi guys--
Okay, this is a *really* simple-minded, FAST way
to implement our current Brick Mode presentation
in a browser window -- which could then put us on
EVERY MACHINE RIGHT AWAY. The signficance
of this possibility will not escape you.
(A variant could also output to DOS windows, etc.,
and that would be good to have in general, but no rush.)
(We could also open individual cells into new Netscape
windows, but that's outside the scope of this proposal.
Let's burn that bridge when we come to it.)
= = = = = = = = =
Assume:
1. Keyboard connected to ZZ program LOCALLY.
2. ZZ program going out to fixed-size Netscape window
in PUSH MODE, showing Brick Mode Navigation.
3. Each time the user hits key, this window is refreshed.
4. For simplicity of example, let's say the brick-mode window
is 5 rows X 3 columns of cells, cells showing at 8 wide.
Generalization to other-sized arrays will be obvious.
= = = = = = = = =
The Method.
For this size, we ALWAYS begin each new presentation
with the following character array (or whatever you want
to call it)--
11111111a22222222b33333333
cde
11111111f22222222g33333333
hij
11111111k22222222m33333333
nop
11111111q22222222r33333333
stu
11111111v22222222w33333333
(I've left out the lower-case L to avoid confusion.)
Okay, the objective is to replace this with an HTML
representation of the brick-mode display.
For each new presentation, we take a fresh copy of
this array, scan out the letters and numbers and scan
in the desired contents.
The numerals will be replaced by fixed-width characters.
THE LETTERS WILL BE REPLACED BY GIFS.
(At first we will ignore the special case of the cursor.)
H RASTER =========================
(vertical columns with one row)
0. Scanning the ZZ data outward from the cursor,
1. We replace the strings of 1s, 2s and 3s with the correct
text for the cells being shown, or spaces for no cells.
2. We replace letters cde, hij, nop and stu with either
a gif that shows a vertical connection or a blank gif,
showing no connection. Each of these gifs should be
the correct width to match the 8-character content brick,
plus the gap.
3. We replace k and m with a gif that shows either a
horizontal connection or no connection.
I RASTER =========================
(horizontal rows with one column)
0. Scanning the ZZ data outward from the cursor,
1. We replace the strings of 1s, 2s and 3s with the correct
text for the cells being shown, or spaces for no cells.
2. We replace letters a, b, f, g, k, m, q, r, v and w with
either a gif that shows a horizontal connection or a
blank gif, showing no connection. Each of these gifs
should be the correct width to match the gap.
3. We replace d, i, o and t with a gif that shows either
a vertical connection or no connection.
4. We replace c, e, h, j, n, p, s and u with a blank gif.
(Note that width and height at which a gif is shown can be
adjusted in the picture specification, so only a few gifs
would be absolutely needed to vary this method for
different widths and neights of cells. Note also that
fiddling with the gif-sizes will be fine tuning.)
====================================
Embellishment for after that works:
THE CURSOR =========================
(framed rather than changed)
We *could* reverse the text on the cursor, as we do now.
An easier and niftier way might be to frame it in by colored
(or even blinking) gifs.
This means special-case gifs for i, k, m and o which
frame the cursor with the color (or blink)-- two gifs
for each of these special positions around the cursor.
For instance, the two gifs for position i would show
connection and no-connection, but both would have
color/blink along the bottom, which would be the top of
the cursor's halo. And correspondingly for k, m and o.
=====================================
Is that simple or *what*?
I am not committed to these very elements in the array,
of course. But the point is just to treat the task simply
as a scan-and-replace model with both text and gifs.
(And of course the sequencing and interleaving of the
routines could be tuned a bit.)
What think, gang?
Best, Ted
____________________________________________________
Theodor Holm Nelson, Visiting Professor of Environmental Information
Keio University, Shonan Fujisawa Campus, Fujisawa, Japan
Home Fax from USA: 011-81-466-46-7368 (If in Japan, 0466-46-7368)
Professorial home page http://www.sfc.keio.ac.jp/~ted/
_____________________________________________________
Permanent: Project Xanadu, 3020 Bridgeway #295, Sausalito CA 94965
Tel. 415/ 331-4422, fax 415/332-0136
http://www.xanadu.net
PERMANENT E-MAIL: ted@xxxxxxxxxx
_____________________________________________________
Quotation of the day, 98.11.05:
Last words of Ludwig Wittgenstein: "Tell them I had a wonderful life."