Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [platform-ui-dev] Re: [platform-swt-dev] SWT & Native widgets

Quoting Mike Wilson <Mike_Wilson@xxxxxxx>:

> What we hope is that, we can make efficient use of
> 
> platform widgets to create a UI which lets people get their work
> done. We 
> are always looking for better ways to access the platform
> capabilities 
> (like the current effort to figure out how to deal with platforms
> which 
> have markedly different default key bindings (eg. the Mac)), and we 
> welcome contributions from people which would add to this (ideas or 
> implementations), but what's really important is that Eclipse *works*
> on 
> these platforms. 

"Works" is a very relative term. An assembler and ed "works" for doing
taxes, and composing printable reports. Of course that's an insanely
extreme example, but usability is really about, well, making something
that works for use. The degree to which Eclipse "works" is hampered by
the degree to which it fails to integrate with the platform and leverage
existing knowledge, skills, techniques and reflexes for navigating the
interface (subjective satisfaction aside). Furthermore, non-standard
control use breaks user's subconscious trust in the consistency of the
desktop's visual language (causing them to doubt other application's
which *are* behaving, and "paues to think" far more frequently), and
increases the chance that user's will make errors.

From the GNOME-Human Interface guidelines:

 These guidelines are meant to help you write applications that are easy
to use and consistent with the Gnome desktop. Following thse guidelines
will have many benefits:

    1) Because interface elements will look and behave the way they are
used to, users can learn to use your program faster.
    2) Users (even advanced users) will be able accomplish tasks quickly
and easily because the interface won't cause confusion or make things
difficult.
    3) Your application will have an attractive look that fits in with
the rest of the desktop.
    4) When users change desktop themes, fonts and colors, your
application will continue to look right.
    5) Your application will be accessible to all users, including those
with disabilities or special needs.

(1), (2), and (3) are all about whether the application actually "works"
for users.

> To me, in some sense, this is like the "near human" problem in
> animation 
> -- it's only because we are as close as we are that you even *notice*
> 
> issues like the ones you are presenting. I really *do* believe that
> we are 
> close to the ideal of being multi-platform while still being platform
> 
> specific. I also think that discussions like this are useful, but
> concrete 
> implementations are what counts. 

From an interface designer perspective, using native widgets is just an
important first step toward decent integration with the platform. For
all intents and purposes that is the only form of integration Eclipse is
doing right now. On platforms with a very distinctive style, say
MacOS/X, this is miles (and/or kilometers :) from really looking/working
native in even a loose sense of the word.

You are right, if Eclipse wasn't using native widgets that's the first
place I'd start. But that doesn't mean that we've moved into super-fine
"we're almost there" sort of details. If we're constructing a house and
there's no foundation and frame in place, we're going to work and worry
about that first. But just because that's a necessary and important
first step doesn't mean its close to sufficient. Siding, plumbing, etc
are all really important parts of the house too. 

So maybe Eclipse cannot realistically ever get to the "interior design"
details of platform integration, but we're not even remotely there yet.
There are real and important usability reasons why platforms have many
of these design guidelines, its not just pixel pushing for fun and
pleasure. For example, using a button order that's opposite from
GTK/GNOME while using GTK/GNOME widgets is actually asking for a lot of
(potentially serious) misclicks. Its not a minor interior design detail,
its like a house without plumbing.

-Seth


Back to the top