Моя борьба с органайзером

Написаны однажды - работают везде

Введение

В этом разделе преимущественно рассматриваются программы, написанные на Java или использующие JavaScript.

Memoranda

Первый взгляд на Memoranda никак не говорит о том, что это Java-приложение - так хорошо авторы поработали над деталями интерфейса.

Главное окно Memoranda представляет собой традиционную сводку на сегодня и содержит список активных задач, разноцветные липкие бумажки и календарик на текущий месяц. Слева - тулбар, на котором красиво расположены кнопки перехода к работе с иерархическим списком задач и дневником (набором записей) текущего проекта. Memoranda - принципиально однопользовательское приложение, так что проекты подразумеваются выполняемые вами лично.

События можно посмотреть только на один выбранный день. По всей видимости, календарное планирование не вошло в список приоритетов разработчиков программы, а жаль. Сделать семь одновременно показываемых списков событий вместо одного было бы несложно, зато добавило бы программе преимуществ. Другим неудобством является мгновенное и невозвратимое пропадание липкой бумажки при нажатии на крестик - чего бы стоило лишний раз переспросить пользователя?.. Причем, как показывают эксперименты, из файлов данных эта бумажка также удаляется напрочь и моментально. Огорчает также отсутствие возможности настроить цвета оных бумажек, а попытка поучаствовать на упоминавшиеся темы в опенсорсном проекте Memoranda встречает молчаливое неодобрение администраторов :)

В отличие от бумажек и событий, записи и задачи группируются в проекты. В верхней части главного окна имеется раскрываемый список проектов. Одновременно может быть открыт для просмотра только один проект. При выполнении подзадач существует возможность пересчета процента выполнения задачи более высокого уровня.

Записи - это html-страницы, идентифицируемые по дате и названию. Список их доступен с тулбара. Наиболее часто требующиеся записи можно пометить закладками. Используемый html-редактор базируется на сановском HTMLEditorKit (могу ошибиться в названии, но суть не меняется) и наследует от него тормознутость и некоторые неочевидные глюки. Кроме этого, в редакторе лично мне не хватает зачеркивания и закрашивания, но теоретически с этим можно бороться с помощью редактирования специального файла CSS. Вообще, Memoranda являет собой неплохой пример интеграции html-технологии в обычное десктопное приложение.

Любопытной особенностью списка задач в Memoranda является то, что маркировка задач как просроченных производится не исходя из системной даты, а исходя из текущей даты, установленной с помощью календарика Memoranda. Производимый этим эффект мы предлагаем вам исследовать самостоятельно. Здесь же заметим, что не помешало бы наконец написать хотя бы коротенькую справку по программе, объяснив, например, упомянутую нетривиальную логику.

В дополнение ко всему перечисленному Memoranda позволяет составить список часто используемых ресурсов - это ссылки на веб-страницы или на локальные файлы, а также встраивается в system tray на тех системах, где он есть (Windows и KDE).

Все вышеперечисленные неудобства и недоработки не умаляют основных достоинств Memoranda - это исключительно приятный на вид, работающий на любой платформе персональный дневник и менеджер задач.

BORG

BORG Calendar - программа с полностью открытыми исходниками, выросшая за короткий срок из доморощенного органайзера в сетевую многопользовательскую систему. BORG умеет хранить данные в своем собственном формате, или же в базе данных MySQL (а последние версии - еще и в быстрой и удобной HSQLDB). Поскольку BORG написан на Java, то он работает практически везде. Для обмена и копирования данных имеются функции экспорта в iCalendar или собственный формат XML, а также соответствующие функции импорта. Инсталлятор BORG - это jar-файл, при запуске которого из Java-машины производится собственно установка программы. Пользовательские настройки реализованы стандартными классами J2SE и хранятся в системных файлах - в Windows это реестр, а в Linux - скрытый подкаталог в юзерском каталоге. Сами же файлы данных полностью переносимы между разными операционными системами.

Отправной точкой работы в BORG является просмотр календаря на месяц. При необходимости вызывается форма редактирования списка событий в конкретный день. Имеется возможность распечатать расписание на месяц или на неделю с указанием часов.

Кроме календаря как такового, в BORG имеется адресная книга (с показом дней рождения в календаре), примитивный список дел, а также task tracker (список задач), приспособленный, впрочем, для личных нужд автора программы. Хитрая особенность логики BORG - возможность пометить событие в календаре как ToDo (при этом оно показывается в списке дел, до тех пор пока не будет отмечено как выполненное). BORG встраивается в system tray в Windows и в KDE.

Остается лишь сожалеть, что в BORG нет липких заметок и почтового клиента.

С точки зрения анализа архитектурных и интерфейсных решений заметим, что у Memoranda и BORG много общего. Обе эти программы написаны на Java (а именно, на J2SE). Оба органайзера имеют возможность хранить данные в своем собственном формате (однако при этом у BORG это примитивная реализация плоских таблиц базы данных, а у Memoranda - набор XML и html-файлов, организованных в каталоги и именуемых автоматически). В интерфейсе и организации данных упор изначально был сделан в Memoranda на управление задачами и заметками в конкретных проектах, а в BORG - на календарное планирование. При этом остальные функции не то чтобы сильно пострадали, они просто слабо продуманы и явно не были учтены при первоначальном проектировании интерфейса. Тем не менее, обе рассмотренных программы можно смело рекомендовать к каждодневному использованию. Приличный срок эксплуатации программ сообществом позволяет делать вывод о хорошем качестве разработки и высоком проценте выявленных ошибок.

Далее: Чем wiki лучше блокнота?

Почитать еще по теме

Valid XHTML 1.0 Transitional

Valid CSS!

Rambler's Top100

Рейтинг@Mail.ru