Generations FAQ - Technical Questions

Q: Will Generations support GIF images?
A: No. GIF is a proprietary format and there are royalties to pay to be able to display GIF files.

Q: Why saving a .gno file under a different filename can reduce the file size by half?
A: When you save a genealogy tree, Generations stores two versions of your genealogy tree. One version is identical to the content of the file when you opened the document, while the other version contains the new updates.  Having two versions increases the size of your .gno file but allows Generations to gracefully recover from a crash while saving.  As a result, you can make a .gno file smaller by using the "Save As" command and save under a different filename.  Saving under a different file name simply creates a new file without the previous content of your genealogy tree.

Q: How can you add new features without changing the file format?
A: The file format has empty fields for last-minute enhancements.  This allows backward and forward compatibility within version 1.x.  Version 2.0 will have a new file format (compatible with version 1.x, of course) to store new type of objects.

Q: Why Generations does not display JPEG pictures well on a 256-color display?
A: There are several reasons for this.  Each pixel in a JPEG picture is stored in 24-bit (16 millions colors) and must be converted to an 8-bit (256 colors) equivalent entry.  The conversion results in a loss of picture quality.  To overcome this, a dithering routine could be written to artificially create more colors than available on the hardware.  There is no built-in dithering routine in Windows and such routine would take weeks of development time.  Since most video cards have 1 MB of RAM, most users can view pictures in 16-bit colors (32,000 colors) at a resolution of 800 by 600 pixels.

Q: Why shrinked images do not look good?
A: This mostly happens on a 256-color display.  If you have 256 colors, there is not much halftone shrinking can do anyway because there are not enough colors to choose from.  If Generations was a graphical package, then I would write my own halftone shrinking routine, but I don't have the time now.  Second, Generations manipulate images with the same number of colors available on your display.  If you have a 256-color display, then the image will only have 256 colors, and therefore the shrinked version will have a subset of the 256 original colors.  Ideally, Generations should keep an image of 16 millions colors, shrink it, and convert it to 256 colors before rendering to the display.   Such an operation would be very CPU intensive (ie, make the painting very slow), would require lot more memory and a fair amount of extra coding.    Conclusion, use 16 or 24-bit display to get good quality images.