Программирование на C++ глазами хакера

         

Правильное оформление окон


Если вы пишете свою программу, которую собираетесь продавать, то очень важно обратить внимание на ее интерфейс. Программу, как и человека, встречают по одежке, и если окна вызывают отвращение, то никто не заплатит даже доллара за такой труд. Как же сделать нечто привлекательное, чтобы пользователь потратил на ознакомление с программой больше пяти минут? Это не так уж и сложно.

Раньше я старался в главном окне найти какие-то нестандартные решения, чтобы выделиться среди конкурентов, а продажи моих программ были минимальными. Но через три года мучений я сделал стандартное окно, с простыми кнопками и привычными меню, и продажи сразу же увеличились в три раза. Это связано с тем, что конечный пользователь не любит разбираться в сложных интерфейсах и непонятных элементах управления. Для него главное — простота, чтобы с программой можно было начать работать сразу после установки.

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

Ярким примером маленькой утилиты с незамысловатыми возможностями, покорившей весь мир, является WinAMP. Программа простая, и какое бы ни было ее главное окно, пользователь всегда сможет разобраться, как запустить воспроизведение музыки. В данном случае именно нестандартное, но красивое решение является залогом победы в своей рыночной нише. А если еще и добавить возможность легкой смены внешнего вида (поддержка скинов), то можно считать, что на 50% победа обеспечена. После этого можно снабжать оригинальный интерфейс солидными возможностями. На 1.13 можно увидеть пример интерфейса такой программы (InterVideo DVD 4).


Если вы разрабатываете программу с множеством возможностей и с разветвленной структурой, то главное окно должно быть выполнено в стандартных цветах Windows и быть прямоугольным. Представьте себе, если бы главное окно MS Word было бы овальным или круглым. Возможно, что это было бы красиво и интересно, но я бы удалил такое через секунду после начала знакомства.

Обязательно придерживайтесь стандартов, сформировавшихся в сфере софта похожего направления. Например, стандартом оформления интерфейса для графического редактора стал Photoshop . Раньше все софтверные компании пытались придумывать что-то свое, но потом смирились с тем, что в данном направлении законодателем моды является фирма Adobe, и стали следовать ей.



Рис. 1.13. Внешний вид программы для просмотра DVD - дисков в ОС Windows



1.14. Интерфейс программы Macromedia Flash MX

Когда появился Flash 5, то разработчики Macromedia постарались максимально приблизить его интерфейс к Photoshop . Несмотря на то, что одна программа для работы с растровой графикой, а другая — для векторной, они в управлении стали похожими. Даже панель инструментов сверху окна убрали, хотя для повышения "юзабилити" панель нужна. Благодаря этому Macromedia Flash 5 получил невероятную популярность, особенно среди профессионалов-художников. А ведь в 5-й версии графические возможности не сильно изменились, главными нововведениями стали расширенный ActionScript и измененный интерфейс. Художники не программируют, поэтому ActionScript их не волнует, а вот интерфейс Adobe Photoshop пришелся по вкусу, потому что все стало знакомым, и не нужно тратить долгие месяцы на переобучение и привыкание. На 1.14 посмотрите образец интерфейса программы Flash MX в исполнении Macromedia .

Когда начинаете создавать программу, то первым делом посмотрите на конкурентов, особенно на тех, кто контролирует рынок и имеет максимальное количество продаж. Именно на них нужно ориентироваться и придерживаться их стандартов. Если у лидеров используются нестандартные решения, то можно тоже сделать что-то подобное. Если придерживаются строгого стиля, то любые движения в сторону смертельны. Да, своих клиентов можно найти всегда, но их будет очень мало. Конкурировать надо качеством, возможностями и удобством, а не красивыми игрушками, иначе проиграете.



Если в ваших жилах течет кровь экспериментатора, то можете попробовать пойти своим путем. Возможно, что он окажется правильным, ведь если не попробуешь, то никогда не узнаешь. Но риск проигрыша увеличивается в несколько раз. Но если угадаете, то можно стать законодателем мод и собрать максимальный урожай. Если бы программисты NullSoft не рискнули и не создали что-то свое, то никогда бы WinAMP не стал таким популярным, даже несмотря на великолепные показатели производительности и максимальное количество функций.

Я видел несколько проигрывателей, которые могли бы обойти WinAMP по многим показателям, но именно он стал первопроходцем и завоевал сердца большинства меломанов. Остальные же стали подражателями, и теперь рынок плееров захлестнули проигрыватели с нестандартными окнами и поддержкой скинов.

Отрицательным примером можно назвать программу 3D FTP. Разработчикам понравился успех WinAMP, и они сделали поддержку скинов в FTP -клиенте. Такой ужасной программы я еще не видел!!! Вы представляете Adobe Photoshop или MS Word с поддержкой скинов? Или программисты слишком много выпили, или еще ходят в детский сад и не знают о стандартизации. Клиент 3D FTP был очень мощным, с громадным количеством возможностей, превосходящих многих конкурентов, но благодаря глупому дизайну умер в самом расцвете сил. А надо было всего лишь посмотреть на Cute FTP или CyD FTP Client, привести все окна к его виду и убрать скины и нестандартные элементы управления.

ОС Windows завоевала рынок с помощью стандартизации интерфейса (приведения к единому внешнему виду всех программ). Благодаря этому каждый чайник знает, где искать команды создания, открытия, редактирования, печати файла т. д. Запустив новую программу, можно сразу же сообразить, какие кнопки надо нажимать, чтобы добиться определенного результата.

Разработка интерфейса — целая наука, и по ней пишут книги, но если знать хотя бы основы, то можно добиться невероятного успеха.


Содержание раздела