Modern Software Experience

2009-10-23

Daub Ages!

version 1.53

1.x forever

The current version of Daub Ages! is version 1.53. That version number belies the age of this. Version 1.0 was released in September of 1999. Daub Ages! is more than ten years old already. For more than a decade, its major version remained unchanged. All that time, all updates have been free.

bilingual website

The Daub Ages! website has seen several updates. Jörn Daub e.K. is a German company, but the website is bilingual. The menu in the upper right corner lets you switch between between the German and English site.

The current site has a clean look and is easy to navigate. A minus point is that you must allow scripting for the language switch menu to work, but I was positively impressed with the fact that site was build using modern web standards; it uses XHTML with CSS and most pages validate.
A practical problem is that some text on the English site appears un-translated from the German original.

download

key

Daub Ages! is a commercial application. The free download defaults to demo mode, which will not let you edit database of more than 50 individuals. A registration key unlocks full functionality.

multiple downloads

The Daub Ages! download is just a few megabytes, but I wish it was larger. There are several plug-ins that you have to download separately. If you want the manual, you must download it separately. If you want another language file, you must download it separately.
I wish there was one full download that included everything.

installation

Installation is not difficult. The biggest issue is that all the separate downloads need to be installed separately. The language files come without an installer, so you need to figure out which directory they go into.

The installer supports English and German. The Daub Ages! application itself supports more languages.
The installer offers a choice between standard installation, network installation and hand-offs my system installation. The network install allows running from a CD-ROM or network share instead of running from the local hard-disk. The hand-offs my system installation does not install anything, but simply runs the program.
I opted for the standard install, which is the default. The last screen of the installer ask for your registration details, but you can simply click the Trial button to continue without registering.

The installer finishes by automatically starting the application. I find that annoying, not just because I was not given a choice, but because the installation is not really finished; once you have installed the application, you till need to install the plug-ins and additional language files.

plug-ins

import plug-ins

There are three plug-ins available as free downloads. Two of these are for Daub Ages!; The GENprofi plug-in provides direct import from the original MS-DOS GENprofi-Stammbaum, an old German genealogy application, which lacks a quality GEDCOM export. The Access/Excel plug-in allows import from trees in Access and Excel. These two plug-ins have to be installed by manually copying them to the Ages! directory.

Google Desktop Search

The third plug-in is not for Daub Ages!, but for Google Desktop. This plug-in does come with an installer, you just need to have Google Desktop installed to take advantage of it.
This third plug-in is not just of interest to Daub Ages! users, but to all genealogist with Google Desktop, as it adds GEDCOM indexing to to Google Desktop Search.

Download Manager

The idea seems to be that you can download all the extras and perhaps automatically install them correctly by using the Download Manager inside Daub Ages!, but when I tried the only extra it found was the German manual.

languages

The website has language files for quite a few languages; Catalan, Czech, Danish, Dutch, Finnish, French, Greek, Italian, Norwegian, Polish, Portuguese, Russian, Spanish and Ukrainian. Support for both English and German is built-in, and the preference menu lets the user choose between those two. After I copied these files into the Ages directory, the Preference menu let me choose between all of these in addition to English and German.
I briefly tried the Dutch menus and the translation looked fine, but incomplete; I immediately noticed text that was still in English. Well, Amglish actually. After using Daub Ages! for a while, it became obvious that, although it says English and shows a Union Jack next to that text in Preferences dialog, Daub Ages! does not support English, but Amglish only.
The language selection does not just affect the menus, but the reports too.

start-up

The installer starts Daub Ages!, whether you want that or not.
Daub Ages! does not start any complicated first-use wizard. Daub Ages! does have a welcome dialog that its shows on every start-up. It just highlights a few possible choices. It is superfluous and can de disabled by checking don’t show this welcome page again.

Daub Ages!

databases

Daub Ages! is one of those genealogy editors that use GEDCOM as its only data format. That may seem handy, but there are many good reasons why most genealogy editors have their own database format.

I consider the use of GEDCOM as the native format a major design mistake. However, that is not what Daub Ages! is doing. Daub Ages! actually does without a native database format at all.

Reading GEDCOMs

Loading a GEDCOM file is easy. Daub Ages! does not get in your way with easy wizards, but simply presents a standard File Open dialog.
That does not mean all is well. Almost as soon as I choose a file, Daub Ages! pops up a messagebox asking There are unrecognized elements in the GEDCOM file. Do you wish to convert them to notes?.

unrecognised tags

A general problem with that is that Daub Ages! is asking the user for a input in the middle of reading the file, it should have smart defaults and asks for any options beforehand.
The specific problem is that converting unrecognised tags to notes is wrong, period, and should never be offered as an option. All it accomplishes is messing up your database with a lot of crappy notes.
It may be desirable to preserve unrecognised tags, but replacing them with notes is not preserving them, it is messing up the database. To preserve tags, preserve tags, like Relatives does.

consistency checks

When Daub Ages! is done reading the GEDCOM file, it does not show a summary, nor does it show your data in the main window.

Daub Ages! performs consistency checks on import, and shows the result of those checks in a dialog box. That dialog box shows a list of invalid and improbable dates and relationships as Tasks, things you need to fix. You can click on any of the task to bring up a dialog with the relevant data for you to edit.
That dialog box is initially rather small, but you can resize it. You can also click it out of the way and later reopen by choosing Tasks from the main menu.

When you click it out of the way, Daub Ages! still does not show you your data. Once the import is done, and the Task dialog has been dismissed, you are looking at an empty main window.

GEDCOM native

I was briefly tempted to think of Ages! as a genealogy application without a native file format, an application whose only native format is an in-memory database, but its own File | Save menu item is clear proof that it is not. Ages! does not just export to GEDCOM, it also saves to GEDCOM.

Daub Ages! uses GEDCOM as its native database format.
Family Historian 3 tries the same thing, and fails horribly. Family Historian seems to cheat by merely changing the file header, and because it supports neither ANSEL nor UTF-8 at all, it often mangles your data upon import without even a warning.

Dynastree Home Edition (originally It’s Our Tree Home Edition) tried the same approach but with less than commendable performance. It demands memory ten times the file size, its import speed is mediocre, and exiting the application seems to take forever.

total import time

When I reviewed Family Historian and It’s Our Tree Home Edition, I decided to add the save time to the import time. The reasons for that are quite simple.

changes

Applications that have been build on top of a database system can save changes to individual records while you are editing, and that generally happens so fast that you do not notice it. Applications that use GEDCOM as their native file format must rewrite the entire file for every little change you make, and that can take quite some time. Because writing the entire database is bound to be somewhat slow, these applications tend avoid doing it - and often do not even save your database after importing it.

postponed

Several applications that use GEDCOM as their native file format do not even write the GEDCOM upon import, but postpone writing the file until you exit the application, at which point it the application will write the file including all changes you’ve made.

That may be the logical approach for applications using GEDCOM as their native format, but it makes for unfair comparisons. After all, a data file has not really been imported until it has been written to the native format.

So, to fairly compare the import performance of these applications to others that do save to their native database format upon import, the save time is added to its import-without-save time.
You can think of the import time as an import-and-exit time, with a save-upon-exit if necessary - and it is only necessary if the database has not been written yet.

unrecognised changes

Daub Ages! reads GEDCOM files into memory, and only saves a database to an Ages! GEDCOM file when the user decides to save it.

If you made changes and try to exit, Ages! will prompt you to save your changes. However, if you merely import a database and then immediately exit the application again, without making any changes, Ages! does not save the file.
That is inconsistent. After all, Ages! ostensibly imports the file and even explicitly claims to either throw away unrecognised tags or change these into notes, but then ends up doing neither, and will bother you with the same question the next time you want to work with the same database again.
The underlying mistake here is that Ages! does not recognise the modifications that Ages! itself makes during import as database changes; once that mistake it fixed, it should (prompt to) save the database to Ages GEDCOM format, and not make you answer the questions again.

overwrite

A more worrisome issue than Ages!’s failure to save its own changes is that it save routine defaults to overwriting the original GEDCOM file you just imported. That is an issue most genealogy applications do not have, and one Ages! does not warn against.

To avoid overwriting your existing GEDCOM files, you can either make copies of your GEDCOM files before reading them into Daub Ages!, or choose the File | Save As menu item as soon as the loading is done.

safe save

When evaluating MyHeritage Family Tree Builder 2.0, I discovered that Family Tree Builder is unsafe. When you ask it to save your data, it starts by deleting your current database, and then writes the new one. So, if it crashes during that save, your database is gone!

Daub Ages! replaces your existing GEDCOM file with a new one, but it does not delete the existing one until the new one has been written. It first renames the old one (appending .backup to the name), and then writes the new one.

import log file

Daub Ages! does not produce an import log file. It does show the Task Window after loading the GEDCOM file, but that is a post-import dialog. If anything goes wrong during GEDCOM import, Daub Ages! will not get round to showing it, and there will be no import log to help you discover what went wrong.

measuring import times

I measure import speed from choosing the GEDCOM file till display of some screen that allows you to start working by selecting an individual. A user interface annoyance of Daub Ages! is that you cannot select an individual unless you choose to open some window first. I decided to bring up the All Relatives window, which lets you choose from a list of all individuals in the database by choosing Edit Person (Ctrl+E) from the Edit menu.

Thus, the full import time for Daub Ages! is measured by choosing a file, clicking No, closing the Task dialog box, choosing File | Save, choosing Edit Person (Ctrl+E) and waiting for the dialog of individuals to appear.

The import times below are among the fastest I’ve seen, but those times would be even better if it was not necessary to dismiss dialogs during import, explicitly ask for a file save and manually bring up a list of persons.

1 MB GEDCOM

On the Vista machine, import of the 1MB GEDCOM takes 8 seconds. On the Windows XP machine, import of the 1MB GEDCOM takes 10 seconds.

100k INDI GEDCOM

On the Vista machine, import of the 100k INDI GEDCOM takes 20 seconds. On the Windows XP machine, import of the100k INDI GEDCOM takes 55 seconds.

fast

A lot of the import time is spend clicking away the dialog boxes that pop up, waiting for the file to save and bringing up the list of individuals.

Ages! is seriously fast, so to better compare it with other fast applications, I tried importing some larger databases than usual.

On the Vista machine, Ages! loads the ITIS database (100 MB) in 40 seconds. It took about a minute to process about 80 % of the LIFE database (more than 600 MB and more than 2 million individuals) before reporting that it ran out of memory - at which point it hung and I had to bring up the Windows Task Manager to terminate it.

memory usage

With the ITIS file loaded, the Task Manager shows Ages to be using 270 MB. Looking at the numbers for various files, Ages! seems to need about 2,5 times the size of the GEDCOM file.

I consider 2,5 times the file size a reasonable peak usage for GEDCOM import that imports the entire file into memory to process it, but continually using 2,5 times the file size is a bit much.
That said, Ages! is less wasteful of memory than many other genealogy applications. Some need ten, twenty or thirty times the GEDCOM size…

It is better to have fast import with consistency checking than the fastest import without consistency checking.

consistency check

Daub Ages! is not the fastest genealogy application I have seen, but it is certainly fast enough. Moreover, those import times include consistency checks. Few applications perform consistency checks upon import, and that is a pity. More genealogy applications should do so. It is possible to turn the consistency checking off, but it is on by default, and I kept it that way.
It is better to have fast import with consistency checking than the fastest import without consistency checking.

Daub Ages! loads and checks the database six times as fast as PAF writes it.

fast

I currently use RootsMagic for quick consistency checks and Legacy for slow but more extensive checks. Both import PAF databases directly. Daub Ages! does not, I have to export to a fresh GEDCOM first, but it is still faster. In fact, PAF takes about 2½ minutes to export the database, and Daub Ages! loads it in 25 seconds. Daub Ages! loads and checks the database six times as fast as PAF writes it.

Daub Ages! actually treats childbirth after death of the father as a genealogy application should

father check

Moreover, unlike RootsMagic and Legacy, Daub Ages! actually treats childbirth after death of the father as a genealogy application should; it does not complain about the mere fact itself, but only complains when the difference is unreasonably large. The default setting is ten months, but you can configure to be any number of days.

smart

The consistency checks are not just fast and accurate but reasonably smart too. In the absence of a birth date for either the husband or the wife, Daub Ages! still noted that a marriage date was impossible because the mother wasn’t born yet. I thus found and corrected typos that other consistency checks had missed.

When I tried to change the maximum age for a mother from 50 to 55, nothing I did seemed to work, it stayed 50. After some emails, Jörn Daub! confirmed the defect and provided a workaround; do not just change the year, but some other part of the the condition as well, then change the condition back.
The interface for setting the conditions takes some getting used to, but it is quite flexible. It does not just allow you to pick numbers for pre-defined conditions, but to create and remove conditions.

character set support

Daub Ages! 1.x is a code-page based application. It uses Windows ANSI (Windows code page 1252) internally, and will only write ANSI GEDCOM files. As use of ANSI in GEDCOM is illegal, that immediately implies that all Daub Ages! GEDCOM files are invalid.

Daub Ages! 1.53 will import ANSEL and UTF-8 GEDCOM files, but it exports nothing but ANSI GEDCOM files. That is rather disappointing for a decade-old application, as supporting ANSEL and UTF-8 upon export does not take much more than adding two straightforward conversion tables.

The quick tests I did to confirm that Daub Ages! does indeed support ANSEL and UTF-8 upon import insofar a Windows ANSI application can do so.

user interface

mistakes

There are some mistakes in the user interface. For example, the File | New menu item does not prompt you for a new database name as it should, but for a new person in the current database, just like Edit | New Person... does.

automatic loading

I also find it rather annoying that Daub Ages! loads the last project I worked on. That it always pops up a window alerting you to the errors in the file is arguable a good thing, I just don’t want it to open the database until I tell it to do so. Daub Ages! is quite configurable, but the option to turn this automatic loading off seems to be missing.

Another annoying habit of several applications, including Daub Ages!, is to always maximise their window and fill your entire screen, even if you resized it last time. If the user sets a size, the application should respect that.

MDI

Daub Ages!’s age shows in its user interface. It runs fine on Windows Vista, but look and feels like a Windows 3.1 application.

Daub Ages! seems to be using a Multiple Document Interface (MDI). This Windows terminology may be a bit misleading here, as Daub Ages! will not open multiple databases at once. Daub Ages! allows you to open multiple windows that each provide a different view of the same database.

For example, you can have one window showing a list of individuals, and another window showing an ancestral chart. The main window space itself remains unused. I think it should be showing the list of individuals to choose from.

Navigation takes some getting used to, as it does not follow Windows user interface guidelines. When you choose to make a chart, Daub Ages! presents you with the list of individuals to choose from. You cannot, when editing some individual, immediately bring up a chart for that individual. However, when you choose to make a chart, Daub Ages! does pre-select the individual you are editing, so you can just click the button to choose to make a chart for that individual.

charts

Daub Ages! support various charts. The web site prominently shows some multi-colour chart as eye candy, but when you first create a chart, it is in boring black on white. You need to set some colours and fonts, and you have to do so manually. Daub Ages! does not support themes like Legacy Charting does, and I really miss that feature. Few genealogical applications deserve comparison with Legacy Charting, and Daub Ages! lacks the modern user interface, but it has the speedy file load and speedy drawing. It lacks themes and I do miss the fan chart, but other than those complaints, its charting capabilities seem pretty good.

performance

Daub Ages! created a chart with several thousand ancestors in just a few seconds and then let me zoom in out and scroll without any noticeable delay. It is obvious that this is not some quickly thrown together charting that turns unresponsive and sluggish as soon as you try more than a toy example, as Family Tree Builder does, but that serious work was put into making the charting perform smoothly, even with thousand of individuals on screen.

layout

All seemed to be going well until I decided to try some layout options. Daub Ages! promptly set a background gradient, but when I opted for a shadow behind each box, it went into an seemingly endless loop displaying the same Not enough storage is available to process this command messagebox over and over again, so I terminated the application from Windows Task Manager. If I had made changes to the database during that session and not explicitly opted to save the database, these changes would not have been saved but lost…

When I restarted Daub Ages!, it apparently wanted to reopen all the same windows, and I got the same messagebox loop again…

After several more tries, I gave up on on making an ancestral diagram. I had more success creating Ancestor Pages, a series of pages with small ancestral diagrams on each. When I clicked the PDF button, Daub Ages! showed its slow side. It took minutes to create the PDF file and did not include the background gradient I had selected. Export to Word was a lot faster, but the trees did not look like trees anymore.

un-Windows

The biggest problem I have with the user interface is that it does not just violate Windows user interface guidelines here and there, but goes against basic ideas underlying these guidelines. In Windows, it is normal to first select an object and then choose an action. Daub Ages! expect you to first choose an action and then prompts you for the object to apply it to. That is un-Windows.
The Daub web site claims the software is intuitive. I’d call going against the platform conventions less than intuitive, but other than that major issue Daub Ages! is fairly easy to use.

documentation

There is no help file, but there is an manual, and it is available in Amglish, French and German. There is also a technical reference which discusses the functions you can use in reports, and provides a global overview of the database records and fields.

web site creation

Daub Ages! does not generate web sites, it does not even generate reports in HTML.

geocoding

Daub Ages! can present a master place list, and has a map it can draw places on, but it has no support for geocoding. You can enter coordinates manually, but that is not very practical.

Ages! To Go

Ages! To Go puts the Ages! application and your database on an USB stick, so you can take it with you.

duplicates

Ages! has a Find Duplicates function. As the duplicates checks are fast, I decided to give it a whirl, but just as with so many other genealogy applications that offer this feature, it simply wasn’t designed with large databases in mind. It took about ten minutes to fill its progress bar halfway, and then ran out of memory.

conclusion

installation

The installation experience should be improved by having a single installer that allows you to select components and then installs all you selected.

import

The import is fast, but annoys by offering the option to convert unrecognised tags into notes. That should not be an option and import options should be shown before the import, not during import.
The import does not automatically save the imported file to Ages!’s native GEDCOM dialect and if you save without paying attention, you’ll overwrite the file you just imported. The file save is performed in a safe manner.

character set

Daub Ages! requires Windows 2000, a Unicode-based platform, but is itself still an code-page based applications. It is a Windows ANSI application that does support ANSEL and UTF-8 on import, but not on export. That’s odd, because exporting to ANSEL and UTF-8 is easier than importing from it.

import log file

Ages! does not produce an import log file.

consistency checks

Daub Ages! does perform consistency checks during import, and will show a Task window listing the problems it found, and you can click through to the records. Unlike Legacy and RootsMagic do not get the check for children born after the death of their father right, making their checks for this possible issue close to useless, but Daub Ages! does get it right.

user interface

The application needs to respect the user’s wishes, follow Windows conventions and make better use of the screen real estate. Operations are not as intuitive as they could be they could be and things may take more clicks than necessary.

The charts are remarkable fast, with smooth zooming, but Ages! easily runs out of memory if you try to do something about the boring black and white. Export to PDF is slow and less than perfect, export to Word is disappointingly unlike the chart.

The user-interface is available in multiple languages. Amglish is supported, but English is not. The manual is available in several languages, but there is no help file in any language.

overall

Daub Ages! has some good features, but they do not combine into a great program because each feature is hampered by some serious issues. The import is fast and includes a consistency check, but is also annoying, does not produce an import log, and does not handle anything but illegal ANSI GEDCOM files correctly. To say that the geocoding capabilities are primitive is overstating its capabilities already, it is embryonic at best. Charts are created fast, with smooth scrolling and zooming, but Ages! easily runs out of memory, and the quality of the export to PDF and Word is disappointing.

Ages! has some seriously good features and some serious weaknesses. If those weaknesses are addressed, it could become quite impressive. I do recommend you check it out for the consistency checks alone.

future

Version 2.0 is in development and should be a fundamental improvement over the current product, as it will be Unicode-based. Jörn Daub hopes to introduce it next year.

updates

2009-12-02 correction

When I posted this article a week ago, the text initially reported that Daub Ages! correctly converts ANSEL and UTF-8 to ANSI, but that the imported fields show the ANSEL or UTF-8 text as if it were imported as Windows ANSI. That would be strange, so I checked it again and found I had made a mistake. Daub Ages! imports ANSEL and UTF-8 GEDCOM files just fine. The text has been corrected to reflect that.

import speed

Daub Ages! 1.53 (Windows XP PC)

file1 MB GEDCOM100k INDI GEDCOM
time10s55s
time in seconds1055
INDI per second486,201.819,40
bytes per second105.589,50705.443,51

Daub Ages! 1.53 (Vista PC)

file1 MB GEDCOM100k INDI GEDCOM
time8s20s
time in seconds820
INDI per second697,755.003,35
bytes per second131.986,881.939.996,65

product details

propertyvalue
productDaub Ages!
version1.53
companyJörn Daub e.K.
websiteDaub Ages!
price€ 35
requirementWindows 2000 or later
note 
Verdictserious features & serious weaknesses
Ratingpromising

links