Introducing Treefrog
Treefrog, that is, the name that a friend has coined for my project “Genzilla,” a Mozilla/XUL-based, cross-platform genealogy application, is starting to take some shape. I’m still very early in the would-be development of it and have a lot to learn about developing Real Applications (TM) before I make any progress, but at least I’m starting to define a goal. Over the next several blog posts, I’m going to spend some time thinking through how this should work.
Desktop App or Web App?
The big question is whether or not to develop Treefrog as a standalone desktop application or as a web-application. There are major benefits to developing it as a web application, beyond web applications being hip since everyone seems to be moving to the cloud computing/software as a service ideal these days. And there are the obvious benefits in doing so: maintained control over upgrades and bug fixes, instantly visible by everyone on the domain; no installation or platform-specific glitches (other than browser JavaScript issues); easy ability to roll out the application to a variety of non-traditional platforms such as mobile devices (I could see an awesome iPhone app here); the ability to tap into social networking to enhance the collection and organization of data; perhaps most importantly, I already know how to develop web applications. I’ve been doing that for a while.
We’re on the verge of ubiquitous Internet access. Many phone carriers are shipping with unlimited data Internet plans these days, and I can foresee a day in the not-too-distant future where all laptops have carrier-independent cellular Internet connectivity built right in. Unlike the days where you had to worry about offline access, we’ll be at a point where having a computer and having Internet access are synonyms. Mozilla, like Google, is quick to promote the web as a platform for all things. A Mozilla affiliate recently said (paraphrasing) that Mozilla isn’t really going to focus on XULRunner as a desktop app development platform and that it’s a much better idea to focus on promoting a healthy, open Internet with web applications.
But on the desktop side, there are benefits as well. First and foremost is that there really isn’t a good, quality genealogy program that works cross-platform. Mac users have Reunion, Linux users have GRAMPS, and Windows users have Family Tree Maker, but there’s no good program intended to make a researcher’s genealogy portable across platforms. It would be much easier to deal with privacy issues on the desktop rather than the web. There are opportunities to take advantage of native platform look and feel, extensions to further manipulate the data, and the ability to work with large media files such as high-resolution photo and source document scans. Let’s face it, many genealogists are older in age and may not be keen on the idea of using some Internet app to store all of their research. Finally, a personal reason to do a desktop app is for the sheer challenge of it. I’ve never done a desktop application and have always been interested in this arcane world.
Besides, Treefrog is such a trendy name for a Mozilla-based application! It fits right in with Firefox, Thunderbird, Songbird, etc. But, if the desktop truly does become obsolete in a few years as some predict I suppose that another benefit would be that, by choosing to develop on XULRunner, my application would be largely developed in the language of the web and should I decide to take it to the web or tie into the Mozilla Weave API’s in the future it wouldn’t be as difficult.
Launchpad Page: https://launchpad.net/treefrog