пятница, 4 декабря 2009 г.

Органайзеры… Доколе!?!

  На RSDN.ru опять поднимаются вечные темы – поиск наилучшего органайзера. И опять традиционная картина: если б молодость могла, если б старость хотела :). И снова вечный скепсис: ниша дохлая. Ага… Щазз! Если люди годами ищут удобный органайзер, и так и не могут найти, какая ж это дохлая ниша? Рыба есть – ловить уметь надо!

Нельзя написать одну программу для всех задач, на все времена и подо все платформы… и одинаково хорошую для всех задач. Приложения для планирования задач неудобны для ведения заметок, а заметки не очень-то подходят для планирования. И уж точно: ни первое, ни второе не относится к напоминалкам. Зато можно написать несколько разных программ, каждую заточенную под свои задачи. Только вовсе не обязательно писать их все – все программы, как и стихи, уже давно написаны. Вполне достаточно научить их взаимодействовать.

Вы никогда не задумывались почему интеграционный софт это просто золотое дно!?! Все очень просто: допустим есть две программы, каждая из которых выполняет свои задачи на “вполне хорошо”. К примеру, Aml Pages для заметок, и LeaderTask для планирования. Можно попеременно пользоваться обоими – ОК, но это простая сумма двух слагаемых.

Хех, integration, в переводе с английского означает “объединение в одно целое”. К чему это? Если научить обе программы хоть немного взаимодействовать, то они начинают увязываться пусть хоть и в простую, но уже систему. А система это всегда больше, чем сумма слагаемых. У системы появляются новые аспекты поведения, которых нет у простой суммы (соседства на харде?) двух программ. Вот поэтому интеграционный софт и есть золотое дно – это создание новых возможностей, которых нет у обоих софтин по отдельности.

Поэтому и бесполезно создавать еще один комбайн, который будет делать всё. Невозможно создать инструмент, который делает всё одинаково хорошо. В принципе, и обухом топора можно забивать гвозди, но обычно для этого выбирают молоток. Абсолютно то же самое и с программой-комбайном. “Всё” не получится! Уж больно у каждой задачи разные цели, разные приоритеты, разные акценты.

Как-то писал почему в Aml Pages нет тайм-менеджмента? Да потому что, это не ее задача – Aml Pages это записная книжка, “записки на манжетах”, копилка для эврик, сохранялка для фрагментов веб страниц – да попросту оперативный блокнот под рукой. Какой там нафиг тайм-менеджмент – чего менеджить, и где там тайм? Это разные задачи вообще по своей сути.

Зато в Aml Pages уже сто лет в обед есть все механизмы для интеграции – на любую заметку можно сослаться откуда угодно, и эту ссылку можно в любой момент открыть извне вообще из любого кода. К примеру, плагин Aml Shortcut  именно на этом и построен – он всего лишь создает ярлык с нужными параметрами для открытия конкретной заметки и только. А чем открывать этот ярлык уже не его забота – пользователь ли кликнул или напоминалка по таймеру через этот ярлык открыла нужную заметку – это неважно.

Вот в этом и заключается вся извечная проблема написания очередных органайзеров. Все как один пытаются создать заново революционную систему, решающую абсолютно все проблемы. Ну-ну! Бог в помощь! Для молодости еще куда ни шло, но в старости пора повторять как мантру: “ложки серебряной пули нет, ее не существует” – можно конечно и топором забить гвоздь, и даже не один, но попробуйте подбить им сапоги…

“Совершенство – это когда не нечего добавить. Совершенство – это когда нечего убрать!” (© Антуан Сент-Экзюпери). В интеграционном софте нечего убирать, он обеспечивает только необходимое – возможность взаимодействия 2-ух софтин, и только. Убирать нечего – потому и совершенство.

PS: напоследок палю идеи. Обратите внимание на некоторые нюансы.

  1. По сути своей все напоминалки  напоминают периодически. Но почему это должен быть только текст? Открыть сайт, запустить приложение, открыть документ – это не почти ли то же самое? Взгляните на COM-интерфейс ITaskSheduler – все периодично, но что именно периодично можно описать в широких диапазонах. Можно заюзать и сам интерфейс. Не катит? Кто мешает воплотить ту же идею с нуля самому?
  2. Представим следующую ситуацию: вы с отладчиком наперевес уже почти с ногами залезли в окно кода и вовсе перестали реагировать на все внешние раздражители. И в этот момент любимая женщина вам говорит “дорогой, ты просил напомнить, что тебе надо позвонить Ивану”… Нет, нет – не отвлекает, а именно напоминает, привлекает Ваше внимания, но не требует вашей ежесекундной реакции. Не бывало такого?
    ОК, представили себе в уме, ну, а теперь к сути. Где вы видели у любимой кнопку “ОК”, которую нужно нажать чтобы хотя бы быстро закончить свои занятия?
    Так какого же хе… фига без конца показывать эти засранные MessageBox? Где необходимость сначала ответить на него, а только потом вернуться к своей задаче? Поверьте на слово – 30 минут размышлений, и решение находится – это действительно просто.
  3. Ну и последнее. Ни один вменяемый человек никогда не планирует что-то на через неделю ровно на 21:33. Нет, нет, конечно и такое бывает. Но это исключение. Чаще все значительно элементарнее: “завтра вечером”, “в пятницу после обеда”, “как протрезвею проснусь” и.т.д. Тогда на кой хрен, скажите мне, всё завязывать на точные элементы ввода вроде DateTimerPicker? Нарисуйте обычный статик со шкалой: слева утро, справа вечер. Подсветите его слева-направо цветами перехода от желтого (рассвет) к красному (закат) и позвольте пользователю выбирать кликом. Добавьте для наглядности снизу шкалу часов (дней). Пользователи не идиоты, поймут все с первого раза – образы всегда лучше воспринимаются. Очень надо? Ну, добавьте рядом этот DateTimePicker, и синхронизируйте его и выбор на шкале кликом - не помешает. Но поверьте, использоваться он будет исключительно как дополнительное средство и значительно реже.

Для начала, пожалуй, хватит. Авось кому и пригодится высказанное, кого-то вдохновит!?! Один фиг, у меня по-моему никогда не дойдут руки до реализации, особо если учесть что это не последние идеи – их есть у меня…

1 комментарий:

  1. 21 век на дворе ;) берем evernote в левую руку, rememberthemilk в правую и все, в дамках.

    А писать узконаправленный десктопный таск менеджер под достаточно странный workflow работы с задачами - это, разве что, под заказ кто-то возьмется.

    ОтветитьУдалить