HyperCard: звездная ночь в Лос Гатосе

Сколько требуется инженеров Apple Computer для изобретения совершенно необычного приложения? Те, кто прожил часть своей жизни с HyperCard, могут не согласиться со мной по поводу его необычности… Настолько с ним все было просто. Именно это и необычно! Отвечаю на провокационный вопрос в подзаголовке статьи. Изобрел (скорее, придумал) HyperCard один-единственный инженер. Случилось это несколько необычным образом. Я даже сомневался, стоит ли об этом рассказывать. Но поскольку читатели ресурса люди умные и не станут развлекаться столь же опасными способами… Расскажу, но чуть позже. Сначала расскажу, что такое HyperCard. Что это такое HyperCard HyperCard представляет информацию в виде карточек, на которых может располагаться текст (или тексты), графика и элементы управления. Одна из функций этих элементов – управление переходом на другие карточки. Из карточки, которая на экране, перейти можно в любую другую, в том же документе или в любом другом. Документы HyperCard называются стэками – стопками, имеются в виду стопки карточек. Стэк – это хранилище информации. Каталог, справочник, учебник, книжная полка, но не только хранилище. Стэк может быть еженедельником, органайзером, самоучителем чего угодно – иностранного языка, программирования, правил дорожного движения, алгебры, физики. С функциями проверки знания обучаемого, с ведением “дневника” (когда дневник для самого себя, это нормально). Вплоть до игр (Myst, например) и самых настоящих программ. Программы в виде стэков HyperCard продавались, у них было собственное название – стэквер. В компьютерных журналах и каталогах программных продуктов были соответствующие разделы. В виде стэков издавались и журналы. Помню 68000 (по числовому индексу процессора Motorola, используемого в Mac’ах и Lisa). Интерактивный журнал с каталогами, статьями и обозрениями, с рекламой. К нам в руки номера этого журнала попадали на дискетах, был ли он бесплатным – не знаю. Скорее всего, нет. Это было похоже на Интернет, только локальный. В команде разработчиков первого web-браузера в CERN использовали идеи HyperCard, этим занимался Роберт Кайо, который, помимо всего прочего, был еще и опытным HyperCard-разработчиком. HyperCard — один из первоисточников Интернета. HyperCard не предоставлял ни выхода в большой мир, ни возможности непосредственно общаться с себе подобными во всех уголках мира. Говорят, будто именно этот недостаток его и погубил. Но эту функцию можно было добавить, не было ни одной технической или другой объективной причины, делавшей это невозможным. Интернета еще не было, а в муках рождающиеся средства коммуникаций персональных компьютеров были пока еще очень дороги, несовершенны и, кроме всего прочего, просто незнакомы автору программы. Билл Аткинсон пришел к ним через несколько лет, уже не в Apple. Первый контакт К пользователю HyperCard попадал в виде нескольких 3,5-дюймовых дискет (ёмкостью по 800 K). Он распространялся бесплатно. Мощная маркетинговая машина Apple поработала над его раскруткой, его объявили на летнем MacWorld 1987 года в Бостоне, и он не остался незамеченным. С этого момента HyperCard поставлялся с каждым приобретаемым Mac’ом. Очень быстро копии программы появились у дилеров Apple и у пользовательских групп, которые охотно делились им со всеми желающими. Программу копировали у знакомых. К началу 1988 года HyperCard был у миллионов пользователей. Представим себя одним из них. Вверху скриншот экрана, который видел пользователь, открывший HyperCard или его документ по имени Home. В зависимости от настроения и личных предпочтений, кто-то начинал с Help и Intro, кто-то открывал все подряд. Впечатления были разные, были и те, кто ничего не понял. Сегрегация по уровню интеллекта И была в HyperCard несколько необычная для Mac’овских программ черта, почти как в игре: пользователю предоставлялся “уровень доступа”, в зависимости от которого ему разрешалось выполнять те или иные действия. Правда, уровень доступа устанавливал сам пользователь. Если, конечно же, знал о его существовании и понимал, что это такое. Никто ничего не скрывал, информация была доступна в справке программы. Но не все заглядывают в Help. Уровень можно было выбрать в настройках, скриншот которых показан выше. Это самая обычная карточка. Пользователь с уровнем пять (Scripting) мог посмотреть, как устроена её функциональность. Назначить себя пользователем пятого уровня можно было прямо здесь. Настоящие пользователи пятого уровня делали это проще, из любой точки приложения, для этого надо было открыть Message Box (команда его открытия была в меню, и там же была указана эквивалентная ей клавиатурная комбинация, Command-M), впечатать в этот Box команду “set userlevel to 5” и нажать Enter или Return. Занимало это секунду. По умолчанию пользователю назначался уровень 2, разрешавший бродить по карточкам всех стэков, а также вводить и редактировать текст в текстовых полях. Первые два уровня – самые безопасные для среды HyperCard. Для использования чужих разработок второй уровень идеален. Третий уровень превращал карточки HyperCard в холст для рисования, не ограниченного никакими запретами или условностями. Представляете, во что мог превратить образцы стэков пытливый исследователь в возрасте 3-4 лет, если уровень был равен 3 или выше? Четвертый позволял совершать структурные изменения и создавать собственные объекты, пятый разрешал все. Программирование для всех В начале 1988 года сторонних стэков практически не было, только те, которые приходили вместе с комплектом HyperCard. Клиническая картина выглядела примерно так: сначала человек просто ходил и смотрел. Пробовал разные стэки, добавлял в адресную книгу свой и другие важные адреса, заносил в еженедельник планы – и начинал пользоваться. А когда человек начинает пользоваться чем-то каждый день, у него немедленно возникает желание что-нибудь изменить. Добавить поле, записать часто повторяющиеся действия в виде скрипта и привязать их к кнопке, что-то удалить, поменять, переставить… Наверняка вы сталкивались с чем-то подобным: все ли вас устраивает в программах iOS или Android, которыми вы пользуетесь каждый день? Ну хочется ведь что-то изменить! Просить об этом разработчиков программ практически бесполезно. Им не до того. Разработка коммерческого программного обеспечения – непростой технологический процесс, в него вовлечено множество людей. В их числе и те, кто отвечает за развитие и успех продукта. И планы, стратегические и тактические. Списки требуемых доработок и улучшений из сотен, а то и тысяч пунктов. Процедура принятия решений, увы, исключает случайность и спонтанность. То, что вызывает массовое недовольство, как правило, в эти списки попадает. Не всегда. Индустрия программного обеспечения живет по правилам, которые написаны кровью. Что-то в них не мешало бы изменить, но без нового кровопролития это уже не случится. А HyperCard позволял любому желающему заглянуть себе под капот, внести изменения и опробовать их, погружаясь в это увлекательное дело все глубже и глубже… Стэки HyperCard, скорее всего, были самым первым в мире программным обеспечением с открытым исходным кодом. В конце 1988 года на рынке появились первые программы, написанные в HyperCard. В их числе был и каталог стэков HyperCard с информацией, где и за сколько их можно было купить. Многие из героев этого каталога, без малейшего преувеличения, можно было назвать программами. В каталоге 1988 года было всего примерно 300 стэков. Но, как вы уже поняли, процесс поглощения человека этим вирусом занимал время. Путешествие к звездам Лос Гатоса Когда проект Macintosh превратился из непрерывного кризиса и авралов в нормальную обычную работу, Билл Аткинсон, автор QuickDraw и MacPaint, задумался о том, что будет дальше. У него была идея – планшетный коммуникационный компьютер, с графическим интерфейсом, MagicSlate (Slate – грифельная доска). Но убедить руководство Apple в необходимости MagicSlate он не смог. Три года непрерывных авралов и напряжения всех сил сказались: он впал в депрессию. Два месяца не работал и ничего не делал, сидя дома. В конце концов, он попробовал LSD. Совершил путешествие (LSD-trip). Он вдруг понял, как разобщены звезды на небе (термоядерные гигантские сущности) и фонари на улицах Лос Гатоса. Даже если бы им хотелось общаться, они не смогли бы. Между ними сотни световых лет. Точно так же люди разных специальностей. Каждый из них знает многое и важное, но друг друга они не слышат и не понимают. Физики, музыканты, врачи… Знание невозможно без информации, мудрость невозможна без знания – как программист, он может помочь распространению знаний. Он понял, каким должен быть инструмент создания приложений для всех. Которым сможет пользоваться, без посредника, любой человек со своими взглядами на жизнь. Карточки с текстом и графикой, умная навигация между ними, графический инструмент, который всегда под рукой, – так и появился на свет замысел HyperCard. И, не приходя в создание, он немедленно приступил к реализации наркотического бреда. Но на всякий случай предупрежу: LSD запрещен в РФ, дают до 3 лет за минимальную дозу. И хотя ужасы, которые про него рассказывают, научно не подтверждены, он может вызвать серьезные осложнения даже при единичном приеме.

HyperCard: звездная ночь в Лос Гатосе
© Apple Insider