[ggo-discussion] Re: usability: X O ! , edit focus and players

  • From: Peter Strempel <zotan@xxxxxx>
  • To: ggo-discussion@xxxxxxxxxxxxx
  • Date: Fri, 02 May 2003 17:11:04 +0200

At 06:23 02.05.2003 -0700, you wrote:
>a. Control window:
>The "X O !" behavior is a little strange - straight from the
>The fourth logically possible state (the program catches it)
>does not make sense anyway. I think it would be easier for the
>user if there would be a tristate gadget, not unlike a traffic
>--- Red    -   Open False Looking False
>---Orange  -   Open True  Looking False
>---Green   -   Open True  Looking True

This X-O-! buttongroup needs some rework. I am currently thinking about it. 
I took (stole?) this concept from CGoban1, and I personally like it and 
find it convinient to use. And yes, 3 buttons are enough to cover all 
logical combinations, the forth is irrelevant unless you really intend to 
play multiple games (who does?).

Now, the problem with this is, people dont understand it. I talked with 
tweet, he said that is the #1 question about gGo: "How do I play?". I 
sometimes wonder about how illerterate people can be, but they simply dont 
find the popup menu from the player table. I find that obvious, but maybe I 
am too much of a programmer and computer expert myself to design a GUI that 
is friendly to people without computer experience (no offense intended. I 
am no expert in many things myself, I just happen to know software).

Looking at PandaEgg, which was designed to be newbie friendly, it has a 
simple toggle "open/not open for matches" and when you want to play, you 
get a player list with only few buttons, one of them "Match" or whatever it 
says. I suppose everyone understands that.

However, I dont want to get rid of the "!" flag and only use "O" or "not 
O", even if it is slightly more complicated. So maybe one 3-state button 
like you suggest is the solution. To start a game, what is actually the 
main problem with gGo obviously, probably another button in the player list 
is required, but I hesitate to add one more, that window is already 
cluttered with buttons (btw, you can also double-click with #3 mousebutton 
to quickly access the match on a player, but I guess thats another thing 
noone figures). The newbie-approach would be to remove all buttons from the 
player list and only have "Play". A "Play" button in the main window sounds 
stupid  because it would require you to enter a name manually, which is not 

I am unsure currently how to solve this. Although my goal is to offer a 
client that is easy to use, I dont want to dumb it down completely, because 
another goal is to offer a client with many features. PandaEgg is in my 
eyes the one extreme, dumbed down but lacks support for any feature that is 
beyond simple observe and playing. And I dont like that client.

A better manual might help, but from my experience (not only with gGo) 
people wont read it anyways. Reading the gGo FAQ is too much for some guys 
as well, looking at the mail I recieve.

It is somewhat interesting to listen to tweets experience with IGS users. 
He can tell which client someone uses from the questions he is asking. And 
the question "How do I play?" means someone is using gGo. However, that is 
an interesting knowledge, as it hints where to improve the interface.

>b. Game window:
>When I push 'Edit' when the game is already in an edit window,
>nothing happens. It would make sense if the edit window got focus.

Good idea. But I *suspect* that these focus changes trigger that 
moves-does-not-show-up-anymore problem on Windows, so I might be 
implementing another cause for that.

>c. Players
>1. When I push a sorting label for the second time I have come to
>expect that the sorting order reverses.

Swing tables dont support a two-state column (like the Qt tables do), 
especially a nice up/down arrow is not available, like one is used from 
other GUI libraries. Currently you can left/right click to get 
ascending/descending view. I of course could implement a flag and toggle 
that to get the same effect with left/left click, but I thought left/right 
click should be sufficient. But it's not what one is used from other 
similar tables.

>2. It would be nice if there was an option to preserve the state of
>'available' and 'friends', like the player level-range.

Nah, I think its not difficult and much of an effort to once click that 
"Friends" button once.

>3. Refresh causes you to lose 'where you were' completely. Maybe it
>could preserve the percentage part of the list? Most of the time it
>will show just about the same players - which is what the user was
>looking for when he pressed 'Refresh'.

Unsure if that is possible. These Java Swing tables are not so great. One 
would need to remember the position of the scrollbar and force to scroll it 
back to that relative position again. I've no idea if that works.
I personally keep my table at +/- 2 stones range if I want to play, or at 
Friends only if I want to see who is online. And when I want to play (ouch, 
its getting rare lately), I add the Available filter, and that list gets 
hardly big enough to require scrolling.

And when I am not so interested in the player list anyways, I let the 
automatic updates do the refreshes. Once a minute is frequent enough, I guess.

>4. It would be __very__ nice if I could add a little (client side
>persistent) comment to players, not only 'friends' state.

Jarkko had suggested a very powerful player database, similar to the one in 
his own client (Ambassador). If I do this, I do it right, and not only a 
simple comment line. However, this is not on the top priority TODO list.

Thanks for your ideas. :*)


Other related posts: