Managing appointments and contacts with Osmo

Osmosis


Thanks to its compact interface, the Osmo PIM application is perfect for small screens. We help you make the most of Osmo.

By Frank Wieduwilt

Alvin Teo, Fotolia

Osmo [1] is a simple tool for managing appointments, contacts, and notes. The Osmo personal information manager, which is based on the Gtk+ toolkit, is designed to run easily on systems with restricted screen space. Versions are currently available for desktop systems as well as Internet tablets. I tried out the September 2008 Osmo 0.2.4 release on a desktop computer with Mandriva 2009.0 and an IdeaPad S10e running Ubuntu 8.10.

Interface

To launch the program, type osmo & in a terminal emulator (Figure 1). On startup, Osmo tucks into the system tray in your panel, where it is easily accessible. When you mouse over the icon in the tray, Osmo will show you that day's appointments as a tooltip.

Figure 1: Osmo combines standard calendaring functions with a compact interface.

If you just want to check the calendar, pass the --calendar option when you launch Osmo to open the calendar view only. Another interesting start option is --tinygui, which tells Osmo to scale down so that it fits a small screen.

An online help function is on the developer's roadmap but is not available yet. When launched, the tidy Osmo interface shows the current month in the Calendar view. Tasks, contacts, notes, and program options are available through various tabs. Osmo also supports keyboard-only controls. For an overview of keyboard shortcuts, look at Keyboard shortcuts in the Options module.

Calendar

The calendar highlights the current day's date in the month view, and the arrow keys in the toolbar let you browse by day, month, or year. Below the calendar, Osmo shows the time of day, week number, and day of the year. The current date is highlighted with a circle. Days with defined appointments show a single quote mark beside their number.

More Modules

Osmo displays tasks, notes, and contacts in a list format. To add a new note, click the Notes tab on the right then the green plus (+) icon in the toolbar. The program prompts you to enter a heading and choose a category for the note.

Osmo encrypts notes for protection against shoulder surfers. When you create a note, the software prompts you for a password and then displays a field at the bottom of the program window in which you can enter the text (Figure 2). The application also has simple formatting tools for bold, italic, and underlined text.

Figure 2: The note editor offers simple formatting tools.

To enter tasks for the day, use the text box below the task list. Osmo does not support multi-day tasks. To structure your task notes, the program displays a timeline in the text field of the Tasks module (Figure 3). In addition to assigning a title, you can set a deadline for each task, and Osmo can remind you before the deadline expires.

Figure 3: Osmo manages tasks on a day-by-day basis only.

Osmo has the standard data fields for managing private and business contacts (Figure 4). The list view gives you the option of sorting your contacts by various criteria.

Figure 4: Osmo offers the standard contact management functions.

Utilities

Osmo includes a number of utilities that facilitate working with calendars. A date calculator, which you can access by clicking on the Calculator icon in the calendar toolbar or by pressing D, allows you to calculate the number of days between two dates.

With the use of a function that is hidden in the Create annual calendar icon in the calendar toolbar, you also can create an annual calendar, but it is of little practical use because you cannot store or print a calendar that you create in this way.

With Osmo, you can print a calendar in landscape format for a selected month that lacks any notes assigned to the days of that month. In this way, you use the print function to create a blank wall calendar that you can fill by hand. Osmo currently does not support printing of tasks, contacts, and notes; however, the author or the program is working on this feature.

Settings

To meet your own needs, you can customize Osmo with the use of the settings available under the Options tab. Settings are organized by program function. For example, you can specify how the calendar shows days with appointments and tasks, as well as the font type and size (Figure 5).

Figure 5: In the Options module, you can customize the program's appearance.

The bottom part of the Options dialog box for the calendar lets you import files in iCalendar format. As of this writing, the program will only open iCalendar fields for reading; you cannot enter data in a calendar you import in this way. In the future, the Osmo developer plans to integrate SyncML [2] to support the exchange of calendar data with other programs, as well as with devices such as cell phones.

The settings in the Options module also let you set the font or define categories for other modules. One annoying thing about Osmo is that it does not manage categories across the board for all its subcomponents; instead, you have to define categories separately for each of the Calendar, Notes, Tasks, and Contacts modules. This causes unnecessary work and makes it harder to keep track of everything.

File Format Issues

Osmo stores data in its own XML-based file format. The program stores the calendar and notes in multiple files and subdirectories below the ~./osmo directory. The use of a proprietary file format makes it more difficult to exchange data with other programs.

One option for exporting data from Osmo to another program is to export the appointments for a day to an iCalendar file. To do so, select a day in the calendar, right-click the calendar day, select Export to an iCalender file in the drop-down menu, and enter a file name. Mozilla Lightning and Sunbird, Evolution, and the Apple iCal application will all read the iCalender files that you exported from Osmo.

When it comes to contacts, Osmo only offers a CSV-based exchange format. The import function does not always work reliably; importing contacts via SyncML is tagged "experimental" and did not work at all in our lab. The CSV-formatted files exported by Osmo can be imported into spreadsheets and databases without trouble.

Installation

Various current distributions, such as Debian, Ubuntu, Fedora, and Slackware, include Osmo in their package sources. Your distribution's package management system tends to be the best approach to installing the software. If you prefer to build Osmo directly from the source code, you will need the libxml2, libnotify, libgringotts, and libsyncml libraries and developer packages.

The source code archive, osmo-0.2.4.tar.gz, is available from the project homepage. After downloading the source code, you can unpack it by typing tar -xzvf osmo- 0.2.4.tar.gz. To configure the source code for building, change to the new osmo-0.2.4 directory created in the last step and type ./configure. Then type make to compile. Finally, become root and give the make install command to install the program files.

Conclusions

Osmo has a neat, compact interface that recommends itself for use on systems in which desktop space is at a premium - for example, netbooks. The interface also has a nice, clear-cut structure that makes it easy to access the existing features.

On the downside, Osmo insists on managing categories separately for each program module. Also, it is annoying that the program uses its own file format instead of the standardized iCalender format. This shortcoming makes it unnecessarily difficult to exchange calendar and contact data, at the same time taking away the user's ability to share calendars with others who work with different programs.

On a more positive note, exporting calendar data to the iCalender format works perfectly.

If you only need to send an appointment to another user occasionally, Osmo is a good choice of tool. However, it still lags way behind "major league" programs such as Evolution. Nevertheless, if you are looking for a compact calendar and organizer, if you don't need to manage too many appointments, and if you can do without exchanging data with other devices, Osmo could be the right choice.

INFO
[1] Osmo: http://clay.ll.pl/osmo/
[2] SyncML: http://www.openmobilealliance.org/tech/affiliates/syncml/syncmlindex.html