Archive for the 'Beyond' Category

An unexpected turn of events

Remember how my laptop died a few days ago and I’ve been trying to figure out how to push development forward? The answer has arrived: when I got to work today, they told me that we’re getting an iMac here in our lab so that I can work on Beyond this summer. This is almost too good to be true. :) Speaking of Macs, my friends at work are slowly converting. One bought an iBook a few months ago, another bought a MacBook Pro last week, and yet another is planning on buying one soon. Life is good. :)

As soon as finals are over, I’ll be able to start working twenty hours a week on this. I’ll try to get things done until then, but it’ll depend on how intense finals get. I still should be able to work on the design a little, though.

Taking genealogy to the common person

Discovered an excellent new blog by Dan Lawyer, Taking Genealogy to the Common Person. There’s been a lot of good discussion on it so far and I expect it to continue with innovative ideas and other things that need to happen to make genealogy the best it can be. There’s also Randy Wilson’s Source-Centric Genealogy, which holds promise but isn’t updated as often as I’d like (and there’s only one post so far).

As far as Beyond goes, my laptop died yesterday and I’m still trying to figure out what I’m going to do. The Macs on campus unfortunately don’t have Xcode installed. Maybe PyObjC would still work… I can still work on the design, of course, but I don’t have any code written and this projet’s vaporware status is bothering me a great deal. Balancing my various and sundry projects has been a tad bit difficult. But that’s no excuse. ~sigh~

Before my Powerbook died, however, I did start looking at the PAF file format. It’s more complicated than I’d expected, but not impossible (obviously). I think I’ll start by writing a Python program which reads/writes PAF files (and I can do that from any computer, really, since I don’t need Xcode).

More time management woes

I have too many things on my plate right now, mostly self-imposed. And Beyond is probably my biggest project ever. From Paul Graham’s Good and Bad Procrastination essay:

Big problems are terrifying. There’s an almost physical pain in facing them. It’s like having a vacuum cleaner hooked up to your imagination. All your initial ideas get sucked out immediately, and you don’t have any more, and yet the vacuum cleaner is still sucking.

You can’t look a big problem too directly in the eye. You have to approach it somewhat obliquely. But you have to adjust the angle just right: you have to be facing the big problem directly enough that you catch some of the excitement radiating from it, but not so much that it paralyzes you. You can tighten the angle once you get going, just as a sailboat can sail closer to the wind once it gets underway.

If you want to work on big things, you seem to have to trick yourself into doing it. You have to work on small things that could grow into big things, or work on successively larger things, or split the moral load with collaborators. It’s not a sign of weakness to depend on such tricks. The very best work has been done this way.

All too true. Frankly, this project has me scared silly. Doubts creep in all the time. It’s a gigantic amount of effort and I honestly don’t even know if I’m capable of doing it. Yet I cannot give up. The idea is too beautiful to abandon. And I’m blessed (cursed? ;)) with dogged perseverance when I know I’ve got a good thing.

Anyway, because Beyond is so terrifying (to use Paul Graham’s words), I try to find every way possible to avoid actually working on it. :) The number of projects I’ve started since I first got the idea for Beyond is amazing. And yet I know I need to write this program — it’s important. There aren’t any genealogy apps out there with style or taste. Besides, I’ve got ideas that need to be born into reality. So, I’ll do my best to make time and try to avoid avoiding this project. :)

Time issues

This happens to be the time when I’ve been inundated with ideas for other projects (notably Riverglen Press), and thus I’m dealing with time management issues. But I will not buckle under and let Beyond fade into the ethereal mists of vaporwareland. To make sure I do work on it, I’ll be scheduling my free time so I don’t spend all my time on Riverglen. :) Pretty soon I’ll have a revised milestone chart, since it seems like I’ll do best if I break the project up into tiny little chunks and work on those one at a time. (Otherwise it’ll seem too daunting, since this is a huge project and I’ve never coded for Mac before.)

Here we go…

I’ve finally finished Translating Scripture and sent it off to press, so I can begin work on Beyond in earnest. :) I’ve got some homework to catch up on right now, though, so it’ll have to wait till tomorrow. :)

Pedigree mock layout

Started working on the UI sketches. Here’s what I’ve come up with for the pedigree so far:

Pedigree Mock Layout 1

I’m not satisfied with it (should people show up where they belong on the timeline or in a more rigid format for generational consistency?) but it’s a start. You can expect something that looks really nice, like this but even better. I’ll be posting more later.

The sad state of Mac genealogy software

It’s almost a year old, but still quite applicable:
The Sad State of Mac Genealogy Software.

PAF 2.3.1 on its way

The Family History Department has sent me a copy of PAF 2.3.1 (Family Records), so it should arrive in a couple of days. I haven’t had much time to work on Beyond, but hopefully soon. Wow, this is a short entry. :)

It was only a month…

Sorry for the long delay — I’d been planning to move the blog over to my web server (from Blogspot) and kept procrastinating it, but it’s finally done and there will be regular updates from here on out. The book that I’ve been working on has to go to press by mid-February, and once it’s done I’ll be focusing all my extracurricular energy on Beyond. Hopefully I’ll have some design sketches and notes up before then, though, if I can figure out how to manage my time better. :) Anyway, I’ve received the specs for the file formats for PAF 5.x, 4.0, and the old Family Records 2.3.1 (the last version of PAF for Mac), so we’re all set on that front. I’ll have to see if I can get file format specs for Legacy and Reunion and RootsMagic and other genealogy apps out there.

Last month I thought I would keep the design process under wraps, so as not to let the cat out of the bag prematurely, but after much more thought I’ve decided that it’s best to open it up — after all, my goal is to make genealogy software better on the Mac, and even if someone else “steals” some of my ideas, that ends up helping achieve that goal. :) So, here’s my current plan of attack, and of course it’s subject to change:

1. Sort through all the design notes I’ve been collecting these past two months and prioritize them.

2. Decide on the main goals for Beyond and the tasks users will need to accomplish and prioritize them.

3. Sketch out the UI and run some paper usability tests.

4. Finalize the UI (as much as possible) and the main user interactions.

5. Research the various XML specs for storing genealogical data.

6. Design the file format.

7. Figure out how to store the data internally.

8. Write a converter for PAF 5.x to the Beyond file format.

9. Come up with a list of the various modules to write (this will depend in large measure on the results of #1 and #2).

10. Set more goals.

Couldn’t resist :)

Lately I’ve subconsciously felt unable to code for Mac, mostly because my previous attempts to learn Xcode and Cocoa have failed spectacularly. So today I decided to really go at it and see if I could make some progress. And I did! Not much, but it was there. :) It didn’t take too long before I realized that iDiary is still too complicated for me to start with, so I decided to write a program that reads a GEDCOM file and displays statistics on it (how many individuals, marriages, etc.). After an hour or so, I’ve figured out how to open a file and get the file size in bytes, but that’s about it. My head hurts and I’m going to call it a night. (I’ve had a headache all evening — it’s not from Cocoa. :)) Xcode and Cocoa really are difficult, but thousands of developers have learned it all and I can too. I don’t care how hard it is; I’m doing this. And just imagine how good I’ll feel when I finally do conquer it. Mmm… :)

Today I also started looking at the GEDCOM file format. (Right now I’ve just got a sample file that I downloaded from FamilySearch, but later I’ll get the actual spec.) It doesn’t seem too complicated. Indenting my sample file made the hierarchy much easier to conceptualize, by the way. Anyway, this week (hopefully tomorrow) I’ll get my program to read the GEDCOM file into an intelligible internal data format, give statistics, and then write it out as an XML file. I figure it’s better to learn all this “internal” stuff first and then focus on figuring out the GUI stuff (bindings, outlets, actions, etc.).