Голубятня: Ужастик Евернот
Автор: Сергей Голубицкий
Опубликовано 18 сентября 2011 года
Я подготовил читателям два рассказа о софтверных ужастиках, с которыми вынужден сражаться последние годы. Сами по себе темы малопривлекательны (как и любой негатив в жизни), однако полезны с точки зрения философии программирования, ибо наглядно иллюстрируют, как не нужно делать программы.
Первый ужастик называется Evernote. О нем я впервые написал в бумажной Голубятне в апреле 2008 года («Глоток свободы на глубине два метра»). Тогда по рекомендации читателя я установил программу в версии для Windows (да-да, в прошлой жизни я пользовался этим чудовищем ☺), однако почти сразу удалил, поскольку мне не понравилась концепция хранения данных на облаке.
За три года взгляды мои по части хранения личной информации на сервере чужого дяди существенно либерализировались и сегодня я уже спокойно отношусь к неизбежному. Тем более, что облачная система предоставляет идеальную среду для синхронизации, которая с вхождением в мой обиход трех незаменимых и постоянно задействованных устройств (Macbook - iPad - iPhone) стала жизненно необходима.
По этой причине сразу после перехода два года назад на платформу Надкусана я вернулся к тестированию Evernote, тем более, что в то время эта программа практически не имела альтернатив и к тому же пользовалась культовой популярностью у яблочных фанатов.
На первых порах я проникся оптимизмом и с удовольствием принялся заполнять Evernote информацией, которую собирал ото всюду по профессиональным нуждам. Очень быстро, однако, начались неприятности: чем больше документов попадало в базу данных Evernote, тем неповоротливее эта база становилась.
Когда число вхождений перевалило за 4 тысячи, Evernote просто сдох. В прямом смысле слова: любое действие, любая операция с данными длилась не просто неприлично долго, а несовместимо с понятием осмысленной работы.
Я дождался окончания годовой подписки (да-да, Evernote штука платная, хотя формально можно пользоваться и бесплатным огрызком, однако длинный список ограничений, среди которых запрет на пользованием базой данных в режиме оффлайн на мобильных устройствах, превращают этот огрызок в насмешку) и удалил программу с компьютера.
На смену Evernote в роли моей главной информационной базы данных пришел EagleFiler, которым, собственно, пользуюсь до настоящего времени. У этой скромной программки есть много достоинств, однако имеющиеся недостатки не то, чтобы отвращают от пользования, но однозначно подвигают на постоянные поиски альтернативы. В частности EagleFiler довольно нерасторопен (хотя, конечно, ни в какое сравнение не идет с Evernote, чья неторопливость не позволяет работать) и - самое неприятное - начисто лишен каких бы то ни было форм синхронизации. Разработчик советует пользоваться Dropbox - я не против, но как работать с базой данных на мобильных устройствах, если у EagleFiler нет (и не предвидется!) никаких клиентов?!
Посему я периодически устраиваю шерстение сети на предмет выявления новых кандидатов для ведения информационной базы данных, а также проверки старых знакомых на предмет обновлений и новой / улучшенной функциональности. Поверите ли: я ставил Evernote четыре раза! И все четыре раза удалял, чертыхаясь и клятвенно обещая больше не повторять маразма. Потому что вот уж точно: рожденный ползать летать не научится никогда до самой своей смерти!
К сожалению в случае Evernote поговорка обретает зловеще хрестоматийное звучание: от версии к версии популярность программы в мире растет как ошпаренная, новых функций и рекламных примочек нарастает по самое не балуйся, однако ни один из врожденных дефектов не только не устраняется, но и с каждым разом все усугубляется и усугубляется.
Объясняется безысходность просто: все недостатки программы связаны с работой базы данных под нагрузкой. Вернее, в неумении Evernote работать под большой нагрузкой. Устранить этот дефект возможно только одним способом: переписать ядро базы с нуля, отказавшись на корню от используемого в настоящее время движка и алгоритмов. Разработчик, разумеется, ничего этого делать не будет и не собирается, поскольку проект коммерческий и главная задача - «наращивать мегапиксели», то есть обвешивать уже выращенное дерево рюшачками, фишечками и фенечками, популярными в гламурном народе.
До того, как Evernote превратился в то, во что он превратился сегодня - еле шевелящуюся разукрашенную ёлку - это была маленькая программа-блокнотик, созданный на основе концепции временной ленты. Рудименты этого нововведения сохранились до сих пор в форме никому не нужного и даже вредного (для полноценной базы данных) аппендицита. Временная лента в скромном блокнотике - самое оно: написал десяток другой заметочек («не забудь купить кефир!», «дернуть Нинку за косичку на перемене!»), прокрутил ленту по времени - лепота!
Потом, однако, этот блокнотик стали обвешивать кенгурятниками и трупоотбойниками, для него непредназначенными, в надежде превратить его в полноценный ПИМ. Вместо ПИМА вышла Шнива на 255ой резине.
Короче говоря, мораль проста: продумывайте свои софтверные творения изначально, предвосхищая даже самые последние дни их жизни! Потому что нет ничего ужаснее изменения парадигмы на середине пути: все равно ничего путного не выйдет. Если же не повезло и вы вляпались, то изыщите ресурсы для ведения параллельного проекта, пусть даже в закрытом виде, в рамках которого перепишите свою программу с нуля, подобрав для нее движок, адекватный новым заявленным функциям, а затем тихо и неприметно под очередной релиз подмените старую лошадь новой - можно даже без лишних фанфар и помпы.