На написание этой статьи меня сподвигла заметка Леонида Каганова «Боже, как я ненавижу кодировку UTF-8!», где он в ярких красках описывает свои ощущения в качестве обычного пользователя компьютера при переходе на новую версию браузера Firefox.
FireFox почему-то не пожелал подобрать старые закладки, настройки и плагины, а просто установился «с нуля».
На самом деле подобные «кидки» разработчиков софта не редкость, и что самое интересное, этим грешат не только мелкие компании, но и монстры, подобные Mozilla Foundation.
Как справедливо заметил Лео, браузер Chromium почему-то «подобрал» все настройки старого Firefox. Значит, можно 🙂
Когда-то давно, когда ещё только проектировался наш флагманский продукт — корпоративный мессенджер MyChat, я установил почтовую программу TheBat. И конечно, первой задачей было втянуть огромную базу писем, контакты и всё прочее из моего старого доброго Outlook Express.
Первый раз я был в лёгком шоке, когда увидел список почтовых программ, из которых TheBat умеет вытаскивать информацию:
Второй раз культурный шок повторился, когда Мыш сам нашёл почтовые базы Outlook на диске и спокойно всё втянул. Я думал, что мне сейчас придётся разбираться, где же на диске хранятся эти самые почтовые базы, уже «предвкушал» поиски в Яндексе и Гугле, чтобы навести мастер импорта программы на нужный файл – но всё произошло быстро и красиво. Мастер импортирования даже не спросил, из каких файлов производить импорт. Это было круто.
В дальнейшем, в процессе использования программы мне многое не нравилось, но я просто закрывал на эти мелочи глаза. Потому что помнил о том, сколько времени сэкономил мне мастер импорта.
К чему я всё это пишу?
За долгое время создания и внедрения разных программ я пришёл к выводу, что мегафункциональность и красивый дизайн программ находятся далеко не на первом плане. Сразу оговорюсь, это касается только программ для повседневного использования, которые помогают людям в работе. К аудио-видео плеерам, играм и развлекательным программам это не относится.
Итак, четыре важных вещи, которые следует помнить разработчику ПО:
1. Совершенно не важно, насколько красивы иконки у программы, есть ли там миллион скинов и рюшечек
Как правило, люди используют программу из-за каких-то особенностей, которые им были нужны в тот момент, когда они смотрели вашу программу. И всё.
Пример. В MyChat было сделано общее хранилище файлов. Грубо говоря, обычный FTP сервер, и пользователи, нажав на кнопку – сразу открывали Explorer и могли перетаскивать файлы и папки на сервер, а затем обмениваться линками с другими пользователями чата.
В какой-то момент мы решили, что это неудобно и криво сделано (а оно действительно так и было) – и попросту закрыли этот функционал.
Через полгода старый клиент решил обновиться. Он не обновлялся больше полутора лет, за это время уже вышло с десяток версий. Обновился. И… Откатился назад, на старую версию, где не было половины функционала новой версии, со старым интерфейсом, без шифрования трафика и прочего.
Потому что там не было функции, которую мы убрали!
Вывод: разработчики, не думайте, что вы умнее ваших пользователей! Перед тем, как что-то делать или убирать — спрашивайте людей, нужно ли им это. Делайте формы обратной связи, рассылки, держите контакт с людьми. Ведь эти люди купили ваш продукт, а значит — они самые лояльные пользователи.
2. Глобальный редизайн — это хорошо. Но не в программе, которую используют множество людей
Кто-то может сказать: «но ведь иконки 16×16 в 16 цветах – это прошлый век. Давайте сделаем большие, новые, в True Color. Это же круто. Переделаем весь интерфейс, «освежим» его. А то написано 10 тысяч строк кода – а этого «сверху» не видно».
Такие вещи может позволить себе только монстр типа Майкрософт. Придумали Ribbon интерфейс, привыкайте. Сделали другую кнопку «Пуск» — никуда не денетесь. Они – это вселенная, и вокруг них всё вращается.
Но к вам это не относится. Человек пользуется вашим продуктом уже годы. Системный администратор обучил сотрудников нажимать на нужные кнопки.
И тут выходит новая версия. Вы всё поменяли. И для системного администратора начались чёрные дни. И если бы он сделал куклу вуду, я думаю, вы уже поняли, на кого она была бы похожа.
Вывод: нельзя менять кардинально дизайн интерфейса. Плевать, что вам не нравится «вон та кнопка слева». Она не нравится лично вам. Слушайте ваших пользователей. Слушайте администраторов, которым приходится объяснять, как работает ваша программа обычным людям. И только тогда занимайтесь улучшением юзабилити, перерисовкой и перекомпоновкой пользовательского интерфейса.
3. Программа должна уметь корректно обновляться. Автоматически
Обязательно. Железобетонно. Даже если предыдущая версия вышла 5 лет назад, и с этого времени ваш калькулятор превратился в центр управления полётами на Марс.
Нельзя заставлять пользователя, для того, чтобы обновить ваш софт, копировать какие-то файлы, создавать папки, править какие-то конфигурационные файлы, что-то откуда-то качать и настраивать. Большая часть пользователей вообще не знает, где конкретно на диске находится папка «Мои документы». А вы собираетесь научить их допиливать напильником ваш недоделанный программный продукт, просто потому, что вам было лень это сделать за них.
Может это и нормально в мире Linux (да простят меня приверженцы Open Source). Но в мире Windows это абсолютно неприемлемо. Максимум, что должен сделать человек — это скачать дистрибутив с сайта и запустив его, понажимать кнопку «Далее».
В программе должна сохраниться история сообщений, адреса, документы и прочее – чего бы вам этого не стоило.
И когда я попробовал обновить нашу самую первую версию до самой свежей, и всё прошло нормально – от души отлегло 🙂
Вывод: если ваш программист стоит на том, что это не важно — увольте его. Это ОЧЕНЬ ВАЖНО. Даже в установщике MS Windows XP был мастер переноса программ, иконок и документов в новую версию, так называемый User Migration Tool. Так почему вам не сделать то же самое?
4. Не копируйте конкурентов. Имейте чёткий план развития
Да, у них есть голосовая и видеосвязь. А у других – интеграция с Твиттером. А у третьих – встроенный GoogleMaps с определением, где в радиусе ста метров можно выпить кофе.
И конечно, в вашей программе всего этого нет. И это катастрофа.
Немедленно садитесь всё реализовывать. У вас должно быть всё то же самое, но круче. Что-то не так?
Абсолютно неверно. Идите своим путём и пусть копируют вас, а не вы кого-то. Потому что если вы начинаете повторять чужой функционал – вы обречены быть в роли догоняющего. Этот принцип вовсю исповедует Microsoft. У неё постоянно появляются новые технологии, умирают старые – а конкуренты пытаются их повторить, «потому что у нас такого ещё нет». И остаются в роли догоняющих навечно.
Конечно, я немного утрирую. Разработчики давно и успешно занимаются плагиатом друг у друга. Но делать это нужно не бездумно передирая идеи, а следовать своему варианту развития именно вашего продукта.
Вывод: не нужно отступать от плана развития вашего продукта, как только вышла новая версия программы конкурентов. Вы ведь не знаете, каковы у них продажи? Не знаете, что пишут им их пользователи.
Для вас должны быть приоритетом существующая база покупателей и привлечение новых. Тот, кто платит деньги и покупает софт, уж поверьте, сможет для себя решить, какая программа ему нужнее, ваша или иная.