January 24, 2006

Not quite a PIM

So the usual sorts of PIMs don't do me a whole lot of good. They generally try to do too much, or are too specialized, or some similar sadness. I use J-Pilot, a lightweight GTK Palm manager, for its calendaring, but that's about it. Here's what I'm really looking for:

  • Simple. A calendar and some to-do lists would really do it. My email program has all my addresses, my phone contains all my phone numbers, so the whole contact management stuff is unnecessary.
  • The calendar needn't do that much. J-Pilot does nearly all I need, except I'd like some little applet I could painlessly leave open to do alarms.
  • To-do lists look simple, but aren't. I want a basic bullet list that I can sort by date or priority. I want to be able to expand tasks into sub-tasks, a la Project schedules or *STeP directory panes. I want to be able to have a list of Big Goals, like papers and programs and other writing projects for the year. But the same interface should let me jot out a list of stuff for the week, or even just the evening. It would be cool to pull these little things out of bigger lists and have updates link back, but I don't know if I'd seriously use that.
  • Portable-centralized-distributed: J-Pilot ties me to the system with the program, so it only gets used for stuff that happens at my desktop. That's why I stopped using its to-do lists -- those I want to carry around. A web app (wiki, at simplest) has an interface that's limited by the browser; though AJAX helps, not all platforms support a powerful enough browser, and native interfaces aren't a bad thing. So I'm thinking a central repository on a server somewhere with RCS-ish semantics that speaks XML in HTTP/multipart messages. A client app checks out the current state and caches; mods can be merged/synched in anytime later. Maybe with a secondary IMAP or other heartbeat protocol to push update alerts.
  • With a family of related client apps, formats become less of a problem. A web app could be a client, but so could my little alarm applet or a full-blown Evolution-esque beast. So could a form generator to spit out a printable grocery or errand list, or a .pdb generator to stick lists or calendar stuff into a Palm, etc.
  • To reduce the amount of data passed around, certainly compressed HTTP bodies are good. Clients should probably be able to ask for a window of dates of interest. Doing real diffs would require real revision tracking, which might not be worthwhile, but if there's a file representation of the backstore somewhere, rsync-like tricks could work.

This seems like something that is surely a solved problem somewhere, but I haven't seen it. For some reason, I want to call it VILMA if I wind up writing it. The last bit stands for Life Management App, but the VI eludes me. Very Intuitive? Probably not.

Posted by mill1974 at 6:33 AM