Kezdőlap Újdonságok Kereső Egyesület Fórumok Aktualitások Kutatás Adattárak Történetek Fotógaléria Partnereink RSS
RSS hírcsatornák
About Genealogy
Ancestor.com
Archivalia - Geneal...
Archivalia - Hilfsw...
Australian Tree
Computergenealogie
Forum zur Ahnenfors...
Genealogie und Fami...
Genealogy Diary Tim...
Genealogy Insider
Genealogy News
Genealogy News Center
GenealogyBlog
Hungaricana - Magya...
Interment.net Cemet...
Lisa Louise Cooke's...
Louis Kessler's Beh...
Mac Genealogy Softw...
Magyar Országos Lev...
Maps for Genealogy
NYT > Genealogy
Obituaries
Országos Széchényi ...
The Genealogue
The Genealogy Gems ...
The Genealogy Guys ...

Louis KesslerLouis Kessler's Behold Blog

My Behold Blog: the Development of my Genealogy Program

This Feed has Moved. Please Update its Feed Address

I have finally put up my New Blog. There is a new RSS feed that goes with it. This is the last post to this feed.

Please change your feed address to: http://www.beholdgenealogy.com/blog/?feed=rss2

Delay

About a week ago, my Mom took very ill, advancing into her final days with terminal lung cancer. So I have not worked on the new site or Behold and it will be at least a week before I get back to it.

My Mom is 84, has had a full and satisfying life and has said she is ready to go - it is her time. She is a strong woman and doesn't want anyone to be sad or worry about her.

It is always tough losing a loved one. But she'll live on in our memories. And as a genealogist, it is my plan to record as many of these memories as possible so that her future descendants and relatives will know about her and her soul will live on.

Arrrgghh!! Still at it.

Every day for the last three weeks, I thought getting the new blog up was imminent. Needless to say, it isn't up yet.

It has been a real learning experience, interesting, but very frustrating. I've solved a hundred little problems along the way, and I'm still not quite there yet.

My last checks with Firefox and verifying that the web pages are valid have shown inconsistencies and bugs in both Internet Explorer and Firefox's handling of CSS that I've needed to fix. Then when using the zoom features of both browsers, I saw horrible results that required changing all fixed pixel sizes to relative sizes in the CSS and for all graphics as well.

Finally, when uploading it all to my website, I discovered differences between my host's Windows server and the one I run, thus requiring debugging and research to find out why and how to fix.

In a nutshell, there are several reasons for all my troubles: (1) I'm trying to customize my Wordpress/bbPress installation to my liking. I've done that, but it complicates matters. (2) I'm running on a Windows server, and it's not what most people use for Wordpress, so certain non-obvious things need to be changed. (3) I'm trying to get the webpages to look good and be error-free in both Firefox and Internet Explorer - not an easy task!

I've debated with myself several times in the last few months, whether to continue and finish this implementation of the new site and blog and forum and mailinglist. Or whether I should just go back to the old site and continue on with Behold. But I still believe this short term pain is worth the long term gain of a site that will be better equipped for future growth.

So let me hereby apologise to everyone currently using Behold for this delay. I haven't touched Behold in over 3 months since I started all this. Let me do what's required to finish it off correctly, the way it needs to be. Once that's done, I'll be able to concentrate 100% on Behold and getting it first to Version 1.0, and then 2.0 and Editing.

Last Post on this Blog -- Hopefully.

I've finally got through all the technical glitches so now WordPress and bbPress will work together very nicely. Now its just a matter of polishing up the various pages and putting them up.

I'm first going to concentrate on getting my new beholdgenealogy site up, and I'll convert the old site bit by bit. The first part will be this blog. What will happen is I will activate the new blog, deactivate the old one, and change all links to the blog to point to the new site. All my Behold pages should still continue to function during all this, except for the few seconds while I'm actually making the changes.

I'll also be copying all my old Blog posts into the new blog. The Behold User Forum had an area for Blog Comments. I'm going to attach those comments to their corresponding posts in the new blog. I'll have a new RSS feed for the new Blog, but I'll try to see if I can redirect the old one to it so that the old feed will continue to work.

I came up with a new registration system that I'm really happy with. When you register, you go to a page that simply asks for your e-mail address. You enter it and click the register button. It then sends you an e-mail with a link that you click on to verify you are the e-mail address holder. That link takes you to the registration page where you can select your UserID and password and enter any profile info you want. You then are registered. So what I've done is move the e-mail confirmation to the first step. That eliminates webbots from filling in registration forms and getting junk entered into the user database. That will get rid of a big maintenance headache that I currently have due to those webbots.

So the benefits of the blog change to you and me are:

  1. More interaction: You can add your comments directly onto my posts instead of into the Forum.
  2. More visibility: As a WordPress blog, it will be better indexed on Google and elsewhere.
  3. Plays better with others: Feed will be RSS 2.0 (now it's only 0.92) and it will accept Trackbacks and Pingbacks.
  4. Saves me hassle: I will no longer have to manually create my RSS feed or ping services to tell them about new posts.
  5. Brings me up to the state-of-the-art.

Hopefully my next post will be to the new Behold Blog.

Creating a Community

Slower than I hoped, but I am working through the WordPress/bbPress integration. This is very important to me, since I'll be melding the Behold Blog and the Behold User Forum together into what I hope will attract a "community" of Behold users and others who are interested in Behold. I'm trying to make it a nice and inviting environment in which everyone can discuss Behold and help me decide how best to progress into the future.

My main struggle over the last week was how WordPress handles registration, logins, user profiles and lost passwords. I was not pleased to see how unfriendly it was. So first I customized the forms to make them look like my new website. Then I added a login bar across the top of the Blog and Forum to encourage anyone interested to register. Then I changed the user fields so that there are only these: your UserID, your name, your e-mail address, your password, and two optional ones: your location and your website. Then I made it so that you can select your own password when you register, rather than WordPress' horrid idea of sending you one it creates. And of course, there will be single login for both the Blog and Forum. I had to learn a lot about cookies to get this working together. And my PHP programming skills are improving rapidly.

The other exciting tool is I found the mailing program for my newsletter. It is actually a plugin for WordPress from ShiftThis and I'm very impressed with it. It will allow me to generate multipart HTML/text messages instead of just plain HTML like I had before. And I think I've solved my ISP mailing problems as well. I've found the ISP Dewahost who is affiliated with Plimus that has a hosted SMTP service for sending no-spam bulk-mail. The server is designed only for mass mailings, and the cost is reasonable. I expect I'll be able to start my newsletters again soon after I get the new website up and working.

There's still a lot of work left to get everything working, but I'm getting through it.

Version 0.98.9.6 alpha

There's a new version now up. For non-purchasers of Behold, Behold had only 4 days left until it expired. So I needed to release a new version, even though all it has new is 2 small bug fixes.

I didn't realize until now how long this site redevelopment has been taking. It's now two months and still isn't finished. But that's because I'm tacking everything on: A new website. A new web host. A new blog tool. New forum software. New mailing software. New automation scripts. In the meantime, other than new software, I've also learned the PHP script language, mySQL database, and CSS web markup. So I've been busy and my head hurts.

I've come to realize that it was necessary to do this prior to getting to beta and then version 1.0. Soon my site will be ready for growth and increased traffic. Will that happen? I hope so, but at least I'll have a nice modern site with all the tools in place to handle it if and when it does.

So with all decisions in place, it's just a matter of implementing everything, bit by bit, until it's done. My current Behold website uses 8 year old HTML/ASP/Access technology that lasted up to now. This rewrite will bring my site into the new CSS/PHP/mySQL world, and should hopefully last me for the 8 years.

Back to Forum Five

Yes, I had planned on going to Simple Forum. I'm still very impressed by it. But, I wanted to customize it to my site and change not only the appearance (which can easily be done through CSS), but also the content of what is included and where.

Unfortunately, although the PHP code is all available, it is very tightly written and is not easy to change. I'd have to be very much an expert at PHP to do it properly. And such custom modifications would make it very difficult to upgrade to future versions. I wouldn't want to get stuck at the current version.

So we hereby redeclare the winner to be bbPress. Works just like WordPress. It can also be easily extended by plugins, but more importantly almost all of it is easily customizable. I should be able to add some really useful features, such as showing you the topics you started and all the topics you participated in.

I commented last entry that bbPress was "primitive". Well, yes it is. But it is just starting to take off, and people are really getting excited about it and starting to turn it around. And as far as handling large forums goes, just check out the Wordpress Support Forum which has well over 600,000 posts already. It uses bbPress.

The one intangible I really like about it is that I can have it in its own directory called "forum", rather than under the blog directory as "blog/forum" or as a strange url such as "blog/?page_id=6" as Simple Forum requires since it is a plugin under WordPress. People on Unix boxes can use pretty permalinks and can change that, but on my Windows host, I can't.

I decided to completely reinstall WordPress and bbPress and start fresh. After all those databases I tried, I really gunged everything up and needed to clean it out and be sure it's all working. That only took a day and now I'm merrily customizing and integrating it into my new site design. Still not done, but its getting there.

Six Forums

Forum. Forum. Forum. Forum. Forum. Forum.

  1. The current forum software I use on my site is Broadboard, a VBScript ASP forum that has worked quite well. But it's author stopped maintaining it several years ago, and it uses Microsoft Access as a database, which may limit it in the future. Also, it does not use CSS so would be difficult to adapt to the new site design.
     
  2. Then I thought about Simple Machines Forum, a full-featured free PHP-based forum. Lots of people like it and it has everything but the kitchen sink, but it felt bloaty to me.
     
  3. I took a stab at Google Groups which didn't look bad. But it wasn't under my control and wouldn't link into WordPress, and then I found out about...
     
  4. Vanilla - a plain vanilla standard-based standards-compliant Forum with plug-in capability.
     
  5. I started trying to integrate it with WordPress, but then it became obvious to try bbPress, the forum used at WordPress and developed with the same core code that WordPress uses. But bbPress appeared to be a bit too primitive. Then I found...
     
  6. Simple Forum - an actual WordPress plugin. Just drop it in and it's there. Full featured and 100% compatible and pre-integrated with WordPress. I don't remember the last time I've been so impressed by a software package. The author's site and his support and development of this package is a model for me to follow with Behold.
So hopefully this weekend, I'll have the new Blog and new Forum all finished (and I will be transferring all my old blog entries and the forum posts over). Then I'll make sure that my background scripts and integration with my Buy Now page works. If those have few problems, I may be able to get the new redesigned site up by end of next week. Then I'll finally be able to get back to Behold development.

This new site has taken me 2 months since I announced it. I thought it would only take a few weeks, but that's the way it goes sometimes. I've learned a lot about CSS and new web technologies and PHP scripting and MySQL databases, which will benefit me as I move Behold along.

Creating a Photo Gallery

With Photoshop Elements, I expected it would be able to create a photo gallery from the 300 pictures and 15 videos I took from my Nashville trip that I could put on my website to share with my relatives. It can, but only as a Flash-based gallery. I didn't want that, but I wanted a gallery that my relatives could download the pictures and videos from via right-clicking. PE didn't seem to provide that. I know there are online photo gallery sites, where you can put them up. But I really didn't think it would be difficult to set up my own.

After a bit of searching, I thought I found a wonderful tool. JAlbum is a free program to create your own photo album written in Java that has "endless customization". That sounded just like what I wanted, since I like to customize things and I'm quite particular.

The basic setup was quite easy, and it has lots of different "skins" you can choose from. I looked through many of them, finally settling on one of their most popular and most customizable called BluPlusPlus. But like the rest, I found it very bloated with too many features. I turned many off and was still left with a few things I wanted to get rid of, such as an unnecessary middle gallery layer, that couldn't be removed by the options. The only way was to change the Java programs themselves.

Now JAlbum supplies the Java code. I've never worked with Java before. Looking at the code, I would have to say the language is uggggg-ly! Java compilers for Windows are free, but I had no desire to get into that just now.

So I did the next best thing. I built the gallery using what I had customized so far. Then I manually edited the HTML produced to get rid of that middle layer and make other changes that I couldn't in the program. This worked out pretty well.

... until I discovered a few things that needed changing. I could no longer rebuild the files with JAlbum, or I would lose the manual edits I made. So now it became tedious. I wanted to remove 2 pages, which entailed manually changing the links on the previous and following pages, changing the count of pages in that section in the index, and changing every page in the section from "7 of 64" to "6 of 63", "8 of 64" to "7 of 63" ... well, you get the idea.

Finally I was done, until I discovered to my horror that the dates and times for every picture were off by one hour. My camera was on daylight saving time. In Photoshop Elements, I can easily change the time stamps. If I could have then used JAlbum to regenerate the pages, it would have been easy. Fortunately, the dates were in the format "Fri 18 Jan 2008 10:32:39 AM" so I could change all "2008 1:" to "2008 0:", "2008 2:" to "2008 1:" ... up to "2008 12:" to "2008 11:" and then the "2008 0:" to "2008 12:". Finally I'd check all the "2008 11:" to change the AM to PM and PM to AM and possibly change the date. Lot's of fun - NOT!

So here it is, a week later, and I got the album up, and it looks great (sorry it has private photos, so I can't link you to it). But it did zap a week out of me, after I thought a few hours would be all that would be needed. Another case of this programmer's extreme optimism.

Oh well. Now I'd better finish the Behold site customization, get the new site up, and get an interim release of Behold out. Beta is pushed back maybe until March, unfortunately.

Two Things Learned

3 great days in Nashville. 2 lousy days in airports. But it was a great getaway.

After taking the listing I had of that side of the family, I realized a couple of things:

(1) The research I have done and questioning of older ancestors many years ago was quite comprehensive. There was not much our relatives were able to add to that. I guess that's both good and bad.

(2) It is hard in the Behold listing to easily find siblings in the same generation when they are far from each other because of their descendants intervening. There is not much indentation for generation levels, and there's nothing on the paper that can help you find the next sibling.

That latter point is something I have thought about for awhile. My original concept was to draw lines on the left margin to connect parents with their children. But implementing that was non-trivial, especially when I wanted it to appear the same when printed and when exported to HTML or RTF. But I think I will want to try to implement that before beta if I can.

Going to a Family Event

My wife and I are leaving for Nashville Tennessee for the weekend. My wife's first cousin's youngest daughter is getting married. We're really looking forward to this little getaway, and a bit of a break from our -20 C temperatures.

Of course, family events are always great for adding a bit more to the family tree. What I like to do is take all the relevent family information with me. Being old fashioned, I still like a printed copy.

I haven't updated my genealogy data in about 10 years. It's waiting version 2.0 of Behold before I do that. But that still doesn't stop me from using what I've got. I want the data printed, and for me Behold is the perfect tool to do that.

I open up my GEDCOM with Behold and quickly find my wife's cousin. (Using Find and their name is the easiest way.) Then I right click and select Instant Organize on my wife's cousin. The resulting view is exactly what I want for this. It generates families in sequence, starting with my wife's cousin, then with her parents, then with her grandparents, etc, and anyone not related to her is by default, not included. Each level gives people one level more removed. That is perfect for this, because she's likely to invite the people in the nearest groupings. I can concentrate on her most immediate relatives and still have everyone else related to them listed further down where they're out of the way.

Behold then prints its nice Index of Names, Places and Sources following all the data which makes it easy to find anything in the printed copy. In this case, the whole report came into a nice 20 page listing. I printed it on both sides of the paper and that was 10 sheets, which I stapled together into a nice compact package.

I'll keep this in my coat pocket and be able to write everything new I find out directly onto the sheets. That at least is my technique. It works very well for me. Try it next time you go to a family event. And be sure to also note who told you what to document your source with it.

So I'll write again when I get back.

How Secure are Your Passwords?

Article warning: If you are paranoid about everything, you should avoid reading this article or it may ruin the Internet for you.

I started converting the Behold Forum over to bbPress. The first thing I had to do was convert all the registered users. To my horror, I discovered that my old Forum stored the passwords as plain text.

That actually was terrible for three reasons. First, if I was a dishonest guy, I could take your password, assume you used the same one at other sites you use, and login as you and do malicious things. Second, since I'm honest and don't even want to know what your password is, if there was someone working for me who had access to the database, they might be dishonest and use your password. Third, since I don't have anyone working for me, if there was a hacker out there who could get into my database, they could use your password.

So I'm not talking here about the "quality" of your password. It doesn't matter if you use a simple 3 letter password, or a complex 29 character password with lower and uppercase and numbers and special characters. If someone can find it out, it doesn't matter how well crafted it is.

WordPress and bbPress are different. They do not store the password in the database. Instead they "hash" the password using the MD5 algorithm and store that hashed value. This is not encryption which makes the password retrievable again. This is a hash which hides the password from everyone, including the owners of the database.

Now I know there have been vulnerabilities found to MD5 and WordPress and others are working to block them, but even so, hashing the password is infinitely safer than leaving it in plain text for the three reasons above.

So that got me wondering. I have about a dozen different passwords at several hundred different sites I use. I wonder how many of them are not hashed but are insecure in plain text in the databases.

In most cases, there actually is an easy way of finding out. Go to a site you've registered with and click on the "lost my password" link. If they email you back your actual password, then they are storing it in text or in some accessible way. If they instead send you a message with a new random password and say your password is reset, then they probably don't have access to it, and all they can do is give you a new one.

Unfortunately, you can't find this out until you've already registered for the site. For people paranoid about this, I guess the trick would be to use a dummy e-mail address and dummy password and register with that, do a lost password request and see what they send back. Then you can decide whether to trust them and register for real.

Credit card information could have the same problem. You can't do the same thing here, since I've never seen a "lost my credit card information" link on a site. You can follow the policy of only giving your credit card to companies you totally trust. That's why PayPal is so popular. You can buy from thousands of companies, but PayPal will be the only one with your number. But do you trust PayPal? I'd trust them more than the various kids working at the corner gas station who get my card number all the time. This is not really a worry though, because credit cards have lots of levels of security and are actually very safe. The credit card companies will protect you from credit card fraud.

But giving out passwords you use can be much worse. What if your userid and password were the same for your PayPal account? That could be very bad.

For those of you who signed up to my Behold Forum, I apologise. I didn't know about this before. I'm transferring your account and an MD5 hash of your current password to the new bbPress forum I am creating, and they'll now be safe.

Integration, Not Once, But Twice

Last night I managed to install Vanilla and using about a dozen different articles from the web, integrated it correctly with WordPress. I was very pleased.

Then this morning, I found that I had missed that fact that the Open Source groups using Wordpress have been working on their own light Vanilla-like Forum software called bbPress. Researching it, and looking at some implementations of bbPress, I saw no advantages anymore to stay with Vanilla. It's implementation was different than WordPress, and I'd have to learn and maintain 2 diffenent methods of adding themes, inserting plugins and setting up the pages. With bbPress, I'd be talking basically the same language as WordPress. Even though bbPress is only at Version 0.8.3.1 (even Behold is further!), right now it seems to have everything I want.

It only took me an hour to get rid of Vanilla and integrate bbPress instead. Next I'll customize it to my style and making it exactly what I want. This part's actually a lot of fun.

Newsletter Blues

Happy New Year everyone! I've worked hard and really customized Wordpress to look and work exactly as I'd like. It's ready to go as soon as I get the rest of the site up.

One of the next tasks was to replace the mailing software that I was using to send out my Behold News to people who had purchased or downloaded Behold. You might have noticed that you didn't receive a mailing for my last version in November. I didn't send one out because I had problems back in August with my mailings. My software kept shutting down every few hundred people and I'd have to restart it quite a few times. I wasn't sure if everyone had received it, and I'm sure some people received it twice. I didn't want that to happen again, so I didn't send one out in November.

I was thinking of switching to phpList to be my mailing program. But in the last couple of days, I found out the real problem and phpList wouldn't be any better than Spd E-Letter would.

There are three ways of sending Mass Mailings:

  1. From a program running on your website. This is what Spd E-Letter and phpList do. What I discovered the trouble here is that webhosts limit the number of mailings you are allowed to make in an hour. This is to prevent spamming. My number of mailings is now getting large enough that it would take quite a number of hours to send them all out at the limits they allow. If I had 10 times the list size, it would take days. So this is no longer a solution for me for the future.
     
  2. From a program running on your computer. Unfortunately this has the same problem. The limit instead is imposed by the ISP who you get Internet service from.
     
  3. From a company on the web that provides e-mailing services. This appears to be my only option. My research indicates the way to go is to stick to one of the top two: AWeber or GetResponse.
So at least for now, I don't have to worry about trying to implement phpList along with everything else I'm doing to get the new site up. But what I may do when I get my next version of Behold out, is try out both AWeber and GetResponse each with half my people and see which I like better.

But next it's off to Vanilla and finishing up the rest of my "new" site.

Blog Building

I was having so much fun taking Wordpress and customizing it to match my new website, that my wife had to get up and convince me to come to bed at 3 a.m. last night. Wordpress is really well designed. You can customize just about everything, and I love the way its implemented. There is a great tutorial on How to Create a Wordpress Theme that I was using as a guide.

That progress made me feel much better after the frustration I had a few days ago. Add one more "solution found" to that list: I couldn't get Wordpress to work on my machine under IIS as a subdirectory - it would always give a 404 Page Not Found error. It only worked at the //localhost level. But I stumbled upon that answer after lots of searching. Such a trivial answer, and something that should have been documented in the installation guide, but wasn't. I loved it when I saw the answer ended with: "Easy when you know how :)"

The other great discovery today was a free software package called XP Pro IIS Admin. It gets around a restriction in IIS on Windows XP, and allows you to create multiple websites on the local machine and easily switch between them. I love this utility and it is saving me lots of time as I develop and test everything on my own machine instead of having to do it on my webhost.

Should have the blog finished in not too long, and then I'll start next to set up the Vanilla Forum.

The Joys(?) of Open Source Software

I thought it would be good to install the same packages on my own computer that I'll have on my new website. That way, I could experiment and set up the site the way I wanted without doing it live.

So off I went, merrily downloading the scripting language PHP, the database MySQL, the database manager phpMyAdmin, the list manager phpList, the blog tool WordPress and the forum software Vanilla.

Mine is a Windows machine. I already have experience with the Web Server IIS that comes with Windows. It was just a matter of installing the other packages under it. Should only take a few hours, shouldn't it.

Well, yes. It only took a few hours for the install. What wasn't easy was getting the settings right. It took the next three days to track down and fix all the problems that prevented anything/everything from working. I had a wonderful set of error messages pop up, such as: "Cannot load mysql extension. Please check your PHP configuration.", "Your PHP installation appears to be missing the MySQL which is required for WordPress", "Permission denied (13)" mysql windows" and "access denied for user "ODBC'@'localhost'". Look up any of those phrases on Google, and you'll see I'm not alone in encountering them.

So after researching each of these in sequence and trying the various fixes that were suggested for Windows and IIS, I made very slow frustrating progress.

Luckily, I found a page that gave me everything I needed and let me finally get the settings right. Ironically, it is a documentation site for a genealogy program. The program is phpgedview, and is an open source program to view and edit your genealogy on your website. It has been around for years and I am quite familiar with it. If you know something about programming in PHP and have your own website, it's an excellent product to make your genealogy web-based.

But take a look at the great instruction page they have that helped me out. It's extremely well layed out, simple to follow, pictures at every step, and it works. I only wish I found it three days ago. Oh well. At least that's done now.

CSS is so Frustrating

Writing webpages in HTML (Hypertext Markup Language) was simple. You learned a few tags and use a simple text-based HTML editor to create it.

But then, along came the "experts" who said you have to split off the content from the styling. The content goes into the HTML file and the styling goes into the CSS (Cascading Style Sheet) file.

In theory that's fine. But why did they have to make CSS ten times as complicated as it had to be? Yes they want to make it more powerful, but they made it so much more difficult. I shouldn't have to struggle to be able to figure out how to do something. It should be clear cut. Although, I must say after two weeks of heavy-duty working with it, I've learned a lot and finally have developed my own style for my pages.

But the real difficulty is that they've made it so complicated that all the different browsers still don't implement everything the same way. Developing table-less columns and CSS-based borders around the content doesn't take long to do. But debugging it in Internet Explorer and Firefox and then trying to tweak it just right so that it looks the same is very frustrating. Once everything starts to look good, I try something else, like print-previewing, and it leads to more head-banging-on-wall. Then I go back in time and try to look at it in Netscape 4.7 and it looks God-awful. That's the price I guess, of moving forward to current standards.

I keep saying to myself that this is all worthwhile. The style sheets can then be applied to my Behold blog, forum, purchase page and help file, and it should all look the same. And I only have to go through the "pain" of developing it once.

It's a Big Adventure...

One thing leads to another, and it now seems I've almost got everything properly planned, and I just have to do it!

This really is the best time to update my site and set everything up better, before I get to Beta.

The move to the new webhost is required, and I'll have to test that everything works the same at the new site. I've got scripts to send out the trial key, programs to deal with purchases, a database and mailing list of users, my blog, the user Forum, and all the webpages themselves.

The domain will become www.beholdgenealogy.com and the site will look more professional. The sample page I have there is undergoing a few changes, but I'm fairly happy with the way it looks.

I've decided to use the new Web Standards, that weren't around 10 years ago when I first put up my web pages. I've been studying and learning how to develop websites with Cascading Style Sheets (CSS), and ended up purchasing the program TopStyle Pro to help me build the pages.

I'll be switching to Wordpress for my blog, which means delving more into the PHP language and the MySQL database.

For the Forum, I originally thought I'd use Simple Machines, then in my previous post, I mentioned that Google Groups was a possibility. But now I think the one to use is Vanilla, a simple but extendible and powerful free forum package that's a bit different than the rest. I like when they announce a new version and say "Now available with fewer features". It is less than a 400 KB download! Amazing! And I'll be able to integrate it and Wordpress together so you'll have a single login.

Then I might even switch to PhpList to manage my mailing list and user database. My current mailing list program is ASP based and will start to bog down once I get to 5,000 mailings. PhpList should be good to 100,000. Again it uses MySQL and I might be able to integrate it with Wordpress and Vanilla.

So there's a fair bit on my plate. A move, a new design, learning to use 4 new software programs, a new database package and conversions of all my webpages, procedures and data. Sounds a bit overwhelming when I think about it. But now that the plan is in place, it's just a matter of doing it a step at a time.

I know this will delay my Beta release, but it will be very worthwhile in the long run. Hopefully this will all go smoothly and won't take too long. We'll see how it goes.

Google Groups for the Behold Forum???

Google Groups might be a viable alternative to using a Forum software on my site for Behold Genealogy user discussions. There are several good reasons I see:

  1. Gives you all the features of Google Groups.
  2. If you already use Google Groups for other newsgroups, it makes it very convenient for you.
  3. Allows you to get messages via e-mail and post via e-mail.
  4. Has an RSS feed if you want it.
  5. Will be indexed and searchable by Google, so others can find out about Behold.
  6. Very little maintenance required by me.

I got the idea from Firebug, a Firefox addin that uses it quite successfully. See at: http://groups.google.com/group/firebug

So I'd like your opinion. Do you think I should use this for Behold's User Forum, or should I stick to my own installed Forum software on my Behold website?

So if you want, feel free to go to the Google Group I quickly created at: http://groups.google.com/group/behold-genealogy and let me know what you think.

Coming Soon: A New Home for Behold

I may be a good programmer and good at designing standard user interfaces. But I'm definitely NOT a designer of nice looking websites. Many people have commented, not so positively, on my selection of colors and style for both my personal site at www.lkessler.com and my Behold pages.

Through a close connection I have, the owner of Elite Designs prepared a teaser for me of what Behold's site could and should look like. That was a no-brainer, and I had to take the plunge. We are close to having the final design and have a few wrinkles left to work out.

So take a look at www.beholdgenealogy.com for the new look. I'd love to hear your comments and suggestions about it.

It will take a few weeks to complete everything, since I'm switching the blog over to Wordpress, the forum over to Simple Machines, and I'm moving the whole website from Myhosting to IXwebhosting.

Regarding Myhosting, I'm very disappointed with them. I joined them 8 years ago, and signed up with them because of an unlimited bandwidth plan to allow for future growth with no worries. Those sorts of plans became rarer, and 4 years ago they eliminated theirs, but did honor my plan ... up to last month. The new limits are so restrictive that if I only get 5 times the traffic I now have, I'll exceed my allowance. I put up with some of their other limitations, but other webhosts now offer more than they do. I have had an account with IXWebhosting for a couple of years, and I'm quite confident they'll be what I need for the forseeable future. But, it's never pleasant to switch.

Family Research Web Page Generated by Behold

It took about 20 hours of my time to go through 6 years of my correspondence with my 6 discovered relatives on my Focsaner side from Romania, and custom build a GEDCOM file using Behold as my guiding tool.

This was a great dry run of what entering data in Behold will be like, except that I couldn't enter the data directly into the Everything Report, but typed it into a GEDCOM instead. The painful part was manually entering the ID numbers and the parent/child spouse/family GEDCOM links, but Behold's problem list helped me easily fix my incorrect entries.

I am now certain that data entry in Behold will be amazing. I entered data on 117 people and I was diligent in included 173 sources for that data. (The way I decided to organize my sources is the story for a future blog post.) I estimate this would have taken me only about 5 hours if Behold version 2.0 was available.

I'll let you see the result at: www.lkessler.com/focsaner.htm. Our group and our researcher in Romania will all be using this page as our reference point for the information we have, and I'll update it as we gather more info.

I also found a half-dozen little things not working in the html output (e.g. some links, sorting, etc) that I will be able to fix, and then I'll work on the display of pictures, using that page as the test case.

So I'm killing two birds with one stone: furthering development of Behold while also making some genealogical progress on one of my family lines. This couldn't be more exciting!

Getting Ready to Display Photos

My organization of my Romanian family is going to take about a week to complete. I plan to put the resulting Behold-produced page on my website so that my cousins and our researcher in Romania can all have access to the most up-to-date info at all times. Then, as new information comes in, I'll add it to the GEDCOM, and use Behold to produce a new web page.

I'll be organizing the photos for this project as well. Thumbnails, info about the pics, and links to larger versions of the pics will need to be included. That's what I want to add to Behold while I do all this. I better get to work and see how it goes.

Two Problems in Two Days

So first I was told that Behold was not detecting the new version when you "Check Online for New Version".

What had happened was I went from version 0.98.9d to 0.98.9.5. I changed from the letter suffix to the point number for Vista compatibility.

Version 0.98.9d detects the new version okay, but 0.98.9c, b, or a do not. Those three previous versions checked to see that the running program's version is LESS than the online version. But that's a problem because "." is greater than "a" or "b" or "c" in a computer string comparison. I changed the check in the 0.98.9d version that it be UNEQUAL rather than LESS than. So it's not a problem if you previously had upgraded to 0.98.9d.

The bottom line here is that if you still have the 0.98.9a, b or c versions, you will not be able to use the "Check Online for New Version" to upgrade. Instead, you'll have to go to the Behold download page, click on the "Click Here to Download" and say "Run". That will run the new install file and put the newest 0.98.9.5 version on your machine. You won't have to re-register.

The second problem was that Behold stopped working in Windows 98. I didn't realize that I still had a user using Windows 98, but I do. It ended up being a memory call that I purposely changed so that more than 2 GB could be reported. Unfortunately that call causes an error in Windows 98.

So I found a way to make the correct call depending on the Operating System. Google searches do wonders. It found the method to do this in a forum, and it didn't matter that the forum was in German.

So if you are still running in Windows 98, let me know, and I'll give you a link to the fix you need.

Version 0.98.9.5 alpha

At last, this version is released! There are a few new things, a number of improvements, and many bug fixes including a few important bugs squashed related to problems customizing tags. Visually, the most significant difference is the elimination of the log file with that data being added into the File Information sections at the bottom of the Everything Report.

There really has been no use in me saying that the next version would be out in 2 months. It always seems to extend to almost three. Thank goodness that I added my expiry of the program after 3 months. At least that has forced my hand at getting a new version finished.

But now I'm guided by my new resolve to work towards the goal of Version 2.0 and get there as soon as possible, maybe within a year. First step is to get to beta. I'm again attempting to say 2 months (January 2008) to do the final bits of alpha work. There are 3 major features I want to that I feel need to be in version 1:

  1. Handling Photos. I want to be able to display thumbnails with their associated data. Hopefully I'll find a quick and dirty way to code it to show a larger picture when you point to one with the mouse. Exporting to HTML should be easy. I don't know about RTF.
  2. Displaying the same AFNs together. This will basically be a precursor to Virtual Merging. I've promised this to one purchaser for too long a time already. And it has been the feature that seems to get deferred every version. This time I'll do it.
  3. Allow Behold to be used as a Portable Application on a pen drive. This really isn't that important now, but it will be quite easy for me to do (only take a few days) and it will be a "sexy" feature that might get Behold noticed.

Number one for me are the pictures. I need that feature to use Behold to make my webpage with info for my Romanian research. If your genealogy program exports links to photos in its GEDCOM, then you'll want that feature as well. I'm a bit worried as there is a chance that graphics might slow Behold down or make it use too much memory. But I'll tackle that problem if it happens.

So, enjoy this current release. I'm very happy with it. I've been tightening up and simplifying the code, and Behold is starting to feel like a real solid application.

My Family Tree on this USB

Behold in my pocket! I had a customized 2 GB USB pen made for me. It arrived today, complete with the "image" I developed to put on it.

Since Behold will very soon become a portable app, this is a cute way of promoting that ability, and I've now added that pic to Behold's home page beside the Portable Application item.

My daughter pointed out that it would have been better if I left the word "drive" off, because "Tree" rhymes nicely with "USB".

Maybe the next thing I'll make up is a pregnancy shirt embossed with: "Behold, I am expanding my family tree".

A Fun Little Test

I tried my GEDCOM fragment on several programs. This is what happened:

  • Legacy 6.0: First warned there's no HEAD section. Then that there's no TRLR. Then asked if it should try to load anyway. After it tried, nothing was loaded.
  • RootsMagic 3.2.4 trial version: No warning and it only loaded 1 person.
  • GenViewer 1.21: was able to read the individuals. Hooray for GenViewer! The trial version does not let you see families, so I don't know if it was able to link those correctly.
  • PAF 5.0: Opens a nice log file with 318 error messages, the last of which says that it can't find a HEAD record at the beginning of the file. But nothing gets loaded.
  • Family Tree Maker 2005: Tells you it doesn't recognize the format of the file, and stops there.
  • Family Tree Maker 2008: Tells you file is not correctly formatted, and stops there.
Interesting.

Reading Partial or Incomplete Files

Sometimes I'm amazed how one thing can lead to something unexpected.

All I wanted to do was allow Behold to attempt to process "illegal" GEDCOM files. I wanted it to process a GEDCOM if there wasn't a header, had missing sources, or maybe was corrupted in some places.

So I went to the extreme and took a GEDCOM I had and deleted the beginning and the end. It now only had a bunch of individuals and data about those individuals in it, without their families or anything else.

My first run like that gave me a bunch of individuals and nothing more. But individuals in GEDCOMs do have links to their "family" (husband/wife pair) via a FAMS link, and also to their parent's family via a FAMC link. So that got me thinking.

What I had been doing up to now is only including the link one way into Behold's GEDCOM-based data structure. I was expecting that Behold would get the other link from the GEDCOM itself, since GEDCOM requires it. After reading the GEDCOM, Behold goes through an extensive GEDCOM check and reports wherever the links are missing one way.

But then I realized I could add the link both ways when reading them the first time, and simply verify it when it occurs again. Doing this, Behold can get all the information it needs from just one of the links.

Once I added that, my partial file now appeared just about perfect in the Everything Report. When I first saw it, I really couldn't believe it. All the families were figured out and I could hardly tell there was anything wrong with the input file.

As a result, in a few hours, I've changed some core code of Behold for the better.

So now Behold will have yet another possible use. If for some reason, you get part of a GEDCOM file (maybe it got truncated via e-mail), Behold will be able to do a darn good job organizing and reconstructing just about everything that's in it.

Two Types of Problems

The last thing to do before I issue the next release is to eliminate the log file and move the messages that were reported in the log file into the File Information section of the Everything Report.

In doing so, I am revisiting all the error and warning messages that Behold produced. I'm rewriting them and making their text customizable (so different languages can be supported) and making them selectable (so they can be turned off if you don't want them).

I see that I can classify them into two types: Possible GEDCOM problems and possible data errors.

GEDCOM standards have changed over time, and every program outputs its data into GEDCOM in slightly different forms, often not conforming to the latest GEDCOM standard. I've made Behold to be very forgiving so that it reads everything possible. But when Behold reads files that may be GEDCOM but seem to have something wrong with them, Behold will report these to let you know. Maybe the file was truncated or maybe the character set was wrong. But Behold will still read as much data as possible from the file and try to continue processing. Often you can just ignore these GEDCOM errors knowing that Behold will read everything it can.

But you will want to look at the problems reported as possible data errors. These will tell you where you might need to fix your data. For example, there might be duplicate IDs, multiple husbands, missing links or undefined sources. To fix these, you'll need to go into your genealogy program that created the GEDCOM and update your data. When version 2 of Behold is out, you'll be able to fix your data right in Behold.

The messages up to now were are real hodge-podge. I added them as I developed. They are inconsistent in form and style. So I am now turning each into one of the two types: GEDCOM problems and data problems, improving their default text and getting them to work in a consistent way. There are over 50 of these messages, and I'm going through them one by one. This should take a couple of days and then the new release will be out.

Displaying Photos in the Everything Report

As I use Behold to build my HTML webpage for my family research, I realize I will have to include thumbnails of photos. Up until today, I hadn't thought of a good way to do that.

GEDCOM files can specify IMG tags, which give the location of an image on the local computer. But TRichview, which I'm using as the engine for the Everything Report, does not yet properly wrap text around images. My plan was to wait until they implemented that.

But then I realized that I simply want to display a thumbnail (very small version) of each picture on its own line, with any descriptive text about it on the right. So an easy implementation would be a table with one row and two columns. In the first column is the image. In the second is the textual information. No word wrap around the image is necessary and it should look quite nice.

Now what about getting the full image. The idea was to click on the image to bring up the original. That would be possible from from the Everything Report in Behold, also possible from the HTML web page Behold produces, and probably possible as well from the RTF Behold can output.

But then I discovered something quite elegant. There is a really nice Photo-Zoom capability available for web pages. You just put your mouse over the thumbnail and the full size image instantly appears in the same window. No clicking or new windows required. It is very user friendly and useful!

What I'll do is finish up the current version, hopefully in the next week or so. I've only got 18 more days until this alpha version expires. But since I need the photos in Behold's output for my project, I'll add the thumbnail capability as the first thing after this version is released. And if it's not too hard, I'll try to add the photo-zoom as well. That will be a killer feature if add it.

So you won't have to wait for images until Version 3 anymore. It'll be in Version 1.

The Data Entry Chore

Do you like entering all your data into your Genealogy Program? Do you find it easy, or is it a chore? I believe it should be so easy a task that you are encouraged to do it every time you get new info. Don't wait. Get it in now!

Unfortunately, I also believe the forms-based data entry that comes with all programs today is limiting and slows you down. You can't see everything on one screen and have to bring up other screens to enter notes or sources. Not only is it slow for data entry, it causes errors and you never really can tell what is all there.

My original idea was to set up my Romanian web page manually, and just make it look like Behold's output. I quickly realized that would be impossible. The linkages Behold sets are are too complex for manual maintenance. So, that led to the realization that it is best to just use Behold to create the page. To do so, I needed all this data in a GEDCOM file. The "easiest" way to get the data into a GEDCOM file is to export from a genealogy program.

Well, I stopped entering my data into a genealogy program about 10 years ago. I first used Reunion and when they sold their Windows version to Sierra to become Generations, I was a beta tester for them. It's been so long since I've used it, and I din't even install it on my current computer which I got about 2 years ago. And I'm not sure if I want to. Generations was bought out by the company that owned Family Tree Maker and they soon after dropped it. The final version had some bad problems in it that conflicted with the Windows Operating System and required patches.

But Generations was basically like all the other programs anyway. On my machine, I now have 3 free programs I sometimes test with: PAF, Legacy and Family Tree Legends. I also own the full version of Family Tree Maker 2008. So it shouldn't be too hard to choose between them, should it?

After seriously trying to see which of them I could live with (FTM takes 25 seconds just to load!), I revisited my old feelings about how much I hate those forms-based entry systems. After all, that's why I'm writing Behold, isn't it - to solve my own pain.

So you know what I ended up doing? Actually it's pretty slick.

I have two programs open at once. On the left is a text editor with the GEDCOM file open. On the right is Behold displaying the Everything Report for the GEDCOM file. I make some edits on the left, and then I refresh Behold (with the F5 key) on the right. I can add whatever complex notes, sourcing and linking I want that GEDCOM allows.

I've found this to be tremendously useful as, not only a simulation of how Behold will handle editing, but its already picked out a few things to fix or enhance in Behold. Although I've done a lot of testing of Behold with hundreds of GEDCOMs, this is the first time I'm actually using Behold for myself.

The data entry "chore" now is much easier. Everything is in front of me in GEDCOM form in the editor, and in interpreted form in Behold. Since I'm totally fluent in GEDCOM, the data entry is inconvenient but relatively easy. In a few days, I should have the resulting Behold Everything Report up on my website, and that will be a great example for people of what Behold can do.

What Every Genealogist Looks Forward To

Exciting times for any genealogist are defined as what I'm about to be going through very soon. On one of the 9 ancestral lines I've descended from, this one tracing back to Romania, I soon may be working with a researcher in Romania to "get the goods" for me. Early indications look like there may be a lot of info available.

Not only that, over the last 5 years, I've been in contact with 3rd cousins I've never met who are in other branches of the same line. They have added their own research to what I have, and what we've all accumulated together now makes it possible for the next step. They surely will be joining this journey to enjoy finding out more about our common ancestral origins.

If only I had Behold version 2 ready so I can record all this as it comes. But since I don't, I'm going to do the next best thing. I'm going to create a webpage of our family in Romania that will look's just like Behold's HTML output. This page will serve as our group's master data sheet. But it will also serve as a model for Behold. It will also include pictures with descriptions that will be a prototype for pictures in Behold.

Here's the nice thing. Once Behold Version 2 is ready, that data won't be lost. I'll be able to enter almost all of it into Behold simply by copying and pasting from the webpage. Then it should just be a matter of linking spouses together and assigning them their children.

If I can make the process that simple, then editing in Behold will be amazing!

Retooled and Ready To Go

Last night I went through my two big binders of Behold ToDo stuff. I moved everything that could wait until after Version 2 editing, to the second binder. Then I went through Behold's Future Plans page did the same, moving those tasks to a post Version 2 area.

What this means is a new schedule and new goal. I'll get one more alpha version out in a few weeks. Then the beta will hopefully be out in December. Three months of beta testing should be enough for a March 2008 release of Version 1.0. Version 1.5 with saving of GEDCOMs should come around June 2008, and if all goes to plan, then Version 2.0 with editing should be out by December 2008. That moves V2.0 ahead by over six months from what I had penciled in earlier.

I really want to work hard towards that new goal. It means delaying some planned features until after Version 2. This includes print enhancements, user options, reading in of other formats, and Unicode.

But some things will still be done. The AFN number matching is important because I have to build that into my data structure. And I do want to allow Behold to export itself to a pen drive. That should be pretty easy to do and will be an important and useful feature, allowing you to carry your data and Behold with you and use it on any computer.

Now that everything's rethought, all that's left to do is ... do it!

A More Direct Path!

The Getting Real book really got me thinking. For their online applications, their first goal is to get their core functionality working and make it available ASAP. Other features and enhancements can be added later.

With Behold, I managed to get the alpha up and available over two years ago. I've been working since then to ensure that it can display everything from the GEDCOM, and I've been fiddling to get the data structures right and making decisions on how everything is best displayed. That was all very important work and necessary.

But at the same time, I've been also doing a lot of tweaking and fine details. I've added a lot of features that are not core to the working of Behold. I've probably expended over two thirds of my time since the initial alpha release doing non-essentials.

As I look at my current Future Plans list, I see that trend continuing. I've been diligent in adding anything I think is worthwhile doing into my Future Plans, and placing it at the appropriate version where similar work is being done. But now I see what that did is to obscure my path to version 2 with more non-essentials and very much extending my time towards that important release.

Behold to me will not be a full program until I get to Version 2. It must have editing capability before it becomes the necessary program I expect it to be. So obviously what I must start doing is to set my path to get there more directly, and make all the other nice-to-have goodies wait until then. So tonight, I'm going to go through my To Dos that are in my Future Plans, and reorganize them, and start off with just what's necessary to get to Version 1.0 (first release), Version 1.5 (Saving GEDCOMs) and Version 2.0 (Editing). The rest will then follow.

Tomorrow, I'll report here on my blog as to how that works out.

Keeping It Simple

One of the difficult parts about programming is to figure out how to add features but still keep the program simple and intuitive. Every feature added, by definition, makes a program more complex. In the extreme, you get what's called "feature bloat". Even if you only have simple features but, say, 100 of them, it becomes difficult to even find the one task among the hundred that you want to do.

So as I've developed my alpha version over the last couple of years, I've been trying to finalize the features to be in Version 1.0. Many ideas have come along. Many excellent ones have been suggested by trial users and purchasers of Behold. Every feature I have added is core to what Behold is about. Behold must first display all your data logically and conveniently. It must have useful reorganize functions. And it must be set up in a manner that will allow it to advance towards direct on-the-screen what-you-see-is-what-you-get editing in Version 2.0. Everything else must in some useful way support that core functionality.

I have in the last few versions eliminated whole swaths of code and functions, such as the separate Name Index form, the GEDCOM viewer, complex numbering schemes, and soon I'll be getting rid of the log file by incorporating the warning messages right in to the file sections of the Everything Report. All of these were done in a move towards simplicity and ease of use.

Sometimes I don't see the simple way to do something. I've been working with Behold for so long, the internals sometimes get in the way of seeing the externals. So please let me know if there's something that you think can be done simpler or more logically.

I am further inspired by a book I discovered a few days ago, called Getting Real, a book by 37signals about building software. If you're interested, you can read it free online. I purchased a PDF so I can print it and read and reference it at my leisure. Although Behold isn't an online application, everything else the book says felt like a mirror as to the way I'm developing Behold. The only thing I'm lacking, is that I'm taking too long.

So where have I been the last two weeks: I've finished the display of references to notes. This is tricky, especially since I display the note inline if there is only one reference to it, and in the index section if there is more than one. This is to handle the various flavors of GEDCOM which implement notes in different ways.

Blog Titles, Cool Software

For years I've only put the date as the title of each of my blog entries. A bit boring, wouldn't you say? The date doesn't do much to help figure out what the post is about. So from now on I've decided to put something to better identify each Blog post.

Here's a site I never saw before. Put up by Intel, it's called "Cool Software" at: http://coolsw.intel.com. If you search there for "genealogy", there are two entries, one for Geni, and one for MyHeritage.

Saturday, October 13, 2007

Dick Eastman yesterday wrote an interesting article titled "PAF on a stick". You have to be a Plus subscriber to see the whole article, but basically Dick was talking about using a Jump/USB/Pen drive (it has many names) to carry, not only your genealogy data, but also your genealogy program around with you.

The problem with putting a program on a those portable drives is that since Windows 98, Microsoft has encouraged programmers to change from using INI files to store program settings to using the Windows Registry. They wanted to allow different users to login to the same machine and each would have their own settings. So almost all programs, Behold included, have adopted the use of the Registry as Microsoft has wanted.

But the latest craze is to use these pen drives to take your software and data with you. This allows you to run your program with your data on a library computer, a friend's computer, a school computer or anywhere else, without the need to install the program or use or modify that computer's Registry (which sometimes is even locked out from you). The new tech term is "portable application".

Behold would be a great application for this. First it is simple and has just one .EXE file, one help file, and does not need its own DLL (system) files. Wouldn't it be great to take Behold and your data with you and use it anywhere? You'll be able to use it to display your data, wherever you are. When version 2.0 comes, you'll be able to edit your data too, wherever you are!

All it would require is being able to read/write it's Registry info from/to a special file instead of the Registry. I can get Behold to detect if the file is there to use that file, and if not, to use the Registry. Then I'll add a menu/toolbar item in Behold to export Behold to a pen drive (i.e. as a portable application).

All of this would not be that difficult for me to do. I might be able to squeeze it in before for the beta version. I think that would be the cat's meow.

Sunday, October 7, 2007

I surprised myself. After a few more fixes in attempting to merge the display algorithms, I realized that my Friday arguments weren't beneficial enough to go through that right now. So I left the input improvements and backed out of my data structure changes. Now back towards getting done what's needed to get to beta.

On the Internet, the competition for family networking and build-your-trees online sites is getting crazy. New sites are popping up every day. Almost all are free and "secure" and have the goal of linking everyone in the world into one big tree.

So how do you pick between: AGES-online, Amiglia, AprilTree, Distributed Family Tree Project, FamiliaOnline, Famillion, FamilyInHistory, FamilyLink, Family Pursuit, FamilyRelatives, FamilyTrackers, Family Tree Drillet, FamilyTree (for Facebook), Family Tree Guide, Findmypast, Genealogia, Genebase, Genes Reunited, Geni, GNTP, JotSpot, LostCousins, My Great Big Family, MyTrees Online, OneFamilyTree, One Great Family, Online Family Tree, PedigreeSoft, SharedTree, TreeX, TribalPages, WeRelate and Zooof? Then there's the 3 more I just found out about and added today: Famiva, Genoom and Kincafe to my Online Genealogy Programs section of my Genealogy Software Links page. Have I missed any?

If there's money to be made in this, then someone will step in and start to buy a few out and the others will fold. Maybe the general public and younger audiences like social networking. But I'm not sure if true family genealogists really want what they're offering. Go back to my March 25, 2007 post for my previous thoughts on this.

Friday, October 5, 2007

The retooling the two parts of Behold was tricky, but its going well.

Moving the CONC tag to the input stage led to a few other simplifications. My large test file of 33,000 people that I use for timings takes about 35 seconds. This improvement actually cut a half a second off that.

But changing the storage of each record's data lines from a linked list into a single long string had me worried. You can't get much faster than a linked list, but I already needed citations in a string and didn't want to continue to process data lines in two separate ways. I was relieved when it only added about a second of time on, or only about 3%. But it did reduce the RAM requirement by about 30MB down to 650MB for that file, or about 5%.

For most programmers, the recommendation is to always use more memory if you can save time. But Behold is a bit different in this regard. For very large GEDCOM files, it is often the memory that is Behold's limitation, so anything I can reduce from that is worth it.

Over the weekend, hopefully I'll finish this as I merge the display algorithms together and eliminate many inconsistencies and bugs during the process.

Tuesday, October 2, 2007

Time for a bit of an interlude. There are a few things I found that don't work exactly right. Any hidden items need the sources they contain to be hidden as well. Hidden items must be numbered differently. References to notes are not being displayed. Concatenated lines used for titles of sources and citations are not being processed correctly.

I could fix each of these individually by adding patches to my code. For the hidden items, that code is already in a dozen places and already has gone through several versions of improvements. That all happened while I was still building my final data structure. Doing the patching would take time and would have to be done case by case checking each one along the way. Rather than doing that, it's probably worth my time right now to rework two important parts of Behold.

The first is to rework my input routine so that the Concatenated lines are pre-concatenated. Then I won't have to check for them everywhere. This would involve pre-reading the next line, and that's a little tougher than it sounds because of the way I've "globalized" that routine. It should only take a day or two.

The second and more important task is to get my five different types of GEDCOM objects that I'm handling combined into just two, and have both of them use a similar data structure, thus merging the separate functions into single ones that will work in all cases. This will "formalize" my implementation of what I call Behold's "Extended GEDCOM" data structure. There are two structures involved: Records and Links. Each can have subordinate data. Records can contain Links. Links always point to Records and can contain other Links. When a Link contains subordinate data, it becomes a citation. Now that may all sound confusing to you, and you need not worry about it, but the exact structure has been eluding me up to last night. It took a bike ride, a 2 a.m. awakening, and a shower for me to finally figure it out.

The nice thing about doing this now is that the beta coming up will be perfect to ensure this improved implementation is all bug free. Nothing on the outside will change because of it. The Everything Report will look the same except some bugs will be fixed. The code will be simplified and generalized, hopefully becoming somewhat faster because of improved data structures. But future changes will be much easier, and Behold will be better prepared for the reading in of data directly from other programs, and later for GEDCOM output and editing.

If all goes well, this all could be done within a week or two. Then back to the show.

Friday, September 28, 2007

Sam saw my post from yesterday. He asked: "Why are the reports separate?" He suggested that instead of using the Log File, I display the warning messages in the Everything Report with the related data. For printing, Behold can have a toolbar item to toggle them on and off. He said this would eliminate the need to look at the error log and then search for the error in the main report.

That's a great idea! Basically, I can get rid of the log file completely by including that info in the Everything Report. I never really did like having to create the log file in the first place. But Sam pointed out the obvious that I might never have seen. Thank you, Sam.

Thursday, September 27, 2007

Next on my To Do list was to redo the error messages. The idea was that I was going to list each message every time it happened along with the GEDCOM line it happened at.

But what I have already done was nicely organize the messages so that (in most cases) each message is listed only once along with a list of all the places that problem exists. Thinking about this, it actually makes more sense to show a message once with 200 references, rather than to repeat the same message 200 times for each reference.

Since Behold makes an attempt to read and interpret every variation of GEDCOM there is, many people won't care about the problems with the GEDCOMs, and are more interested in the data.

That said, Behold is very good at checking the data. So although the Log file is out of the way, it is valuable. So I will at least try to a better indication of when problems worth fixing have been found.

Tuesday, September 25, 2007

Finally! There are now bookmarks for the spouse and the family information. The bookmarks now internally use the GEDCOM ID number rather than the Behold generated number. The hyperlinks and Forward/Backward functions seem to work as they should. The forward/backward locations will deactivate if they cease to exist after the file is reorganized. And the right-mouse clicks select the person at the cursor correctly. That seems to be done and I've fixed a few related bugs along the way. There may be one or two bugs in the new code that I missed, but I'll rigorously test for them during the upcoming beta.

I really didn't want that to take three weeks, but if I work hard, I still may be able to get the beta out by my self-imposed deadline of the end of October, if I'm lucky.

Next: to clean up the error and warning messages in the log file.

Sunday, September 23, 2007

Fixing the bookmarks was slightly more complicated than I expected.

I had been using the generated ID, eg. FAM-43 as the bookmark. But I saw that was wrong, since those IDs are specific to the run, and reorganizing may lose them or they might point to incorrect places. So I changed this to use the ID from the GEDCOM instead. This way, the bookmarks can be remembered between runs, as long as the GEDCOMs don't change.

But I had to work through each type of bookmark (individual, family, source, place, etc.) one by one to get them working, so its taking time. I'm almost done though, and should be able to wrap this up and move on in a day or two.

Monday, September 10, 2007

There are "bookmarks" in Behold at every horizontal line, corresponding to every pair of people. I set it up that way when ID numbers had more relevance several versions ago.

But now if you click on a hyperlink to someone, you will go to the first person of the pair, and not necessarily to the person you intended to. Stephen let me know about this in the Behold Discussion Forum.

He's right and this needs reworking. I'm going to set it up so that both people as well as the info for the two of them each get their own bookmark so that links can go to the correct place.

While checking this, I also found a couple of bugs with the forward and backward history which use these bookmarks.

This will take a bit of debugging and some data restructure, but it's worth taking the time now and cleaning up that code.

Thursday, September 6, 2007

I'm back from the wedding in Vancouver. A wedding is like a vacation for a genealogist. Time to catch up on family happenings in a joyous and friendly atmosphere.

On my computer, there's only 250 e-mails to respond to and a week's worth of RSS feeds to read. I've also got 2.5 GB of trip pictures and videos on my camera that I've got to clean up, organize and send to people.

I've had several small bugs reported in the new version of Behold. I should squash them in the next few days.

Noone reported this one, but on a machine with 3 GB of RAM, I found that the memory dials don't work. The Windows routines I used were old ones that used 32 bit integers and couldn't handle values over 2 GB. I think I've fixed that now, but I won't know for sure until I go back to that machine to test it.

Tuesday, August 28, 2007

I apologise. Last night when I used my e-mailing program to send out the Behold News, the program timed out twice. Each time I had to restart it and I had never done that before. It was supposed to start up where it left off, but I found that 82 people ended up getting two of my mailings. That wasn't intended and I hope those who got two copies were not too annoyed.

On the download page, in the "how did you find out about Behold" box, I just got an answer that says: "Another person who uses it". Now that's how I would love everyone to find out about it!

On Thursday, I'm going to Vancouver for a cousin's wedding. So I'll probably be away from my e-mail for a few days, but I'll respond to any messages I miss when I get back.

Monday, August 27, 2007 - Version 0.98.9d alpha

Finally, got through the merge from and merge into functions of the new Report options page. Following that, I hurried through the rest of the Tutorial in the help file. It may not be perfect right now, but it will get polished over time.

So what was going to be just adding the last set of features before going beta, ending up turning into some fairly major changes and usability improvements. A lot of the changes were based on user input and I thank everyone for that.

There are quite a few changes this version, many of them quite noticeable in the program and in the Everything Report. See my Version History for a complete list. I'll be sending out a mailing tonight to everyone who's purchased and tried Behold to let them know about the new version and some of the new features.

Wednesday, August 22, 2007

One of my programming dreams from long ago has finally come true. When I was a kid, I was really interested in Astronomy. During High School when I experimented with programming, one of the things I wanted to do was enter all the star locations, distances, and brightnesses into a data file and program the view of the sky from anywhere on the Earth at anytime.

I had a 300 page book with all the star information. But with everything else I was doing and with my computer chess work I was doing, I didn't have the time to enter 15,000 stars onto punched cards. They didn't have the Internet then to download the data. Nor did they have scanners to make data entry easy.

They have for awhile had many good sky programs and many of them are Open Source and free. The one I've heard best things about is Celestia, but I've never got to trying it myself. It was only a year ago that I got a computer that would be powerful enough for it.

But now, the company who is making it really happen again is ... you guessed it ... Google. Google Maps is great online, but Google Earth is amazing for its 3-D rendering. So now they have: Google Sky. With the new version 4.2 of Google Earth, you can switch from earth view to sky view and do in sky view what you can do in earth view. The links to images of objects and Wikipedia information makes it a wonderful tool.

But 20 minutes is about all I can spend on it. Behold's current version expires in 9 days so I've got to wrap up my changes quickly and get the new version out fast.

Sunday, August 19, 2007

Setting up the Options page was easy. But setting it up to make it obvious, user friendly, and easy to use was another matter.

I really didn't want to get into adding options until after Version 1.0 was released, but the separation of GEDCOM tags from "other stuff" is necessary right now.

I spent the last week trying out various ideas. What I ended up doing was calling the page: "Report" because all the settings on it relate to the Everything Report. Rather than custom building the page at this time, since I'm sure I'll be changing items as I go, I've used a treeview where you can select the options. The treeview has three parts:

  1. Contents - so you can select which sections of the Everything Report to include and what to name them.
  2. Extra Info - listing some extra information generated by Behold you may want to include, such as Generation number, or AutoOrg relevance.
  3. Text to Display - which lists some of the phrases used within the Everything Report, so you can change them if you want. Eventually all the phrases will be included. This will allow the Everything Report to be displayed in any language, and all I will need are volunteers to translate all the phrases (and also the Tag text). The idea is that I will make these available as Behold files for each language that will be downloadable from the Behold website.

I'll also be adding a needed Title and a Footer, both customizable, to the Everything Report.

So the hard part really was figuring out how to best set this up. I think it's good enough for the Version 1 release this way. A few more days and I should have this completed.

Sunday, August 12, 2007

Now I'm finally getting around to shape Behold into its initial form!

After slimming down the numbering, I've gone after the Tags page. I had all these extra codes (a slash or @ sign) to indicate the type of Tag. After several comments that this is confusing, I've now reworked the display of tags so that only simple or compound GEDCOM tags are displayed. The special Behold tags are moving to a new Options page. Then I'll fix up the error messages in the log file to make them more consistent.

This will do a lot to increase the useability of Behold. It will not take nearly as long to understand (or explain) how these features work and what they do.