Project sugupuu.com

December 28, 2006

About 6 months ago, me and my mother wanted to start building our family tree. It quickly became apparent that the Mac software scene is sorely lacking in this area. Most of the mature apps were either dated, didn’t support Unicode (quite frankly an unacceptable flaw in a genealogy app) or were just too cumbersome to use. Family was cute, but lacked some important features (like any kind of textual backup or export).

Genealogy could be fun and educating at the same time. So I thought why not throw something together myself (having had some data modelling experience at school). The XCode project was called “Sugupuu” (Estonian for “family tree”). The model part was easy thanks to Core Data (you only really need one entity and a recursive relationship to get started), but the undertaking ground to a halt because of my lack of graphics programming experience. Life went on and the whole idea quietly faded into the background.

And then a few days ago it hit me - why not do the same thing, only for the web - as a nice Web.2 app. It would be heaps more useful like this as well! So I got back on it - first ported the data model to MySQL - which quickly turned out to be a dead end (flat tables != good for trees). Then I moved to a completely XML-based model

XML makes me want to smoke crack. On the one hand it’s this wonderful, easy-to-use and approachable grammar that gets you high on thinking you can describe anything, but when you really get down to it, you notice that that’s all it is - a grammar. Most practical “standards” just frustrate the heck out of you. XSLT is a perfect example - turning XML into an XHTML document - everything sort of works until you (for example) start using JavaScript. DTD’s are awful and Schema, for all my purposes, total overkill. And then come the browser incompatibilities…

SVG is another one - looks fantastic on paper (still rooting for as the “swf killer”), has been “around” for quite a while, yet you still need an ancient discontinued plugin to take advantage of some of it’s nicer features. Lame. It seems wherever you look in the XML-space you always wind up with weird and undocumented behaviour.

RSS is a nice exception to this - an XML application that’s truly easy to use and behaves like you would expect it to. Maybe that’s one of the reason’s it’s become so popular too (it’s actually usable!).

If I had to make a list of technologies I’ve wasted the most time fussing with, XML would probably take the cake. Only to eventually switch to something else, or drop the project completely.

The problem is, I really like this idea of a Web.2 genealogy app, so I’m not giving up. I sincerely hope this doesn’t turn into vaporware…