Group test: note takers
Paper - don't you just hate it? We live in the 'information age', and yet the much promised era of the paperless office still seems decades away. Our desks are cluttered with notes, reminders and scraps of random information that desperately need to be sorted, but it's hard to find the time.
You've probably tried the brute-force method of computerising your notes: keeping a plain text file (or word processor document) on your desktop, ready at hand to tap in phone numbers, reminders and other tidbits that you need to store in a hurry.
This system works fairly well at first, but it soon becomes unwieldy. As much as you try to keep notes together in categories and purge expired information when necessary, eventually you end up with a morass of data that's impossibly hard to manage. Sure, it's a slightly better system than playing 'hunt the Post-It Note', and it certainly saves on trees, but there has to be a more elegant solution...
Jot it down
Note-taking programs aim to help you organise your information in a clear and accessible way. Typically, they let you assign snippets of information to one or more categories, making it easy to browse through and search your notes.
Good note takers don't focus on any specific type of information - they let you enter anything from URLs and upcoming appointments to train times and the name of a song you just heard on the radio. Some features are essential, such as searching and copying text, while formatting (bold, italics) is useful to have for structuring information.
Here in Linuxland we're lucky to have a selection of note takers to try out. The open source community has been grafting away on a variety of utilities to help organise your life, from feature-laden programs with powerful import/export facilities to light and simple tools that do little more than accept data. Over the next few pages we'll examine six of the most prominent note takers, helping you find the right program for your home and/or office.
How we tested
Note takers have to straddle a fine line: too many features and they become cumbersome to use, too few features and they're barely worth more than a plain text editor. Developers have to ensure that the interface isn't cluttered with gizmos, otherwise we end-users feel like we're at the control deck of a Boeing 747. We considered:
- Desktop integration Does the app work with Gnome, KDE or Xfce? Can you drag text or pictures into a note?
- Import/export Can you grab data from another note-taking program? Can you generate a pretty HTML version of your jottings?
- Encryption If you're storing passwords and PIN numbers, you don't want the data to be easily accessible. The program should encrypt your data when it's stored on disk, and prompt you for a password.
Tomboy, along with Banshee and F-Spot, is one of the most prominent applications to be written with C#/Mono. Its lowly version number suggests immaturity, but Tomboy is close to a 1.0 release in terms of overall stability.
Its performance suffers from the use of Mono, though: startup times are elongated as the program pulls in various Mono runtime libraries. If you regularly run other Mono programs on your desktop this isn't a big deal, as you'll normally have the relevant libraries already loaded into RAM.
But if you tend to run a Mono-free system, you may find the lag in startup (ten seconds on our test machine) annoying when you want to tap something in quickly (eg when you're on the phone).
With a GTK# interface, Tomboy is most suited to the Gnome and Xfce desktops, although it will happily run in KDE too. If your desktop or window manager has a system tray section, Tomboy will deposit an icon there when it starts, providing right-click access to online help and the preferences dialog.
The program's interface is almost alarmingly minimal: there's no menu bar, no side panels, nothing leaping out at you to be clicked. Indeed, this can catch you out at first - how do I make some text bold? How do I create a new note?
Tomboy's text formatting options are available via a menu, but we'd rather have the common options (eg bold and font sizes) clickable in the toolbar.
All in context
The answers lie in the right-click context menu, and the system tray icon. Herein lies one of the problems characteristic of many Gnome programs: lack of interface customisation.
Yes, Tomboy is simple and doesn't addle your brain with widgets all over the place. But some extra toolbar buttons wouldn't go amiss, so that you could, for instance, make text bold without having to go through a menu. It's a shame that Tomboy doesn't let you tweak the interface to your liking, but still, there are plenty of keybindings to learn them.
For text formatting, Tomboy provides the usual bold, italic and underline facilities, plus a monospaced font (good for code fragments), four font sizes and bullet points. This formatting is adequately preserved in the HTML export facility, but here's where another problem rears its ugly head: you can only export individual notes.
So, if you have a master note containing links to other notes, and want to generate a web page version, you have to go through every single note and export it, then fix the links in the HTML. This happens despite an 'Export linked notes' option in the export dialog, making the feature effectively useless.
The notes themselves are stored as XML files, with memorable filenames such as this: 10960f09-9977-428c-8f5a-6c3afb5df5a4.note. We don't have a beef with the program's use of XML, but if you need to access your note data on another machine and don't have Tomboy to hand, you'll find it frustrating to pore through lots of randomly named files.
There's also no facility to import notes, so if you want to transfer information from another note-taking program, you'll have to copy and paste. Tomboy handles dragging and dropping of text adequately well - it preserves basic formatting of web pages when a selection is dragged from Firefox.
The program uses 'Notebooks' as a category system. You can create and name new notebooks, then assign individual notes to them, although you can't assign a single note to multiple notebooks. There's no facility to encrypt your notes or protect them with a password. On the minor features front, you can synchronise your notes to a remote server with WebDav, customise the hotkeys used to open your notes, and enable a wiki-like mode so that WordsWithoutSpaces, for instance, will turn into a clickable link for a new note.
Tomboy can be expanded via 'Add-ins', a few of which are supplied for the aforementioned HTML export and WebDav facilities. There are also Add-ins to integrate with Evolution - you can drag an email into a note, and it will create a link in Tomboy based on the subject line - and provide Sticky Notes importing. The latter, however, is supposed to present a new option in the Tools menu according to the documentation, but it doesn't actually do that, so it's unusable.
The Add-ins system makes it easy to enhance the basic Tomboy application with further functionality.
It's these little glitches that hold Tomboy back: we can understand the developers wanting to skimp on certain features in order to keep the program easy to use (although more import options would be good). But various bits are half-finished or broken, and while the app is stable as a whole, it feels uncared for in some areas.
Verdict: A promising tool, let down by a couple of broken features and a lack of interface customisation. 6/10
Everyone gets tired of the obsessive use of Ks in KDE program names, but in the case of KnowIt, at least it makes sense. KnowIt is a note taker designed for KDE 3, and hasn't seen much development in the last few years - the most recent version, 0.10, was released in March 2004.
However, the program still works well and deserves a place in this Roundup. KnowIt starts up with a familiar KDE tips box, highlighting various features and keyboard shortcuts that you can use.
The interface is chock full of buttons to play with, but creating a new note isn't very intuitive: you can click on the New button in the toolbar all you want, and nothing will happen. Instead, you need to click Notes > Add and give the new note a title.
The panel on the left lets you shift notes around and create sub-notes in a tree-like format.
The program's greatest strength, however, lies in its sorting facilities: using the pane on the left-hand side, you can rearrange the order of notes and even create sub-notes. This makes it easy as pie to build up master notes for different topics, and then create child notes with specific bits of info.
A basic HTML export facility is included, and, curiously, KnowIt saves its files in a rather cool combination of home-brewed markup and HTML (see the screenshot). However, there's currently no way to import notes from other programs, nor any facility to encrypt your data.
On the upside, KnowIt can easily drag and drop text from other KDE applications, without having to perform the usual copy and paste chicanery. It's not a bad program, just falling behind the times now.
Verdict: It's dated and doesn't have much in the way of features, but is otherwise very pleasant and effective in use. 7/10
If you hop over to NoteCase's website, you'll see plenty of screenshots of the program running on low-resolution displays, such as the Sharp Zaurus and Maemo platforms. And indeed, the interface is fairly compact, with a menu bar and single toolbar making up the primary GUI elements.
Like KnowIt, NoteCase uses a two-pane display, with the left-hand pane containing note titles. You can click and drag these around with the mouse to reorganise them, and create sub-notes in an expandable tree list. Throughout the program, NoteCase uses the term 'node' to represent what we think of as a note, but it doesn't get confusing.
NoteCase does very well on the feature front: it has text formatting, inline pictures, a word count, and the ability to run in read-only mode (so that you don't accidentally delete data). Excellently, there is a vast range of options - you can reconfigure the keybindings and fine-tune the application's startup, display, backup and HTML export facilities.
As a demonstration of NoteCase's capabilities, the program's documentation is supplied as a complex NoteCase file.
NoteCase can read and write files in a variety of formats, including Gjots, Sticky Notes and FreeMind .mm files, and also has a password option that generates encrypted files.
A particularly useful feature is NoteCases 'finished nodes' flag. When you don't need a note any longer, you can simply mark it as 'finished', and do the same for other unneeded notes. Then you can purge the lot in one fell swoop.
NoteCase can even clone its own executable binary and attach your current document, so you can send your notes, coupled with the program, to a friend or colleague; they won't have to install it themselves. On the whole, NoteCase is an excellent tool with all the essential features intact and a few extra gems thrown in for good measure.
Verdict: The best GTK-based note taking tool around: mature, feature-laden and very snappy in use. 8/10.
KDE is better than Gnome, right? Only kidding - we're not going to start that war here (hence why Xfce was used as our main testing desktop).
However, the biggest fuel for the whole KDE vs Gnome debate is the old 'number of features' metric: in general, Gnome apps tend to strive for simplicity and minimal GUIs at the expense of including every feature under the sun, as we've seen in Tomboy.
Over in the KDE camp, however, features, checkboxes, gizmos and widgets galore are the order of the day. Just compare Konqueror and Epiphany as an example.
Basket is a KDE program, and consequently is a total featurefest, with so many buttons to click that you'll wear out your mouse within a few hours of use. But as we mentioned at the start of this roundup, features alone aren't necessarily a good thing - especially if the program looks more complicated than String Theory.
Basket has by far the busiest interface of all the programs on test here; you have a menu, toolbar, note navigation pane, filter box, tags list, and the note content itself. On top of this, you'll also see smooth animations as bits of notes slide gracefully into place.
Basket gives you complete freedom to lay out your notes in the style of a more powerful DTP app, such as Scribus.
In Basket parlance, an individual basket is a combination of notes, typically with one master document and then a bunch of sub-notes beneath. This is much the same as in KnowIt and NoteCase, but Basket expands the concept further: in the main pane of a note (the panel on the right-hand side), you can click anywhere to start adding text in little boxes.
Once you've built up various text snippets, you can click-drag over them to group them together. This provides more control over the hierarchy of your notes than any other program on test - it takes a while to master, but is ultimately very powerful.
You're not limited to text though: you can insert images, web links, checkboxes (for to-do lists) and program launchers. With a bit of work, you can turn Basket into a launchpad for your life: you have notes, reminders, links and applications all in one place.
Every bit of info in a Basket note page, be it text or image, is resizable and movable, much like in a DTP program. Functionality wise, this is way beyond any of the other programs on test here - it's gigantically versatile.
Hey, good lookin'
The animation effects as you move snippets around is purely a cosmetic touch, and it also comes into play when you're searching. Using the filter bar at the top, you can enter text to narrow down the snippets on a note page, with irrelevant information fading out of view.
Yes, it's a frill, but it underscores the level of attention that has gone into Basket. For any bit of info, you can assign pre-created tags (eg low priority, work, personal), or create your own tags with custom images and colours.
Basket's HTML export facility is hugely impressive, creating a page (with images) that's almost identical in pixel-perfect layout to the original document. The program can import files from a wide range of alternatives, including KNotes, KJots, KnowIt, TuxCards and Tomboy, and you can secure notes with a password (it even tells you how strong your password is).
The desktop integration is solid - Basket adds an icon to the system tray, and you can drag and drop pictures from Konqueror straight into your notes.
So the big question is this: is Basket too featureful for its own good? Well, in most cases it isn't. The interface is very lively compared with most of the other apps on test here, but rarely do you feel forced into doing anything. For all the animation effects, categories, tags, colours, fonts, pictures and other elements that you can introduce to your notes, you can still stick with plain old text if it's all you need.
Basket's tagging feature is extremely powerful - here's the dialog box for creating and customising tags.
Therein lies the hallmark of a great piece of software - it's flexible enough to keep both novices and power users happy. Some GUI pundits say that too much ability to customise an interface is a bad thing, leading to inconsistency; others argue that it makes a program far more flexible.
Of course, if you're a regular Gnome user and don't need all the bells and whistles, NoteCase is ideal for you - but otherwise, Basket is simply the best, most versatile and well cared-for note taker you can get on Linux.
Packed with clever touches and features, Basket has everything you could want in a note-taking tool. Verdict: 9/10
A vast range of pre-defined tags are supplied with Basket, so you can mark a particular note as, say, 25% complete or just plain funny. But a tag is also like a template: you can make a tag affect the formatting of a note snippet, so, for instance, you could set up an 'urgent' tag which makes any associated text big, red and bold.
You can even assign keybindings to tags, so that you can mark snippets quickly. Most of us are unlikely to need more than five or so tags, but the huge flexibility of Basket's tag implementation bumps up its score in this roundup.
Anything that references our favourite penguin mascot instantly wins one thumb up from us. However, the other thumb is remaining firmly lowered until we see what TuxCards has to offer. On the plus side, it's supplied as a statically linked binary (all library dependencies included), so it will run on nigh-on every Linux distribution you can name. On the downside, it looks sorely bare compared to the other programs in this roundup.
TuxCards adopts the two-pane display used by many other programs in this test, with the left-hand pane containing the names of note entries, and the right containing the note text itself. Via the left panel you can organise notes in a tree structure - creating sub-notes and dragging them around.
Basic text formatting options are available for the notes (font style, size, paragraph alignment etc), but you can't insert images nor drag files to create inline pictures or links. If you drag over a file from Konqueror, you'll just see file://<filename> in plain text.
TuxCards is so-so as far as customisation options go, but has very little to offer when it comes to features.
There's no import facility, although HTML export is included, and TuxCards stores its data in a fairly readable XML flavour. Password-based encryption is provided; it doesn't encrypt the entire data file, but instead encrypts the text for a note, placing it in a CDATA section in the XML file. This is quite useful - you can encrypt sensitive parts of your notes without rendering the whole file unreadable if you need to poke around it using a text editor.
TuxCards is very primitive compared with the likes of NoteCase and Basket, and aside from the per-note encryption system, there's no reason to use it over any other app (though it is impressively fast). TuxCards is a fairly old app now, having not seen much development since 2004 - it's not a disaster, just falling behind as its contemporaries grow.
Verdict: As basic as it gets - TuxCards isn't a bad program, but it needs some updates to keep pace with the competition. 4/10.
We've been following Zim for a while, and originally it was something of a novelty, aiming to bring wiki-like editing features to a desktop app. In particular, it introduced the idea of note pages being created on the fly - you write some text, select a bit of it, and turn the highlighted part into a link to a new page. We were impressed, finding that the wiki approach to information management worked well in note taking.
However, most of the other note takers on test here have the same features now, so Zim isn't such a rarity. It's still a decent little tool though: you can get editing straight away with basic text formatting facilities, selecting a word or two with the mouse and clicking the link toolbar button to create a new page.
Zim's best feature is its storage format, which isn't some contrived XML dialect or unreadable binary blob. Instead, Zim stores your notes in a wiki-like format, so if you have some bold text, for instance, it is stored as '**these words are bold words**'. This makes it fairly easy to move your notes around different programs, or just edit them in a plain text editor if necessary. But otherwise, Zim has little else to impress.
Zim's extensive online documentation is provided in Zim format to demonstrate the program's capabilities.
You can export your notes in HTML format, but there are no import filters for other programs, nor any facility to encrypt and/or password protect your data. Still, it's more than adequate for simple note taking, and you can drop files and images into your notes to produce links or inline images.
If all you need is mostly plain text notes, linked together without any kind of category system or hierarchy, Zim is the ideal small and sweet tool - just don't expect anything more.
Verdict: Light on features and light on RAM; Zim can't compete with the big boys but has the basics covered very competently. 7/10
Our choice: Basket
From the start, it looked like this would be a two-horse race between Tomboy and Basket. The former is one of the most celebrated Mono programs (which is why we spent a full page looking at it), and although we've been keeping track of it over the years, we were surprised at just how poorly it fared against today's KDE competition.
Now, before we're deluged with flame emails, yes, we appreciate that Tomboy's version number is low. We're not having a dig at it for a lack of features - what does annoy us, however, is when a feature has supposedly been implemented but only works dodgily, if at all. One saving grace here is that if you're willing to run the unstable versions as they are released, they contain lots of feature upgrades. We have no doubt that Tomboy will be a great program at 1.0, but for now it still has some way to go.
So Tomboy fell at an early hurdle, giving chance for NoteCase to catch up and race alongside Basket. NoteCase is a fantastic app: it has a top selection of features, fits in nicely with Gnome and Xfce, and showed no signs of stability problems in our testing (including pasting masses of random data into the notes).
There can be only one
However, NoteCase doesn't quite have parity with Basket when it comes to an all-out feature showdown. Basket's ability to lay out notes with pixel-perfect precision, much like we do with real scraps of paper, coupled with its tagging system makes it a nearly unbeatable program for note taking.
Its interface could be tidied up in some areas, which holds it back from winning a 10/10 score, but perhaps this is something that can be rectified if the development team makes a KDE 4-specific version.
Basket's superb featureset, attractive cosmetic touches and extensive tweakability win it the top spot in this test.
When all is considered, the bottom line is this: if you want the best note taker, with squillions of features to cover your every need, install Basket pronto and you won't be disappointed. As a KDE app it looks slightly out of place in Gnome or Xfce, but the trade-off is worth it - you'll love its flexibility.
However, if some of Basket's features seem like overkill to you, and you're a regular Gnome or Xfce user, try NoteCase. Even though it's a smidgen behind Basket on the feature front, it's still very versatile and has a pleasingly svelte interface.
Overall it's a good showing from the open source community: whatever desktop you use, and however many features you want at hand, there's something here that will do a sterling job. Here's looking forward to a KDE 4 version of Basket, and some improvements from the Tomboy camp.
First published in Linux Format magazine