← Back to team overview

dubuntu-team team mailing list archive

Re: GUI design principles

 

Wow...that was a nice speech you gave Charl. The GUI really does depend on the back-end to determine some of its code.

What if we take the good bits from each of your proposals and put them together?

I prefer one window over 3 or more.
Let the user pick between an advanced mode and a basic mode. Advanced mode obviously having more choice and flexibility(for advanced users).
We should give users the option to choose say, a specific compiler, then if they dont choose one we either dont install one or use the default if one is required.

My example is below:

I am a newbie GNOME application developer, I have no idea which IDE to use or which programming language to code with. I found this "Devbuntu", I fired it up and was presented with a simple choice, basic or advanced mode. I was unsure as to which mode i should pick, there was a note saying that if you didnt know which one to choose the you should use basic mode. So i picked basic mode.

It then asked me which desktop environment i am developing for, i said GNOME. It asked me which IDE i would like to use, and if i would like to use an IDE at all, i didnt know so i browsed the list and read the information provided for each IDE, i decided to just use Gedit instead of an IDE. It then did the same for programming languages, i didnt know which one to choose so i read each of the descriptions and ended up choosing python. It then presented me with a summary of my choices and asked me if i would like change anything, i said no. It went ahead and installed everything i had asked for. I then started programming a gnome application and found that devbuntu had been very easy and helpful.

This is how a typical newbie should deal with a GUI. It should be a step by step process, asking only one question at a time. Using only one window. It should be as informative as possible while keeping the information simple.

This is a mixture of both Jays and your idea, what do you think?

> From: charl.wentzel@xxxxxxxxxxxxxx
> To: dubuntu-team@xxxxxxxxxxxxxxxxxxx
> Date: Fri, 10 Jul 2009 09:47:25 +0200
> Subject: [Dubuntu-team] 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
> 
> 
> _______________________________________________
> Mailing list: https://launchpad.net/~dubuntu-team
> Post to     : dubuntu-team@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~dubuntu-team
> More help   : https://help.launchpad.net/ListHelp

_________________________________________________________________
POP access for Hotmail is here! Click here to find out more
http://windowslive.ninemsn.com.au/article.aspx?id=802246

Follow ups

References