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