Palm OS offline LibraryThing database application

Version 1.0.12.  MMcM 09/10

Summary

After one too many charity book sales where I wasn't able to answer whether we already have a book and/or it's on the wish list, I decided we needed to make better use of having put everything into LibraryThing. Not having a cell phone and being disinclined to pay data charges for one to access LT Mobile, I thought that this would be a good use for an older PDA. These can be bought on eBay for around the retail price of a hardcover book and turn up for even less at yard sales.

Most of the use cases revolve around being at a bookstore or library and wanting to check what's there with what you have / want. All the hard work is left to the LT site. The handheld database is almost, but not quite read-only. The exception is noting down a new book to be added to the wish list or investigated further.

Requirements

Any Palm device running (or upgradeable to) Palm OS 3.0 or newer should work. Data storage requires a couple hundred bytes per book, so a low-end 2MB model should hold a library with a few thousand books.

A Desktop PC running a reasonably modern version of Microsoft Windows is needed for getting data onto the handheld. (Windows 2000 is probably good enough.)

Getting started

Microsoft Windows

Linux

Mac OSX

Follow the instructions
above for Linux, adding -record-encoding ISO-8859-1 to the arguments to ltimport.sh before -read.

User Interface

Book List

  • Lists books in your library.
  • Click on a book to view its details.
  • You can control how a book is listed from Options > Preferences....
  • The lower-left gives a filter for books that are displayed.
  • The pop-up list chooses the field(s) to filter: Title, Author, ISBN, Tags, Comments, Summary or all of them.
  • The left-pointing arrow clears the filter field and focuses it. This is the quickest way to start a new filter.
  • The magnifying glass applies the filter manually if you do not have Incremental Find turned on.
  • New to enter a new book.
  • Scroll through the list with the up and down arrows, if you device does not have hardware buttons for that.
Book List

Book View

  • Displays the chosen book.
  • The filter term is highlighted.
  • Done to return to the list.
  • Edit to edit the book record.
  • Note to display / edit a note on the book.
  • If there is a web browser installed, a button allows going to the LibraryThing book page.
Book View

Book Edit

  • Edits the chosen book.
  • Done to return to View.
  • Note to display / edit a note on the book.
    A note is presently the same as the LT Comments field.
Book Edit

Note Edit

  • Edits a note for the current book.
  • A note is presently the same as the LT Comments field.
Note Edit

Add ISBNs

  • Creates new book records with only the ISBN field filled in.
  • Validates ISBNs that are entered.
  • Done to return to View.
  • Save to clear the form so more can be added.
Add ISBNs

Unicode

  • Character support for polyglot libraries.
  • Only List and View currently.
    No edit capabilities.
  • Still pretty rough.
Add ISBNs   Add ISBNs

Categories and Tags

Most fields are the same on the Palm and on the LibraryThing site. Comments is called Note, but is otherwise the same.

Tags are somewhat special. Tags in LibraryThing map to both the category on the Palm and the tags field in the Palm record. A collection tag is a tag that starts with @. These organize the eagerly anticipated collections feature, which allows for wishlists and so on. On the Palm, the first collection tag becomes the category and only the other tags appear in the record body.

Incremental Find

Text input via Graffiti or the pop-up keyboard is fairly slow. A find in a large library can take some time, especially on an older, slower device. Incremental Find mode attempts to address these compounding problems. As you change the find filter, a search is begun immediately. But it is done in the background, so you can continue to add to the filter, correct typos, scroll around before the list is complete, and so on. In particular, you can tell when you have entered enough of the search key to find what you are looking for. The Find button icon changes while an incremental find is in progress.

Notes

Ideas

Terms

This software is released as open source under The MIT License. You use it at your own risk. See license.txt for details.

Some code fragments were copied from files bearing:

From Palm OS Programming Bible, Second Edition Copyright 2000, 2002 Lonnon R. Foster. All rights reserved. This code is not in the public domain, but you are hereby granted permission to use it in any of your own projects, commercial or otherwise. Portions Copyright 2000 Palm, Inc. or its subsidiaries. All rights reserved.
Or generated by wizards that produced:
Copyright (c) 1999-2004 PalmSource, Inc. All rights reserved.
I cannot see any particular problems with these.

Unicode support relies on Unicode-GLib, the underlying engine for UniBible, via its library stub, which use is unrestricted.