ANNOUNCE - graphics package

Chris Pressey cpressey@REDACTED
Mon Jan 19 22:38:54 CET 2004


On Mon, 19 Jan 2004 18:05:15 +0100
Luke Gorrie <luke@REDACTED> wrote:

> While citations are flying around, does anyone have good references
> about very-high-level user interface toolkits?
> 
> I have no crisp definition of this. I mean toolkits that have simple
> and general programming and user interfaces.

If I'm free to interpret this to mean "abstract enough for my liking,"
then no, I haven't, which is why I've been working on such a thing, off
and on, for the past 'N' years.

By "abstract enough for my liking", I mean, having a single description
of a user interface able to generate concrete interfaces that can be
used in a GUI, or in a CUI like slang or curses, or on a teletype, or in
a telephone call, and so forth.  I also mean, having the description
general enough so that the programmer doesn't have to deal with
individual widgets, and their position, and such.  (Obviously these two
things are related.)

Ideally, the programmer just deals with the data structure.  The UI
engine figures out how to present that data structure to the user in
such a way so that the user can view and/or modify it.  Ideally ideally,
the programming language itself should deal with the data structure so
that the programmer can just say something like 'input(MyCar)' and that
would take care of synchronously presenting a form with widgets apropos
to the user entering make, model, colour, and having radio buttons for
automatic vs manual transmission and so forth, whatever is defined in
the Car data type.  Realistically, programming languages tend to have
either ridiculously impoverished (numbers, arrays and aggregates) or
horrifically stereotyped (objects) notions of data types, so I've
taken to describing the data type with it's own structure (which is
actually very nice in Erlang, as there are several abstractions, like
behaviours, which make this pleasant.)

Of course, anything this abstract doesn't provide a fine enough level
of detail for you to be able to build a decent word processor or web
browser or paint program with it.  But most data entry tasks - which
includes many day-to-day things like program configuration dialog boxes
- all follow the same basic formulas, which I'm trying to distill and
make reusable.

I'll let you know when I'm happy with it.  (Ha!)

Meanwhile, I have to say that Jef Raskin's book "The Humane Interface:
New Directions for Designing Interactive Systems" (Addison-Wesley, 2000)
was quite gripping (if occasionally a bit snotty) - it would be
interesting to know how an Emacs fan would take to some of his ideas.

-Chris



More information about the erlang-questions mailing list