Претензии к программам

1. У пользователей нет документации, а если бы она и была, они бы ее не читали.
2. На самом деле, пользователи не умеют читать, а если бы и умели, то не не стали бы. Джоэл Сполски, “Руководство по UI дизайну для программистов”

У меня скопился список “зарубок”, оставленных программами в моей душе. Оказалось, что у других людей тоже есть разные претензии. И когда я увидел в Компьютерре Манифест геймеров, то пальцы сами потянулись к клавиатуре. Все здесь изложенное давно известно, но с упрямством, достойным лучшего применения, попадается снова и снова.

  1. Каждая программа для чего-то предназначена. Но при описаниях своих творений про это часто забывают. Пишут о том, что программа умеет делать. Какие-нибудь рюшечки и цветочки, которые она несомненно тоже умеет, но которые не имеют отношения к основным функциям. Например – наличие встроенного планировщика в почтовом клиенте или программе проверки состояния счетов. Очень бы хотелось читать на сайте в первую очередь не новости последней версии, а предназначение и три-четыре основных особенности.
    Хорошо: “Карта метро” pMetro v1.19.8, Gimp.
    Плохо: Gimp по-русски, BeeOnLine-Express 2.08 (я же туда не за скинами пришел!)
  2. Каждая программа распространяется под какой-нибудь лицензий. Мне не хочется читать 3-х страничный текст пользовательского договора (EUL), но я хочу быстро знать основное – free, shareware, commercial, donations. Хотелось бы видеть это в файле readme и на сайте. Было бы их несколько стандартных! Когда я вижу лицензию GNU, то я уже могу не просматривать сам текст лицензии.
    Хорошо: опять-таки pMetro, MouseImp 1.0.2.13.
    Плохо: WinAmp 5.0.5, BeeOnLine-Express 2.08
  3. Установщики. О! Это больное место. На первой странице пишут что программа такая-то сейчас будет установлена, иногда даже милостиво пишут версию. Но опять-таки не пишут для чего программа нужна! На странице выбора компонентов очень редко можно прочесть внятное описание ПРЕДНАЗНАЧЕНИЯ этого компонента: “словари – набор словарей для проверки”. На первой-второй страницах мне бы хотелось видеть – название, версию, кратко, в двух-трех фразах, о том что делает программа, обнаружены ли предыдущие версии программы и надо ли их удалять, возможность настройки если версии совпадают, условия распространения и лицензия.
    Хорошо: MS Office, MS Visual Studio.
    Плохо: SmartSync
    Отвратительно: Cygwin
  4. Поддержка действий из командной строки. В современных Windows она практически отсутствует. То есть я не могу запустить программу по расписанию! Человек, который хоть немного поработал под Unix, знает как командная строка может облегчить жизнь. Например программа проверки мобильных счетов, проверяет эти счета за одну-две минуты, но велеть ей завершиться можно только руками. Памяти же она отъедает больше чем большинство остальных программ, примерно столько же сколько забирает WinWord 2000 с четырьмя открытыми небольшими документами. Зато есть поддержка планировщика.
    Хорошо: The Bat!, Irfan View, Zip, Dr. Web
    Плохо: MobileBalance
  5. Оставьте элементы управления на их местах! Мышка сама тянется к клавише на которой должно быть OK или Cancel. Если же там оказывается что-то другое, то это приводит к ошибкам. В 7-ой версии Lingvo нижним пунктом выпадающего меню стоял запуск основной программы, а верхним – выход. Иногда в диалоговых окнах меняют местами стандартные кнопки – Ok справа, отмена слева. Кнопка закрытия минимизирует в системную область вместо закрытия.
  6. Системы помощи. Я даже не говорю о случаях когда ее нет или любое окно помощи содержит единственную фразу, совпадающую с заголовком окна. Но в большинстве случаев описание видимого представляет из себя – описание видимого! Не как поведет себя программа или что делать пользователю, а всего лишь чуть развернутое описание того, что уже видит пользователь. Примеры нужны? Или нажмете F1 сами? Хотя… я давно и искренне не могу ужиться с perldoc.
  7. Упаси меня, Боже, от необходимости работать через Web интерфейс! Я понимаю зачем он нужен, но его непредсказуемость ввергает меня в ужас. Я никогда не знаю, что произойдет после нажатия какой-нибудь кнопки – потеряется вся информация из-за одного неправильного символа в одном из элементов формы или я смогу отредактировать информацию заново, уничтожится письмо из-за перегрузки сайта или все-таки отправится. И как узнать, что информация все-таки отправилась.
  8. Автозапуск на комкакт-дисках и DVD. Некоторые фильмы, например записанные в формате divx под маркой ДискаВери, считают своим долгом установить на мою машину свой проигрыватель. Причем делать это они пытаются при каждой установке диска в привод. Видимо более одного раза эти фильмы не смотрят. А значит самым частым действием является именно установка программы. Проиграть их творения другим проигрывателем не так уж просто. Простые проигрыватели файлов (LightAlloy) не знают что делать с этой россыпью. PowerDvd не понимает их структуру. При нажатии на диск опять пытаются установить программу, а при открытии проводником непонятно какой файл на диске запускать. Через десяток минут просмотра выясняется, что отключить хранитель экрана они не удосужились. Что бы клиент не расслаблялся.
  9. Лишние вопросы. Программы часто норовят что-то узнать. Им это нужно. А мне это не нужно. Для того чтобы запустить отладчик в MSVC 7.0 я должен ответить на пять вопросов.
    1. Нажать на “OK” на сообщение о том, что произошел assert().
    2. Выбрать “OK” для прерывания программы или “Cancel” для отладки. Интуитивно непонятный выбор, к которому еще надо привыкнуть.
    3. Теперь мне сообщают, что у меня необработанный execption и предлагают выбрать отладчик из списка. В списке он один, а кнопок две – “Да” и “Нет”.
    4. “А к какому процессу Вы хотите присоединиться?”, – спрашивает меня отладчик. То, что процесс у меня один и проставление галочек в других полях не изменяет результат никого уже не должно смущать.
    5. “Кстати, – говорит отладчик, – у Вас тут необработанный execption. Может прервемся? Или продолжим?”. Нажимаю “Break” и могу теперь работать. Ура! Ура?

    Но на этом дело не кончается. Я хочу выйти. “Do you want?”. Дую, но плохо. А теперь куда нам сохранить процесс отладки? И рука у меня сама тянется к молотку.
    Заметим, что GDB не задает вопросов. Вообще. Но дает ответы. Если суметь его спросить. Иногда получается.
    Хорошо: GDB
    Плохо: MS VC 7.0, Nero Burning CD.

  10. И, наконец, о работоспособности. Я не хочу быть тестером. Мне хватает возни с необработанными execption на работе. Я согласен ждать программу на полгода дольше и заплатить за нее. Если она будет работать.
    Плохо: The Bat! последних версий.
    Хорошо: Очень многие программы. Спасибо их авторам за это!

2005