← Back to team overview

dubuntu-team team mailing list archive

GUI design principles

 

Hi Guys

Ok, so I thought long and hard about Jay's comments. And are willing to
concede on a few issues, but not completely.  So instead of trying to
design a GUI, I thought we should rather agree on a few principles first
and let that be our guide...

1. Simplicity
On this one, your design was better.  I agree that my proposal could be
overwhelming to a complete newbie.  Just remember that this is a
two-edged sword.  

You need to consider simplicity of the back-end as well.  Often when you
create a very simple frond-end you add complexity to the back-end.  If
the back-end is too complex, you scare of contributors and that could
kill a project.

Not saying that it is the case here, but we need to consider both sides.
I'll settle for a good balance between the two even if it requires a few
compromises.

2. Consider experienced users
Remember that you don't stay a newbie for long.  As you grow you want to
learn more and want to get into more detail.  So far your proposal does
not work for an experience user.  

An experienced guy would like to give a few basic requirements and then
look at everything that comes out.  But you don't want to simply give
him a list of all the packages that match his criteria, then you're no
better than Synaptic.  Hence my categorised display which at least sorts
the packages in logical/manageable chunks.

So maybe an option where you can turn "categorisation" on and off.
Maybe be put the packages in the same tree as the categories.  Then you
can choose to see just the packages in a long list or grouped in a tree.
This could in fact remove at least one window from my design!

And of course to limit the results (like you said), category/application
type could be a search category/requirement as well.  But it doesn't
negate the necessity of showing categorised results. 

3. Linux is Choice
This is very important!  Be carefull of making too many choices for a
newbie, this goes against one of the core philosophies of Linux.  E.g.
if a newbie enters Gnome / C++, you can't simply provide him with
Eclipse as the answer...

a. You'll get flamed by the Anjuta and Kdevelop guys for not giving them
a fair chance and you'll make them unwilling to contribute to this
project.  

b. Even a newbie will have to choose something!  Of course you don't
want to overwhelm him, so forcing him to understand and choose compilers
and debuggers right from the start is a bit much... conceded! But he
needs to at least choose an IDE for himself... even if he chooses to
take them all!!

c. It's our responsibility to teach them.  In Linux it is best if you've
done your research before you ask a question.  We want newbies to "grow
up" with this in mind, in other words: Equip him to make a choice, but
don't choose for him.  

So what we're after here is a balance, not an extreme.  We'll have to
make it flexible so you can choose the level of detail you want.

I don't think these principles should be too hard to agree upon.

To be honest, I don't either one of our proposals currently match all of
these requirements... or at least not in what was explained about each.

Regards
Charl




Follow ups