23 Feb 2008

Pulp entertainment with a smell of Java

For some time I've been visiting one website to kill some time. I'd like to share with you my impressions about Milpa.

It is a logic game. Quite addictive, not only for me - after the game you can see your placing on the high score list. I guess scores are kept for one day. When my play is weak I get to around 1000, so there is quite a lot of people playing Milpa everyday. No wonder! Art is nice and simple, so are sounds and animation. Game play is equally good.

If you tried the game you should probably know it is a Java applet. Of course I am not the first who wanted to share his experience about Milpa. Very addictive browser game is a better title for writing about it, that's for sure. One thing that struck me when I read linked web log entry was that its author thought it was Flash game. And not even one mention it loads too long, or puts browser into freeze.

Author of the game, David Brackeen created pulpcore open source framework, which Milpa is founded on. Pulpcore news feed indicates there are some people involved in making it better. Maybe you'll find it worthwhile to check it?

Cheers and don't give the skull a chance to eat your vegetables ;)!

20 Feb 2008

Once upon a time

Long time ago I started analysing Jin/Tonic gui. My good will to do it lasted only for a week and was enough to provide simple analysis for first time dialog and login panel. Not too much, but here and now is more. This time I will ponder one of the two most used ui elements in any graphical client for chess server - console.

Console is the place to start a chat or a game. You can issue several commands to server from it and get info about server, channels, players and games. You can read news and messages in it, watch shout and tourney annoucments; all in one place. It is what user sees second most to game window.

So as you can see the ui has two states... I used JSplitPane to create a hiddable JPanel with controls that let specify the exact type of new console. The ability of creating and using multiple consoles is one of the strongest features of Tonic, yet I managed to make in a way that it might a source for confusion and frustration.

Straight to the action.


  1. Ui is simple - 7 controls is not that many.
  2. One font for ui elements (text pane doesn't count, because this control's font type is controlled by user)
  3. There are no unnecessary borders.
  4. Scroll bar is there all the time and safe user from seeing any layout modification when scroll bar would have to be shown.


  1. There is something I haven't told you - I decided that gui persists between Tonic runs. This is the first source of confusion - if you don't remember in what state did you left console you will be puzzled why new console panel is not showing.
  2. The way I made it ui of top panel is not always showing all of its contents - when you resize some of the controls might be out of sight.
  3. I used combobox where I should have used a list. There are only about 10 choices for the type of console. User can easily grasp that kind of number and there is simple way to show it all in a list. No need for forcing on user one extra click.
  4. Clear console button is in bad place - because of its placement user has to be extra precise and cautious when resizing the console window and there is now safety net for this operation.
And on the ui analysis front I've found a blog entry about AccuRev ui worth reading.

One thing I want to do before next release is changing console's ui so it is less confusing and click hungry. I hope I will do better this time. Cheers!