Прикладное ПО Пользовательские интерфейсы и классы ПО

Автор работы: Пользователь скрыл имя, 05 Января 2011 в 17:10, реферат

Описание работы

На сегодняшний день в мире существует более 130 миллионов ком-пьютеров и бо¬лее 80 % из них объединены в различные информационно-вычислительные сети от малых локальных сетей в офисах до глобальных сетей типа Internet. Всемирная тенденция к объ¬единению компьютеров в сети обусловлена рядом важных причин, таких как ускорение пе¬редачи ин-формационных сообщений, возможность быстрого обмена информацией между пользователями, получение и передача сообщений (факсов, E-Mail писем и прочего) не отходя от рабочего места, возможность мгновенного получения любой информации из лю¬бой точки земного шара, а так же об-мен информацией между компьютерами разных фирм производителей ра-бо¬тающих под разным программным обеспечением.

Файлы: 1 файл

реферат.doc

— 488.50 Кб (Скачать файл)

     Если  у читателя создалось впечатление, что я ругаю оконный интерфейс, то это не так. Я использую его как всем известный источник аналогий и примеров. Оконный интерфейс был в начале 80-х столь же революционным и сыграл столь же положительную роль, что и текстовый интерфейс 70-х. Просто всему свое время. сегодня вычислительные возможности машин позволяют разработчику интерфейсов пользоваться средствами, о которых полтора десятка лет назад страшно было подумать.

     Во  всех центрах, известных разработкой  новых интерфейсов (XEROX PARC, MIT Media Lab, Apple Computer, Carnegie Mellon University), идут разработки разных концепций дизайна интерфейсов, опирающихся на возможности анимации. Прежде чем описывать их, я хочу изложить свою точку зрения на "физику интерфейса", однажды уже опубликованную, но которую уместно здесь повторить.

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

     При переходе от алфавитно-цифровых дисплеев к графическим поле дисплея казалось непомерно большим и проблема синхронизации точки взаимодействия была самой сложной. Ее решение было выполнено по принципу "разделяй и властвуй". Поле экрана разбивалось на прямоугольники-окна и вся работа велась только в одном из них – так называемом активном окне. Одновременно сменилась форма текстового курсора, и, что очень важно, он начал подмигивать. Это требовалось для облегчения проблемы поиска текстового курсора в окне. Поиск же курсора мыши при его потере из поля внимания пользователь (до сих пор) выполняет подергиванием мыши.

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

     Эта возможность не только теоретически осознана, но и уже около пяти лет находится в стадии экспериментального исследования. Две анимированные  среды интерфейса разработаны в той самой фирме XEROX PARC, которой мы обязаны появлением идеи оконного интерфейса (и даже в группе того самого Стюарда Карда, которому принадлежит авторство этой идеи). Одна – "Конические деревья" – является визуализацией файловой системы компьютера и похожа на систему детских пирамидок, каждый уровень которой соответствует уровню файлового каталога. Сами файлы из каталога отображаются в виде 3-мерной карусели под своим каталогом. Соль модели в том, что нужный файл можно "приблизить" поворотом карусели (может быть, не одной), идущим в режиме анимации.

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

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

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

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

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

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

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

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

     Однако, решая многие проблемы для пользователя, анимационный интерфейс, как это  часто бывает, ставит тяжелые проблемы перед программистом и дизайнером.

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

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

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

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

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

     Кому  это нужно? Пользователю, который  ничего этого не заметит, но зато будет  гораздо проще и быстрее взаимодействовать с системой. Хороший интерфейс похож на удобную обувь – никто его не замечает, а, если обратить на него внимание, в ответ получишь равнодушное "Ну и что такого?". Зато плохой интерфейс у всех на виду и на устах.

     На  самом деле, хороший интерфейс  пользователями замечается подсознательно, и, когда он нравится, симпатии переносятся на функциональную часть программы. (Про "ДИСКо Командир" многие говорят, что он хорош, но НИКТО не говорит, чем именно.)

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

     Моя любимая цитата из обзора интерфейсов  – "Интерфейс этой программы неестественен, потому что клавиша Alt+F4 не закрывает  приложения". Здесь уже требуется  талант Дарвина, чтобы понять происхождение такого вида естественности!

     Многие  интерфейсные проблемы являются естественным продолжением маркетинговых достижений. Предположим, что ваша фирма выходит  на рынок с новой моделью аудиомагнитофона, отличающейся от всех остальных некой  возможностью А. Для успешной продажи этой модели та кнопка на панели управления, которая реализует А, должна быть как можно заметнее. Тогда потенциальный покупатель сам спросит "А что это?" – и продать ваше изделие будет гораздо легче. Однако, купив его и включив дома, этот покупатель будет, скорее всего, пользоваться стандартными кнопками для стандартных действий, показывая возможность А только гостям.

     Таким образом, налицо противоречие, следующее  из двух разных функций одного и  того же товара. Первая функция – продавать самого себя за счет привлекательности и/или необычности внешнего вида, а вторая – использоваться по назначению. С точки зрения продавца (а часто, и производителя), первая функция гораздо важнее. Поэтому навязывается "стандарт", направленный именно на успешность первой функции. Замените аудиомагнитофон интерфейсными средами, и станет понятным, что я имею в виду. (Желающих увидеть эту проблему крупным планом приглашаю на рынок пиратских CD-ROM, где покупатель принимает решение о покупке в общем-то недешевого товара, глядя только на обертку и даже будучи уверенным, что содержание в какой-то мере ей не соответствует.)

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

Лицензионная  защита интерфейсных решений – прямой путь к тому, что одни и те же интерфейсные функции будут реализовываться  в разных продуктах по-разному, а  это далеко не в интересах пользователя. При всей моей нелюбви к фактической монополии фирмы Microsoft на рынке операционных сред должен отметить, что положительной чертой этой монополии явилась "бесплатная" стандартизация интерфейса под Windows.

Информация о работе Прикладное ПО Пользовательские интерфейсы и классы ПО