OT: GUI design and "elegance"

Bill Campbell bill at celestial.com
Thu Dec 1 09:25:10 PST 2005


On Wed, Nov 30, 2005, Fairlight wrote:
>This cracked me up...had to share.
>
>So I'm finishing a GUI for a client, and I'm showing the results to my wife.
>There was one thing that wasn't possible to do in Perl/Tk, as Windows
>doesn't communicate -all- its events back--notably when you -finish- moving
>a window.  You get tracking the whole way, but there's no way to make it
>tell you when you've finalised the move.
>
>So, since I couldn't "snap" a toolbar window via dragging with mouse or
>keyboard, I went the route of a submenu that lets you snap the window to
>the corner of any of the four quadrants of the screen.  It's fast and
>elegant, and about the best you can do without this missing event.
>
>I was saying to Kelly, "You know, I'm glad I worked this out.  It's not the
>original specced behaviour -exactly-, but I think it's far more elegant."
>
>Her response had me rolling with laughter:  "I thought the point of GUI was
>to -not- be elegant."

Elegant can mean simple and clean.

...
>And that describes GUI design in a nutshell--lots of power, but you can pay
>for it with a -huge- amount of complexity overload.  Some things are better
>off staying out of that environment.  I've always believed that fast data
>entry and data access was one of those things.  Still do.

As Doug Gwyn said, ``GUIs make simple things simple, and complex
things impossible''.  I like them for rarely performed tasks,
and, of course, graphical jobs (e.g. the Gimp), but really prefer
GUIs that are basically front-ends for command line execution.
Ideally they create a log of the commands executed so I can
figure out what's going on behind the scenes.

For fast data entry, I far prefer a clean curses interface, and
am in the process of rewriting our accounting software using
python's ncurses as a front-end to a postgresql database.  This
is replacing a metric tonne of C code on top of Unify's RDBMS.

Bill
--
INTERNET:   bill at Celestial.COM  Bill Campbell; Celestial Software LLC
UUCP:               camco!bill  PO Box 820; 6641 E. Mercer Way
FAX:            (206) 232-9186  Mercer Island, WA 98040-0820; (206) 236-1676
URL: http://www.celestial.com/

Democracy, n.:
	A government of the masses.  Authority derived through mass
meeting or any other form of direct expression.  Results in mobocracy.
Attitude toward property is communistic... negating property rights.
Attitude toward law is that the will of the majority shall regulate,
whether it is based upon deliberation or governed by passion,
prejudice, and impulse, without restraint or regard to consequences.
Result is demagogism, license, agitation, discontent, anarchy.
		-- U. S. Army Training Manual No. 2000-25 (1928-1932),
		   since withdrawn.


More information about the Filepro-list mailing list