[GUI] Mission Statement + Widgets

Alastair Reid alastair@reid-consulting-uk.ltd.uk
Wed, 05 Mar 2003 18:50:10 +0000

"David" == David Sankel <camio@yahoo.com> writes:
> IMHO, there need not be a list of backends supported to make a
> feature stable.  Simply one.  Since we are working with Turing
> Machines here, we know that, in general, if it works for one backend
> it is possible to implement it for all backends.

I beg to differ.  While there may be some Turing machines involved,
they are largely irrelevant.  The much more important constraints are
those imposed by the designers of the platforms we wish the GUI to
work on.  These constraints are documented in the API, the design
guidelines (i.e., those that specify what a 'native look and feel' is)
and in various less formal forms such as existing applications,
tutorials, etc.

The sad news is that somewhat arbitrary decisions (as well as
perfectly sensible decisions) by the GUI library designers can have an
enormous impact on how easy it is to implement something and an even
more significant impact on whether the result will have a native 'look
and feel'.

The sadder news is that people programming to these constraints or
designing GUI APIs to these constraints often forget that there is
another way.  Only by implementing and testing the design on multiple
GUI platforms can we really achieve a portable design.  

Alastair Reid