Cyberborean Chronicles

About Memoranda: Part I

Memoranda is an open-source and cross-platform (Java) software for personal projects scheduling and diary management. I have started it as an opensource project on SourceForge in 2003 and it grows out of jNotes software developed in 2002.


As far as I remember, I always worked in multitasking mode and was involved in few projects simultaneously. Once I had an idea that I needed something to help myself to manage that “concurrency” and organize my work – a kind of scratchpad or notebook to quickly make and find text notes and to-do’s. I tried out few software tools but I didn’t find what might exactly fit my needs. Some of them were heavy project-management tools with a lot of features which were useless for me, while others, on the contrary, had no features I expected. So, I decided to write that tool with my own hands.

My requirements were simple — it should be quick lightweight tool to easily keep brief daily notes and to-do lists. I thought it might be a simple text editor with a calendar interface. Instead of keeping batches of “YYYYMMDD” text files (as I did before), I should be able to select a date with a calendar widget and immediately get a text I had written then, or start an empty page if there was no text. No relations with files (no opening and saving operations) and quick navigation were the special points.

Later I decided that to-do lists were better to implement as special checklist widgets, rather than as simple text. In this case, it would be possible to count progress of the projects. So, they became an another concern, separated from text notes. Although I had no strong needs to schedule time events, I thought it would be an useful and popular feature (and later I convinced it was really so).

I wrote this tool in my spare time for one month and called it “jNotes” – “Java + Notes” (I had no long thinking about its name, you see ;-). It was released on SourceForge in July, 2002.

jNotes screenshot

jNotes screenshot

jNotes screenshot

jNotes 1.0 screenshots

jNotes 1.0 had a plain-text editor for diary notes, to-do checklists editor and events scheduler/notificator. The notes had been grouped in the “books” and to-do items in the “projects”. All data stored transparently as XML files, but the notes editor worked with plain-text files, that is it could be used as an usual text editor. There was also an export feature to save a whole notes book as an HTML file.

It was proved to be a simple but really helpful tool, and it got some popularity with time.

jNotes 2

In the end of 2002, when jNotes became rather stable and bugs-free software, I summarized my personal experience of using it together with users’ feedback and started to think about next version. There were some new ideas and it was clear that the software required a much of redesign to those ideas could be implemented.

jNotes was not longer a tool for my personal needs only, and my needs were changed. It was obvious that the ad-hoc design of jNotes 1.0 should be reinvented on more common and consistent basis. After investigating of users activity models and imagined use cases, I invented a new concept of a project. This concept became a foundation for new user experience.

A project in new version considered as a date-oriented collection of text notes, tasks and links to resources. The concept of “books” were discarded, but the collections of notes became integrated into the projects together with tasks. The concept of the tasks were revised too — no longer one-day todo items with boolean “done or not” status, but the processes within the project’s time bounds. They got a start and end date, priority level and percentage of completion. The links to project-related resources were another innovation. Any local file or URL can be included as a “shortcut” into the project’s resources list for quick access to them with suitable external application.

The second version of jNotes was written almost from scratch for three months and the first Alpha release was appeared at May, 2003.

jNotes 2.0a screenshot

jNotes 2.0-alpha screenshot

An unsignificant amount of code was inherited from version 1, but almost everything had been rewritten – an object model, user interface and so on. The software got a new WYSIWYG styled text editor with HTML export/import, unlimited undo buffer, find&replace functions and many other improvements and new features.

The alpha of the Version 2 quickly became even more popular than jNotes 1. At July, 2003 I got an offer of help from another developer. Patrick Bielen got involved into the project and started to contribute very enthusiastically. Iván Ribas joined us a little later. Besides, we got a big deal of patches, bug reports, translations and other useful stuff from numerous mailing list members. So, at September, 2003 there was a little but real opensource community.

Part II >>

Leave a Reply