Modern Software Experience

2008-12-06

MyBlood

Everything is related

MyBlood is a brand new genealogy application. It is so new, that it is still is alpha - at least, so their website claims. Perhaps the program is alpha quality, but when its publicly available, it is at least a beta.

The slogan for the MyBlood program, Everything is related, is similar to yet critically different from Geni.com’s Everyone is related.

The logo in the right corner of the website shows just the Everything is related, but the full slogan on the first page of the documentation is Everything is related, everyone is unique.

download

MyBlood is not for sale yet. You can obtain a copy of the current by registering on their website. As soon as you register, you are presented with download links.
The site states that you should receive a license key within 24 hours. I received that email about five minutes after registering.

multi-platform

MyBlood is a multi-platform application. It is available for both Windows and MacOS. I tried the Windows on both Windows XP and Vista. The Windows download is about 15 MB, the MacOS download about 25 MB.

This remarkable size difference immediately suggests that the Windows variant is native and that the MacOS variant was ported from Windows using a library that adds quite some bulk.
The remark on the download page that The focus of Alpha 1 is on the PC version seems to confirm that thought.

Update 2008-12-16: The large size difference is just because the MacOS variant is a Universal binary. The MacOS variant is as native as the Windows variant.

In this Alpha, MyBlood is one of those program that annoys by automatically opening the last file you worked on…

installation

Installation was swift and simple, allowed changing the installation directory, and created a desktop icon.

In this Alpha, MyBlood is one of those program that annoys by automatically opening the last file you worked on, and the installations sets that last file to the demo database, so when you open the program for the first time, it opens the demo database, the Royal Family of England.

Loading a large files takes many minutes, so if the last file you worked on is a large, starting MyBlood is far from speedy and there is not even a button to cancel the import.

registration

Most menu items are greyed out until you enter you registration details in the dialog box the program popped up. I encountered no problems using the registration key on either XP or Vista.

multi-language

MyBlood is a multi-language application. Vertical Horizon is a Belgian company, and this early version supports English in addition to the native languages Dutch and French. Belgium has three official languages, the third is German, spoken in a small Eastern part bordering on Germany. German is not supported by this release yet.

You can change language using the Preferences dialog. There is no shorter way. The program changes language immediately, without restarting.

help file

There is no help file. There is some unfinished documentation in Adobe PDF files and there is a support forum.

database

MyBlood databases have file extension *.gja. Each file starts with the text Geert_Jadoul_Ancestry_File, and that immediately explains the less than obvious file extension. Geert Jadoul is the programmer behind the Vertical Horizon company.

A small but annoying design error is that the program does not allow you to create a new empty database, but demands that you immediately enter at least one person.
I soon discovered a workaround: create a new database, enter a new person, and exit without saving your changes. The result is an empty MyBlood database.

…three different visual styles competing for domination … is distracting and looks horrible.

user interface

The user interface seems inspired by Family Tree Maker 2008. Like Family Tree Maker, MyBlood has tabs that switch between using buttons. Why use buttons when tabs make the interface so much more obvious? At least MyBlood places those buttons right above the area in which is shows the different tabs, instead of above the main menu.
There is a toolbar in between the main menu and those tabs that look like buttons. The few buttons on it, and indeed the buttons that appear on some of the tabs, are stylised and simple, but they just don’t look like Windows buttons, and that is a user interface mistake already.

The more serious mistake is that those buttons, the button-like tabs and the Windows buttons you get on dialog all look different. That is three different visual styles competing for domination. It is distracting and looks horrible.

Simple user interface things that make a program easier to use, like a list of the most recently used files, are absent. You have to open files with the File Open dialog box, which does not yet filter the view to show just MyBlood databases.

The main tabs switch between various views of a single database. There are nine tabs. Those nine tabs and their views are labelled People, Ancestors, Descendants, Chronology, TimeMaps, Media, Places, Hist. Events and Reports.

The interface looks and feels like a mix of a Windows and web interface.

GEDCOM import

MyBlood does not support GEDCOM import yet, not even import into an empty file. The import item is greyed out. MyBlood demands that you close the open file and then choose File | Open GEDCOM File… instead.

Some programs have needlessly complex import wizards. MyBlood keeps things simple with just one import dialog. Everything you really need is on there. Well, the only thing I generally find myself wishing for is an estimate of the time the import is going to take, and MyBlood is no exception. It certainly is not fast enough to do without.

import dialog

Just below the top of the import dialog are two files names. The top one is the GEDCOM file you are importing from. The second one is the MyBlood database that MyBlood will import it to. That defaults to a file with the same name but a different extension. That default may seem sensible but is not sensible if you reading the GEDCOM from a from a read-only disk. MyBlood does allow you to change the name, but you have to take care not to use a name That’s already taken.
These issues are exactly why you should instead be able to import a GEDCOM file into an already created empty database of your choosing.

The import starts with an analysis phase. MyBlood does not wait for you to confirm the destination database. Immediately you’ve selected an GEDOCM file to open, MyBlood starts analysing the file. Once it is done, it show the file header, as well as the two key statistics: the number of the people and the number of families.
It even shows a note to display the rarely used HEADER.NOTE field.

There is a character set option on the dialog, but it is greyed out because it does not work yet.

progress bar

Once you picked a file name and MyBlood is done analysing, you hit the OK button. MyBlood will then display a progress bar until it is done importing. The progress bar seems fairly accurate, except that it does not take the final stage of the import process into account.

The only serious user interface mistake in the import procedure is that it demands that you confirm that you want to import the file when the import has already started, and that you have to wait for the analysis phase to finish before you can confirm. For the 100k INDI file, that took more than a minute.
If MyBlood removed the file selection from the current import dialog and simply allowed you to import a GEDCOM file into an existing empty database, it would not need to ask for confirmation at all.

import log

A serious shortcoming of MyBlood 1.0 Alpha 1 is that it does not write an import log. It does not create a post-import report either. It does not produce the slightest hint that something may have gone wrong. MyBlood does not even complain about made-up tags like YYY or ZZZ.

1 MB GEDCOM

Import of the 1 MB seemed to be done after 1 minute and 5 seconds, but the import dialog did not immediately disappear. It took another ten seconds for MyBlood to destroy the dialog and show the data in the People view. Total import time is 1h15s (75s). That puts the import for a small file in between Legacy Family Tree 6 and Family Tree Maker 16.

100k INDI GEDCOM

It took slightly more than a minute for the analysis phase to finish. There is no hint of the program’s progress during this phase, so you just sit around waiting for it to allow you to click an OK button that should not even be there. That interface mistake reminds me of Legacy’s import dialogs, and its button that is there because the import pauses, while the import pauses so you can push that button...
MyBlood’s import interface is much simpler than Legacy’s misgrowth and MyBlood did not pop-up any useless messageboxes during the import either.

final phase

Once the progress bar indicated completion, and had even disappeared from the dialog box already, it still took a considerable amount of time for the program to destroy the dialog box and show the data. MyBlood took about half an hour to complete the progress bar, and then another half hour for the final phase.

I do not know what it is doing in this final phase, but it must a lot, as CPU usage kept hovering between 50 % and 60 %. I also know that it takes more than long enough to need a progress indicator. This final import phase took ten seconds for a small file of just 1 MB already.

It is an import speed of just 25 individuals per seconds and less than 10 kilobytes per seconds.

memory

Import of the 100k INDI GEDCOM took 1h06m06s (3.966s). Once the import was done, the Windows Task Manager showed MyBlood to be using 413 MB of RAM.
It is an import speed of just 25 individuals per seconds and less than 10 kilobytes per seconds. That is just a tad slower than Legacy Family Tree 6.

Loading the HundredThousand.gja database takes 10m50s (650s). That is too long. A database load that slow does not just get in the way of using the program, but also makes it harder for Vertical Horizon to run a fair number of tests to ensure program quality. When the database has finally been loaded, Windows Takes manager showed MyBlood to be using 177 MB of RAM.
The database itself is about 25 MB. Whether using about seven times as much RAM is unreasonable very much depends on the features the program offers.

tab views

unresponsive

While I was browsing through the various tabs, MyBlood suddenly became unresponsive for no obvious reason whatsoever. Its CPU usage had shot up to about 50 %. There was no message or progress bar. It did not even repaint its main window and the Windows Task manager showed the program as Not Responding.
This kind of thing sure makes me agree with Vertical Horizon’s qualification of the current version as Alpha quality code. Restarting it meant waiting another ten minutes for the database to reload..

People

The home tab offers a People view. It shows a family, their children and their parents. You can switch between partners if there is more than one, but there is no button to this directly, you have to click on a context menu item.

Ancestors

The Ancestors tab offers a pedigree view of five generations - four generations and the children of the proband - that you can navigate through in a fairly obvious and common way. I did miss the ability to select different partners. You can fairly easily do so by navigating through the children, but only if there are children.

timeline

What sets the MyBlood Ancestral view apart from similar views in other programs is that it shows a timeline above the chart. I personally don’t like that this timeline is antichronological, I’d very much prefer a chronological one. It does not seem immediately useful either, but it is nice to a line highlighting the life of the selected individual overlying the combined lifespan of all individuals in the same generation.

Descendant

The Descendant view is tabular. When I moved up the tree, there was a noticeable delay of several seconds. Even switching to another program and back produces a noticeable delay in the repaint. There must be some rather inefficient coding behind this view. It is Alpha code though, and it may improve before the release.
The Descendant view features a timeline like the Ancestral view.

Chronology

The chronology view shows events in chronological order. The delay in the display of the Chronology view is so large that I found myself wondering whether the view worked at all. Again, just switching to another program and switching back is enough to trigger a repaint, after a wait of almost a quarter minute. In a serious breach of application etiquette, if you decide it takes to long, and move away to another program, it will sometimes make itself the foreground program once it is believes to be done redrawing, thus interrupting whatever you are doing - and triggering another wait while it redraws again. It does not always do this, but it is highly annoying when it does.

unresponsiveness

The lack of visual feedback makes the unresponsiveness worse. When you choose to switch to another tab, the button-like tab turns red, but that is all the visual feedback you get. The program continues to display the current tab, and there is no progress bar to indicate that it is working to change to the other tab.

TimeMap

The TimeMap tab only works if you have latitude and longitude details for the places. You can selects ancestors and events, and it will then display lines connecting these places. At least, that is what the MyBlood web site tells me. I was unable to get the necessary coordinates using the Places tab.

Media

The Media tab is where you manage your media. It allows you to add metadata and to associate a single picture with multiple persons.

Places

The places tab provides a master place list. You can manually edit the latitude and longitude of each place or try the Get Coordinates button. Next to the place list is a map view that offers a choice between a schematic view and a Google Maps view.

getting coordinates

The user interface for getting coordinates is not as intuitive as I hoped. It is not as simple as selecting a place and choosing the button. The user interface can be improved, but Vertical Horizon need hardly bother if they don’t fix the incredibly slow coordinates retrieval. The Get Coordinates button brings up a pop-up dialog that allows you to select place from another copy of the master place list (why?), and then choose "Lookup".
MyBlood goes into using 50 % CPU mode again, but accomplishes nothing. I allow Internet access, but while MyBlood keeps me waiting for ten minutes, the router shows no activity at all. As far as I can tell, MyBlood needed one tenth of a second to look it up and the rest of the ten minutes to decide that it was not going to show me any message about its failure to find coordinates for the place name.

In my experience so far, the Get Coordinates dialog simply doesn’t work.
unaccomplishment

|The second time I tried it, the router LED were flickering eagerly while MyBlood showed a progress bar. Because MyBlood delights in delaying the redraw of its user interface by at least ten second every time I switch to it, I hardly got to see the progress bar, but the router lights kept flickering. I took that as a good sign and let it be for a while. After about four minutes, the lights stopped flickering and I checked back. The lookup seemed to be done, but had accomplished nothing.
I tried a third time, deliberately choosing Amsterdam, Noord-Holland, Netherlands, surely an easy request for even the worst database, but MyBlood once again took some five minutes of frantic Internet activity that resulted in another magnificent unaccomplishment.

In my experience so far, the Get Coordinates dialog simply doesn’t work.

Hist. Events

Hist. Events is of course an abbreviation of Historical Events. Many prospective users would immediately recognise and understand this feature if Vertical Horizon were to rename it to Timelines.

Reports

The final tab provides several reports. A statistics report is handy in general when you are exporting from one and importing into another program as a quick check whether everything transferred. With MyBlood 1.0 Alpha 1, which does not produce an import log, it is all you get.

There are just two other reports, a person report and a family report.

charts

The other three choices on the Report tab are not for reports, but for charts. MyBlood offers an Ancestors chart, a Descendants chart, and an Ancestors fan. The program has just three charts, and it includes my favourite.
Whatever I did though, MyBlood just didn’t produce anything. It seems the statistics report is the only that actually works yet. The release notes confirm that impression.

GEDCOM export

The GEDCOM export is about as simple as the GEDCOM import. Perhaps too simple. It does not even offer the ability to filter out the living
The export is also rather slow. Export of the 100k INDI database took about two minutes.

character encoding

The export does not offer any character encoding options. When a program does not offer that option, it makes the choice for you. Some are decrepit designs do not support anything but Windows ANSI, others default to UTF-8 to make sure all characters export correctly. MyBlood uses UTF-8. It would be nice if it supported ANSEL too for compatibility with backward programs that do not support UTF-8 yet, but UTF-8 is the one encoding that does not limit your what characters you can use.

Byte Order Mark

An UTF-8 text file should start with a Byte Order Mark (BOM). PAF writes the BOM, MyBlood does not.

GEDCOM 5.5.1?

Browsing the MyBlood website, I was very happy to note that it claims to support both GEDCOM 5.5 and GEDCOM 5.5.1. This suggest that Vertical Horizon is aware of the differences between these two versions, and the importance of supporting GEDCOM 5.5.1.

I am sorry to note that the exported GEDCOM violates the GEDCOM standard in a way that makes me doubt the vendors claim that it support both GEDCOM 5.5 and GEDCOM 5.5.1. Only GEDCOM 5.5.1 supports UTF-8 encoded files, yet MyBlood labels the UTF-8 encoded file as GEDCOM version 5.5. That is wrong.

submitter record

Another error is that the header does not link to the submitter record, but contains the submitter record. Placing the submitter record inside the GEDCOM header is direct violation of the GEDCOM specification. The specification is quite explicit about the header containing a reference to the submitter record.
It may seem a little thing, the submitter record is just one record and easy to recreate when it your own file, but an erroneous header is sufficient reason for other programs to reject the entire GEDCOM file as invalid.

FORM

Another thing that is likely to create complaints from other programs is that the MyBlood header does not specify the GEDCOM form. It should contain the line FORM LINEAGE-LINKED but it does not.

filename

A small detail is that MyBlood does not export its own filename correctly. A GEDCOM header contains the name of the file the GEDCOM was created from. That should be FileName.GED, but MyBlood Exports it as just FileName - without the *.GED extension.

GEDCOM tags

A quick browse through the preference settings for the events you’d like to see on maps, suggests that MyBlood does support most or all GEDCOM tags, including the Jewish and LDS-specific events.

GEDCOM extensions

MyBlood did not write any GEDCOM extensions. That corresponds with the one choice it offers at the start of the export: without or without MyBlood extensions, and the only choice this early versions offers: without its extensions.

Unicode

MyBlood is a Unicode application. The text in its database is UTF-8 encoded, just like the GEDCOM files it exports. That only leaves the question how well it imports other encodings.

supported encodings

The import of an "ANSI" encoded file lacked the brief string of test characters it imported so successfully for the other tests. I cannot fault MyBlood for this, as "ANSI" is neither supported by GEDCOM nor a very good encoding choice, but I do fault MyBlood for not informing the user that it cannot handle Windows ANSI-encoded GEDCOM files.

AI quick glance at my quick tests suggested that MyBlood imports ANSEL GEDCOM files correctly, but the failure to import "ANSI" made me look closer, and I have to note that MyBlood failed this test. Many programs that do not support ANSEL will produced two characters for each character in the test, one for the base character and one for the combining character. MyBlood showed just one character, so it seemed fine, but these characters were missing their accents - MyBlood had thrown away the combining characters and only recognised the base characters.

I guess is that MyBlood really doesn’t support anything but UTF-8 yet and tries to import all GEDCOM files as if they are UTF-8 encoded, regardless of what the header says.

features

translator

MyBlood is not just multi-language. It also ships with a translator tool. You can load either the French or the Dutch database (the English interface is internal to the program), and then translate each line. It is fairly easy to use, but lacks an indicator which lines you’ve translated yet.

consistency check

MyBlood does not offer a consistency check.

web site

MyBlood includes a built-in browse functionality, but does not support generation of web sites yet.

features

MyBlood 1.0 Alpha 1 is simply rather short on features.

technology

The MyBlood setup program was created with Inno Setup, a free installer for Windows.

MyBlood itself appears to have been written in realBASIC (the vendor would like me to reverse the casing and write REALbasic, but that is just wrong. BASIC is an acronym that should be written all-uppercase), a BASIC dialect that is available for both Windows, Mac OS and Linux.
Vertical Horizon may want to use the profiler that ships with it to investigate MyBlood’s performance issues.

MyBlood appears to be using the realSQLDatabase included realBASIC as its database engine. It install the REALSQLDatabas.dll file in a subdirectory. The realSQLDatabase engine is based on the open-source SQLLite.
However, the *.GJA files it writes do not start with a SQLLite header. They start with the program’s own GJA header and appears to be in a format not very different from GEDCOM.

MyBlood uses Google Maps for the maps feature.

The built-in browser uses Microsoft’s browser control, and that should correspond to the version of Internet Explorer you have installed. That is a serious security risk if you have an older version installed. As Internet Explorer isn’t a real browser, overall browser quality is low, even if you have the latest version.

The user interface is about as clumsy as that of Family Tree Maker 2008, and even less responsive.

conclusion

user interface

The user interface is a mess of inconsistent styles. Tabs look like buttons, and buttons hardly look like buttons. The user interface is about as clumsy as that of Family Tree Maker 2008, and even less responsive.
MyBlood forces you to immediately enter at least one person, making it hard to create an empty database. MyBlood also annoys by opening last database you worked on, whether you like that or not, despite the fact loading of MyBlood databases is painfully slow

MyBlood does not support GEDCOM import into a just created empty file. MyBlood’s import dialog is fairly simple, but would be even simpler and would not need to ask for confirmation if it fixed this issue.

language

MyBlood is multi-language and you can switch language without restarting. It includes a simple translation tool to create support for other languages.

help file

There is no help file.

report

Reporting and charting is not supported yet.

GEDCOM

The GEDCOM export uses UTF-8 but does not write a Byte Order Mark. The GEDCOM export is broken anyway, as it does not even write a valid GEDCOM header. The GEDCOM import does not handle other encodings and does not produce an import log. In fact, MyBlood does report any error or warning at all, in any way. That is rather disconcerting.

Because MyBlood does not respect the encoding of the two test files (ANSI and ANSEL respectively), I consider both imports to have failed.

pathetic performance

GEDCOM import, database load and database save are all rather slow. Import speed is roughly the same as Legacy Family Tree 6. Every program operation is slow. MyBlood’s overall performance is pathetic.

overall

The overall impression is not promising, but I will draw no conclusions for this unfinished program other than to say that it is indeed unfinished.

updates

2008-12-16 Universal binary

The developer reminded me that Mac variant is a Universal binary. That means that it really contains the applications twice, once for PowerPC processors and once for Intel processor.
That is the reason the MacOS variant is larger. The MacOS variant is as native as the Windows variant., perhaps more so, as realBASIC has its roots on MacOS.

update 2008-12-29 MyBlood Alpha 2.1

Vertical Horizon has released MyBlood Alpha 2.1. The release notes give an honest idea of the program’s current limitations. Program installed over previous version without incident. About shows version as 1.0.484. MyBlood now supports German and Spanish, but these are Google Translations, not human translations. The GEDCOM export supports many DOS, Windows and MacOS code pages now, and defaults to UTF-8, but does not support ANSEL yet. It is still an Alpha, and the exit button in the upper right corner does not work.

2009-11-27 version 1.0

MyBlood 1.0 provides a full review of version 1.0.

2011-04-24 forum

Vertical Horizon has chosen another forum. The link has been updated.

2011-04-24 name change

MyBlood has changed name to myblood-line.

2012-11-08 MyBlood forum gone

The MyBlood forum seems to be gone. The link has been removed.

import speed

file1 MB GEDCOM100k INDI GEDCOM
time1m15s1h06m06s
time in seconds753.966
INDI per second64,8325,23
bytes per second14.078,609.783,00

product details

propertyvalue
productMyBlood
version1.0 "Alpha"
organisationVertical Horizon
websiteMyBlood
priceunannounced
free during "Alpha" period
requirementWindows: XP SP2 or Vista SP1
MacOS: Mac OS X 10.4
noteAlpha quality
Verdictunfinished
RatingNone

links

technology