Managing notes with Zim

Organizer


The Zim information manager offers far more than digital notes by exploiting data networking options.

By Daniel Kottmair

Alexey Shkitenkov, Fotolia.com

Zim is a handy desktop tool that combines wiki techniques with notes, a calendar, and to-do lists to create a versatile notepad on steroids. The tool supports a number of interesting integration options. For instance, you can directly paste images and easily link to external files. Zim builds a text file for each note and stores the notes in wikitext format. This means you can read your notes at the command line - a major benefit if you only have remote SSH-based access.

Installation

The package sources offered by popular distributions tend to offer users an obsolete version of Zim, if at all. Because of major improvements in the past few months, installing the current 0.27 version from the author's homepage makes more sense [1]. The source code package is up for grabs and you can use either a Perl script or make to build and install.

Before you can finally type make install, be prepared for blood, sweat, and tears. Several dependencies need manual attention, and Perl bindings and a couple of CPAN Perl modules must be installed. Ubuntu and Debian users will probably prefer the pain-free deb package, which is also available from the homepage. Alternatively, check out the Medibuntu repository [2], which has a current version of Zim that you can install easily via apt-get or Synaptic.

Feature Wonder

Although Zim uses wikitext internally, you do not need to master the art. Keyboard shortcuts or buttons are available for most important functions, and the program also supports automatic linking via CamelCase (also called WikiWords).

To define subordinate hierarchies for a term, simply insert a colon to de-mark the hierarchy level - for example, Sendmail:Installation and Sendmail:Configuration. Down below in the status bar, Zim shows you the backlink statistics for the entry. The pull-down menu lets you display the pages that link to the entry.

Of course, nobody is going to prevent you from using the program to create unlinked, isolated notes. To simplify things, the sidebar has an overview function that gives you quick access to individual notes that open in a separate tab when clicked. Zim automatically creates a new note when you define a link but will not store it permanently unless you add some content. When you add content, Zim creates a matching text file and creates a permanent entry for the note in the sidebar. The program automatically saves all your notes and any changes you make to them, thus taking this burden off the user.

Zim gives you everything you need to format text easily, including bold, italics, underline, strikeout, and various font sizes. Also, if you add an image reference to a note, Zim will display the image (Figure 1). File references are added as clickable filesystem links. Alternatively, you can attach files directly to notes; Zim uses a separate folder named after the note below its working directory to store the file. The program also supports checkboxes for to-do lists. With square brackets ([ ], [x], and [*]), you can check or cross out the boxes.

Figure 1: Opening an embedded image with GIMP.

To navigate between notes, you can either use the sidebar, the back/forward buttons on the top left-hand side, or the tabs that let you click to open notes you used recently. Zim supports find and replace in a single note, but not across all notes, although it does have a cross-note search function. Also, you can undo your changes and display word/character counts.

Plugin Extensible

Zim includes a number of plugins. Two of them, the to-do list and the calendar, are enabled by default. The calendar gives you a hierarchical, date-oriented view and supports chronological sorting. Other useful helpers include a spell checker, a formula editor (which requires LaTeX), and a screenshot tool that you can enable if you need it.

The to-do list (Figure 2) collects all incidences of TODO: from all the notes then lists as a task the text that follows the tag. Appending any number of exclamation marks defines a priority for the task. Zim identifies dates in the same line and uses them in the to-do list. Open checkboxes can also appear in the to-do list.

Figure 2: An example Zim note with To-Do list and some checkboxes.

Adding the word DONE in the to-do line or checking a box marks a task as completed; unfortunately, Zim does not have an alarm function to warn you of imminent tasks.

Competitors

Zim's biggest competitor is the Mono-based Tomboy, which is part of the standard Ubuntu distribution. Tomboy offers a number of features that Zim does not offer, such as an alarm function, support for WebDAV-based or SSH-based synchronization, and a blog poster add-in that gives users a convenient option for publishing notes as blog entries.

On the other hand, Zim has a number of advantages over the Tomboy note-taking application. For example, Zim uses a plain text format, so notes are easy to read with a third-party program. Also, the texts are named intuitively. Tomboy hides its virtually unintelligible XML notes in a hidden directory with cryptic hash file names. Tomboy also lacks a to-do list, direct integration of graphics, and checkbox support.

Conclusions

Although Zim is a great performer with a number of useful features, it does have a few drawbacks. The program still lacks a feature for exporting wikis directly as a website, nor does it have an alarm feature to remind you of deadlines. As in Tomboy, the menu and buttonbar take up too much space in the program window. And, like other digital notepads, the program lacks a simple option for forwarding a note to a third party, which would be useful because in some cases, groupware might just be overkill.

INFO
[1] Zim homepage: http://www.zim-wiki.org
[2] Medibuntu: http://www.medibuntu.org
THE AUTHOR

When he's not busy writing complex Bash scripts or madly testing some new hardware, Daniel Kottmair likes to spend some quality time with his beloved Commodore 64.