[plug] Good GUI Interface Design

James Devenish devenish at guild.uwa.edu.au
Sat Dec 20 09:55:37 WST 2003


In message <20031220102336.3b841f5a.lloy0076 at adam.com.au>
on Sat, Dec 20, 2003 at 10:23:36AM +1030, David Lloyd wrote:
> The biggest problems, though, are the "Yes/No" questions.
>  "Do you not want to send a non-tactical nuclear weapon?
>   Yes/No"

Oh yeah, I hate those. It's probably really easy to get them fixed,
though. I like the idea of "bug" buttons (i.e. submit a bug report
without too much effort on your part). A problem though, is how to
present the "bug button" in all the places that it's needed, without
encouraging spurious submissions.

(Some of the Windows dialogues that frustrate me are the ones that spend
about seven lines describing the situation and then end with "Yes" and
"No". I think it would be simple and helpful to use alternatives such as
"Keep" and "Delete", because I wouldn't have to draw a flow diagram to
work out what "Yes" does and what "No" does. Even in The GIMP, an
unsaved document will produce a "Cancel" or "Close" dialogue -- though I
can't remember whether this is different in v1.3. The problem is the use
of the word "Close". One option is to simply replace it with "Discard
Changes", but it would more even more useful to have "Cancel", "Discard"
and "Save" -- three buttons. Again, this is probably very easy to fix,
but most users aren't developers and don't know how to use Bugzilla. On
a positive note, I'm always surprised by the amount of "stuff' that's
already been programmed into The GIMP, even if I think the interface
sucks.)

> So, what is it about Acqua/Mac OS X that makes it just work for me:

There are some things that I don't like. Historically, the QuickTime
interface ("brushed metal" appearance). The QuickTime interface went
through a bit of a rough patch a while ago. Without wanting to bash
Windows in this case, it did seem to be linked with appealing to the
Windows market (and yet, ironically, the QuickTime interface on Windows
seemed to have its rough edges -- Apple's fault in this case, I
suspect). The other thing is the OS X style of progress indication.
There are a few different indicators that are used. But I miss the
traditional 'watch' cursor. While I think it's great that things like
progress-bar windows don't appear until there is a delay, I like having
a 'watch' cursor flick onto the screen immediately, merely as an
acknowledgement that an action has occurred (even if it didn't take
long). On the other hand, having got used to some not-so-good
interfaces, some of the Mac OS X apps are a little "too" intuitive. I
spend a while trying to find The Hard Way to do things in the iCal
interface, until I realised that they were so easy I was completely
overlooking them. A bit like Drag and Drop (DND). If DND is available,
and you expect it to work, and you just "go for it", you get an
immediate reward. But it's pretty easy to overlook it if you aren't
accustomed to taking it for granted.

>  * The Dock makes sense, is easy to use, provides excellent visual clues as
>    to what you are doing

Yeah, it's funny how the Dock seemed like like The Wrong Thing to begin
with, but is kind of comfortable, too.

>  * Plugging anything in via USB just WORKS

This still catches me by surprise :) I'm sure it doesn't work for
everyone, though.

>  * Usable FROM SCRATCH
>    - none of this configuration bull shit

A really odd thing about Mac OS X is the mixture of the BSD layer with
Aqua apps. Sometimes I see people having trouble and I'd just like to
say "run <UNIX command>" to fix it! This is what we do on the PLUG list.
Yet, it's not practical with most Mac users. I kind of *like* the fact
that Linux users usually learn some decent UNIX stuff. I suppose
distributions like Mandrake and SuSE do a good job of providing GUI
interfaces to the UNIX stuff, so probably a lot of credit should go to
them (I've not used these distributions, though). I have seen and used
RedHat, and I would not recommend that people go near their GUI tools (I
haven't used RedHat in a year or two, though, so perhaps my old
impressions are out-of-date). I'm not sure about Webmin, 'cos I don't
use it. But, still, a lot of Linux users can bring up a shell prompt. I
think a lot of Mac OS and Windows users don't make good use of the
available features because they don't realise it is possible to do so. I
assume this is one reason why Apple tries to make things "intuitive".

> And I haven't seen one Linux/Open Source desktop solution that is ALL of the
> above.

I won't comment on that remark, because my Linux exposure is not
adequate, and because I tend to go for geek solution anyway. I have a
great deal of sympathy for OSS GUI developers and for the reasons why
UNIX interface development is different to Mac OS interface development.
Apple's Cocoa is proprietary and its APIs are fairly high-level, which
is great in some ways, but obviously not the single answer to the
world's desktop computing needs! GNOME and KDE do things differently,
too, and have different bits which are "best" and which are "worst".
People have made the remark on this list that "they don't care whether
it's GNOME or KDE, GTK or Qt, nor what window manager, as long as all
the apps look right". There are other desktop and application kits,
other windowing environments, but in terms of best gains in worst-but-
widespread circumstances, GNOME and KDE do pretty well! It would be
great if there were meta-programmers who have no allegiances to any
particular projects, but understand the internals of all projects and
can go around committing fixes to all the GUIs ;) Things like
configuration, drag and drop, and other "difficult" topics still pose a
challenge, but the meta-programmers could write all the stub interfaces
to make software work in your preferred desktop environment.

Half the time I have GNOME bits on the screen under Mac OS X, because I
am running GNOME on a remote host, which is kind of weird.

PS. I have decided to use a new signature for my posts to the PLUG list.
Not so pertinent to this e-mail, but I'm going to start using it anyway.

-- 
I might have forgotten to add these:
;-) :-) ;-P :-P




More information about the plug mailing list