Практически каждый человек так или иначе пользуется электронным календарем для планирования рабочих задач. Нам доступен выбор из множества программ, но при этом почти все из них упрямо игнорируют самые простые способы, как человек обычно использует календарь. Проще говоря, в календаре должно отражаться то, как люди распределяют время для контроля своей жизни. В целом все объекты, зависимые от времени, можно разделить на две категории: текущие дела и дедлайны. К дедлайнам относят крайние сроки, до которых часть проекта или дела должна быть исполнена; иными словами, это некая контрольная точка хода проектирования. Текущие дела – это, например, командировка на двое суток. А в ходе этой двухдневной поездки в Чикаго у меня, скажем, назначено три встречи с разными клиентами.
Все существующие программы-календари устроены так, что дедлайны и текущие дела в них не учитываются, а вместо этого все построено на встречах. Но встреча представляет собой однократное событие с определенным временем начала. Встреча – неотъемлемый компонент тайм-менеджмента, но далеко не единственный. И дело не ограничивается отсутствием других типов записей для календаря, даже эти встречи имеют искаженное представление.
Обозначать время начала встречи куда как более важно, нежели ее окончание, но календари не делают разницы между этими двумя моментами. За последние тридцать лет я участвовал или назначал сам тысячи встреч. Невероятно важным является именно время начала встречи. А вот время окончания в большинстве своем такого значения не имеет, его не указывают и часто оно даже неизвестно. Но в каждой календарной программе, что мне попадалась, у всех встреч был атрибут времени окончания, который требовалось обозначить с той же тщательностью, точностью и усердием, что и время начала. Это значение времени окончания используется для вычисления точных часов и минут, в которые вы будете доступны для связи, что на самом деле не может быть обозначено достоверно и значительно искажает действительность. Представим, что вы отправите мне приглашение на встречу на три часа дня при помощи стандартной программы-календаря. Если у меня уже назначена другая встреча, к примеру, на 14:30, длительностью 35 минут, то программа отклонит ваше приглашение. На деле же я всегда могу улизнуть с предыдущей встречи на пять минут пораньше.
Помимо этого, ни в одной из подобных программ не учитывается время, за которое я должен добраться до назначенного места. Если у меня назначена встреча на другом конце города в 14:00, то мне нужно выехать на нее в 13:30. Какое время в этом случае мне внести в календарь – 14:00 или 13:30? Хорошо спроектированная программа должна учитывать этот момент и следить, чтобы я вовремя попадал куда нужно.
Помимо указанных, существует множество других распространенных типов записей, зависящих от времени, которые тем не менее не учитываются в календарях. Так, у меня может быть десяток или больше текущих дел в любой из дней, тогда как фактически в каждый период я работаю лишь над одним из них. Типичная программа-календарь не желает признавать мое вполне обычное поведение и не позволяет добавлять в расписание элементы, которые относятся к проекту. Я не могу разойтись с этим медведем-плясуном.
Всемирная паутина открыла впечатляющий мир интернета каждому обладателю компьютера и модема. Веб-пространство – это великолепный инструмент с фантастическими возможностями. Поражает то, что наиболее важной переменой, какую привнес интернет, стал способ показать, насколько простым может оказаться использование программного обеспечения. Значительная часть из первых апологетов Веба была так захвачена простотой его использования, что требовала той же простоты и от всех прочих программ. В особенности им импонирует то, что работа через браузер позволяет избежать нудного процесса инсталляции программ.
Топ-менеджеры в индустрии программного обеспечения, в особенности поставщики корпоративных ИТ-решений, настойчиво пытаются примкнуть к этому повальному увлечению. Они бросаются воспевать любовь к браузерным приложениям, потому что это позволяет им продвигать свои продукты и не мучить пользователей отвратительным процессом установки. До того как Всемирная паутина завладела миром, пользователям приходилось пройти через сложный процесс инсталляции программы, в то время как браузерным приложениям это не нужно. Подавляющее количество руководителей в сфере компьютерных программ считают это не меньшим технологическим прорывом, чем изобретение застежки-молнии.
Но ведь нас просто водят за нос! Нет никаких причин, почему бы любым небраузерным программам не обладать «бесшумным» процессом установки, безотносительно технологии их реализации. Если бы на ваш компьютер требовалось установить программное обеспечение, это произошло бы независимо от наличия на нем браузера. Есть лишь одна причина, почему программы, предназначенные для работы вне браузера, требуют установки: их разработчики не представляют иного хода событий. Отдавая часть вопросов на откуп программе установки, они упрощали себе работу. В ранних версиях браузеров задавать такие вопросы не было возможности, потому разработчики просто пожали плечами и исключили их. В дополнение стоит сказать, что разработчики едва ли обратили внимание на этот недостаток, но благодаря ему для многих обычных пользователей Веб стал самой легкой в использовании платформой из всех, что им когда-либо доводилось встречать.
Однако стоит нам отвлечься от вопросов установки, и мы увидим, что браузеры слабы, словно новорожденные котята. Их язык, на котором они говорят с пользователем, напоминает доисторический диалект. Их архитектура похожа на чью-то злую шутку. И они столь же гибкие, как сосульки. Любому приложению, заключенному в рамки браузера, непременно приходится жертвовать своими возможностями и невероятной мощью. Меня разрывает от ярости, когда я вижу, что творят руководители со своими программами: портируя приложение под Веб в стремлении освободиться от процесса установки, они тем самым просто вырывают ему сердце. Тогда как они могли бы достигнуть того же результата, если бы просто сказали своим разработчикам: «Будьте так добры, избавьте это приложение от процесса инсталляции!»
Пользователи так держатся за браузерные приложения, потому что более хороших альтернатив у них перед глазами нет. Чего не скажешь о разработчиках программ, которые следуют той же тенденции, руководствуясь неверными предпосылками. Организация веб-пространства похожа на Советский Союз: диктатура центральных компьютеров определяет действия беспомощных настольных устройств. Разработчики, преимущественно те, что работают в корпоративных ИТ-подразделениях, управляют центральными компьютерами и, в точности как советские комиссары, пытаются извлечь выгоду из своего положения. Вместо того чтобы безвозмездно предоставить пользователям программы-без-установки, программисты вынуждают их расплачиваться колоссальной потерей долговременного контроля над всей информационной инфраструктурой.