I little inspiration.

Navid Zamani navid.zamani at googlemail.com
Wed Jun 24 18:39:47 CEST 2009


Hello to all Gnome and KDE developers,

I recently thought a bit about the most frequent complaints that you
hear, and how they all stem from the same main problem. So I thought, I
write up, what I came up with. In the hope of being a little inspiration
for you all.
(If you find this to be the wrong place to submit it, please enlighten
me, so I can correct my mistake. Also English is not my first language,
but my third, so please don’t judge me to harshly. :)

== About the idea behind defaults ==

I hope we all can agree, that a good set of defaults is the best thing a
software can have. Yet I often get the feeling, that most developers, of
any software, are not thinking this to the end.
The reason why they are so important, is that defaults are the solution,
for the perfect merger, of freedom and simplicity (Which is closely
related to efficiency, but not the same, and often confused).

Interestingly, Gnome and KDE, the old arch rival friends, are the best
examples, to demonstrate, how this can go wrong.

If I understand this correctly, the Gnome people decided, that in the
user experience, the most important part is simplicity. But it was
generally assumed, that you could not reach this, without removing the
freedom of the million options. So many options got hard-coded, which
also saved the time it would have taken, to implement the other options.
But in the end it still was a loss of efficiency and freedom. And my,
perhaps gutsy, opinion is, that it happened because of a false dichotomy
regarding defaults, and if we are honest, because of a bit of
“laziness”, when implementing features that we ourself do not care very
much about. ;)

Also if I am not misinformed, the KDE people decided, that in the user
experience, freedom is the most important part. (Remember that we are
not talking about license and open source issues here.) But it was
generally assumed, that you could not reach this, without removing
simplicity. So  every option and feature that people found useful, got
added. This had the side-effect, of forcing the user to actually decide
on all those options, every time they do something. Even if it is
obvious what to choose. Don’t get me wrong. I am the rare type that
actually likes this. But most users I spoke with, in misunderstanding of
the real problem, call it “horrible clutter“. Just ask the Gnome fans. ;)
In reality, this “clutter”, is missing efficiency in the philosophy of
simplicity. So my, also perhaps gutsy, opinion is, that this is caused
by the same false dichotomy regarding defaults.

If you now think, that I show no respect for the hard efforts of both
teams, to make a good desktop environment, then you are wrong. I love
the hard work, that we get all this entirely *for free*. So I can't make
any demands anyway, and so can't anyone else not throwing in something
valuable. But one can inspire people with ones ideas!


And my idea here, is that you can have both. Without any losses. Freedom
*and* simplicity.
Trough actually allowing many choices, and implementing all options for
all kinds of people. Because everyone is different. (I think you can do
much better there, Gnome developers!)
And then choosing the absolute best defaults. These are the defaults
that are determined by the usage patters of your user base. And nothing
else. (I think you both can do better there, KDE and Gnome developers!
Record the patterns trough a standard library, anonymize them, and store
them for analysis, if you have to. :)
And then there is a second level of defaults. Those of the specific user.

The idea is that you only have to change those things, where your
preferences differ from the usual. Of the user base. And of your own
usual usage.
Apart from that, those choices and options have to be completely out of
the view and not disturb you in any way (I think you can do much better
there, KDE developers!), but be available in the blink of an eye.
I include every menu bar, every button, every icon bar, every wizard,
every toolbox, every dialog and every element of it in this. Everything
that expects a choice to be made.

And finally, to perfect it, and actually make a step beyond the basics
that are know for decades, you can offer a hierarchic set of presets.

On the first level, offer people to download and activate one of many
presets for *the whole of KDE or Gnome*, on installation. And let them
make their own.
On the second level, offer a choice and the creation of presets for
specific applications and application groups. Just by having a on-line
preset browser on the first start of an app (that you can dismiss with a
big easy to click button, in case you do not care for anything :), and
giving you an export and publish function for your configuration state
(right in the specific set of dialog elements).
Those global presets could then be created out of those specific
presets, by bundling them.

That way, a graphical designer could choose the (in)official "Designer"
master preset, but the "Kenny's DVD authoring presets" group, for the
burning and video applications. And then only have to set one single
option in Gimp, to reach his state of perfection, in terms of efficiency
without playing with that thing all day long, just to be able to use it
like he wants.

As a final thought, again, I hope at least someone will be inspired by this.
Remember that I wrote this, to improve things. Not to to slam anyone. So
I also hope that I'm not misunderstood.
Also, this concept should be useful to anyone building any application.
VI, Firefox, OpenOffice, Apache. You name it.

Have a sunny and inspired day,

Navid Zamani


More information about the kde-quality mailing list