Для кого вы пишете программу?

Для кого вы пишете программу?

Утомленный программистМы все тут обсуждаем CRM-системы, клиенто-ориентированность, разработку под заказ и прочее, прочее, прочее. Но вот в руки мне попала одна программка (не будем называть имен, дабы никого не обижать), которую меня попросили посмотреть и высказать свое мнение. Давно я не видел программ, которые, хотя и позиционируются как программы для пользователей, но написаны программистами для программистов. В смысле для того, чтобы пользоваться этой программой, нужно не просто быть программистом, а еще и знать ее внутренности. Впечатленный увиденным, хочу перечислить три простых правила, о которых часто забывают, когда пишут программы. Итак:

1. Проверьте программу на другом компьютере

Очень простое правило, о котором забывают начинающие программисты. На  том компьютере, на котором программа разрабатывается, она  работает, а на другом – нет. От программиста в этом случае мы слышим, ” ну не знаю… у меня все работает”. (а вы не слышали от ваших программистов такую фразу? У вас еще все впереди). А ведь сколько пользователей, столько и настроек того же Internet Explorer, а есть еще странные личности, которые вообще не используют IE…. :) , в общем проверяйте, проверяйте и проверяйте. И не думайте, что если ваша программа под Windows, то она в этом не нуждается. У пользователя может не быть какой-нибудь библиотеки, или не стоять самый простой MS Word.

2. Поработайте с программой без программных инструментов

Некоторые за лесом, не видят деревьев. Первое, с чего я начинаю (мой конек – программы для автоматизации бизнес-процессов) – это заведение справочников. Часто программисты много сил убивают на сложные алгоритмы, и забывают о том, что с программой нельзя даже начать работать, пока вы не заполните справочники. Вот тут мы и видим грабли, заботливо подготовленные программистом для пользователей. Справочники занесены прямо в базу при помощи команд SQL, и теперь без применения спец. инструмента разработчика их изменить просто нельзя! Конечно, есть какой-то интерфейс, который когда-то разрабатывался, но перед сдачей пользователям – его никто не проверял, ведь все нужные(программисту) справочники  уже заполнены!

Это болезнь многих разработчиков, с которой я постоянно борюсь. Они используют для работы  инструменты, которых просто нет у пользователей. Зачем править интерфейс, когда можно прямо в базе подправить данные… всего одним скриптом… или даже одной SQL командой.

3. И последнее переходим на шепот :) попробуйте просто поработать с программой

Очевидно? Да. Но, почему же некоторые программисты даже не задумываются о том, что программы пишутся для выполнения пользователями определенных функций. Если это базы данных для хранения и обработки информации, то нужна как минимум возможность ввести информацию, искать, редактировать, печатать и удалять. Этим программистам даже в голову не приходит, что все классы, функции, триггеры нужны не сами по себе, а для выполнения таких простых задач. Попробуйте просто ввести несколько записей (две-три) причем с заполнением всех причитающихся справочников, и вы сами увидите проблемы, которые возникнут перед будущими пользователями.

Вы думаете почему я всегда требую, чтобы поля ввода были по порядку? Да потому что вводить что-то в форму, когда курсор постоянно убегает неизвестно куда, и его нужно после каждого введенного поля возвращать мышкой на место – сущий ад. Вы думаете удобно искать посредством формы, у которой кнопка “Искать” расположена самом низу окна под  “футбольным полем” свободного пространства таким образом, что она становится видна только если окно распахнуто на весь экран с разрешением не менее 1280х1024. Если хоть чуть-чуть его уменьшить, то нужно постоянно дергать боковую прокрутку окна, ведь колесико мыши здесь тоже почему-то не работает.

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

С такой программой нужно работать также как играют в какой-нибудь компьютерный в квест (кстати, руководство пользователя, естественно не предусмотрено к этому интуитивно-понятному интерфейсу). Щелкаем мышкой по всем тайным уголкам формы в надежде, что откроются новые, потайные возможности программы. Вот только будет ли у пользователя желание играть в такой “квест” или он плюнет и найдет себе другую программу, с которой не нужно играться, а можно просто работать? 

P.S Использована картинка с сайта http://www.fort-personal.ru/docroot/index

  1. Ну это актуально для настоящих программистов. Если человек не совсем новичок в своей области – то есть уже зарабатывает – то скорее всего понимает что юзабилити это очень важно

  2. Да однажды я програмку сделал, а у закзчика инструментов не было, сандальчик вышел небольшой)))

  3. Pingback: То, что я читаю и пишу #35 | kraynov.com

  4. Кажется именно над этой темой призывает задуматься Купер в своей книжке “Психбольница в руках пациентов”. ;-)

  5. К сожалению, есть огромное количество способов завалить проект и очень немного вариантов чтобы выполнить его качественно и в срок. Причем теоретически все читали и Брукса и Буча и других, а на практике все сделать нормально – ой как не просто.

  6. Мда, навидался я таких программ. Ужасный интерфейс, сложнейшие способы решения задач, множество щелчков, когда можно обойтись drag’n’drop. Вот посадить бы этих программеров за свой же инструмент на денёк и заставить вводить документы и прикреплять файлы…

    Самое интересное, когда такое вот Г. называют удобным продуктом и инстинктивно понятным интерфейсом. Ещё интересней, что такое Г. продаётся. И продаётся нехило.

    Один плюс – пока есть такие программеры, людям, пишущим программы для людей, конкуренция не грозит :)

  7. Да, продавать могут любое Г. и это относится не только к программам. Снаружи – конфетка, а как начнешь пользоваться и плюешься, ну кто это придумал?

  8. Денис Головкин

    Спасибо за советы. Вещи, казалось бы, очевидные, но прочитав о них однажды – в нужный момент наверняка вспомнишь “А ведь здесь не помешает прокрутка колесиком..” :)
    Да, насчет юзабилити… Возле полей Имя и E-mail для добавления комментария не стоят красные звездочки. Пришлось заполнять комментарий дважды. ))

Ответить на viktor_z Отмена ответа

Ваш email не будет опубликован. Обязательные поля отмечены *

Вы можете использовать это HTMLтеги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>