Musings on an Erlang GUI System.
Fri Feb 14 21:58:33 CET 2003
I have been thinking about GUIs for a long time :-)
IMHO I have only found *one* approach that I like -
This is called "The Aesthetic Toolkit" and it's by
Just take a look at the screen shots at
This stuff is drop-dead-beautiful. (warning it's very alpha - stuff
written in objective C etc.) - with a bit of help
we did manage to get it running :-)
I have had many and long mail correspondence with Tor -
about this and we are trying to do *something*
IHMO all this swing/motiv/you name stuff it is all *wrong*
I think the only decent way to define a GUI is to *draw* it in a page
description language - this is *extremely* declarative and very easy
What I'd like to see is *one* page description language that can be
used for making GUIs AND pages of printed text.
My currently favorite hobby hack is production of PDF *directly* from
Erlang - this will make things like direct transforms from XML -> PDF
(I'd tried XML -> FOSI (with XSLT) and TeX) and the results were crap
(this is the "industry standard" approach :-)
IMHO there is *no difference* (or should be no difference) between
layout on paper and layout on the screen - so I do not want *two*
technologies for this but only *one* - by far the best technology for
layout on paper is PDF - and for screen rendering is the anti-aliased
font stuff in the freetype project.
What Tor did was to make a form of "display PDF" which you could use
to write a GUI.
I'm currently thinking about the "high quality paper output" stuff,
and have written quite a bit of code to do line-breaking, kerning etc.
To my horror I have discovered that most commercial software totally
ignores all the kerning information (ligatures) etc in font files -
uses almost random font substitutions and generally makes a mess of
<< flame on
Desktop publishing has ruined typography - did you know that, for
example that Times New Roman is one of the most widely used fonts for
printing on A4 - but that is was *explicity* designed in 1931 (for the
times newspaper) for setting *narrow columns of type*.
Typography standards have been set back 20 years by desktop publishing
I'd very much like to see a re-unification of typography and GUIs
resulting in very high quality printed output and beautiful GUIs with
*one* way of describing them.
<< in a few years we'll probably have electronic paper and then they *will*
have merged back into one medium - the current dichotomy between screen and paper
is unfortunate, and probably only temporary >>
My second thoughts on a GUI are that it should be *entirely* based on
message passing - like X-windows - In principle I want the GUI to run
on one machine and I want the control process to run on another
machine - if we wrote them like this then we could write wonderful
apps - spawning of GUI's on remote machines etc. great fun ...
More information about the erlang-questions