четверг, 5 марта 2009 г.

Aml Pages, тайм-менеджмент и формализм

На днях меня в очередной и наверное в уже какой-нибудь юбилейный раз попросили добавить в Aml Pages функции планирования,  тайм-менеджмента и все в подобном же духе.  Стоит заметить, что эта просьба озвучивается с завидной регулярностью. И с такой же завидной регулярностью, по меньшей мере до сих пор, не выполняется. Однако в этот раз все обстояло несколько иначе: просил старинный, любимый и уважаемый мною пользователь, отличающийся редким сочетанием качеств: непрограммист (следует читать, “человек, не считающий что он единственный знает, как лучше и что именно сделать”), но между прочим вполне “варящий головой”. Да и у самого у меня уже возникали не столь четко выраженные, но все же похожие потребности. Резон призадуматься был на лицо.

Тут просто грех не сослаться на шикарнейшую мысль Валерия Расторгуева о тайм-менеджменте. Настоятельно рекомендую прочесть – это вам не модные басни! Это разумные, аргументированные и взвешенные мысли.

Посмотрите, какая отличная формулировка: “…он (тайм-менеджмент в Outlook) хорош как раз для «людей-роботов»…”!?!

Действительно! Вы никогда не обращали внимание на то, что в подавляющем большинстве софта для тайм-менеджмента от вас требуется указать всё, вся и причем сразу: приоритеты, даты начала, конца, типа задачи и.т.д. Госплан курит!

Вы всегда точно знаете, что и когда вы планируете, да еще и с точностью до минут? Вы всегда и безаппеляционно уверены в приоритетах и типах задач еще на этапе планирования? Почему авторы такого софта не допускают даже и мысли, что все эти подобные детали мы хотели бы оставить на потом? Вы никогда, разговаривая по телефону, не набрасывали на обрывке бумаги “Перезвонить Иван Иванычу до пятницы”… Без приоритета Иван Иваныча, без даты начала Иваныча, и уж тем более без типизации этой с позволения сказать “задачи”?

Конечно, бумага всё стерпит! Но разве такой софт не может стерпеть подобные непунктуальности хотя бы до поры до времени? Но софт не бумага – хотя он и soft, но терпеть не желает. Почему-то… Отчего-то…

Кстати, во все времена  в Aml Pages никогда и ни при каких обстоятельствах не делался упор на формализм. Собственно говоря, с этого всё и началось. Навязчивый формализм подобного “тайм-менеджмента” в какой-то момент просто мешал “записать Иваныча”. От всего этого было уже не столько пользы, сколько вреда (“черт с ней с датой конца Иваныча, куда я его телефон подевал!?!”). Так и появилась Aml Pages – с желанием записывать что и как угодно, никаких ежесекундных требований, все можно изменить потом. И уж точно никакого формализма.

Формализм вообще homo sapiens`у не присущ и вовсе. Знаете чем отличается поиск от запроса в контексте терминологии use-case? Поиск – это анализ множества на предмет соответствия (с некоторой точностью) образцу, искомому. Например, найти все вхождения строки. А запрос – это выборка из множества по ряду признаков. Вот когда я разыскивал ссылку на мысль Валерия – поиск в Aml Pages мне выдал весьма немало страниц со словом “робот”, а в найденном частенько попадались и слова “тайм-менеджмент”. А почему? Да потому, что я не знал что именно нужно искать, какие образцы использовать для поиска!?! Ну да, ну да… Вроде что-то там было про планирование, и про роботов. Но этот признак слишком формален, поэтому я и получал такие выборки не многим меньше, чем у самого Google. А тем не менее, я совершенно точно помнил как мне попалась эта статья - нашел я ее месяца полтора или два назад, нашел в сети, и вроде бы скидывал о ней заметку в Aml Pages. Всё оказалось крайне просто: первое - запрос по датам, потом - запрос по типам данных, потом запрос к найденному на предмет содержания ссылок. Вместо шести десятков страниц со словами “планирование” и “робот” я получил всего полтора десятка, быстренько пролистав которые, я тут же нашел ссылку на нужную статью. Вуаля! Причем потратив на это всего одну минуту! И заметьте, потратил на решение своей задачи. А не задачки для этого “чертова большого калькулятора”, как бы блин ему “сформулить”, чтобы он нашел то, что нужно мне, а не все то, что формально совпадает…

Знаете, мне никогда не катила фраза “Яндекс – найдется всё”.  Не надо всё! Совсем не надо… Просто найди то, что нужно! Вполне достаточно!

Человеку значительно проще двигаться шагами, сужая область поиска, постепенно приближаясь или отдаляясь от нужного результата. Нам, в отличие от компьютера, куда как проще выстраивать алгоритм пошагово, постепенно, приноравливаясь, и оценивая верность или неверность сделанного шага. А сколько бы я промучился с формальным поиском? Долой формальность – да здрям неформальность!

Между прочим,  все запросы в Aml Pages изначально и специально сделано абсолютно антиформальными – здесь вам не выборки SQL. После выполнения запроса, когда все разделы не попавшие в запрос просто временно скрыты, перейдите в непопавший раздел – он будет автоматически добавлен в запрос. Не подпадает под условия запроса? О да! Это не верно с формальной точки зрения? О да! В Aml Pages нет места формализму! Раз пользователь решил перейти к разделу, значит он ему нужен. И нужен здесь и сейчас. Нет никакой необходимости заставлять его отменять запрос – куда как проще, если раздел окажется в запросе автоматически. Если же пользователю нужна четкая формальная выборка – то повторить ее займет всего пару секунд. Кстати заметить, иногда этот прием вызывал некоторое удивление у новых пользователей с последующим вопросом в саппорт или форум. Удивление? Да! Еще бы – где это сделано еще? Но никогда неприятие – после разъяснений абсолютно все соглашались, что такой подход действительно удобен и именно то, что нужно (именно это и называется use-case анализ).

Не держите пользователя за идиота, он все равно лучше знает чего хочет, хотя и не всегда способен это выразить формально. Но ему нет ни малейшей необходимости формально свои желания и выражать. Формальность – удел кода.

Вернемся же к нашим баранам тайм-менеджменту, планированию, напоминаниям и в том же духе. Я далеко ни один день выпытывал у моего старинного (а главное, вменяемо отвечающего и мыслящего) пользователя, так что же он на самом деле все-таки хочет от эдакого тайм-менеджмента? Суть да дело, после продолжительных дискуссий, переубеждений друг друга и прочего флейма удалось сузить функционал до определенного разумного минимума. В конце концов, я поинтересовался, а нельзя ли прикрутить функционал к какой-нибудь уже существующей “капле” из моря тайм-менеджментного софта? И причина оказалось до смеха простой – прикрутить-то можно, но работать с этими софтинками оказывается неудобно (“со всеми” – это его слова, а перепробовал он их немало)!?! И опять все тот же формализм? Ну почему даже могучий, и вызывающий искреннее уважение LeaderTask не способен на банальное inplace-редактирование? Почему обязательно нужен очередной модальный диалог, чтобы вписать пару слов, и опять же нажимать ОК или Отмена? Зачем модальность? Где тут режим? Неужели так сложно по какому-либо банальному дабл-клику развернуть окно редактирования и закрывать его с сохранением после Enter, или без после Отмены (потери фокуса)? Почему в набившем оскомину Проводнике Windows, никто не заставляет вас вызывать модальный диалог для редактирования имени файла… Неужели сложно сделать также? Думается, что нет.  И это между прочим флагман подобного софта! Что же с остальными!?!

И вот из-за такой мелочи огромному числу пользователей втрое тяжелее работать. А всего то нужно – удобное редактирование… И неспроста интеграционный софт занимает такую долю рынка… И возможность в той или иной степени сослаться на некую внешнюю сущность: файл, адрес URL, почтовый адрес – что это как ни интеграция!?! Немного бы мы “шарились” по социальным сетям, если бы они также “любили” модальные диалоги! (ну да, ну да, я в курсе насколько с ними проще нашему братцу-программисту… в курсе :)

Вот такой вот в Aml Pages вышел замечательный “симбиоз” между ее параноидальной неформальностью и планированием, как в общем-то, сущностью такой вполне себе формальной. Глядя на это “мать-иво” единство противоположностей о-о-о-о-чень мно-о-о-ого думал. А возможно ли в принципе такие вещи совместить!?! Ох, не знаю, не знаю! Но задачка любопытная. Как формальную сущность сделать неформально удобной, но соблюдя ее формальную природу!?! Use-case жизнь покажет…

Комментариев нет:

Отправить комментарий