Monday, June 27, 2011

Another look at GRAMPS

Back in January I took a look at the free genealogy program GRAMPS. GRAMPS started on Linux, but is now available for Windows and Mac. I was looking at it specifically for use on the Mac, as that's the platform I use. At the time, at version 3.2.5, it was not yet stable enough on the Mac to use. Indeed there was at least one major issue which I submitted as a bug to the developers, but I haven't had time since then to fully test it again. Recently version 3.3.0 was released, and I decided to give it a spin once again. As I mentioned back in January, I really like the idea of a free open-source cross-platform genealogy program, and I'm rooting for GRAMPS to be competitive with other genealogy programs out on the market.

This time, things went a lot smoother than my first attempt. For one, everything installed easily and I didn't see any error messages when loading the program. Oddly the program loaded on my second monitor, which is very unusual. It's possible I had moved the application to my second monitor back in January and this version accessed some preference file from the old version, but in any case I've never seen an app boot directly to my second monitor.

Exporting and Correcting a GEDCOM from Reunion

The first thing I did was export a GEDCOM file from Reunion to load into GRAMPS. Knowing from previous attempts that GRAMPS would not recognize the relative paths used int the image file locations, I opened the GEDCOM first in a text editor and did a find-and-replace on the relative path:

GEDCOM excerpt showing relative path to an image file
In the above image (click to enlarge) you can see the relative path on the line that starts with FILE starts with ~/ which is supposed to point to my home directory. This is a UNIX shortcut, which makes it is surprising that GRAMPS doesn't know how to deal with it. In any event, on the Mac your home directory is located at /Users/USERNAME/ or in my case /Users/philip/ and as you can see in the Find box, I replace all instances of ~/ with /Users/philip/.

GEDCOM excerpt showing absolute path to an image file (after Replace All)
In the above image you can see that 935 instances of ~/ were replaced, including in the image location shown in the GEDCOM.

One other thing to notice in the GEDCOM is that Reunion output not only the image location, but a line called _CROP which gives coordinates of how the image was cropped within Reunion. Reunion lets you re-use images with different people (or even multiple times with the same person) and for each instance of the image you can crop it how you'd like. For example, if you have a family photo that shows two parents and four children, you can assign that photo to all six people, and crop the photo for each person so when displayed will only show the head of the person you want. This is a very nice feature, but GEDCOM doesn't have a standard way to deal with it. I don't even know if GRAMPS can handle per-instance cropping of photos, but in any case it certainly doesn't know how to import Reunion's cropping information. Hopefully the efforts to improve/replace GEDCOM will in the future include a standard way to share that kind of information, and hopefully GRAMPS will add this feature as well.

Importing the GEDCOM into GRAMPS

Once I made the replacements in the file I wanted to load it into GRAMPS. For those used to standard Mac user-interface norms, GRAMPS doesn't try to match them. This has been a complaint by other users of GRAMPS, that they should try to adapt to the user-interface 'widgets' of the operating systems they are targeting. Beyond the look of an app, there are also usage norms of which Linux users, Mac users and Windows users all expect something different. That said, I'm not sure if some of the user-interface issues are due to the fact that the program originated on Linux, or are just the user-interface decisions of the developers. When getting started, GRAMPS makes you create a new family tree, then load the new tree (which oddly takes more than a few seconds) and then lets you import a GEDCOM. The GEDCOM import was quite fast, and in my case importing 1800 records took only few moments. Why couldn't I just import a GEDCOM into a new family tree? No idea.

GRAMPS Views

GRAMPS offers several very interesting views of your data - People, Relationships, Families, and Ancestry. GRAMPS also lets you look at your Events, Places, Geography, Sources, Media and Notes. These views are great, as they let you look at your data in some very useful ways very quickly. One thing that is very interesting, for example, is to be able to see all the Places that are present in your family tree. As Reunion does not standardize place names, in my case the list of Places shows some of the many duplicate and inconsistent names I've used in my tree. It also lets you easily correct the names and then merge duplicate names so that they link to a single reference. Thus, if you choose to change the name of the town later, the change will show up in all records that reference that location.

I also tried the Geography view which starts out as a map of the world, but somehow I zoomed out so far that I couldn't see anything and I couldn't get it to go back to a normal view of the Map. In fact, the coordinates shown for my location on the map was:
Geography view coordinates
Now I wasn't a geography major, but I'm pretty sure it's not possible to go to W 16534˚ on a map. Now the way I zoomed was using the multi-touch trackpad on my MacBook Pro, which the developers who use Linux might not be familiar with, so perhaps this bug isn't possible to reproduce on Linux, but it definitely exists on the Mac. A map reset button might be good here.

In any event, I like that with each view there is a Filter panel that lets you search within the view and reduce the number of records shown to match what you're searching. Reunion lets you search lots of fields, probably more than GRAMPS, but it does so from a single search window, and you either search one field or all fields at once. GRAMPS' filtering seems more useful for quick searches within the view you're currently in.

I have to say, having used Reunion for more than ten years, the views in GRAMPS seem a bit strange to me. Obviously one can argue over what views are best in genealogy program, and having many options (Reunion is really just one view) is a good thing, but I find the views somewhat redundant and inconsistent. For example, The Relationships view is a view that shows all the direct relationships of a person, such as parents, spouse(s), children and siblings. The siblings are a nice touch since most genealogy programs only show parents  and children of a person in a single view. That said, I generally need to scroll down to see all the information in this view, which limits its usefulness for quick navigation through family members. In Reunion, which is based on a Family view (a Couple is the center of the view, which shows basic information on each of the couple's parents above them, and of all of their children below them), if I want to see someone's siblings I click on the parents of the person, and the parents become the couple at the center of view, and the children at the bottom include the person I was originally looking at and all of his/her siblings. That isn't necessarily the most natural way to see this information, but it works in a very consistent manner. Thus it is easy for me to navigate up and down through the tree using just this single Family view.

In GRAMPS, the closest thing to the view in Reunion is the Families view, except that its usage is user-interface-challenged. For example, if I go to the Families view I see a list of families, which is essentially a list of couples and their marriage dates if known. If I click on a couple I get a view that is similar to Reunion's view that pops up in a new window (except it only shows parents and children, not the parents of the couple). In this new window, if I click on the one of the parents' names, for example, nothing happens. There is a little document icon next to the names, however, and if I click on that icon I get a third window which lets me edit the person's details (this is actually the same as Reunion except Reunion doesn't use an icon but lets you just click on the name). Indeed this is the People view in GRAMPS, so you are seeing more than one view at a time). If I click on the childrens' names, I get a different window which just seems to allow me to define the relationship of the child to the parent (birth, adopted, etc.). This seems like a waste of a window. If I was going to have a window like this, I would at least allow you to switch who the parents are of the child (such as when there are multiple marriages and you find that a child was born from a different set of parents than you thought). This raises a few other UI decisions I don't understand in GRAMPS. In the view showing the parents and children, there is a minus sign that lets you remove one of the parents as a parent - but of which child? What if the father is the father of one child but not the other? In addition, there seems no logical way to add additional spouses in this view. Second marriages are common enough that this should be integrated into the view.

No Easy Navigation

The worst part of the UI seems to be that there is no way to easily navigate to other families through the view itself. Instead, I need to close the window, go back to the list of families and find the right family. That's a bit absurd actually, especially if you have lots of people with similar names in your tree, or if you simply don't remember the names of the parents. Reunion is a bit limited in its single view, but it is actually very easy to navigate within that view to find almost all the information you need quickly.

You might have noticed that earlier I said above that the user-interface in GRAMPS is inconsistent. Let me give an example. In the above mentioned view you can't easy switch to the parents or children. In the Ancestry view, which is a kind of navigatable graphic tree, you can click on a parent of the person at the 'bottom' of the tree (it's actually on the left side) to make them the bottom of the tree, but if the tree doesn't show the children of the bottom person. There is a pop-up menu you can click on and then choose a child in order to make them the bottom person. This seems a weak UI choice. Why not show all the children of the primary person in the tree, to allow quick navigation of the entire tree. My main problem with GRAMPS is navigation-oriented, and when I see different (inconsistent) choices made in different views, and no easy way to navigate in a single window to information on different families, it is a big problem for me.

In the End...

After writing the above I decided to check out the different graphical views and reporting options, but ran into a roadblock. When trying to switch to a different Ancestry view (Timeline Pedigree) an error message was generated, and I was unable to continue. Indeed, this issue has prevented me from adding many of the screenshots I intended to add to the above to illustrate various features. I was prompted to submit a bug report which I did, but when I tried to re-launch GRAMPS and re-load my family tree I kep getting an error message saying the database was corrupt and to run a tool to fix it, but the program would crash before I could access the tool to fix the database. I suppose I could delete the tree and start over, but for the time being I'm going to wait. While this version (3.3.0) is much more stable than the previous version I tested, it clearly is not ready yet for everyday use, at least not on a Mac. I look forward to testing it in the future when these issues have been worked out.

8 comments:

  1. Thanks for the thorough review. I was just thinking about switching to Gramps. It sounds like a lot of the problems you ran into are due to the default placement of windows and which windows are open when. I don't know much about Gramps, but I noticed that if you right click on the background (yes, I know, a big no-no on the Macintosh), you can add a "gramplet", which is essentially a permanently open view (relatives, ancestors, attributes, etc.). The gramplet can be embedded in the main window or floating.

    Would this help you at all or am I just confused?

    ReplyDelete
  2. By the way, the last sentence of the first paragraph is truncated. "I really like the idea of a..."

    ReplyDelete
  3. Thank you Anonymous. In the future, it's always nice to post using your real name so that people can respond to you. I've fixed the missing second-half of that sentence, thank you for pointing that out.

    As for the gramplets I did in fact spend some time playing with those, but they don't fix the problems I mentioned. The good news is that the developers at GRAMPS have actually been working on fixing the bugs, which I know because as I mentioned I submitted them in their bug reporting system and I see updates whenever something in the system related to these bugs are changed. According to their system, the Timeline Pedigree error which ended my review of GRAMPS has been fixed, although that fix won't show up until their next release of course. They have also replicated the map zooming problem I submitted, but haven't yet fixed it as far as I can tell (although it doesn't seem to be a difficult thing to fix).

    ReplyDelete
  4. Today I downloaded the latest windows version (GRAMPS: 3.3.0 (AIO v.2)). I also encountered the same problems with the graphical views as Philip described followed by the same prompt to submit a bug report and error message saying the database was corrupt and to run a tool to fix it.

    So, for me, this is version of Gramps is not sufficiently stable for me to consider.

    ReplyDelete
  5. I recently downloaded the Mac version of Gramps, and my initial impression has been similar to yours. It doesn't feel intuitive, and I'm concerned about its stability since I've had a few crashes. Today when restarting after a crash I got a message that the family tree was locked, and in order to continue I would have to break the lock and risk damaging the database. That spurred me to see if there are other free programs, and I found PAW2U which I downloaded and looked at briefly after importing my GED file from Gramps. I can't say that PAW2U looked or felt more intuitive than Gramps, but I may try using it for a while just to see if it is more stable which is my big concern.

    ReplyDelete
  6. Interesting review, there would be quite a couple of remarks to be made but I stick to one. The line that intrigues me the most is:
    "In GRAMPS, the closest thing to the view in Reunion is the Families view".
    I don't know on what grounds you drew this conclusion, but it is even more surprising considering the paragraph before that discusses the Relationship view. From your description of Reunion, with which I am not familiar, I guess you should have compared Reunion's view with Gramps's Relationship view, not with Gramps's family editor.

    ReplyDelete
  7. Michiel, I'm not sure why you question my comparison when you are not familiar with the program I am comparing it to. In Reunion, the main view, as I described, is a couple, showing the couple's parents and their children. It is a very easy view to navigate since you can click on anyone and they move to the couple level in the view. Simplicity in this case wins out because it is intuitive. You're sure to see three generations in one screen.

    I have plenty of issues with Reunion's UI as well. The program itself hasn't had a major update in over four years. The UI itself dated back much further. There are some things Reunion can learn from GRAMPS, but some of the basic usability features of Reunion can also be learned by GRAMPS.

    That's not to say I don't like GRAMPS. I fully support the creation of an open source genealogy program to help people document their families. I do think the UI needs to be improved to make it more accessible to the average person. I also think the stability needs to be improved, at least on the Mac where I've tested it. I'm not a contributing developer of GRAMPS, but if I was I would do a feature freeze, work on increasing stability and fixing bugs, and add a simpler interface that beginners could use to get started with the program.

    ReplyDelete
  8. Thanks Philip for your reply. I think it is useful to see comparable screenshots of Reunion and Gramps. Your description of navigation in Reunion also applies to Gramps: you can click on any person in that view to move that person up to the top of the view, or in Gramps talk, "make that the active person". Note that in the Gramps screenshot the family is collapsed, the little triangle on the left points horizontally, which is somewhat unfortunate for this discussion, normally you would see the list of children of Lewis Anderson Garner and Luella Jacques Martel. So it is just as easy in Gramps as in Reunion to move to children or parents, it is just the parents of the spouse that Reunion can reach in one mouse click, while Gramps needs two (first go to the spouse, then to the parent). On the other hand, secondary parents (foster, adoptive, etc.) and second (and more) spouses are only one mouse click away in Gramps, while I don't know how easy these are reached in Reunion.

    Just one short remark about the stability: Gramps has one release with new features per year, typically in spring and the number ends on a zero. The other releases during the year are bugfix releases that increase the last number by one for each release.

    ReplyDelete