Меня давно занимала тема, каким же должен быть идеальный аутлайнер. Или, лучше сказать, информационный органайзер. Мы привыкли к существующей концепции операционной системы. Есть файлы, есть программы, которые их обрабатывают. Самые продвинутые ещё знают, что возможна ситуация, когда данные и программы - одно и то же.
Итак, чего я ожидаю от информационного органайзера?
(можно рассматривать как ТЗ на аутлайнер).
-
Управление версиями. Я должен иметь возможность восстанавливать предыдущее состояние документа. Я хочу видеть, что изменялось в документе, независимо от того, каков формат документа (хорошо, для растровой графики я готов сделать исключение). Я хочу иметь возможность восстановить номер телефона, который я записал в свободное место документа пять лет назад.
-
Независимость от крашей. После того, как операционная система потерпела сокрушительный краш я должен иметь возможность как ни в чём не бывало продолжить работу. Назовите это системой резервного копирования, только делайте это прозрачно для меня.
-
Постановка ссылок и поддержание ссылочной целостности. Сейчас я храню все файлы по одному проекту в одном каталоге. Если проект большой - завожу подкаталоги. Если разные проекты используют одинаковые файлы - ставлю ярлыки. Я не хочу этой чуши. Просто позвольте мне расставлять ссылки на документы там где я хочу и как я хочу. Так, чтобы легко было указать, “а этот момент описан во второй главе первого тома обоснований инвестиций в строительство Проекта А”. И, изменив структуру разделов тома хотя бы получить предупреждение, что нарушена ссылочная целостность. А лучше ссылка обновиться автоматически, ведь я использую логическую разметку документа, значит несложно сообразить, что глава 2, стала третьей.
-
Независимость от формата. Ситуация “А этот файл я набирал в “Лексиконе”. Можно перевести из DOS кодировки. Форматирования, конечно, не сохранить, хорошо хоть текст остался.” не самый плохой вариант. Помню, как читал статью про то, что CD с электронной копией “Doomsday book” неначем было прочитать через чуть больше десятилетия с момента выпуска, а вот бумажная книга хранится уже более тысячи лет. Предлагалось много панацей - XML, различные мета-языки разметки, данные + программа для их обработки, будет ли хоть один вариант доведён до ума?
-
Синхронизируемость. Да, есть такая штука, как Sun Ray, вставил свою смарт-карту в слот и работаешь на любом компьютере в одной среде. В рамках своей организации, конечно. Но хочется работать с одними и теми же данными на своём КПК, ноутбуке и десктопе. Да, синхронизация с электронным карандашом тоже не помешает. Сейчас у меня удачно получается только синхронизировать данные Outlook между компьютером, телефоном и КПК. Ещё документы Word и Exel между десктопом и КПК. Это явно не всё.
-
Продвинутая возможность поиска. Полнотекстовый поиск по базе обязателен, но не всегда удобен. Я ожидаю возможности использования и тегов, иерархической организаци данных и ссылочной организации.
Чего я не ожидаю от программы
-
Система не должна стоить 1000$ за каждое рабочее место.
-
Отсутствие сложных систем конфигурирования. Я мог бы захотеть, чтобы программа позволяла выполнять роль электронной адресной книги, органайзера задач и проектов, электронного календаря. Но большая универсальность пораждает большую сложность в конфигурировании. В сущности, возможности вставки в документы исполняемого кода, как это сделано в WikiPad (python) или в NoteBook (Tcl/Tk) более чем достаточно.
-
Работы через Web. Может быть, это очень удобно. Но я живу в глубинке Сибири (это Россия, ребята) и не ожидаю, что в ближайшие десятилетия я буду иметь постоянный доступ к сети везде, где мне могла бы понадобиться моя база знаний.
После изложения хотелок самое время приступать к написанию подобной системы, потому что её нет. Есть приближения. Ну например, можно получить неплохие независимость от формата и синхронизируемость, если работать в виртуальной машине, которая хранится на флэшке, ну или внешнем жёстком диске, я видел такие предложения. Всего лишь установить на каждый рабочий компьютер по виртуальной машине, вроде VMWARE. Независимость от крашей можно получить вручную настроив систему резервного копирования. Хуже всего с управлением ссылками и управлением версиями.
Теперь стоит рассказать о своих скромных успехах в поиске решений. Их два. Первое - для решения проблемы синхронизируемости, независимости от формата и доступности, это аутлайнер [tombo]. Второе решение, с которым я могу добиться толковой постановки ссылок и независимость от формата - это WikiPad.