This topic is about improving the various clients' user-friendliness, with a particular focus on mouse interaction. We would like to ask you what should happen when you click on the map. While many of you probably know it well already, we think the current behaviour lacks discoverability. New users may not see features hidden in the menus.
Please share below any remarks you have about how mouse input is handled. In particular, tell us if you remember having had difficulties finding how to do something. When doing so, please tell us the client you use (Web, Gtk, Qt, Sdl). We're particularly interested in input from users having discovered Freeciv recently.
If you want to do more, you can design a complete interaction pattern (what happens when you click on the map). See below for more information.
This brainstorm thread will run until there is a full week without any new post, with a maximum of two months. After that, we will open another topic to elect the best pattern.
If you're a member of another Freeciv-related community, please post a link to this topic there. The more users see this, the better.
Thanks in advance to anyone sharing remarks or ideas.
AndreasR,
sveinung,
louis94
Designing your pattern
Any pattern should have the following 'essential' capabilities:
- Center the map
- Select unit
- Goto command (select the tile an unit must go to)
- Open city dialog
You may use the following UI elements when designing:
- Dialogs are small windows, focused on doing one thing. One may put many features in dialogs, but they may interrupt the user's workflow when used without care.
- Panels are static rectangle, typically in the corners of the screen. They can include many features, but as they hide part of the map, use them with care. Empty panels waste space; disappearing panels are context menus.
- Context menus are menus like many applications feature on right-click. They have the advantage of being very easy to close, but can have less features than dialogs.
Current status
In order to give you a starting point, we compiled a list of how the clients currently handle mouse interaction. All clients use the same basic pattern:
- The right mouse button centers the map
- The left mouse button selects units and is used for goto
- The middle mouse button shows tile information
Regarding cities:
- (All) Right-clicking a city does nothing but centering the map
- (Gtk) Left-clicking a city opens the city dialog
- (Web) Left-clicking a city opens the city dialog if the city is empty or has no idle units. If the city has units without orders, then the context menu is shown
- (Gtk) Left-clicking a stack opens a dialog
- (Qt) Left-clicking a stack opens a context menu allowing the selection of one unit
- (Web) Left-clicking a stack selects the top unit and shows all units of the stack in a panel
- (Gtk) Click-and-drag moves units
- (Gtk) Right click-and-drag draws a rectangle and selects all units inside it
- (Web) Click-and-drag initiates a goto command, without actually moving the unit
- (Web) Right-clicking selected units opens a context menu
- (Web) Left-clicking any unit opens a context menu
- (Web) Left-clicking a tile when an unit is selected initiates a goto command (like pressing G)