Combee on Palm OS

Monday, 22 March 2004  10:38 AM

SXSW 2004 schedule screenshotI have not posted here in the last ten days due to the annual South by Southwest Conferences that happen here in Austin, Texas.  I'm involved with the conference as the programmer for their Palm OS Schedule application, and for my work I get a "platinum" badge that gets me into any of the events.  It was really fun catching the festival films this year, and I got to see some really interesting Q&A sessions with people like Richard Linklatter (Dazed and Confused, School of Rock) and Jim Jarmusch (Ghost Dog, Strangers in Paradise).

While the conference itself is off-topic here, doing this year's application taught me a few more things about Palm OS development.  You can get a copy for yourself at http://sxsw.com/pda/.  This is the third major version of this application that I've built; this year's version expanded on the 2002 and 2003 code in four main ways:

  1. Internal search mechanism
  2. Support for the Treo 600's five-way navigation scheme
  3. Integration with web browsers to quick view more details on an event.
  4. Integration with Pocket Tunes Deluxe to stream audio samples of bands

I'll talk about each of these in articles in the near future, but I'll start with #1.  The first version of the schedule, back in 2002, supported Palm OS's internal find feature, the one you get by tapping on the find icon.  This works pretty well as an on-device search engine, but it's not the best tool for searching in just one application.  It also can be slow when you've got a lot of data on your device, and it exposes bugs in a number of programs that don't handle the search launch codes correctly.

Since I had updated the program last year to support arbitrary lists of events, it was pretty easy to add my own search dialog, search through all the entries, and build up a custom results list.  This had the advantage of letting a user look at all of the results without having to repeat the search.  It also put a big search button into the application, exposing this feature to users unfamiliar with the standard search mechanism.

I still left the standard search support in the program, but I wish I'd added a preference that enabled/disabled this.  Right now, if you have the schedule on your device you're looking at several seconds of overhead for each "find" you do.  You can disable the app using Florent Pillet's excellent FindHack, but a user shouldn't need a third-party tool for this functionality.

Palm OS Cobalt does address one of the problems with "find".  Rather than having find work in a paging mode where you have to continue searching one page at a time, it now aggregates all the search result into a table with a scrollbar.  While this is a better UI, it could cause problems with programs that expected the old paging behavior where the number of outstanding results wouldn't ever exceed the size of the screen.