Человеческий фактор в программировании
Шрифт:
Цвет можно применять как дополнительное измерение в процессе коммуникации, способствующее интерпретации сложной информации. Мои дочери обучались в экспериментальной средней школе, в которой применялся новаторский подход к развитию навыков чтения. Если бы английский язык имел строгий фонетический строй и единообразные правила орфографии, то необходимость в системах проверки правописания была бы небольшой, а споры на тему «обучение фонетическим методом или простая зубрежка» вряд ли возникали бы. В английском языке один и тот же звук может быть записан десятками способов. По существу, основные отклонения от общих правил в орфографии и грамматике часто относятся к той базовой лексике, которая ведет начало от протоиндоевропейского языка. Это еще более усложняет задачу юного проточитателя.
В системе Гатагно (Gatagno) «слова в цвете» цвет применялся
(«eigh», «ei», «ai», «еу», «а» и т. д.) печатались одним цветом и служили своего рода визуальными тренажерами, на которых дети могли учиться.
Эта замечательная схема кажется эффективной, однако может также привести к крайней глупости при применении цвета в образовательных целях. Один специалист по объектно-ориентированным методам проповедует мультисенсорные образовательные методики, комплексно воздействующие на мозг с помощью звука, цвета и действия. Хотя представленные им видеоматериалы и проецировались на изумительный полноцветный дисплей с высоким разрешением, это была всего лишь лавина обычного скучнейшего монохромного текста. Интерес для правого полушария (или для того восприимчивого семилетнего ребенка, который сидит в каждом системном аналитике) представляли только черно-белые графические изображения, демонстрируемые в нижнем правом углу каждого слайда. Увы, на каждом слайде была одна и та же картинка, которая ничего не иллюстрировала и не разъясняла.
Дети и другие человекообразные существа воспринимают понятия более легко и более точно, если процесс подкрепляется информационными средствами, вовлекающими различные каналы восприятия, особенно если абстрактные понятия представлены яркими и ощутимыми предметами, которые можно подержать в руках. Дети легче изучают алфавит, если они могут взять в руки цветные буквы и поиграть с ними. Хорошие учителя годами применяют такие методы. Успех так называемых CRC-карт в объектно-ориентированном проектировании (Wirfs-Brock и др., 1990 [68]) отчасти объясняется тем, что эти маленькие (3 на 5 или 4 на 6) заменители объектных классов являются конкретными предметами, с которыми разработчик может поиграть при обдумывании различных архитектур и сценариев.
С другой стороны, наш серьезный методист использовал цветные игровые элементы для привлечения аудитории к изучению его любимой методологии. К сожалению, примененные цвета (приглушенные, пастельные тона почти одинаковой насыщенности) мало различались и не были информативными. Педагогические достоинства цветов не были замечены, поскольку карточки, обозначавшие тесно связанные понятия, имели различные, а не схожие или близкие цвета. В то же время карточки, представлявшие совершенно разные понятия, имели светлые сине-зеленые и зелено-синие оттенки, которые были настолько схожими, что при недостаточном освещении в аудитории большинство людей их не различало. Для многих из присутствующих карточки сливались в сплошную сероватую массу. Приблизительно один мужчина из 12 и одна женщина из 20 не различают цвета.
Это приводит нас к важному правилу цвета в разработке пользовательских интерфейсов: никогда не полагайтесь только на цвет для обозначения важного различия между визуальными элементами. Например, если нужно отличать статическую связь классов от динамической связи экземпляров, то недостаточно отобразить одну связь краевым цветом, а другую — синим. Линии должны также разниться по толщине или по стилю (сплошная, пунктирная линия и т. д.).
Если цвет применяется как существенная часть пользовательского интерфейса, то скромный разработчик должен сохранить для конечного пользователя возможность выбора или, по крайней мере, последнего слова. В Windows вы можете менять цвет почти каждого элемента, но я никогда не мог сообразить, как изменить цвет текстового курсора в приложениях для Windows. Маленький, худосочный курсор, присутствующий в большинстве текстовых приложений, почти не виден, если он того же цвета, что и текст. В конце концов, я сделал цвет текста темно-синим. Текст стал читаться на белом фоне почти так же хорошо, как и черный, ко это намного облегчило поиск курсора.
Ло мере того как цветные дисплеи высокого разрешения начинают преобладать не только в офисах, но и в лекционных и конференц-залах, графика приобретает новое значение. При этом корпоративные спонсоры конференций ошибочно пытаются применять стандартную форму принципа «посмотри и ощути» на всех конференциях, распространяя «шаблоны» для таких презентационных пакетов, как Persuasion и PowerPoint.
Отчасти сложность состоит в том, что шаблоны разрабатывают либо программисты, которые не имеют никакого понятия об эстетике и мало разбираются (или совсем не разбираются)
Ваши сотрудники, озабоченные хорошим «видом» и хорошим «ощущением», находятся на неверном пути. Восприятие формы зависит от контрастности. Как правило, чем больше контраст, тем легче читать. Уже давно известно, что при нормальном освещении текст удобнее всего читать, если он напечатан черным шрифтом на белом фоне. Светлое на темном (и другие сочетания цветов) читать значительно труднее.
Это поднимает другой вопрос: шрифты. По шрифтам пользовательского интерфейса иногда можно определить возраст людей, занимавшихся его разработкой. Слишком часто в программном обеспечении применяются или устанавливаются по умолчанию шрифты, которые я на» ываю «до 40», — небольшой размер символов и маленький междустрочный интервал. Эти шрифты могут читать только те, кому меньше 40! Проблема усугубляется дисплеями высокого разрешения, поскольку системные шрифты обычно являются растровыми. Не раз я был свидетелем того, как проваливалась демонстрация замечательного программного обеспечения, так как собравшиеся в демонстрационной кабине не могли прочитать текст меню и диаграмм; они только вежливо кивали головами, как будто понимали, что происходит.
Укрепляющаяся гегемония «презентационных пакетов» порождает и другие трудности. Такие пакеты создают, как я это называю, «шестизарядные слайды» — ну, вы знаете: маркер, маркер, маркер, маркер, маркер, маркер. Наглядные пособия должны быть именно наглядными пособиями. Они должны способствовать пониманию и запоминанию, визуально иллюстрировать, расширять или подкреплять комментарии докладчика. Шестизарядные визуальные материалы являются очень слабым и наименее эффективным методом применения потенциально мощного инструмента. От использования красивых цветов мало толку. Возможности цвета и графики необходимо применять для достижения конечной цели передачи информации, а не просто так, волей-неволей следуя дизайнерскому принципу сэра Эдмонда Хилари (Edmond Hillary) — раз уж они есть.
Подобно Сискелу (Siskel) и Эберту (Ebert), я убежден в том, что некоторые компоненты лучше всего воспринимаются в своей оригинальной, нецветной форме. Иногда цветной язык лучше всего переводить в простой чер-но-белый. А что касается цвета хлопка одной ладонью, я думаю, он может быть цвета окна.
Из журнала Software Development, том 1, № 1, январь 1993 г.
38
Совершенствующиеся середнячки
Лыжные трассы бывают трех видов — зеленые, синие и черные — поскольку лыжники тоже бывают трех видов: начинающие, середнячки и эксперты. Я середнячок, был им многие годы и, наверное, буду середнячком всю свою жизнь. Таких как я инструкторы снисходительно называют классическим «совершенствующимся середнячком», подразумевая под этим, что я — человек среднего возраста, который продолжает улучшать свое мастерство, хотя и не достигает больших и быстрых успехов. Я счастлив. Я люблю кататься на лыжах и даже сумел выжить на некоторых ужасных (или прославленных) черных трассах с двумя ромбами, пропуская повороты на более мягкие и спокойные спуски. Но все же, главным образом, я стараюсь держаться поближе к дружелюбным синим квадратам и успокаивающим зеленым кругам.
Катание на лыжах помогает узнать многое о взаимоотношениях между пользователями и системами и о том, как разработчики программного обеспечения могут улучшить эти взаимоотношения. Это было бы жестоким испытанием — учиться катанию на лыжах на каком-нибудь из тех крутых бугристых склонов, которые предназначены для опытных лыжников. Некоторые новички, в основном подростки до двенадцати лет, после легких склонов норовят сразу же отправиться на трассы для могу-ла[Могул — разновидность фристайла, езда по крутым горкам. — Примеч. ред. ], но я всегда подозревал, что они просто-напросто биомутанты. Для начального обучения большинству из нас подойдут широкие и легкие склоны, обозначенные этими милыми зелеными кружочками.