Введение

Гипермедиа-система для компьютеров Apple Macintosh и Apple IIGS.

HyperCard – программное приложение и набор для разработки, предназначенные для компьютеров Apple Macintosh и Apple IIGS. Это одна из первых успешных гипермедиа-систем, появившихся до возникновения Всемирной паутины. HyperCard объединяет плоскую файловую базу данных с графическим, гибким и настраиваемым пользователем интерфейсом. В HyperCard встроен язык программирования HyperTalk, предназначенный для работы с данными и пользовательским интерфейсом. Эта комбинация возможностей – база данных с простым оформлением, гибкая поддержка графики и легкость программирования – делает HyperCard подходящим для широкого спектра проектов, таких как быстрая разработка приложений и баз данных, интерактивные приложения, не требующие базы данных, системы управления и контроля, а также множество примеров в демосцене. HyperCard впервые был выпущен в 1987 году по цене 49,95 долларов и впоследствии бесплатно поставлялся со всеми новыми компьютерами Mac.

«Прелесть HyperCard заключается в том, что он позволяет людям программировать, не изучая синтаксис кода – то, что я называю «программированием для всех». HyperCard дал возможность людям делать вещи, о которых они раньше и не помышляли, без сложного программирования. Он открыл эту область для многих не-программистов, таких как я.»

– Дэвид Лингуд, APDA

Пользователи создают или изменяют «стеки», добавляя новые «карты». Они размещают объекты графического интерфейса на картах, используя интерактивный механизм компоновки, основанный на простом интерфейсе перетаскивания. Фрагменты кода HyperTalk называются «скриптами» – термин, который считается менее пугающим для начинающих программистов.

Внешние

HyperCard может быть значительно расширен за счет использования модулей внешних команд (XCMD) и внешних функций (XFCN). Это библиотеки кода, упакованные в ресурсную вилку, которые интегрируются либо в систему в целом, либо конкретно в язык HyperTalk; это ранний пример концепции подключаемых модулей. В отличие от традиционных плагинов, они не требуют отдельной установки перед использованием; их можно включить в стек, где они будут непосредственно доступны для скриптов в этом стеке. В период наибольшей популярности HyperCard в конце 1980-х годов целая экосистема поставщиков предлагала тысячи таких внешних модулей, включая компиляторы HyperTalk, графические системы, доступ к базам данных, подключение к Интернету и анимацию. Oracle предложила XCMD, позволяющий HyperCard напрямую запрашивать базы данных Oracle на любой платформе, впоследствии замененный Oracle Card. BeeHive Technologies предложила аппаратный интерфейс, позволяющий компьютеру управлять внешними устройствами. Подключаясь через Apple Desktop Bus (ADB), этот прибор может считывать состояние подключенных внешних переключателей или выдавать цифровые сигналы на множество устройств. Внешние модули обеспечивают доступ к Macintosh Toolbox, который содержит множество низкоуровневых команд и функций, не являющихся встроенными в HyperTalk, таких как управление последовательным и ADB-портами.

Разработка

HyperCard был создан Биллом Аткинсоном после опыта, вызванного ЛСД. Работа над ним началась в марте 1985 года под названием WildCard (отсюда и его кодовое имя разработчика – WILD). В 1986 году Дэн Винклер приступил к разработке HyperTalk, и название было изменено на HyperCard из-за проблем с товарным знаком. Он был выпущен 11 августа 1987 года в первый день конференции и выставки MacWorld Conference & Expo в Бостоне при условии, что Аткинсон передаст HyperCard компании Apple только в случае гарантии бесплатного распространения на всех компьютерах Mac. Apple запланировала выпуск продукта на время проведения MacWorld Conference & Expo в Бостоне, штат Массачусетс, чтобы обеспечить максимальную огласку.

Запуск

HyperCard добился успеха практически мгновенно. Ассоциация программистов и разработчиков Apple (APDA) заявила: «HyperCard вызвал настоящую информационную лихорадку. С августа [1987 года, когда о нем объявили] по октябрь наши телефоны не умолкали. Это был настоящий хаос». В течение нескольких месяцев после выпуска появилось множество книг по HyperCard и набор из 50 дисков со стеками, находящимися в общественном достоянии. Менеджеры проектов Apple обнаружили, что HyperCard использовался огромным количеством людей как внутри компании, так и за ее пределами. Отчеты об ошибках и предложения по улучшению продолжали поступать, что демонстрировало разнообразие его пользователей. Поскольку программа была бесплатной, было сложно обосновать выделение инженерных ресурсов на ее совершенствование. Компания Apple и ее основные разработчики понимали, что расширение прав пользователей HyperCard может привести к снижению продаж обычных продуктов в розничной упаковке. Стюарт Алсоп II предположил, что HyperCard может заменить Finder в качестве оболочки графического пользовательского интерфейса Macintosh.

HyperCard 2.0 (вводится в действие с 1 января 2013)

В конце 1989 года Кевин Калхун, тогда инженер HyperCard в Apple, возглавил работу по обновлению программы. Результатом стала HyperCard 2.0, выпущенная в 1990 году. Новая версия включала компилятор «на лету», значительно повысивший производительность вычислительно сложных программ, новый отладчик и множество улучшений базового языка HyperTalk. Параллельно с разработкой HyperCard 2.0, отдельная группа в Apple разработала и в 1991 году выпустила HyperCard IIGS – версию HyperCard для системы Apple IIGS. Ориентированная главным образом на образовательный рынок, HyperCard IIGS обладала примерно тем же набором функций, что и версии 1.x для Macintosh HyperCard, с добавлением поддержки цветной графики IIGS. Хотя стеки (документы программ HyperCard) не были бинарно совместимы, программа-переводчик (ещё один стек HyperCard) позволяла перемещать их между платформами. Затем Apple решила, что большинство её программных пакетов, включая HyperCard, будут принадлежать полностью дочерней компании Claris. Многие разработчики HyperCard предпочли остаться в Apple, а не переходить в Claris, что привело к разделению команды разработчиков. Claris попыталась создать бизнес-модель, при которой HyperCard также могла бы приносить доход. Первоначально свободно распространяемые версии HyperCard поставлялись с заблокированным режимом разработки. Ранние версии Claris HyperCard содержат «пасхальное яйцо»: ввод слова «magic» в поле сообщения превращал пользователя в полноценную среду разработки HyperCard. Когда этот приём стал широко известен, они выпустили новую версию – HyperCard Player, которую Apple распространяла вместе с операционной системой Macintosh, а Claris продавала полную версию в коммерческих целях. Многие пользователи были недовольны тем, что им приходилось платить за программное обеспечение, которое традиционно поставлялось бесплатно и которое многие считали неотъемлемой частью Mac. Даже после того, как HyperCard начала приносить доход, Claris мало что делала для её продвижения. Разработка продолжалась с незначительными обновлениями и первой неудачной попыткой создать HyperCard третьего поколения. В этот период HyperCard начала терять долю рынка. Авторы HyperCard стали переходить к таким системам, как SuperCard и Macromedia Authorware, из-за отсутствия нескольких важных базовых функций. Тем не менее, HyperCard оставалась популярной и использовалась для широкого спектра приложений, от игры The Manhole, ранней работы создателей Myst, до корпоративных информационных систем. В конечном итоге Apple вернула Claris в состав материнской компании, вернув HyperCard в основную инженерную группу. В 1992 году Apple выпустила долгожданное обновление HyperCard 2.2 и включила лицензионные версии Color Tools и Addmotion II, добавив поддержку цветных изображений и анимации. Однако эти инструменты были ограничены и часто неудобны в использовании, поскольку HyperCard 2.0 не имела полноценной встроенной поддержки цвета.

Гиперкарта 3.0

Было предпринято несколько попыток возобновить разработку HyperCard после её возвращения в Apple. В связи с широким распространением продукта как инструмента для создания мультимедиа, он был объединен с группой QuickTime. Началась новая работа над тем, чтобы HyperCard мог создавать интерактивные фильмы QuickTime (QTi) под руководством Кевина Калхоуна. QTi расширил основные мультимедийные возможности QuickTime, предоставив полноценные интерактивные функции и язык программирования низкого уровня на основе ассемблера 68000. Полученная в результате HyperCard 3.0 была впервые представлена в 1996 году, когда разработчикам на ежегодной Всемирной конференции разработчиков Apple (WWDC) была показана альфа-версия. Под руководством Дэна Кроу разработка продолжалась до конца 1990-х годов, публичные демонстрации показывали множество популярных функций, таких как поддержка цвета, подключение к Интернету и возможность воспроизведения стеков HyperCard (которые теперь представляли собой специальные фильмы QuickTime) в веб-браузере. Разработка HyperCard 3.0 остановилась, когда команда QuickTime переключила своё внимание с разработки QuickTime Interactive на потоковые функции QuickTime 4.0. В 1998 году Стиву Джобсу не нравилось это программное обеспечение, потому что Аткинсон решил остаться в Apple, чтобы завершить его, вместо того чтобы присоединиться к Джобсу в NeXT, и (по словам Аткинсона) "от него несло Скулли". HyperCard работает непосредственно только в классической Mac OS, но его всё ещё можно использовать в классическом режиме Mac OS X на машинах PowerPC (G5 и более ранних). Последней рабочей нативной средой разработки HyperCard является классический режим в Mac OS X 10.4 (Tiger) на машинах PowerPC.

Приложения

HyperCard использовался для широкого спектра гипертекстовых и художественных целей. До появления PowerPoint, HyperCard часто применялся в качестве универсальной программы для презентаций. Примеры приложений HyperCard включают простые базы данных, игры в жанре "выбери свой путь" и обучающие материалы. Благодаря возможностям быстрой разработки приложений, HyperCard также часто использовался для прототипирования, а иногда и для реализации первой версии (1.0). Внутри Apple команда QuickTime была одним из крупнейших пользователей HyperCard. HyperCard предъявлял более низкие требования к аппаратному обеспечению, чем Macromedia Director. В HyperCard было создано несколько коммерческих программных продуктов, наиболее известными из которых являются оригинальная версия графической приключенческой игры Myst, Expanded Books компании Voyager, мультимедийные CD-ROM с Девятой симфонией Бетховена, A Hard Day's Night группы The Beatles и Voyager MacBeth. Раннее электронное издание каталога Whole Earth было реализовано на HyperCard и сохранено на CD-ROM. Прототип и демо-версия популярной игры You Don't Know Jack были написаны на HyperCard. Французский автопроизводитель Renault использовал его для управления системой учета запасов. В провинции Квебек (Канада) HyperCard применялся для управления роботом-манипулятором, который вставлял и извлекал видеодиски в Национальной кинотеке CinéRobothèque. В 1989 году HyperCard использовался для управления студийной сетью BBC Radiophonic Workshop, используя один компьютер Macintosh. HyperCard был использован для создания полностью функционального прототипа SIDOCI (одного из первых в мире экспериментов по разработке интегрированной электронной системы учета пациентов) и активно применялся монреальской консалтинговой фирмой DMR для демонстрации того, как будет выглядеть "типичный день из жизни пациента, готовящегося к операции", в безбумажной среде. Activision, которая до этого момента была преимущественно игровой компанией, рассматривала HyperCard как возможность выхода на бизнес-рынок. Сменив название на Mediagenic, компания выпустила несколько крупных приложений, разработанных на базе HyperCard, в частности, Focal Point Дэнни Гудмана.

Поскольку HyperCard выполнял скрипты в стеках сразу при открытии, он также был одним из первых приложений, подверженных воздействию макровирусов. Вирус Merryxmas был обнаружен в начале 1993 года Кеном Данхэмом, за два года до появления вируса Concept. На HyperCard было создано очень мало вирусов, и их общее влияние было незначительным.

Прием

Рассчитай! в 1987 году в журнале Apple Applications отмечалось, что HyperCard "может сделать Macintosh персональным компьютером по умолчанию". Отмечая, что для его работы требовался большой объем памяти, журнал указал, что он лучше всего подходит для компьютеров с 2 МБ памяти и жесткими дисками, и предсказал, что "даже самая маленькая студия разработки сможет создавать стеки", особенно для работы с CD-ROM. В 1988 году Рассчитай! предсказал, что большинство будущих программ для Mac будут разрабатываться с использованием HyperCard, если только потому, что его использование настолько увлекательно, что разработчики "не смогут оторваться от него достаточно долго, чтобы создать что-то другое". В 1989 году Byte включил HyperCard в число победителей премии "Excellence" на Byte Awards. Признавая, что "как и любой первый продукт, он имеет некоторые недостатки", журнал отметил, что "HyperCard открыл новую категорию программного обеспечения" и похвалил Apple за то, что поставляла его вместе с каждым Mac. В 2001 году Стив Возняк назвал HyperCard "лучшей программой, когда-либо созданной".

Наследие

HyperCard — один из первых продуктов, который использовал и популяризировал концепцию гипертекста среди широкой аудитории пользователей. Якоб Нильсен отмечал, что HyperCard фактически была лишь гипермедийной программой, поскольку ссылки начинались с областей на карточке, а не с текстовых объектов; настоящие текстовые гиперссылки в стиле HTML стали возможны в более поздних версиях, но их реализация была сложной и они редко использовались. Дина Ларсен запрограммировала ссылки в HyperCard для проекта Marble Springs. Билл Аткинсон позже сожалел, что если бы он сразу осознал потенциал сетевых стеков, вместо того чтобы сосредотачиваться на локальных стеках на одном компьютере, HyperCard могла бы стать первым веб-браузером. С развитием Всемирной паутины популярность HyperCard снизилась, поскольку веб мог обрабатывать и передавать данные схожим с HyperCard образом, не ограничиваясь файлами на локальном жестком диске. HyperCard оказала значительное влияние на развитие веб, вдохновив создание как HTTP (через влияние на коллегу Тима Бернерса-Ли, Роберта Кайлиу), так и JavaScript (чей создатель, Брендан Эйх, вдохновлялся HyperTalk). Она также послужила ключевым источником вдохновения для ViolaWWW, одного из первых веб-браузеров. Курсор в виде указательного пальца, использовавшийся для навигации по стекам, впоследствии был применен в первых веб-браузерах в качестве курсора гиперссылки. Компьютерная игра Myst, изначально выпущенная в виде стека HyperCard и поставлявшаяся в комплекте с некоторыми компьютерами Mac (например, Performa 5300), до сих пор популярна, что делает HyperCard технологией, способствовавшей созданию одной из самых продаваемых компьютерных игр всех времен. По словам Уорда Каннингема, изобретателя Wiki, концепция Wiki берет свое начало от стека HyperCard, который он создал в конце 1980-х годов. В 2017 году Интернет-архив запустил проект по сохранению и эмуляции стеков HyperCard, предоставив пользователям возможность загружать собственные. Графический интерфейс прототипа Apple Wizzy Active Lifestyle Telephone был основан на HyperCard.

Всемирная паутина

HyperCard оказал влияние на развитие Всемирной паутины в конце 1990-х годов благодаря влиянию на Роберта Кайлиу, который помогал разрабатывать первый веб-браузер Тима Бернерса-Ли. Javascript был вдохновлен языком HyperTalk. Хотя стеки HyperCard не функционируют через Интернет, к 1988 году как минимум 300 стеков были доступны для загрузки из коммерческой сети CompuServe (которая на тот момент еще не была подключена к Интернету). Система позволяла связывать телефонные номера на компьютере пользователя и набирать их без модема, используя более дешевое устройство – Hyperdialer. В этом смысле, подобно Всемирной паутине, она создавала ассоциативный опыт просмотра информации посредством ссылок, хотя и не работала удаленно по протоколу TCP/IP. Как и веб, она также поддерживала подключение различных типов мультимедиа.