[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



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."