Memoranda (software)

Memoranda is an open source and cross-platform personal projects and diaries manager.

It provides a set of tools to help a user to organize their daily work:


 * Notes editor for quick editing the rich-text notes and other documents organized as a diary with calendar interface.
 * Tasks manager for planning the personal projects as the hierarchical trees of "to-do" tasks and sub-tasks.
 * Resources manager to collect the links to the local documents and web resources.
 * Events manager for scheduling the events with automatic notifications.

The Notes, Tasks and Resources are combined into the Projects. A user can have multiple projects in parallel and switch between them quickly. The special Agenda page provides an overview of today's tasks from all active projects.

The user interface
The user interface consists of five main views (Agenda, Notes, Tasks, Events and Resources) switched as screen tabs. Navigation on items is performed with the Calendar widget and the projects list which are always available on the screen (as the expandable panels).

On Windows and KDE platforms, the system tray icon is supported to keep the application running without the main window.

The software is internationalized. So far, there are localizations for 14 languages. The specific localization is selected automatically depending on a user system locale.

The user interface is implemented with Java Swing library.

Technical implementation
A simple XML persistence storage layer is used for to store user data in background. All data objects represent their model as XOM document interfaces which are serialized as XML files. The data files and settings are stored in a subdirectory of a user home that enables to share a single application installation between different users of the same machine. For migrating data between separate installations, the special ZIP-based format of a "packed project" is used.

Notes content can be exported as (X)HTML files.

Current issues

 * Though the software is written as a "pure Java", it includes third-party platform-depended component (Systray4J) for interacting with the system tray. Therefore, on the platforms unsupported by this component, the application functionality is limited (no system tray icon and menu).
 * There is no automated installer. To install and run Memoranda, a user should manually unpack the distribution and run the startup script (.bat or .sh depending on the platform). Creating the desktop and menu shortcuts is also a responsibility of user.
 * Memoranda has been criticized for lacking of interoperability with other PIM software (e.g. no iCal/vCal support).