Archive for June 2006

The database skeleton

I’m starting to design the database. Not having studied a lot of database theory, I find it slightly intimidating, especially with possible scalability concerns in the future. But I’m not going to let that paralyze me. If it ends up having problems, then I’ll fix them and move on. Perfection is rarely achieved on the first try. It’s better to get something up and then tweak and iterate until you get it right.

It is tempting to try to read through some database theory books before I get too far, but I’m going to resist, if only because I know that’ll stop me dead in my tracks. Better to do it in parallel. (I’m saying this more to persuade myself than for any other reason. :))

As a brief overview of what’s going to go into the database, here are the objects/entities I’ve come up with so far which need to be represented, and I’m guessing each will be its own table:

  • Individuals
  • Families
  • Sources
  • Research pages
  • Media
  • Users
  • Files
  • Translations

And some thoughts on each:

Individuals

Has a collection of metadata associated with each record. Need to be linked somehow.

Families

Basically the same as individuals (collection of metadata). I’m not sure if these will be linked or if we’ll rely on the individual linkings.

Sources

Still not sure if I want to go with an elaborate citation system or if it should be more free-form.

Research pages

Each page can have lists, notes, pictures, other media, etc. Not sure how to store it.

Media

Pictures, etc. Right now there’s overlap between this and the research pages. I’m not sure yet how I’ll resolve that. Research page pictures will probably end up being more pictures of documents and such, whereas media will be pictures of individuals and families. Maybe. Hmm…

Users

List of users on the system. Usernames and passwords, first and last name, last login, that kind of stuff.

Files

A file can be a local Beyond store (on that server) or a link to another Beyond server (or a PhpGedView server or Family Tree, for that matter). (If you want to open a PAF or GEDCOM file on your hard drive, will it convert it to a local Beyond store first? Hmm…) You can have more than one of each, of course.

Translations

Support for internationalization.

Light bulb

This morning I had a small epiphany. When you’re going through a pedigree, only a small amount of information is visible (because of the nature of a pedigree chart). Wouldn’t it be nice if the main information — vitals, perhaps a picture, whatever — was right there? I remembered seeing something like this in fluxiom, and here’s a quick mockup I threw together:

Info Panel

The idea is that when you click on the name of a person in the pedigree, it pulls up this info panel at the bottom of the screen. To get to the full details (where you can edit things), you’d click on the blue “More on John…” link at the bottom or click on the picture (which gives a much larger target area). And you’d be able to hide it by clicking on the “Hide Panel” link at the right. If there’s no picture, there’ll be a silhouette of a male or a female (thus taking away the need to show gender in the text).

One possible drawback is that this adds one more click to get to the individual detail page. My hunch, however, is that most of the time you’re not editing, just viewing, and if most of the information you’re usually viewing is right there, you’re fine. So to make any changes, you’d click on the More link, which would bring up that individual’s page, where you could make all your changes.

This info panel would apply to families as well, of course. Maybe even places and/or years. Hmm… The statistics may or may not stay, but I think they’re kind of fun, if only to get a more real picture of who your ancestors were and how they relate to the rest of your ancestors. Whatever the most commonly needed information ends up being, that’s what’ll be on the panel.

As for the pedigree itself, I’m still not sure how best to display it. I’m leaning towards something like Google Calendar (but probably horizontal), and yet I don’t know. It’s probably better to stay simple for now and get the basic functionality up first…

Update: I decided to revise the look a little bit. I’m still not satisfied (mostly with the tabs), but I’ll leave it like this for now.

The new FamilySearch

On the LDSOSS mailing list, Gordon Clarke (from the Family History Department) just e-mailed this out. It’s what they can say publicly about the new FamilySearch:

Brief Overview of New FamilySearch Features

1. Temple Ordinances
Family Search is simplifying the process required for Latter-day Saints to prepare names for the temple ordinances.

Imaging being able to manage your personal family history online, seeing at a glance what temple work needs to be done for your ancestors, and easily preparing a name for temple ordinances — all in one place on the Internet!

- Prepare temple names from home over the Internet (no more diskettes)
- Easily see ordinance information and status of work in progress
- Significantly reduce duplication of research and ordinance work

2. Online collaborative Family Tree
The family tree feature will allow people worldwide to create and manage their family histories online.

People from various cultures worldwide will be able to:

- Add, correct, and manage their family histories online
- Correct personal submissions/data in real time
- Dispute the submissions of others
- Work collaboratively with family members and relatives
- Find living relatives they did not know existed
- Reduce duplication of research effort and time

Interesting…

Footprints from the past

I’ve created a new blog, Footprints from the Past, to serve as a place for me to record my genealogical research. What this means for Beyond is 1) I’ll be doing more research and thus be more aware of how Beyond can fill users’ needs, 2) I’ll be more motivated to work on it, and 3) I’ll have a good testing ground for figuring out how genealogies are best published via the web. (For #3, I look at some of the record manager-generated web pages out there and it’s really, really hard to find what you’re looking for on them, so I’ll definitely have some ideas there.) Sorry for the sloooooow rate of development at the moment, by the way.

Another pedigree mockup

No, I’m not dead. :) School is definitely taking its toll, but things should be a bit smoother from here out, with no major assignments left other than my finals.

Anyway, that’s boring. :) More importantly, I’ve made a mockup of the pedigree view:

Another Pedigree Mockup

Over the next little while I’ll be testing a few different ideas for viewing and editing data. (For example, since this is a web app, should I display the whole tree and make the user scroll, or should I chunk it into three or four generations at a time? Are the fancy boxes around each individual necessary? When the user clicks on an individual or a family, should it take them to a new detail page, or should it bring up a lightbox-ish modal dialog box, or something else?) This is admittedly a bit spartan, but I think I’ll stick with this black-line pedigree layout (since it does work) until I get everything else done. Then and only then will I consider adding colored boxes and all of that.

Anyway, I’ve got to run, but I’ll be making more time for Beyond now that my Music 201 paper is done.