Home Screenshots Download History Documentation

PortaBase Status Report and Call for Help

I just looked at the SourceForge project page for the first time in a month or two and figured I should post some information on why not much has been happening recently (and why some requests haven't gotten the replies they deserve). The short version: I haven't officially stopped PortaBase development, but I did take a longer-than-expected break from it, and I'm still trying to figure out how to manage it from here on out.

PortaBase started out as a simple replacement for the Pilot-DB program I used on my old Handspring Visor. 2 or 3 months of work resulted in a version 1.0 that covered all my critical needs, and the next few versions over 6 months covered the vast majority of the other features I originally had planned for it. But people kept suggesting further features, many of which didn't take much work and did in fact prove quite useful even in my use of it. Others were bigger features, but were fun to work on and significantly expanded the program's abilities. The problem is, the project has finally reached a size where I have trouble keeping track of it all and each release is a logistics nightmare. To give you an idea, here are some of the steps that went into the version 1.9 release after the coding was basically done:

If I encounter a problem somewhere along the way that I missed while coding, I need to go back pretty much to the beginning of the process and start over from scratch. Then after the release, I sit in fear for a week or two that somebody will uncover a major bug that I missed, forcing me to do it all over again. On top of all this, I basically finished a Mac OS X port after releasing version 1.9, which adds yet another platform to debug on, package for, and generate screenshots for. To give another indication of how much the program has grown:

Version 1.0

Now

The final straw was a significant issue with the Zaurus installers that is still unresolved, and as far as I can tell has no good solution; see my post on QtForum.org for details. Since that post didn't get a single reply, my brain was still hurting from figuring out Mac issues, the list of pending feature requests was effectively infinite, and I had a pile of other projects that I'd been ignoring for months in order to do PortaBase work, I decided to shelve PortaBase for a while and get other stuff done. I was hoping to get back to it in 2 months or so, but it's been 6 months now and I still don't really feel like I can give it the amount of time it deserves. The fundamental problem is that I'm the sole developer of a program that if it were a commercial product would probably have a full-time staff of 5 people or so (considering that it covers development, translation, documentation, porting to multiple platforms, web site maintenance, and support). I appreciate the help of the translators (and really need to get back to the people who recently offered to do German and Spanish translations), but that still leaves way too much stuff that I have to manage myself.

Several of my friends and family use PortaBase, and some of them are developers, but none of them really have time to help (other than making feature requests, which generates yet more work). I've received a handful of code patches for specific issues in the past, but nobody has seemed interested in taking a more active role in development or project management. This leaves me basically with the following options, as far as I can tell:

  1. Continue as before, but slower: if I resume PortaBase work at half or less of the pace I used to go at, I can probably manage to get one or two new versions out each year while still getting other stuff done with my life. But a number of the bigger feature requests that really deserve to see the light of day will probably never get implemented, as I simply won't have time to do them.
  2. Take on volunteer help: if at least one or two people can dedicate a significant amount of time to help, especially with porting and troubleshooting, it might reduce the load on me enough to still get stuff done at a decent pace. I don't really know how effectively I can distribute the workload, but there are certainly tasks I'd love to dump onto somebody else (like "create a real application icon, including a high-res version for the Mac" and "figure out what to do about that CSV MIME type problem") that are currently slowing me down.
  3. Write automation code: some parts of PortaBase maintenance and release work would be a lot easier if I had some tools that did some of the grunge work for me. In particular, I'd like to write a web app which would allow translators to update both the UI and help files online, and then download the resulting files for testing. This would prevent the need to install and learn Qt Linguist, or to email files back and forth. This would also make it possible to move the help file from HTML to DocBook (since it would be hidden behind a user-friendly web authoring interface), which would allow nice things like generating multi-page versions, PDF versions, and versions with screenshots appropriate for a specific platform and language (with the screenshots uploaded by the translators). Scripts that automatically build all versions of PortaBase (using other machines on the network for different OSes) and put them in a common directory would also save a lot of time. As a developer, this option appeals to me, and would also help other people manage similar projects (including one I'd like to start myself for finance tracking); but it would probably take a few months to code it and has the serious potential for leaving me as the overburdened sole maintainer of yet another project.
  4. Find a way to get paid for it: if I could actually get paid to work on PortaBase full-time, that would give me a dedicated 40 hours per week to resolve PortaBase issues without infringing on the rest of my life. But I'm unwilling to start charging for the software, so I see this as rather unlikely. However, if somebody out there is using PortaBase in a business environment and is willing to pay to resolve existing issues and implement new features (or integrate into a larger system), please let me know. ^_^

Obviously these options aren't mutually exclusive; ideal would probably be a situation where I am paid to work with other people on development of both PortaBase and tools for simplifying the creation of cross-platform applications that run on all the popular Zaurus ROMs. But barring such a dream scenario, what I'll probably do first is start working on a minor release; just try to get a version out that includes the Mac port, closes the existing bug reports, and maybe implements a few of the easier feature requests. Then I'll take some time to work on that web app for automating translation work, along with other tasks that seem likely to make it easier to manage things moving forward. If I can get some help, this process will definitely go faster; if you're interested, either email me (jmbowman at alum dot mit dot edu) or post on the discussion forum on the project page.

Jeremy