Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Служба Рассылок Городского Кота


Служба Рассылок Городского Кота
VB Хитрости - советы и ответы на вопросы

Давате сегодня посвятим разговор интерфейсу с пользователем
Именно то, как ваша программа будет взаимодействовать с человеком, ее использующим.

Сейчас вы скажите - "Да это же самое легкое - наляпал кнопок на форму и чекбоксов там разных и все. Главное код правильный написать."
Вот тут и остановимся. Не делайте этой ошибки. Да, правильный код - это залог правильной работы программы, но не более. Пользоваться - то ей будут люди. А люди не любят привыкать к необычному и непривычному интерфейсу, не любят еще много чего. Давайте разберемся , что является основопологающим при проектировании интерфейса.
Далее идет мое личное мнение по этому аопросу, поэтому не судите строго

Первое и самое важное. ПРИВЫЧНОСТЬ
Что я под этим подразумеваю? Если вы садитесь на стул,то вы ожидаете, что его высота будет обычной. Ради интереса, подставьте кому-либо стул на 10 см ниже обычного - увидите реакцию. Особенно если не дать человеку этот стул предварительно разглядеть.

Итак есть стандарты - если ваша программа имеет меню, то пользователь ожидает увидеть в меню File операции по сохранению и открытию документов, в меню Edit по копированию и вставке. И так далее. Есть смысл придерживаться общепринятых схем.

Следующим по важности пунктом я считаю НЕНАЗОЙЛИВОСТЬ

К слову, Windows Explorer я считаю программой, которая имеет необычайно назойливый и раздражающий интерфейс.
Например при копировании большого списка файлов происходит ошибка, один из файлов не может быть скопирован и при этом весь процесс обламывается посредине. Лист файлов скопирован частично - и вы не можете продолжить действие с прерванного файла. Мои предпочтения к файл-менаджеру, как к программе для манипуляций файлами, в данном случае непричем - это неудачный интерфейс.
(список моих претензий к эксплореру на этом не ограничивается, но у нас разговор не об этом)

К раздражающему интерфейсу, несомненно, относятнся месаджбоксы. По поводу и без повода. Если действие, которое порождает msgbox циклическое , то постарайтесь избежать его показа. Представьте абстрактную ситуацию - в теле файлов из большого списка ищется строка , и программа на каждый файл сообщает, что искомая строка не найдена :-)) . Тогда как такая ситуация легко искореняется показом листа файлов в которых найдено (или не найдено) ПОСЛЕ обработки всего листа файлов.

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

Очередной пункт, и не менее важный - ЛОГИЧНОСТЬ.

Если какие то настройки, поля ввода или информационные поля собраны вместе - они должны составлять некую общность, т.е. быть сгруппированы по смыслу.

Надеюсь этот пункт не вызывает вопростов или возмущения. Однако нередки программы где не сделана никакая групировка информации. Тоже возможный подход, Oсобенно если групировать нечего.
Однако если есть информация для групировки, и вы ее выполнили, позаботьтсь о
правильной "доступности" полей ввода.
Например комбобокс откуда вы узнали про программу , со значениями
"От друзей"
"Из интернета"
"Из другого источника"
может быть дополнен текстбоксом , работающим только для последнего случая.
Во всех других случаях он(текстбокс) игнорируется, и как минимум должен быть недоступен для ввода. А может быть и вовсе не показан.

Кстати, Хитрость, как сделать чтобы текстбокс показывался на экране,и не был доступен для ввода, не получал фокус, и при этом введенная информация не была "серого" цвета:

Положите этот контрол во фрейм и длайте enabled = false не текстбоксу, а фрейму.

Последнее, требование , хотя может его надо было бы поставить первым, это ИЗЯЩНОСТЬ

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

Помните, акуратно выполненная форма , на которую приятно глянуть, не зияющая пустотами или неровно выровненными контролами - это большое дело.

Так же имеет cмысл подумать о вложенности форм - несколько странно, когда приложение открывает 4-5 уровней модальных окон, не пряча по ходу дела родительские.

А, да, еще будьте аккуратны при перетаскивании форм во время проектирования, если вы не позиционируете формы в рантайм, то лучше разместить их в определенно доступном месте.Поближе к верхнему левому углу Иначе на компьютерах с низким разрешением форму вообще может быть не видно.

Хочу поставить в известность всех подписчиков этого листа - лист создается в html , а потом автоматом на Ситикоте из него создается текстовый вариант. Так что если вы, по ошибке, подписались на текстовую версию - рекомендую изменить этот параметр, так как за качество конвертации я не отвечаю, а создавать отдельную версию у меня не хватает времени. Сорри.



Ну, а напоследок ,пара рассылок, которая, по моему мнению вам может пригодится:

Рассылки Subscribe.Ru
Программирование на Паскале
"Русские документы" - самые свежие компьютерные статьи

Еженедельные анонсы компьютерных статей, появившихся на сайте "Русские документы"
Вся самая интересная информация: от программирования и хитростях операционных систем до безопасности и программных руководств. И все это - на русском языке !

Подписаться:

Программирование на Visual C++

 

Успехов в программировании!

Борис Рудой

Автор сайта - Visual Basic на русском



http://subscribe.ru/
E-mail: ask@subscribe.ru

В избранное