[Kde-games-devel] KGameDifficulty

Mauricio Piacentini mauricio at tabuleiro.com
Tue Jul 24 16:14:22 CEST 2007


Johann Ollivier Lapeyre wrote:
 > We hardly trying to harmonize the way the severals games are looking, and
 > their usability. And this is hard because everyone could have his 
"point of
 > view". With the current KGameDifficulty, every games will have this 
setting
 > at the same place, and will not disturb the user. So, is it a really good
 > idea to allow every games to do whatever it want? Honestly, i don't 
think,
 > and in the futur, when we'll improve more our usability, i prefer every
 > apps
 > gain the improvement at the same time.
 >
 > About the current location (status), i tested it with 3 childrens, 
and they
 > *very* easily found the way to change the level. Before (on kde3.5 one),
 > they didn't know this could be set.
 >
 >
 > if they prefer to gather all user input in the toolbar and use the
 >> statusBar just for output.
 >
 >
 > Status bar is *not* for output. Just because user don't read it, 
especially
 > just text.
 > Usually, users read the status bar only when he want, not when the app
 > want.
 > For example, some games are finished when a "you win" or "you lost" is
 > written in the status bar. How it works with user? On some users, it is
 > working, and with other, the user think the app is frozen because it 
don't
 > read it... A better way to make the output is to make  them "in 
game", like
 > kblackbox for example.


When you talk about usability test, is this something that the usability 
team at KDE did? Or is this a personal opinion, like mine? I understand 
you tested with 3 children and it is a valid sample, but maybe with all 
the usability experts in KDE4 we could also look at this problem in a 
more structured way.

This brings me to the main point of this message, as I believe part of 
the problem is that issues like this are not yet clearly defined at the 
project level (whole KDE.) I feel that we should consult KDE usability 
experts about this, and follow the direction of the project and its 
infrastructure. After all, anyone can have a different idea about how to 
use the statusBar and the toolbar, and they are mostly valid. But this 
will be solved when a clear standard exists, so we simply adhere to it. 
As it stands now, it is really as you say a matter of taste, and it is 
difficult to say if mine is more appropriate than yours or from the 
children's. It probably isn't, but KDE as a Desktop project should 
provide us with some coherence in this area.

I tend not agree (and I have said this before) with this definition of 
the status bar and its functionality. For me, the status bar 
communicates information about the application state and current 
operations in progress to the user. It does not gather input, typically, 
and it does not contain actions that alter the state of the loaded 
document, only its visualization. I agree with you that it should not be 
used for vital information like GAME OVER, GAME PAUSED, and others that 
require that the user pay attention to it, and for this we are already 
moving to KGamePopupItem, a much better approach. Another reason for 
this is that the user can typically hide the statusBar (using standard 
KDE actions) if he/she does not want that output, so it must not be 
critical. So I agree with some of your definition of the status bar, but 
not all of it.

However, by looking at the http://wiki.openusability.org I see that your 
interpretation might be correct, and status bars can be used optionally 
for actions, gathering user input. Specifically, see

http://wiki.openusability.org/guidelines/index.php/Guidelines:Status_Bar#Providing_Actions_in_the_Status_Bar

This seems to validate the concept of having some actions in the 
toolbar, maybe even KGameDifficulty. However this is not clear, as most 
sections of the document are incomplete, and the user case shown for 
actions in statusBar do not actually modify the loaded document or 
application, just the display of information in the statusBar (changing 
from cm to inches.) Compare this with KGameDifficulty, which is an 
action that modifies the whole document (game) loaded, creating even the 
need to display a confirmation dialog.

On the other hand, menus and the toolbar are (imo) the two places where 
actions are commonly placed. The toolbar specifically is optional, and 
should be possible to configure freely by the user. We should offer a 
default order and number of buttons, but if the user wants to change 
this, add or remove buttons, move the orientation or hide the toolbar 
completely then this should be possible. This is why KDE offers that 
standard configure toolbar action for us, and the current method of 
forcibly adding the game difficulty combo to the statusBar breaks this 
interface. See the current KMines code for example (try to customize the 
toolbar). It is broken currently because of the premanent game 
difficulty item in the status area. This may be fixable, I do not know. 
There is some documentation published that seems to support this 
approach of not locking the toolbar as it may be hidden, and this is one 
of the reasons the menus should always contain all the actions (someone 
for usability mentioned that Kubuntu used to hide the menu itens that 
were already in the toolbar, which is a no-no for these reasons.) There 
is more complete information there about toolbar usage, at

http://wiki.openusability.org/guidelines/index.php/Guidelines:Tool_Bar

In any event, I find that adding it as a permanent widget hardcoded in 
the KGameDifficulty constructor will increase the changes of breaking 
something in the flexible toolbar/statusbar configuration options in the 
near future, and it is better imo to let the application explicitally 
manage the action, with a lighter constructor, as it was done with some 
recent KConfigDialog refactoring. Even if we decide for now to use the 
statusBar as the preferred location for this widget in most cases, there 
might be valid cases where this automatic placement is not desireable, 
and we might not be able to change libkdegames API after KDE 4.0 ships 
to add a method that configures this placement. (Are we?) So it might be 
better to have this at the application level, where we can easily change 
it if necessary for 4.1 and above without breaking anything for now.

Maybe during the following month we can get specific feedback from one 
usability expert at the KDE team, and follow his/her advice specifically 
to solve this and other questions regarding toolbars and statusbars, 
which seem to be a recurrent source of discussion, even in the BoF 
meeting. We just agree to follow for now what will be advised by the KDE 
usability team, even if we do not personally agree with all decisions, 
what do you think?

I feel that we are not yet as a state where we can lock these things and 
force them into every applications at a level where the user looses 
control some of the settings. Maybe it is because a full HIG spec for 
KDE4 has not been published, or at least I do not know about it. I feel 
that for some of these questions we (kdegames) are probably a bit ahead 
of the rest of the modules, so we are facing these issues first in some 
cases, could this be it?

In any event, this message is getting long and complex :) But I feel 
that having some involvement from people that have been defining the KDE 
HIG for some time could be really valuable for this and future 
discussions, so we do not have to reinvent the wheel every time. Do you 
know if there is a process to get this usability review at this time?

Regards,
Mauricio Piacentini





More information about the kde-games-devel mailing list