GEPS 034: Improve usability

From Gramps
Revision as of 15:42, 7 April 2014 by Kulath (talk | contribs) (another description of the problem)
Jump to: navigation, search

This Gramps Enhancement Proposal explores ways to improve the usability of Gramps.

This GEPS is not about the visual details of the user interface; it is not about whether the user interface conforms to some specific guidelines or style. It is not about minor changes to the user interface. Rather it is about changes that would significantly improve the user friendliness of Gramps.

It is appreciated that improving usability is among the hardest things to do with software, especially with Open Source, and that in some (most? all?) cases it is a matter of opinion. However, It is important to have this GEPS as a place to collect problems and possible solutions.

Some of the wording below has been taken from various messages on the Gramps mailing list. The purpose of this GEPS is to stimulate radical thinking, rather than to follow what has gone before.


In the GenSoft Review for Windows, GenSoft review for Mac and the GenSoft review for Linux, some selected comments are:

  • Douglas T watts says: "Too Complex when it came to adding a spouse???".
  • Hal Bates says: "found it very difficult to use and it is not intuitive...Biggest Con: Hard to use or figure out".
  • Doug says: "inputting even basic information is far too complicated and the doucmentation is weak. Even a simple task like creating a marriage link between two people isn’t intuitive and the information required (available names of the right gender) simply does not display...Biggest Con: Interface far too complex".
  • niteowl says: "This software is the worst genealogy software for entering info I have ever used, I have been a genealogist for 22 years and would NOT recommend this software, free or not...Biggest Con: navigation and data entry".
  • Art says "it takes some time to understand how to enter information...Biggest Con: Ease of use (practice makes perfect)"
  • R Stevens says: "ridiculously difficult to enter the most basic of info...Biggest Con: Takes user friendliness to new lows".
  • catsy says: "15 years of experience with genealogy software, and this is the most user-unfriendly experience ever. Utterly non-intuitive...Trying to figure out how to enter basic data is nearly impossible...Biggest Con: completely non-intuitive".
  • Dan Cornett says: "Biggest Con: Rather clunky interface for adding new people & relationships.".
  • corb says: "Gramps is a bit hard to learn and definitely a pain to use...Biggest Con: data entry is cumbersome".
  • Robert K. Tompsett says: "Gramps does not even come close to user friendly...Biggest Con: User unfriendly".
  • Neil LCW Naessens says: "extremely and annoyingly basic"

Note that in some cases, the criticisms quoted are accompanied by positive remarks. The comments in some cases also mention specific interface issues. None of these are considered here.

Recently having sought to really use GRAMPS on a regular basis for practical genealogical research has repeatedly illuminated a lack of intuitive or smooth workflow within the user interface, particularly for the new user manually entering information.

In some future major revision of GRAMPS, for example for version 4.0, how about putting a major emphasis on the user interface and its usability? It seems to me that a new user should understand how to enter basic information smoothly and effectively and not feel like they're switching back and forth between a large number of views or performing many steps which could perhaps be combined and lessening redundant processes. It also seems that a new user should not have to load alternate views, gramplets or perform any significant customization. These areas appear to need some attention.

Another comment:

I am often highly frustrated by the difficulty of data entry, especially on the Relationship and Pedigree views. Coming from Family Tree Maker 2006, the ease of data entry is the one thing I miss.

The main issue I have with the pedigree view is that it takes too many clicks (two; one too many) to go to a child of the active person. Couldn't there be an always-present left sidebar display of the active person's parent and spouse families? Furthermore, sometimes with distant ancestors with several children I have descendants recorded for, I don't remember which one is my ancestor. This would be helped by a sidebar because the sidebar could display children's dates and maybe spouses.

Current method:

  1. Click edit family
  2. Click add child
  3. Enter given name, edit family name if necessary (with three shift-tabs or a click)
  4. Click add event for birth
  5. Click date field, enter date
  6. Click select place or new place, or 4 or 5 tabs to get to it; select place; click ok (or alt-o); click ok (or alt-o);
  7. Repeat 4-6 for death event
  8. Click OK

Total: 14 clicks, or 7 clicks and 15 to 17 keystrokes, plus the data you are entering (including selection of place)

Another comment:

When I add a person in PAF, or Ancestry, I see one screen where I enter name, gender, and main events. When I do the same in Gramps, I see half a dozen screens, one for the person, one extra to add each event, and another extra to add a location or to choose an existing one. That's a lot of work, and when I want to enter birth, baptism, death, and burial, I need at least 9 screens in Gramps, where PAF still has only one. And in Gramps, it's actually more, because many times I need an extra click to see whether the location that I want to enter already exists in the database. In those occasions, it is not half a dozen, but a full one, really!


Suppose you want to add an attribute to an event for a user. The steps involved would be:

  1. Click on the People category
  2. Scroll to and double-click on the relevant person
  3. Click on the Events tab (actually it will already be selected)
  4. Scroll to and double-click on the relevant event
  5. Click on the Attributes tab
  6. Click on the 'Create and add a new attribute' button
  7. Type in the attribute name
  8. Click on (or tab to) the Value field
  9. Type in the value
  10. Click OK to exit the Attribute Editor
  11. Click OK to exit the Event Reference Editor
  12. Click OK to exit the Person [Editor]

One aspect that seems particularly confusing for (new) users is the way relatives are added to a person.

The description in Start with Genealogy describes how to add a person and their birthdate and place. This involves opening and closing a large number of different windows. This can be contrasted with a number of other genealogy programs where all this data is input on a single window.

The challenges

Making a user interface that novice users can understand is hard. Making a user interface that provides the power and flexibility that advanced users require is really hard. And making an interface that does both is ... nearly impossible.

Based on my experience with the Gramps team, I think a major overhaul effort would be difficult to execute. Major projects like that require sustained focus. Our developers are volunteers who have to find time to hack code between washing the dishes and changing the oil in the car. The most substantial changes I have seen over the life of Gramps have been slow and evolutionary - and were developed over the course of a series of staged releases.

I just can't see how this can be tackled in the incremental way that Gramps mostly works. The 'little improvements over time' approach seems to have given us a powerful but unwieldy tool.

Possible ideas

Provide more Natural Transcription input methods

This is already addressed by GEPS 024.

Reduce the number of editors

1. Reduce (gently) the number of different interfaces: this, of course, means that some interfaces will be busier. Too often, confusion results from too many windows open simultaneously.

At present, Gramps is largely based on a paradigm of one-to-one correspondence between editors and (internal) database objects.

One approach might be to construct editors that support editing of several objects at once. For example, the Person editor might allow editing of the person name, events etc.

There are clearly a number of issues that would need to be addressed:

  • There are technical issues of object locking.
  • Window size issues would need to be addressed.
  • Multiple objects would need to be addressed (e.g. there will be several event objects).
  • Complex structures would need to be addressed.

One way of addressing complex structures is illustrated by the current person editor and the preferred name. The normal window shows a simple name structure. There are then two different ways of handling complexity within that editor. First by a 'Go to name editor and add more information about this name' button which opens a new editor only if the user really needs the complexity. Second by the 'Use multiple surnames' button, which does not open a new editor, but instead expands the current editor display.

An example of the approach of having editors which edit more data is Personal Ancestral File (PAF). The Edit Individual window combines editors for name, main events, other information, other events etc. I presume that more 'other events' etc. can be added into the same editor as required. There are buttons beside events etc. which lead to editors for sources etc.

Make displays editable

For example, if I wanted to edit the City, County and Country of each Place in the Place category, then I have to open each, and edit it.

If the Place display were editable then one could simply go down the list and edit the fields.

Please note that this is not a request for a tool to perform some operation. In the particular example given here, the Place Completion Tool might do what is required. The point is that if the operation wanted is not exactly what the tool does so that the user needs to do the operation manually, the lack of an active view makes it necessary to edit each object individually.

Minor changes that are NOT the subject of this GEPS

All these changes belong in Feature Requests. (They come up in a search for 'usability'.)

  • Provide a list of 'recently used sources'.
  • Leave search options on the last used option.
  • Improve search when typing a few characters (doesn't work well in People view).
  • Select Child window to open at last used name.
  • Improve usability of export assistant filters.