Novice user UX proposed solution

I don’t suppose that I’m terribly unique. While not new to genealogy, using genealogical software was very new. (My initial exposure to genealogy software in the mid-'80s was so dismaying that it was 20 years before I’d try again.) All my initial data data came from generations of hardcopy. There was no GEDCOM to be imported. And the thought of contaminating a fresh database with someone else’s transcription errors was abhorrent.

Frankly, I never intended to go beyond untangling 1 poorly composed booklet from 1924. 44,485 people later, I still haven’t imported someone else’s data via GEDCOM. (Although there have a few vCards, lots of transcriptions & a fair amount of cut&paste one data element at a time.) Place data harmonization & map tiles are my biggest import use. (But I’d dearly love the ability to import the missing collateral pedigree twigs of how cousins are related from FamilySearch, WikiTree and other services.)

From threads read online, there’s a fairly significant segment of the community that is thoroughly disgusted with the cut&paste mentality of online world-tree mangling. And these people are migrating to software where they have obsessively complete control. Their trees are manually entered.

Another market segment are those students I mentioned before. Importing data is a traceable form of plagiarism that would net them a zero on the homework.

So simplifying meticulous data entry would seem to be a worthy goal.

OK, as long as we don’t end up with Clippy!



Ack! Forfend and forbear! (As opposed to ‘forebear’)

“Clippy” and “for dummies” books are the most insulting assaults to user’s intelligence. Let’s try to avoid that crap.

If you want to target a new user who has never documented a tree, I would suggest a question and answer type module to get one started.
It would start by asking what you wanted to call you tree, then all the information about the first person and so on. In this dialogue would be references like “now let’s enter a citation “.
This script would put the info in the correct order and location. The user could continue to use this “basic” entry or move on to the “advanced” level.


I find computers that get too chatty and conversational to be truly aggravating. They may not get tired of asking the same questions but we humans certainly get tired of hearing them.

And, to my way of thinking, the only redeeming quality of a game of “Twenty Questions” is that knowing the questions will stop at 20.

Have you run through the tutorial for this Discourse forum? The cloying cheerfulness of the ‘Discobot’ had me wondering if the utterly simplistic lessons would EVER end… and wondering if I could bail out and re-enter at the same point … or if that meant restarting. from the beginning.

I thought that if it told me the tutorial was 60% complete that might make the exercises less endless.

But the opposite might be true for creating a basic (3 generation immediate family only) tree.

Count up in your head the number of dialogs you’ll have to navigate to create a person, their spouse(s), children, parents, grandparents, aunts, uncles, cousins, nieces and nephews. A minimum of 1 birth event per person with a Place selection dialog. (Which creation of the Place tree hierarchy with GPS coordinate lookups.) And likely to add a Christening, Death, Burial for a lot of those people. Add creation of families with marriage events. Confirmation birth/foster/step/adopted roles for each child. Don’t forget adding citations (even if it is the same source) for each record.

And you have to do ALL of this before it is possible to begin playing with charts, maps and reports. For me that puts the bare minimum at about 65 (19 dead) people.

If you HAD to start from scratch, how many dialog would you navigate for YOUR immediate family. The intimidating count is why I find the Data Entry gramplet so compelling for roughing in a Tree. (Or quickly tying a distant cousin into my Tree.)

Sure, we can recommend using the example.gramps sample tree instead of having them start heavy-duty data entry. But that’s only useful for replicating the examples in the wiki. Since they won’t have a frame of reference for the relationships of these strangers, they cannot choose the right active person to properly explore any particular feature.

I’ve been searching for a good importable family where people might ENJOY exploring and have enough historical visibility to be good chart and diagram subjects. The European royals is a GEDCOM in the public domain with enough pedigree collapse to be genetically interesting. The Medicis or Machiavellis are also good possibilities for piquing people’s interest. (Steering clear of religious figures and modern politics seems like a good plan too.)

I tried to do that and here is how it could be:

You have a new button on the right side: “First Time”. if you select it, you’ll get:

You can select a gedcom to import in the new database.
if no gedcom or gramps file is provided, we’ll only create a database with three people

Then, you can open your new database:

Any comments are welcome.


Why do you store the new database in another directory other than the default Gramps location? If you change the database path in Preferences, it does not move any existing database to this new location.

And because the database path in Preferences is the Gramps default, if the novice opens the database manager again, their file will not be listed.

Or am I missing something?

This was for my tests. You can keep the standard directory. I added this message to help people if they wanted to install their databases in another path.

Normaly, the novice user will do that the first time. If you have several databases, the “First Time” button will be disable. If the novice user create a database and then click on “First Time”, the user will be asked to remove the first database.

1 Like

I wondered about changing the database directory too. Figured that there was an added functionality that I was overlooking. So I’ve been mulling it over for the last couple hours.

The only thing I came up with was the educational opportunity of pointing out the database location could be elsewhere. But that would require even more text to build that understanding. So the extra required learning would make the learning curve a bit more steep.

However, this “First Time” implementation uses a conditional test for contextually deciding if a GUI button is needed. (Similar to deciding if the “Archive” or “Extract” buttons are needed.) It creates a special case that is complex to test, document and support.

Imagine the user who has already tried and failed to use Gramps. So the First Time button is gone. They vent a bit in this forum and we have to walk them through finding the User Directory (for their OS), drilling down to the delete the gramps.ini and flushing the database folder. This would amplify the bad first experience.

Say that this new button might be made a bit more available… beyond only being valid for 1st time use, but also anytime there is: 1) NO database loaded, or 2) the loaded database is empty.

(That would certainly make easier access for testing the feature by users who already have trees.) Expanding the conditions means the button would need a different name from “First Time” though. (If no tree was loaded, it does a New tree then Loads the new tree, then goes to the Generate stage. If an empty tree exists, it just jumps to the Generate stage.)

Could it also use the “New” button’s naming convention for the database name? The new Tree creation really doesn’t need any interface either. The “First Time” just creates the “New Family Tree” database, loads it and goes to the generate/Import Tree options dialog. The Family Tree Manager will appear the next time they open Gramps and the “Rename” button is self-explanatory.

Maybe the First Time button could be tied to generating database content from the Generate Testcases module?

The language barrier could be eliminated for the example by generating the given name with the relationship calculator. So the given name would describe that relationship connection. And do so in the users native language. Persons that self identify also eliminate one cognitive barrier. If you’d think that proper Given Names is more intuitive, maybe the relationship could go in the “Title” or “Suffix”? (Although if relegated to the Title, this hint wouldn’t appear in many reports/charts where Gramps generates a formatted name.)

A step further, if the user had a GUI dialog control over the scale of the tree, they would be more invested in exploring the sample. (An even better option would be if this generation dialog could also have an alternative to generating the sample tree. A Import button to open a file selector Import Dialog that is preset to folder path containing the Gramps GEDCOM and XML example folders.)

The maximum scale could be very limited — where the users could select a number of 0-2 (none, parents, grandparents) ancestor generations & 0-2 (none, children, grandchildren) descendant generations.

The last thing that would be helpful is if Gramps had a (default on) preferences option for hint/prompts for empty windows. This is similar to the greyed & italicized text prompts for the unlabeled “Suffix” & “Prefix” fields in the Edit Person dialog.

In the Family Tree Manager, the prompt could say that “There is no tree with Genealogical Data. Click the (née) First Time button to generate or import some sample data.”

I like this idea. You could add two choices:

  • import a gedcom or a gramps xml
  • tell the user to create one person and it’s two parents to populate the database with that family

And after loading this database, display automatically the tree view to display them.

1 Like

This is already done: "Load a gedcom/gramps file? which open a File chooser dialog.

If you don’t click on the “Load” button and set the entry field below empty, you create a database with the three people.

Once you clicked on the “OK” button, the database is created and you see it in the “Family Tree manager”
You only need to click on “Load family tree”.

1 Like

This is great!

Is there a way to get something like this into a broad beta test? … translators ought to have a chance to create Weblate strings before initial release. Otherwise expansion of translation into other languages will be delayed until the next maintenance release (probably by a year.)

I made a PR for that: Make an easy way to start gramps for novices by SNoiraud · Pull Request #1297 · gramps-project/gramps · GitHub


A good start!

First impressions on the placeholder family:

  • Could you not automatically create a “Death” event for “Me”. That’s … unsettling!
  • The lack of surnames causes them to report unpleasantly in the 1st gramplet seen by default in the Dashboard: Top Surnames.
  • Please set the Home person to Me

I think it may need 3 more people (no deaths here either, please!):

  • my spouse
  • my child
  • my sibling

I’ve done a bit of digging into this proposal. Its got a lot of improvements that lower the barrier-to-entry for Novices. Thank you!

It seems as though hard-coding the Placeholder tree in the file is going to be a misery for you to maintain. All those little tweaks to make things in the tree ‘just a smidgen easier’ for the novices will quickly get on your nerves. Plus it has some problems with IDs right now. (There are duplicates IDs for several people & 1 family. Plus they don’t follow the Preferences pattern for People or Family IDs.)

Since you already have a Feature to select/import a GEDCOM/XML in the dialog, why not just add a button that imports a hard-coded path Placeholder.gramps XML (or should it be a .gpkg?) file from the example directory instead of from embedded XML?

You could add a middle button for doing the same hard-coded path for the Example.gramps file (with some gentle text suggesting using this option for Running tutorial exercises in the manual). And leave the original one at the bottom where the user can choose a file to import.

That satisfies all three Novice needs:

  • starting from scratch template,
  • using the manual,
  • importing from another program.

It makes each one dead simple to use.

This change also relieves you of the hassle of endless tweaks to ‘make pretty’ the Placeholder family tree. A committee can tweak the Placeholder.gramps tree and just submit requests to update the file in the appropriate GitHub example directory (this one is v5.1 maintenance)

There may still be a couple other requests that would smooth out the user experience. Like suppressing/dismissing the Family Tree dialog when exiting the First Time dialog. And suppressing the Imported Records reporting dialog, the tagging of imports Preference.

After successfully completing use of the First Time dialog, the GUI confusingly returns to a Rename state in the Manage Family Tree dialog:

This is why such a thing doesn’t exist



Why did you say that ?
By default the IDs are defined with a letter followed be 4 zeroes.
In the default gramps file, I setted 5 zeroes. During the import, the result will be 4 zeroes.

In this case, you must have a gramps database and the first time, you cannot import it because you don’t have one. This feature is not available.

Not every distribution propose the example.gramps file. If we put this gramps default file in the same directory, we’ll have the same problem: no files

I used an embedded file due to the translations strings for name, surname, brother, …

1 Like


I may be using ‘hard-coded’ and ‘embedded’ incorrectly. In this of , I used them as the same. Sorry. Your very important point about the Examples (where that folder is not always being distributed) was not something I had understood.

I only noticed because my ID Formats settings are difference from the defaults. (I quickly outstripped the leading zeros capacity of 10,000 for events. At 4 events per person, that happens at just 2500 people … and I often had 10 or more events per person & marriage. So I set Persons & Events to 7, all the others except Repositories to 6. Repositories I left at 4.) The following capture shows my settings (I%07d) and how the Person IDs were still created with the original Gramps default (I%04d). So the creation of IDs ignored my gamps.ini Preferences setting.
This may be important for when Gramps is translated to different alphabets. The “I” is a mnemonic abbreviation for “Individual” in English. But the kanji glyph for Person is 人 … so a Japanese Gramps might have a (人%04d) ID format. (I do not know how the rest of the format string translates. Google translate says Zero is 零 and four is 四 but the percentage sign and ‘d’ counter?)

I had not been able to test how the embedded name strings converted. (Maybe we need to recruit a beta tester who uses something other than a Latin/Roman alphabet? Gramps for Kanji is only at 38.7%. Hebrew is the only one at 100%. Maybe @avma will join the conversation) That’s why asked if the Relationship Calculator routine be used to Define the Given name. It seemed like it would be more flexible if Feedback indicated it was desirable to add placeholder for another relationship. (Or if someone was using a customized Gramps fork… like the animal pedigree fork.) Maybe the embedded option would handle such complexities?

The people this feature is going to target are like
the new user in this thread.

The step back into the Family Tree Manager is going to be an ongoing hitch in the process.

Once you select to create the placeholder tree or select a file to Import, Gramps ought to just create the tree with default name, populate it with data & load the new tree.

It should never come back to the Family Tree Manger … or automatically select the load button if Gramps HAS to return to that dialog in order to dismiss it as the parent dialog.

The renaming of the Tree is an unimportant & distracting step at this stage. The tree can be renamed later when the user is more accustomed to Gramps.

1 Like

I agree that first time a tree is created, the tree should automatically be loaded.
I dont see any negative of doing that that actually matter compared to the benefit for new people.

1 Like

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.