История развития программного обеспечения

Модели гипертекста

В самом общем виде модель гипертекста характеризуется механизмом связей, узлами-объектами и пользовательским интерфейсом — способом взаимодействия человека с узлами и связями.

Узлы

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

Некоторые гипертекстовые системы поддерживают только текст (например, NLS и ZOG), другие — таблицы и графику (HyperTIES, HyperCard, Guide); есть механизмы интерпретации различных видов информации (например, видео) в рамках гипертекстовой сети (Intermedia, NoteCards).

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

Что касается объемов узлов, то, например, такие системы, как ZOG и HyperCard, поддерживают только узлы жестко фиксированной величины (объемом с экран), в то время как другие обладают более гибкими возможностями.

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

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

Связи

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

При описании связей в гипертексте часто используется понятие anchor (буквально, якорь) — это слово или фраза, которые подсвечиваются на экране и воспринимаются как точки начала или конца связи.

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

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

Связи этого статуса делают возможным включение в систему графического браузера — средства, с помощью которого сеть (граф из узлов и связей) отображается на экране. Без хранения межузловых связей невозможно говорить о графовой структуре сети. Поэтому лишь такие системы, как NoteCards, Intermedia и реализации HAM (Hypertext Absnract Machine), могут обеспечивать функциональность, необходимую для обработки сети как графа.

Связи второго статуса (“спрятанные”) — есть просто спецификации адреса для перехода и существуют только в момент их активизации. Например, связи в HyperCard — это кнопки, содержащие инструкцию “иди к карточке № 42106” (или что-то подобное). Однако кнопки могут и не содержать таких инструкций, они будут целиком вставлены в программный код системы. Так как нет ясного соотношения между узлом и набором его связей в гипертекстовой сети, HyperCard не имеет средств для воздействия на сеть как целое. Хотя система и обеспечивает графическое представление последних посещенных карточек, не поддерживается информация об альтернативных маршрутах, по которым можно следовать.

В системах NLS, HyperTIES, ZOG адрес узла для перехода по связи хранится как часть текста или имя отдельно стоящей кнопки. Такие связи по своей природе однонаправленные, они позволяют осуществлять сквозной проход по документу, но при этом возможно оказаться в тупике (в узле, из которого не выходят связи).

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

Наиболее гибко эти проблемы были решены в Intermedia. В этой системе связи могут начинаться из любого фрагмента одного узла и заканчиваться в любом фрагменте другого. В Notecards и HyperCard, как и Memex, связь относится целиком к узлу-карточке. У NLS, ZOG, HyperTIES и Guide началом связи всегда служат некоторые слова и фразы.

Интерфейс пользователя

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

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

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

Все системы позволяли легко перемещаться по документу в его естественной последовательности — либо путем скроллирования линейного документа (Intermedia, Guide), либо двигаясь по дереву иерархической структуры узлов, используя операции “следующий потомок” или “возврат к родителю” (ZOG, HyperCard).

Значительно больший интерес представляют вопросы: как пользователь может распознать связь (каково ее визуальное представление) — и как эту связь можно активизировать? В разных системах эти вопросы решаются по-разному. В Memex информация о связях просто хранилась на специально отведенном пустом пространстве узла как сигнал читателю: что-то из данного текста связано с дополнительной информацией. Все остальные системы позволяли размечать информацию узла так, чтобы его части могли стать метками связей: у одних (ZOG, HyperTIES и Guide) это была подсветка соответствующего ключевого слова или фразы, у других (HyperCard, Intermedia, Notecards) — значки связей или кнопки, которые, как значки сноски (примечания), предупреждали читателя о существовании дополнительной информации, соотнесенной с данной.

Возможность выбора той или иной связи достигалась, например, в Memex и ZOG соотнесением каждой данной связи с ключом клавиатуры (так, как это делается для меню). В Intermedia, Notecards, HyperCard и Guide вместо этого надо было указать на связь и “кликнуть” мышью. У HyperTIES немного другая модель (клавиатурная): одна связь-точка остается подсвеченной и эта подсветка перемещается от одной связи к другой под управлением курсорных стрелок. Когда нужная связь выбрана, пользователь активизирует ее с помощью некоторого другого ключа.

В NLS подобная операция также состоит из двух частей — выбрать и активизировать. Такой подход позволяет управлять как выбором, так и последующим действием (так называемый подход “selections and actions”).

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

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

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

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

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

Пути и навигация

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

Прежде всего, в гипертексте изначально существует метафора прокладывания пользователем пути (тропы, трейла) в паутине гипертекстовых связей. Путь — это последовательность из узлов и связей, которые посещает пользователь. Это понятие выработал еще Ванневар Буш, имея в виду аналогию с процессами в мозгу человека: “Человеческий ум работает ассоциативно. Ухватив, поняв что-то, он сразу цепляется за следующее, что предлагается, подсказывается ассоциацией мыслей в соответствии с некоторой сложной паутиной трейлов, которые поддерживаются ячейками мозга”.

Обычно гипертекстовые системы кроме возможности переходов по связям предоставляют и различные методы, помогающие прокладывать пути, т. е. осуществлять навигацию в гипертексте. Эти методы, не ограничивая свободу пользователя, направлены на преодоление дезориентации и дополнительной когнитивной нагрузки, от которых страдает читатель гипертекста и которые вместе получили название “проблема навигации” (Navigation Problem).

У большинства гипертекстовых систем навигационную помощь предоставляют следующие средства.

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

Глобальная карта. Это графическое представление полной сети из узлов и связей. Ввиду трудностей с отображением огромного числа связей, такие карты мало пригодны для реальных гипертекстов объемом свыше сотни узлов. Больше всех с ними экспериментировали разработчики Intermedia (Янкелович, Мейровиц, ван Дам). Локальные и глобальные карты в реальных гипертекстовых системах назывались “графическими браузерами”.

История (бэктрекинг). Посещенные узлы и связи текущего трейла сохраняются и есть возможность вернуться в предыдущие узлы.

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

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

Фильтры. Это возможность ограничения области навигации пределами задаваемого фильтром подмножества узлов и связей. Такие подмножества называются видами (views) и могут быть сохранены для последующего повторного доступа.

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

Закладки. Читатель может сохранить (пометить) свою текущую позицию, чтобы вернуться к ней позже.

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

В заключение — об одном таком подходе, принадлежащем отечественным исследователям и направленном на преодоление проблемы навигации в гипертексте.

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

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

Однако есть и альтернативные виды человеческой активности при взаимодействии с гипертекстом, где такая навигация нужна. Это — браузинг по определенной тематике, или изучение какого-то предмета по материалу, собранному в сети, или же подготовка чернового варианта документа из узлов сети.

Когерентная навигация реализована в системе СМИСК — российской разработке. В этой системе локальные переходы по связям в строящейся тропе-трейле происходят под так называемым макроконтролем, следящем за глобальной (тематической) связностью. Этот контроль базируется на иерархии подтем строящегося дискурса.

Иерархия реализована в форме интерактивного дерева, которое развертывается в тропу-дискурс.

Теоретически разработки СМИСК опираются на труды таких известных психолого-лингвистов, как ван Дийк, Кинч и Левельт. Результаты были представлены в докладе на гипертекстовой секции международной конференции “Восток-Запад” EWHCI?93.