GenoPro

GenoPro is a software application for drawing family trees and genograms. GenoPro can store additional information such as pictures, contacts, places, sources, occupation and education history for each individual, as well as document the emotional and social relationships among individuals.

History
GenoPro was created in 1998 by Daniel Morin while being a student at the University of Waterloo in Computer Engineering. His original idea stemmed from his father's request to design a genogram during his training as a family counselor. GenoPro was then launched as a freeware, and was immediately distributed over the Internet with great success. At that time, the only thing requested from users was for them to send a postcard if they felt that GenoPro was worth the postcard and stamp. Dan received several hundred post cards from all around the world.

A year later, GenoPro was downloaded 33,000 times solely from Download.com to become the most popular genealogy download of the year, a title it still holds today. As the cost of hosting GenoPro.com was increasing and so was the time to maintain and improve the application, a decision was to be made: drop GenoPro and move on to other things, or take GenoPro as a full time job.

Having chosen the second option, the next step was to improve GenoPro to make it a professional genealogy tool. The internal changes to GenoPro were considerable, from Unicode support to a new architecture to subdivide a family tree into multiple pedigree layouts, notwithstanding the development of a unique report generator supporting scripting languages.

This development period took much longer than anticipated - five years of intensive programming producing 20 major betas plus 75 minor betas. Many users had serious doubts that the product would ever emerge. GenoPro “2.0” was almost a vaporware. In December 2006, GenoPro 2007 was finally released, delivering on the promised features and many more.

Features
There are few reviews comparing GenoPro with other genealogy applications - mostly because it is like comparing apples and oranges. Most genealogy applications are database-driven and their graphical representation is a generic layout of a tiny portion of the genealogy data. GenoPro’s architecture revolves around the pedigree layout where the user can view the entire genealogy tree at once, including family branches in any direction to illustrate the complex scenarios based on today's reconstructed families. With GenoPro, the user can manually customize the layout by positioning the individuals as well as using color to graphically emphasize what he/she feels is important in the family, such as ethnicity, culture, citizenship, education level, religion, political affiliations, and diseases in the case of medical pedigrees.

GenoPro can split a large family tree into many sub-trees and hyperlink them together. With only two mouse clicks, the user can move an entire branch to another sheet. GenoPro takes care of the rest, by creating the necessary hyperlinks to connect the trees. Supporting multiple sub trees is necessary for scaling large family trees containing tens of thousands of individuals. Without the ability to split a large tree into smaller sub trees, it becomes very difficult to organize information or to create layouts suitable for printing. Printing a family tree can be done on a normal printer where the family tree is spitted into multiple sheets and glued together, or on a large poster using a special printer.

GenoPro can display data just like traditional genealogy software. However, GenoPro's spreadsheet is unique; it includes hyperlinks to navigate between any objects, from parents to children to siblings, or across pictures, places, sources and citations. GenoPro's spreadsheet allows various functions, including in-place editing, bulk-editing, finding and replacing, data sorting, copying and pasting with other commercial spreadsheet applications, and of course, unlimited use of the undo/redo function for every operation.

GenoPro displays special symbols to distinguish different family relationships such as marriage, divorce, cohabitation and love affairs, as well as other symbols for emotional relationships such as friendship, love, distrust, hostility and jealousy.

GenoPro is equipped with a [Report|report] generator capable of generating rich HTML pages linked to interactive SVG (Scalable Vector Graphics) family trees. Every installation of GenoPro includes the full source code for each built-in report, so the user can customize any report. GenoPro's report generator uses popular scripting languages such as VBScript and JavaScript. GenoPro sports built-in ASP objects and many additional objects making it easy to generate elaborate reports. GenoPro can also load third-party COM modules made in other programming languages such C++, C#, VB.NET or Java and/or connect to external databases such as Microsoft SQL, MySQL, or Oracle to fetch additional data for generating a report. The latest update of GenoPro includes a new type of report to generate Microsoft Word and OpenOffice documents.

GenoPro has its own object-oriented database engine designed to foster object inheritance and circular references. Object inheritance is the key for avoiding redundant data, which in turn eliminates inconsistencies, and reduces typing and memory storage. The greatest benefit of inheritance is providing a hierarchy for classifying data, such as grouping places by country, state, city and buildings. A building, such as a hospital or cemetery may further be divided into rooms and lots for finer data granularity. Since places are objects, the user can enter minute details, from street addresses and pictures, to latitude and longitude for GPS positioning. Any place deriving from a parent place will inherit its parent's values, unless overwritten.

GenoPro's report generator understands object hierarchy and its generated reports give the user the option to expand each node to view details. Also, the report generator displays Geo Mapping in the Google Map for every place defined by a city name or a GPS position. Circular referencing is very common in genealogy, such as displaying a picture for a place, and linking this place to its original picture. Commercial databases cannot handle circular references, or if such a catastrophic scenario happens, the data is in a deadlock and cannot be deleted. Object inheritance is nearly impossible for standard databases to achieve without writing massive bug-prone code requiring excessive processing, thus rendering the entire application extremely slow and unusable for large amounts of data.

Languages Available
GenoPro is available in 25 languages, including Albanian, Arabic, Brazilian Portuguese, Catalan, Czech, Dutch, English, Estonian, Finnish, French, German, Hebrew, Hungarian, Icelandic, Italian, Latvian, Lithuanian, Polish, Portuguese, Russian, Scots Gaelic, Spanish, Swedish, Turkish, Vietnamese and Ukrainian. GenoPro features an online collaboration system where users can translate the menus, dialogs and error messages.

File Format
GenoPro uses XML as its core file format, and its file extension .gno is a zipped-XML file. The user may rename the file extension .gno to .zip for editing the content of the genealogy document with a text editor. GenoPro can also import and export data in the Gedcom format.

Platforms
GenoPro has been designed to run on the Windows platform, however many users are running GenoPro on their Macintosh and Linux machines. Running GenoPro on a Macintosh requires special software such as Parallels, or Virtual PC for older non-Intel Macs. GenoPro runs on Linux with Wine, however without the report generator.