Guidelines for designing GUI elements

From gvSIG CE Wiki

Jump to: navigation, search

General GUI improvement is an ongoing task in gvSIG CE development.

Due to gvSIG's history of its development, the GUI elements of gvSIG CE are of variable quality in terms of asthetics and ergonomics. Some dialogs are well designed and others are barely usable. This page acts as a guide for creating new and improving existing dialogs and GUI widgets. It also collects screenshots and comments on existing GUI elements, so that they can be improved bit by bit. Some dialogs are so problematic that they have their own tickets in our bugtracker (there is also a dedicated category "Graphical User Interface (GUI)" in the tracker). In such case, a link to the correspoding ticket should be provided on this page.


Guidelines for creating dialogs

A very useful starting place is the GNOME project's Human Interface Guidlines. In addition, this page lists advise that is specific to GIS and/or gvSIG CE.


Dialogs must be resizable: GIS data is complex and there is no way of predicting the length of text input, file paths, field and layer names, etc. that must be entered into GUI dialogs. Thus, all dialogs (even simple messages) should be resizable and their contents should resize in such a way that no space is wasted and all nested widgets resize in a useful manner (see also this ticket).

One way to cancel or confirm: Both modal and non-modal dialogs are currently not consistent in how the user can cancel or confirm an action. Some dialogs have a "Restore/Default/Reset" action, other do not have a "cancel" button. Sometimes, there is a "Close" button, sometimes an "OK", etc. The positioning of Cancel/No/Ok/Yes/Close is not consistent.

Test on different systems: gvSIG CE is cross-platform software and it is important to make sure that all GUI elements work well on the different OS. In addition, high-DPI support is becoming a growing concern (see this ticket)

Provide visual feedback: GIS operations take a long time, so there is often a need for some sort of busy indicator. Without that, user may assume that the software has crashed (see this ticket).

Problematic dialogs and widgets

This list is not complete. We cannot discuss every little dialog, wdiget or message window that has a problem here.

Project Manager

This widget needs substantial rewriting:

Table of Contents (TOC)

This widget needs a complete rewriting:

Swing file browsers

They simply suck and ahould be replaced with native browsers in all instances.

SRS properties window

Needs to be made resizable.

Add layer(s) dialog

Needs to resize properly:

Filter (SQL) dialog

Needs to be made resizable.

List of GUI related bug tickets

See category "Graphical User Interface (GUI)" in our bug tracker.