GEPS 003: Computed Ages and Probably Alive
Proposed changes for enhancing GRAMPS by adding functions and infrastructure for supporting computed dates where dates are not known, and for creating a thorough "probably alive in year" functionality.
In almost every aspect of genealogy, having an idea of when someone was alive is necessary information. It would be very handy to have available an estimated date for every event. This proposal would move probably_alive to a field of Person, and add some interface support.
Probably_alive could be stored as a date with a start and stop, and associated confidence values for each start and stop points. These values could be used with the growing logic in Utils.probably_alive as substitute values when real values are not known. It would be very handy when sorting by dates to see these estimations. Also, in the main person view could show them to help distinguish between people with the same, or similar, names. Some other points:
- Filters based on probably_alive would be faster. No need to recompute for a different year, just compare any year to the start/stop points in person.probably_alive.
- People without birth/death events could use these values in displays and sortings.
- A different color/symbol would be needed to show that these are gramps estimations (as different from USER calculations).
- The timeline reports would be more useful as everyone would show up in their approximate places in time.
- (Almost) every person in the database has some connection to someone who has a date on an event. This might take a while to recursively find, but would only need to be done every once in a while. A highly-recursive update procedure would scour the data looking for evidence from various directions, and mark probably_alive and the confidence on birth/death. The user could initiate this process. Or by suggestion: "Your age estimates need to be updated. This will take about 30 seconds. Can I do that now?"
- A related function is "Age at year N". Often I am looking through records, and I see that Person A was 29 years old in 1851. Is that one of my ancestors? Which one? If there were a (virtual) field that showed the age on a given year, that would make this very easy.
- One downside: if every person has an estimated death date, you will see an estimation of your own demise :)
- The age span estimates should be configurable/learnable, and for a particular person, maybe even overridable. For example, you may have some reason to believe that Person B didn't live as long as Person C. You could enter manually these estimations (which would still be different from CALC or EST dates).