(495) 925-0049, ITShop интернет-магазин 229-0436, Учебный Центр 925-0049
  Главная страница Карта сайта Контакты
Поиск
Вход
Регистрация
Рассылки сайта
 
 
 
 
 

Язык шаблонов в дизайне взаимодействия

Источник: PC Week
Кирилл Вятчин

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

Проблема создания простого и удобного пользовательского интерфейса для программного обеспечения возникла в середине 80-х годов прошлого века одновременно с повсеместным внедрением компьютеров в человеческую деятельность. С тех пор компаниям-разработчикам наряду с решением традиционных задач расширения функциональности и гибкости ПО, приходится заботиться об эргономичности, простоте использования и эстетической привлекательности его интерфейса. Причем задача учесть такие нефункциональные требования к разрабатываемому продукту сама по себе является далеко не тривиальной. Решить ее помогает концепция языка шаблонов, получившая распространение специалистов в области человеко-компьютерного взаимодействия (HCI) и юзабилити в середине 90-х годов.

Идея языка шаблонов (pattern language) принадлежит человеку, далекому от HCI, одному из самых известных архитекторов 20-го столетия Кристоферу Александру. Он предложил язык шаблонов в качестве средства описания архитектурных решений, однако оказалось, что данная концепция может успешно использоваться в дизайне интерфейсов. Более того, на сегодняшний день последователей Александра гораздо больше среди специалистов в области человеко-компьютерного взаимодействия, чем среди архитекторов. Я сам отношу себя к сторонникам этого подхода в HCI, и в данной статье попробую объяснить вам, почему.

«Язык шаблонов» Кристофера Александра

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

Сам Кристофер Александр определял понятие шаблона так:

Шаблон - это общее решение для часто возникающей архитектурной/дизайнерской проблемы в определенном контексте.

Несмотря на то, что каждый из шаблонов может использоваться в самых различных ситуациях, шаблоны не являются просто набором абстрактных принципов. Все шаблоны служат достаточно конкретным руководством к действиям. Чтобы понять это, взгляните на следующий пример. В дизайне офисов, общественных учреждений, станций, поликлиник и так далее, Александр рекомендует использовать шаблон под названием «Место для ожидания»:

В местах, где людям приходится чего-то ожидать (автобуса, встречи, самолета), создайте ситуацию, которая делает ожидание позитивным. Объедините ожидание с другим занятием: газета, кофе, бильярдный стол…

…И наоборот: создайте место, которое превратит просто ожидающего человека в «ожидающего в задумчивости»; спокойное, тихое место.

Из 253 таких шаблонов и состоит книга «Язык шаблонов» («Pattern language») Кристофера Александра (1977).

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

Как это касается дизайна взаимодействия?

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

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

Есть несколько причин, побудивших к использованию шаблонов в дизайне взаимодействия:

  • Опытные дизайнеры стремятся систематизировать накопленные знания и опыт для ускорения работы. Такая систематизация выгодна (возможно, даже в большей степени) и начинающим дизайнерам. Использование языка шаблонов, может избавить их от повторения ошибок, которые уже кто-то совершал раньше. В данном случае язык шаблонов работает как аккумулятор лучших идей и решений в области дизайна взаимодействия, поэтому важно, чтобы участие в создании шаблонов принимало как можно больше профессионалов.
  • Язык шаблонов представляет собой отличное средство коммуникации между различными специалистами, работающими над одним дизайнерским проектом: дизайнерами, программистами и др.
  • Шаблоны помогают посмотреть на старые проблемы свежим взглядом, преодолеть косность мышления, когда кажется, что все лучшие решения придуманы, и остается только копировать чужие (кстати, порой не самые лучшие) интерфейсные решения. Наверное, каждому приходилось произносить фразу «почему я не подумал об этом раньше?».
  • Язык шаблонов может служить удобным и универсальным способом документировать интерактивные системы, включая высокоуровневые и низкоуровневые структуры.

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

Структура языка шаблонов

Создавая язык шаблонов, необходимо определить стандартную структуру описания его элементов (шаблонов). Существует несколько отличных друг от друга структур, разработанных разными авторами, однако для примера мы рассмотрим способ описания, который использует в своем языке шаблонов Дженифер Тидвелл (Jenifer Tidwell) («Pattern Language for Human-Computer Interface Design», 1999). Данная структура хороша как пример именно своей полнотой.

Итак, у Тидвелла описание каждого шаблона состоит из следующих пунктов:

  1. Примеры - краткие примеры из различных областей применения дизайна взаимодействия: программного обеспечения, веба, панелей управления, бытовой техники и так далее.
  2. Контекст - контекст, обстоятельства, в которых следует использовать данный шаблон. Например, для шаблона «Контрольная панель» контекст будет следующим: «артефакт должен обеспечить пользователю возможность либо изменить состояние артефакта, либо отдать команду что-то сделать».
  3. Проблема - проблема, которую при помощи данного шаблона необходимо решить. Для того же шаблона «Контрольная панель» проблемой является: «каким образом артефакт может наилучшим образом показать, какие действия пользователь может совершить?».
  4. Условия - дополнительные условия, которые необходимо принимать во внимание при нахождении решения проблемы. Обычно в этом пункте перечисляется 3-4 важных условия.
  5. Решение - описание решения проблемы с учетом условий и контекста. Обычно дается краткое, сжатое описание решения, а затем идет объяснение.
  6. Результатный контекст - Обычно ссылки на другие шаблоны, которые рекомендуется использовать вместе с данным. Вообще описания шаблонов полны перекрестных ссылок друг на друга.

Где узнать о шаблонах подробнее?

Начало увлечения языками шаблонов в HCI, или даже мода на них, пришлось на середину 90-х годов, и число сторонников этой идеи только возрастает. Поклонники концепции шаблонов создали целое направление в дизайне интерфейсов (его часто называют «Pattern Movement»). Существует множество публикаций на этот счет. Ссылки на лучшие публикации (с краткими описаниями на русском языке) мне удалось собрать в специальном постоянно пополняющемся каталоге. Надеюсь, этот каталог будет пополняться с вашей помощью.

Ссылки по теме


 Распечатать »
 Правила публикации »
  Написать редактору 
 Рекомендовать » Дата публикации: 08.01.2007 
 

Магазин программного обеспечения   WWW.ITSHOP.RU
TeeChart for .NET with source code single license
EMS Data Comparer for Oracle (Business) + 1 Year Maintenance
Business Studio 4.2 Professional. Персональная лицензия. Лицензия на 1 месяц.
SmartBear Collaborator - Named User License (Includes 1 Year Maintenance)
IBM Domino Messaging Server Processor Value Unit (PVU) License + SW Subscription & Support 12 Months
 
Другие предложения...
 
Курсы обучения   WWW.ITSHOP.RU
 
Другие предложения...
 
Магазин сертификационных экзаменов   WWW.ITSHOP.RU
 
Другие предложения...
 
3D Принтеры | 3D Печать   WWW.ITSHOP.RU
 
Другие предложения...
 
Новости по теме
 
Рассылки Subscribe.ru
Информационные технологии: CASE, RAD, ERP, OLAP
Программирование на Microsoft Access
CASE-технологии
OS Linux для начинающих. Новости + статьи + обзоры + ссылки
Реестр Windows. Секреты работы на компьютере
СУБД Oracle "с нуля"
Новые программы для Windows
 
Статьи по теме
 
Новинки каталога Download
 
Исходники
 
Документация
 
 



    
rambler's top100 Rambler's Top100