Behold Future Plans

This page is basically my ToDo list and was last updated on Monday November 11, 2024

Shown below are tasks marked as completed as I do them prior to a release, along with an indication of what I am currently working on (the animated icon of me pounding away at my computer).


Version 1.99.1

  • New: Add a menu item and toolbar icon for Export. This item has been completed
  • New: Ensure the CONC tag is exported correctly. This item has been completed
  • New: Ensure external notes are working as they should and will export to GEDCOM. This item has been completed
  • New: Add option to "Export GEDCOM same as input", i.e. with custom tags and structures known only to the program that created that GEDCOM. This item has been completed
  • Fix: Double clicking on a family in the Organize Families page should move the Everything Report to that family. This became broken in version 1.99. This item has been completed
  • New: Add option to "Export GEDCOM to standard", i.e. GEDCOM 5.5.1 following the GEDCOM 5.5.5 recommendations so that all the data will be accepted by almost every GEDCOM reading program. This item has been completed
  • Impr: Retain trailing spaces on line values. This mostly affects notes with concatenation lines. This item has been completed
  • Fix: Get progress bar to total back up to 100%. This item has been completed
  • Fix: Do not add the first person in the file and spouses as families when reading a Behold file. The Behold file itself specifies exactly what families are wanted, so noone extra need be added. This item has been completed
  • Fix: Handle rare case of an "@" in a place name. Internally Behold can't have this, so occurrences of "@" will get converted to the word ' at ' until such time that places internally get numbered. This item has been completed
  • Fix: Fixed error that might occur when displaying or searching though a person and their spouse who are deceased where the spouse's spouse is living and living people are being excluded. This item has been completed
  • Impr: Only include structures with zero references when all people are included with no filtering. In version 1.99 these structures were displayed as hidden with their own numbering, which was unnecessarily complicated. Similarly structures with zero references will only be exported to GEDCOM when all people are included with no filtering. This item has been completed
  • Fix: Do not display references to living people in the Place or Source Details if living people are being hidden. This item has been completed
  • Impr: Reverse the display of the date in place and source references, since they are displayed first and in order in those sections. That makes it easier to scan for the date you want because the year is first.. This item has been completed
  • Impr: Display the event in place and source references without a colon. This item has been completed
  • Impr: Pressing the close button on the About Box no longer asks if you want to close Behold. This item has been completed
  • Fix: Show missing or extra spaces in reversed place names so that they can be distinguished from each other in the Place Details section. This item has been completed
  • New: Ensure exported GEDCOM to standard will read back into Behold without errors. I am working on this now
  • New: Ensure exported GEDCOM after being input will export again identically (except for the file name and time stamp).
  • New: Ensure GEDCOM 1 and GEDCOM 2.0 still work and will export to GEDCOM.
  • New: Ensure GEDCOM 5.5EL (Extended Locations) still work and will export to GEDCOM.
  • New: Check that MARR.HUSB.AGE is accepted and displays correctly and exports to GEDCOM.

Version 2.0 (Data Structure Redo, GEDCOM Validation, GEDCOM Export, Filtering, Relationships, DNA)

  • New: Determine which parent(s) are biological as best as possible based on the GEDCOM data. e.g. BIRT.FAMC, ADOP.FAMC, _FREL and _MREL tags can be used when available. Otherwise if a person has more than one set of FAMC parents, then the first is assumed biological and the others not.
  • New: Display all familial Relationships of every person to the main person in each family, even multiple relationships (e.g. cousins on two sides) along with the MRCA (most recent common ancestor) for that connection with an indication if it is not biological.
  • New: Include the relationship information in section titles.
  • New: Display statistics about the number of ancestors, collapse ratio and generations in each family, and number of descendents in the "Families of" and "Descendants" section title.
  • New: Display the likelihood of each person's sharing autosomal, X, Y and mitochondrial DNA with the main person in each family, along with the expected amount in cM if they do share.
  • New: Display ancestors for each living person that the person is a Y-candidate or mt-candidate.
  • New: List all the living Y and mt-candidates for each ancestor with their current relationship and age.
  • New: Add an Ancestral Names section that summarizes surnames to research
  • New: Add an Ancestral Places section that summarizes places to research.
  • Impr: Add ages to "Survived by".
  • Impr: Simplify the display of the Merge Tags and Merge Custom Text confirmation boxes.
  • Fix: Get Find Files to sort date modified using a date sort rather than a text sort.
  • Impr: Ensure Behold's displays of GEDCOMs from MyHeritage, FamilySearch, Ancestry, WikiTree and Geni are optimal.
  • New: Add links from any included links to FamilySearch, Geni or WikiTree where possible.
  • New: Add a warning if any person has more than one link pointing to a FamilySearch, Geni or WikiTree person, since those trees should only have one entry for any person.
  • Impr: Make sure printing and export to HTML, RTF and DocX all still work.
  • Impr: Make sure shortcut keys work, the shortcut menu letters are set correctly, the tab key transfers logically from control to control on each window and the button hints are all updated.
  • Impr: Optimize code to make input as fast as possible and make sure the progress bar reports progress smoothly.
  • Help: Update User Guide for version 2.0 improvements and redo all screenshots to show Windows 10+ styling. Make sure the Help buttons and the F1 key works everywhere.
  • Web: Review and update website. Change emphasis to present Behold as a current GEDCOM reader and data display tool to help you understand and make use of all the information you have in your personal or online family tree and export to GEDCOM the parts of the tree that you want to load into other programs.

Version 2.1 (Display Images)

  • Impr: Upgrade to new versions of Delphi, TRichview and LMD Tools.
  • New: Get Behold listed on the Microsoft Apps Store.
  • New: Display thumbnails of pictures in Everything Report for GEDCOMs that have OBJE links.
  • New: Display the IPTC metadata stored inside pictures.
  • New: Export photos (graphic files) with HTML and RTF output.

Possibilities Beyond Version 2.1

Assistance in Working with Other Systems

  • A function to create a template containing data that can be copied and pasted as input into other systems, e.g. MyHeritage, Ancestry, WikiTree, Geni or FamilySearch.

Review Behold's GEDCOM Validation

  • See what GEDCOM error checking is out there now, and compare and contrast in a few blog posts.
  • Solidify GEDCOM parsing, so that 5.5.1 is handled as correctly as possible.
  • Include Error messages in the log file when the standard is not followed, and Warning message for construct that are legal GEDCOM but are ones that most programs will not be able to interpret.

Enhanced Consistency Checking

  • Review and adjust some of the findings of my GEDCOM assessment.
  • See what consistency checking is out there now, and compare and contrast in a few blog posts.
  • Figure out what to do with Alternate Marriage and Divorce events within one FAM record. RootsMagic treats them differently which is as separate events. See: Multiple Events and Unions in GEDCOM
  • Add user-definable age limits to specify generalized minimum and maximum ages for certain types of events.
  • Process consistency messages in the background, so that the file can open faster.
  • Display the number of consistency messages as an active number in the toolbar that shows the progress as the background detection takes place. The number will change color when the tally is completed.
  • Correctly load and display Event GEDCOM files.
  • Work through all my (thousands of) user-supplied and downloaded GEDCOM test cases and make sure that the Everything Report works properly and looks good for all flavors of GEDCOM.

Technology Advancement

  • Add threading to improve speed.
  • Optimize to reduce memory use and improve speed to enable even extremely large files to be loaded as fast as possible.
  • Ensure those Organize settings that don't require data loading only do a page refresh.
  • Rewrite of Print and Print Preview functions to work more efficiently than loading the whole report into memory at once, and ensure it displays right away ... or wait until they are improved in TRichView
  • Convert to an in-memory database if it will improve speed and memory use.
  • More complete ability display HTML tags (bold, italic, links, etc.) embedded within GEDCOM.
  • Create a Tools->Options menu item and build the Window for program options.
  • Add an "Open with Behold" option for GED and BHO files for right clicks from Explorer.

Miscellaneous items that might be worth doing at some point

  • Detect when a current file loaded has changed and indicated that it has.
  • Allow a simple way to display just the facts and events from the GEDCOM without any additional information.
  • Add an export to PDF function.
  • Add a toolbar icon for "Close".
  • Allow find function to search without differentiating for case or accents.
  • Add a "User Reference Numbers" cross reference section.
  • Allow sending of personalized and customized trees to your relatives with one-click!
  • Implement automatic detection of places in the Residence, Address, and other tags and give them hyperlinks and index them with the PLAC tag places.
  • Check for a default.bho file in the Behold directory. If it exists, use that file for the Organize defaults. If not, go back to the program defaults.
  • Add ability to save Organize settings as default, or to delete the default settings and go back to program defaults.
  • Change show/hide tags icon as a drop box that allows choosing between "All tags" and "useful tags" ... or put this in the Status bar. This will make it more obvious as to the importance of this feature which many users may not use enough.
  • Add text/comments to bottom of photo.
  • Add face tagging.
  • Embed info into photo.
  • Add photo-zoom to photos in HTML and Everything Report.
  • Presentation of data as of a certain date. Facts after the date will be excluded.

Other Ideas I've Had for Behold but likely won't follow through on

Editing

I've always thought Behold would be the perfect program for Editing your genealogy, as it would be the only word-processor type of genealogical data editor with a WYSIWYG (What You See Is What You Get) interface. The problem is that most of us (myself included) now use one of the genealogical online services as our main tree. (I use MyHeritage.) So unless the company allows my program to use their API to read and write from their online system, then I can't do it. And maybe I don't want to anyway, since an error might cause data corruption. It's not easy to learn another database's system correctly and implement it properly. Each system already has their own online editing and a few already have one or two programs that do sync with them, some not so well. So editing is no longer in my current plans but has been relegated to my possibilities.
  • Implement incrementally the editing features directly through the Everything Report.
  • Develop a disk-based database and save it in a .bhd (Behold Data) file to be the user data file.
  • Ribbon interface that includes Task Panes in a Microsoft Word-like manner.
  • Editing shortcuts
  • Snippet library for quick input of your more common entries.
  • Add Undo/redo/repeat capability at the record level.
  • Auto-save to database after each record edit is completed so very little data can be lost.
  • Source Panel to provide instant access to and entry of the active source that any data entered will pertain to.
  • Source-based data entry!!
  • Add ability to record reasoning and proof arguments, attached to source references.
  • Standardizing Sources and Citation Templates
  • Decide how to handle selections larger than a few pages, which are larger than Behold's buffer.
  • Add cut, copy, paste onto the right-click menu.
  • Add a right-click option to set a _PRIVACY tag for a fact.
  • Data for and about Places
  • Allow Entry of Pets along with their Owner's Genealogies
  • Include a research log which would be implemented as a history list by date and repository and source of all changes made.
  • Automatic generation of an RSS feed of changes made, customized for the reader's family. (This will blow your mind!)
  • Autocomplete/correct capability
  • Provide language keyboards for easy input of characters in different languages.

Mass Data Entry Features

  • Allow mass data entry in spreadsheet-like format to easily include data summarized in columns. This will be great for censuses and ship's records, and especially useful for one-name and one-place studies.
  • Include a tool to aid transcribing from the images of documents.
  • Provide a "smart selection" mechanism to suggest people and events that each of the spreadsheet entries might link to.
  • Add option to sort Sources by the user reference number (REFN) within its type, as an alternative to sorting by Title.

Virtual Merging

A lot of programs do this. It is very complicated. You can run multiple copies of Behold and display the results side-by-side and that may be as good to compare different versions of a person. It does not make much sense to implement Virtual Merging without editing and a way to designate which people in different files are the same.
  • Allow identification of identical people in different files, and store this info in a Behold file. Possibly use the _UID tag for this.
  • Allow each input file to be associated with a background color, so that data from different files can be easily identified.
  • Combine INDI people and FAM families based on the same UID, _UID, ALIA, RFN, AFN, REFN.TYPE or RIN, to allow future combination and separation once editing is allowed.

Mapping and Place Names

There are programs already available that map your place locations to a Google map for you. There are others that check that your place names are specified correctly. Both of these would take a lot of work and I don't think the effort is worth it. Behold's Place List already does a good job of helping you see if your place names are correct.

Connections to Other Systems

  • MyHeritage direct input from and maybe output to (using their API)
  • FamilySearch direct input from and maybe output to (using their API and GEDCOM X)
  • Direct input from and maybe output to other online systems such as Ancestry, Geni, WikiTree, etc.
  • Reading and writing to the cloud (OneDrive, Dropbox, Google Drive, etc.)

Other Interesting Ideas.

Behold's main duty is to be an efficient genealogy data viewer. Possibilities include partnering with another program that specializes in one or more of the tasks below and getting Behold to share data with it.
  • Other Platforms: Mac, Unix, Android. - Remember though, that I'm a Windows developer and don't know or use those. Delphi has a multiplatform framework which would support all platforms with one code base, and I'd have to convert to that. Behold already works well on Mac and Unix in Windows emulataors.
  • Internationalize Behold itself, allowing the program text to be various languages. Get users to do translations. (Possibly translate the help file as well - huge job, plus maintenance issues!)
  • Direct reading of other program databases (e.g. RootsMagic, PAF, TMG)
  • Direct reading of evidence-based programs for genealogists (e.g. Evidentia, Clooz)
  • Interface with mass-data entry or transcribing programs (e.g. GenScriber)
  • Task / Todo list
  • Calendar Conversions
  • Data backup functionality
  • Timelines and/or Charting
  • Support and generation of .kml files for input into Google Earth and other mapping tools.
  • Photo editing
  • Web info search or info match
  • Address book functionality
  • Organizer type of functionality
  • Connecting Apps for Android or iPhone/iPad
  • Speech Recognition
  • Text to Speech