Half-baked UI goals/proposal
Chris Harris
chharris@u.washington.edu
Wed, 28 Dec 1994 16:37:58 -0800 (PST)
On Wed, 28 Dec 1994, Mike Prince wrote:
> On Tue, 27 Dec 1994, Chris Harris wrote:
>
> > Goals/Proposal
> > ==============
> [snip]
>
> I fully agree with modularity and expandability.
>
> I like your analogy to a funnel. Raul (I think) and I discussed several
> months ago a data encapsulation scheme. I was imagining a UI whereas all
> requests would go into your UI funnel in the form of encapsulated data.
> Your UI (actually a mini-interpreter) would decompose this "message",
> executing what it could, and passing off sub-components to other modules.
check.
> If our OS has the capability to send messages to cells just by name then
> to increase the capability of you UI, you'd create a cell with the
> requisite functionality, and include a reference to it in your message to
> the UI (the encapsulated data). Forth like example;
>
> HelloWorld: // cell name
> "Hello World!" PrintString return
>
> Main: // another cell name
> [ "Explicit print" PrintString "HelloWorld" CALL ] UI
> end
>
> This is actually pretty close to the way I envision the LLL looking. The
> first HelloWorld creates a cell by the name "HelloWorld" which is put
> into the domain directory. The cell pushes the string "HelloWorld!" onto
> the stack and calls the cell PrintString. An underlying detail is that
> each agent holds a variable naming it's output device, so PrintString
> knows where to print (which window for example).
Afraid I disagree with you here. First, I don't think people want to
interact with cells. I see higher-level objects etc. as a better base
for UI. There has to be something at the low level, though, so this
might be it. (I'm working on some HLL thoughts, so I'll pass those on
perhaps tonight.)
Most of my UI thoughts have been on a fairly conventional 2d surface, so
let me talk about it in that light. I think if the user wanted to print
HelloWorld, they would create a new text field or reference one that
already exists, and then send it a print message containing
"HelloWorld". (Actually, I'd probably send the text a message to print
itself on the text field, but that's a minor point.) This same agent
could also reference any text field (within reason), and would not be
limited to only one.
[snip]
> I'm fine with your goals. I'll try to get you some documentation for
> what I'm working on so we stay in sync as much as possible. I'm
> appreciative for you taking this idea and running with it. Hopefully
> we'll have some code running together soon!
>
> Mike
Well, at least we can agree there. I'm afraid this is turning into
another high-level vs. low-level war, which is not good, to say the
least. I think the user interface, though, ultimately needs to be a
higher-level concept, as the users ultimately won't care about the LLL
and its details.
I got a book on PC graphics programming the other day, and it looks
pretty good. I'd like to start experimenting a bit with some stuff here,
but I don't know how to get Linux to allow me to access the hardware
directly, and I don't have a DOS compiler. My hunch is that info is
stashed on this neat CD-ROM I have, but I can't find a cable that'll go
from my super-new SCSI port to a plain 50-pin. =) If anyone has any
hints on this, please let me know. If I'm going to be playing a lot with
graphics, I'd like to know something about it. =)
-Chris