Кафедра ИКТ
Курсовая работа по дисциплине:
Технологии программирования
На тему:
«Концепция WIMP. История, проблемы и перспективы»
Москва 2008
Оглавление
Введение
История
Развитие интерфейсов
Smalltalk и Lisa
Windows и Unix
Концепция WIMP
Метафора рабочего стола
Подход к интерфейсу
Проблемы WIMP
Достоинства
Недостатки WIMP-интерфейсов
Перспективы развития WIMP-интерфейсов
Post-WIMP-интерфейсы
Будущее
Использованная литература
Одним из наиболее впечатляющих явлений в программировании за последние двадцать лет был триумф интерфейса, состоящего из окон, значков, меню и указателей (Windows, Icons, Menus, Pointers - WIMP). Сегодня он очень широко известен и не требует описания. Впервые эту идею представили публике Дуглас Энглебарт (Douglas Englebart) с группой коллег из Стэндфордского научно-исследовательского института на Объединенной компьютерной конференции Запада в 1968 году. Оттуда идеи перекочевали в исследовательский центр Xerox в Пало-Альто, где они реализовались на персональной рабочей станции Alto, разработанной Бобом Тейлором (Bob Taylor) с сотрудниками. Их подхватил Стив Джобс для компьютера Apple Lisa - слишком медленного для осуществления своих восхитительных концепций простоты использования. Эти концепции Джобс затем воплотил в коммерчески успешном Apple Macintosh в 1985 году. Позднее они были приняты в Microsoft Windows для IBM PC и его клонов.
Вся история развития интерфейсов лучше всего характеризуется понятием, введенным известным специалистом в области эволюционной биологии Джеем Гоулдом (Jay Gould) - "прерывистое равновесие" (punctuated equilibrium), когда долгие периоды стабильности прерываются быстрыми изменениями. Мы можем идентифицировать четыре качественно отличных друг от друга поколения, которые характеризуются четырьмя интерфейсными стилями; представители первых трех поколений царствовали не по одному году. Сейчас на повестке дня - интерфейсы нового, четвертого поколения.
В первый период (50-е и начало 60-х гг.) компьютеры, как известно, работали в основном в пакетном режиме, используя перфокарты для ввода и устройство построчной печати для вывода; можно утверждать, что при этом фактически не было смысла говорить о пользовательском интерфейсе - не существовало самого понятия "интерактивного пользователя" в современном смысле этого слова (хотя некоторые из нас умудрялись выполнять отладку прямо с консоли, используя переключатели и световые индикаторы как "пользовательский интерфейс").
Во втором периоде в эволюции интерфейсов (с начала 60-х до начала 80-х гг.) господствовал режим разделения времени на мэйнфреймах и мини-компьютерах с использованием механических или "стеклянных" телетайпов (алфавитно-числовые дисплеи), когда пользователи могли взаимодействовать с компьютером путем ввода с клавиатуры команд с параметрами. Заметьте, что этот тип взаимодействия захватил и век ПК с MS DOS и ОС Unix.
Третье поколение пользовательских интерфейсов взяло старт еще в 70-е г. - при режиме разделения времени и ручного ввода команд. В научно-исследовательском центре Xerox PARC были созданы графические интерфейсы пользователя (GUI), предназначенные для работы на растровых графических сетевых рабочих станциях. Эти интерфейсы принято обозначать аббревиатурой WIMP (Windows-Icons-Menus-Pointing device), что отражает задействованные интерактивные сущности - окна, пиктограммы, меню и позиционирующее устройство (обычно мышь). Именно интерфейсы этого типа, завоевавшие популярность вместе с Macintosh в 1984 году и позднее скопированные, в частности, в Windows для ПК, доминируют и по сей день. Заметим, что сегодняшние приложения имеют интерфейсы того же типа, как и ранние "настольные" приложения, разве что увеличилась степень "реализма" благодаря применению современных интерфейсных "виджетов" (widgets) - инструментов, позволяющих, например, использовать тени для экранных кнопок. Пожалуй, новым качеством по сравнению с интерфейсами предыдущего поколения стало активное использование цвета и доступность для широкого круга разработчиков представительного множества программных средств для построения WIMP-интерфейсов. Удивительно, что третье поколение WIMP GUI доминирует столь долго. Видимо, интерфейсы этого типа полностью соответствуют требованиям значительной части современных настольных приложений.
Отцом интерфейсов можно считать Дугласа Энглебарта. В 1968 году на объединенной компьютерной конференции Запада он воплотил в жизнь свои идеи, связанные с интерфейсами.
Дисплей
Мышь и клавиатура
Дуглас держит первую мышку
Далее, в 1979 году компания Xerox предложила общественности компьютер Alto. Его самой поразительной чертой был дисплей, такого же размера и ориентации, как и распечатанный документ. Дисплей был растровым, с растровой графикой и расширением 606x808. Каждый пиксель мог быть включен/выключен независимо друг от друга. Alto также обладал клавиатурой и модернизированной мышкой Энглебарта. Сам курсор мышки представлял собой рисунок в форме наклонной стрелки, какую мы знаем и ныне. Форма также менялась, в зависимости от выполняемых действий.
Alto не был микрокомпьютером как таковым, хотя его элементы вмещались в корпус, который без труда можно было поместить под столом:
Одним из самых больших прорывов в пользовательском интерфейсе было появление на свет GUISmalltalk (Xerox) и Lisa (Apple).
Отдельные окошки в Smalltalk’e окаймлялись графической границей и выделялись на сером фоне. Каждое из окошек обладало заголовком вверху, который позволял идентифицировать окно и передвигать его по экрану. Заголовок окна не растягивался на всю длину принадлежащего окна, а лишь ограничивался своей собственной длиной, начинаясь в левом верхнем углу. Окна могли перекрывать друг друга, и выделенное окно переходило на передний план к пользователю. В это же время была осуществлена концепция "иконок" – маленького символьного представления программы или документа, которое можно было кликнуть, чтобы запустить или манипулировать им. Здесь же появляются выпадающие меню – пользователь кликнет одной из кнопок мышки и появляется иерархическое графическое меню, содержимое которого зависит от выполняемых операций. Впервые появляются полосы прокрутки (скроллбары), радио кнопки и диалоговые окна.
Было создано множество различных прототипов интерфейса Lisa, включая интерфейс, основанный на описании задач, названный "Twenty Questions" (Двадцать Вопросов). Команда разработчиков Lisa остановилась на интерфейсе, основанном на иконках: каждая иконка символизировала документ или приложение. Здесь впервые было разработано выпадающее меню, где все меню находились в самом верху экрана.
Другие нововведения, пришедшие от команды Lisa, включали галочки напротив выбранных элементов меню, "быстрые клавиши" (keyboard shortcuts) для наиболее часто используемых команд. В Lisa изменились некоторые соглашения PARC’a и добавились новые, например, идея корзины для документов, которые должны быть удалены, идея затенения недоступных элементов меню. Трехкнопочная мышка, которая лишилась одной кнопки в Star, потеряла еще одну кнопку у Lisa, став однокнопочной. А так как интерфейс требовал по крайней мере два действия для каждой иконки (выбора и запуска) появляется идея двойного клика. Позже “дабл-клик” будет стандартным средством запуска программ во всех GUI, даже в тех, которым посчастливится обладать несколько - кнопочными мышками.
Пользовательский интерфейс Lisa принесет и другие концепции, которые используются по сей день. В SmallTalk иконки представляли некоторые файлы, Lisa же впервые предлагает: иконки могут представлять все файлы в файловой системе, которые потом можно просматривать, используя иерархическую структуру каталогов, где каждый каталог открывается в новом окне. В это же время появляется идея drag-n-drop, а отсюда естественным образом следует идея перетаскивания файлов с целью манипуляции ими (например, выбор группы файлов и перетаскивание в другое место может представлять копирование файлов). Менее осязаемой, но все так же существенной была идея "ветвей ресурсов" ("resource forks"), которая прикрепляла информацию о файле отдельно от самого файла, и идея "классов создателей", означающая, что с каждым файлом может быть ассоциировано приложение, запускающееся по двойному щелчку на файле.
Windows 1.01. Граница между двумя окнами была изменена
Ко времени релиза, в1985 году Windows была цветной и обладала стандартными признаками GUI: полосы прокрутки, оконные элементы управления и меню. Хотя, меню было похожим на меню Lisa и Macintosh, основным отличием было то, что полосой меню, находившейся под заголовком окна, обладали все приложения.
Другим отклонением было использование мозаичного интерфейса, вместо перекрывающего. Предполагалось, что перекрывающие окна будут вводить в заблуждение пользователей. Однако, Биллу Гейтсу не понравилось оно, и во всех последующих версиях Windows будет использована перекрывающая модель интерфейса (когда одно окно может перекрывать часть другого). Microsoft был одним из ранних сторонних разработчиков для Macintosh’a и, как ни удивительно, получили бета-модель первого Мака, прежде чем та была представлена миру. Несомненно это повлияло на все следующие версии Windows.