Welcome to HyperCard
Welcome to HyperCard

W ostatnich dwóch artykułach Retro Apple, zwróciłem uwagę na sprzęt Apple, który wywarł wpływ na całą branżę technologiczną: Apple QuickTake 100 Digital Camera i Apple Newton MessagePad 2100. Dziś opowiem o produkcie oprogramowania Apple, który zmienił świat i niestety już nie istnieje: HyperCard.

Korzenie HyperCard

HyperCard był potężnym, a jednocześnie niezwykle łatwym w użyciu narzędziem do tworzenia „stosów” – zasadniczo płaskich baz danych, które wykorzystywały hiperłącza jako sposób poruszania się po stosie „kart”. Należy zrozumieć, że w czasie, gdy HyperCard został po raz pierwszy wydany w 1987 roku, nie istniał jeszcze World Wide Web, więc koncepcja hiperłączy była zupełnie nowa. HyperCard nie tylko sprawił, że wielu fanów komputerów Mac zaczęło programować, ale także zainspirował niektóre z narzędzi, które dziś uważamy za oczywiste.

Rozwój HyperCard rozpoczął się, gdy Bill Atkinson, jeden z kluczowych projektantów graficznego interfejsu użytkownika komputera Mac, wyobraził sobie system połączonych kart podczas podróży LSD. Odnosił się do pierwszej wersji jako WildCard, ale jak kolega pracownik Apple Dan Winkler rozpoczął pracę na HyperTalk skryptowego języka, który pozwoliłby użytkownikom przypisać działania do obiektów, nazwa została zmieniona na HyperCard.

Choć produkt Apple nie istnieje już z wyjątkiem pre-macOS Macs i maszyn kolekcjonerskich Apple IIGS, jego dziedzictwo żyje dalej.

Imagining The Rocket Yard and MacSales.com as a HyperCard stack...
Imagining The Rocket Yard and MacSales.com as a HyperCard stack…

HyperCard istniał jako produkt Apple dla komputerów Mac i Apple IIGS do 2004 roku. Można go było kupić za 49,95$, ale większość posiadaczy Maców dostała go za darmo, ponieważ był dołączany do każdego nowego Maca. Do czasu, gdy HyperCard został wycofany jako produkt, potrzeba takiego narzędzia została w dużej mierze zastąpiona przez World Wide Web. Zamiast samodzielnych stosów, sieć Web łączyła ludzi używających przeglądarek internetowych takich jak Netscape lub okropny Internet Explorer ze stronami internetowymi umieszczonymi na serwerach.

Fascynujące jest to, że twórca World Wide Web, Tim Berners-Lee, i osoba stojąca za protokołem transferu hipertekstu (HTTP), Robert Cailliau, obaj byli pod wpływem HyperCard. Dla twórcy JavaScriptu, Brendana Eicha, inspiracją był język skryptowy HyperTalk. Nawet koncepcja Wiki (tzn. Wikipedii) znalazła swoje korzenie w stosie HyperCard stworzonym przez wynalazcę Wiki, Warda Cunninghama. Czy znasz AppleScript, język skryptowy automatyzacji na komputerach Mac? Jest on również oparty na HyperTalk. Jeśli chcesz szczegółowo przyjrzeć się, jak działał HyperTalk, oto link do pliku PDF stosu referencyjnego HyperTalk 2.4 dzięki uprzejmości hypercard.org.

Dlaczego HyperCard był tak niesamowity? Umożliwił on każdemu tworzenie własnych programów na Maca. Programy te były w zasadzie ograniczone tylko wyobraźnią „autorów” (Apple nie używało terminu „programista” w odniesieniu do programistów HyperCarda). Oryginalny język HyperTalk był interpretowany, więc złożone stosy mogły działać powoli, ale w 1989 roku firma Apple wydała HyperCard 2.0, który zawierał kompilator HyperTalk przyspieszający działanie, a także wbudowany debugger.

Apple naprawdę chciał, aby każdy mógł tworzyć własne programy, więc wszystko w HyperCard było tak niezagrażające, jak to tylko możliwe. Programy to „stosy”, programiści to „autorzy”, a HyperTalk to „język skryptowy”. HyperTalk jest uważany za „obiektowy język skryptowy wysokiego poziomu”. Do dziś zadziwia mnie fakt, że całe to środowisko programistyczne pierwotnie mieściło się na zaledwie czterech dwustronnych dyskietkach.

Moje wciąż zapieczętowane dyskietki HyperCard i dołączony do nich podręcznik
Moje wciąż zapieczętowane dyskietki HyperCard i dołączony do nich podręcznik

Prowadziłem dział IT oparty na komputerach Mac w firmie produkującej gazociągi, gdy HyperCard został po raz pierwszy zademonstrowany w lokalnym biurze Apple, a potencjał tego narzędzia natychmiast przykuł moją uwagę. Wkrótce po tej demonstracji Apple zorganizowało w lokalnym biurze jednodniowe seminarium z udziałem autora Danny’ego Goodmana. Goodman napisał książkę zatytułowaną „The Complete HyperCard Handbook”, a wszyscy uczestnicy seminarium nie tylko mieli szansę wypróbować HyperCard, ale także otrzymali kopię książki za darmo. Książka ta jest uważana za najlepiej sprzedającą się książkę na platformę Mac i była podobno najszybciej sprzedającą się książką komputerową w historii. Sprzedano ponad 650 000 egzemplarzy, a wiem, że moja kopia pierwszego wydania szybko się zużyła!

Goodman pokazał nam, jak łatwo było stworzyć stos, biorąc pustą „kartę”, dodając do niej pola i przyciski, a następnie pisząc skrypty, które reagowały na działania myszy lub działały na dane wprowadzone do karty. Do czego można wykorzystać HyperCard i HyperTalk? Wszystko i do wszystkiego.

HyperMedia

Jednym z powszechnych przykładów była książka adresowa, ale aplikacja ta nadawała się do czegoś więcej. Na przykład, powiedzmy, że chciałeś stworzyć interaktywny podręcznik. Można utworzyć stos, który rozpoczął się od ekranu tytułowego, a następnie miał spis treści, który – po kliknięciu – wysłał cię do konkretnego rozdziału lub strony. Każda strona mogła mieć grafikę lub linki, które wywoływały wyskakujące okienko z definicją słowa lub terminu. Ta możliwość została nazwana HyperMedia w tym czasie, opisując użycie linków w prezentacji multimedialnej.

Wielu programistów natychmiast wskoczyło na HyperCard jako narzędzie do prototypowania GUI lub tworzenia działających wersji demonstracyjnych pełnych projektów. Tak łatwo było stworzyć pustą kartę (ekran), dodać przyciski i pola, a następnie dodać działania, które były inicjowane przez użytkownika (kliknięcie na coś) lub które działały za kulisami. Dla firm, które potrzebowały samouruchamiających się kiosków komputerowych, HyperCard był idealny, ponieważ stos HyperCard można było ustawić tak, aby uruchamiał się automatycznie po uruchomieniu komputera Mac.

Nie myśl, że ponieważ HyperCard był łatwy w użyciu, nie był używany przez poważnych programistów. Szalenie popularna w latach 90. gra Myst została stworzona przy użyciu HyperCarda.

Danny Goodman zdał sobie sprawę, że ogromny sukces jego pierwszej książki i HyperCarda aż prosi się o kontynuację, więc napisał HyperCard Developer’s Guide. Na Amazon wciąż jest dostępna jedna kopia, jeśli ktoś jest zainteresowany!

Danny Goodman prawdopodobnie zrobił więcej, aby spopularyzować HyperCard jako potężne narzędzie do programowania i prototypowania, niż ktokolwiek inny
Danny Goodman prawdopodobnie zrobił więcej, aby spopularyzować HyperCard jako potężne narzędzie do programowania i prototypowania, niż ktokolwiek inny

Zainspirowany przez Goodmana, zacząłem tworzyć stosy zarówno na własny użytek, jak i dla mojej firmy. Na początek stworzyłem materiały szkoleniowe dla nowych pracowników, które wykorzystywały możliwości HyperCarda nie tylko do szkolenia pracowników w zakresie przepisów bezpieczeństwa, ale także do ich testowania.

HyperCard mógł być rozszerzany za pomocą XCMD (Zewnętrznych poleceń) i XFCN (Zewnętrznych funkcji), które były tworzone zarówno przez Apple, jak i przez zewnętrznych programistów. Nasza firma macierzysta w tym czasie prowadziła system billingowy naszej firmy na mainframe’ach IBM i pamiętam, że wykazywałem małe zainteresowanie XCMD, o którym słyszałem, że zapewniał łączność z mainframe’ami.

Zmieniło się to pewnego dnia, kiedy pracowałem z naszym zespołem billingowym i byli sfrustrowani brakiem postępu ze strony programistów mainframe’a w sprawie sposobu przetwarzania niektórych surowych informacji, które przychodziły z miejsc pomiaru gazu w całym stanie Kolorado na rachunki wysyłkowe. Przyszło mi do głowy, że mógłbym użyć XCMD do ściągnięcia surowego pliku z mainframe’a, a następnie użyć HyperScriptu do przetworzenia danych do formatu .csv, który można by zaimportować do arkusza kalkulacyjnego Microsoft Excel. Arkusze kalkulacyjne mogłyby być następnie użyte do celów rozliczeniowych.

Programiści mainframe’a wzbraniali się przed tym, ale kiedy miałem system uruchomiony w ciągu tygodnia – kiedy spodziewali się, że zajmie to co najmniej dziewięć miesięcy więcej, aby uzyskać rozwiązanie mainframe’owe działające – powiedzieli mi, żebym to zrobił. Chociaż nie będę zagłębiał się w szczegóły obsługi tekstu przez HyperScript, ten artykuł w Wikipedii świetnie wyjaśnia, co nazywane jest „chunkingiem” i „wyrażeniami chunk”, które to umożliwiły. Aha, i przy okazji, programistom mainframe zajęło ponad trzy lata zaimplementowanie tych samych funkcji, które ja uruchomiłem w ciągu tygodnia. Nie chodzi o to, że nie mieli umiejętności; oni po prostu nie nadali priorytetu naszemu projektowi.

Następujący film pochodzi z hypercard.org, i poprzez prosty przykład pokazuje proces tworzenia stosu, dodawania obrazów, łączenia kart i wykonywania skryptów. Wielkie podziękowania dla Uli Kusterer (@uliwitness) za pozwolenie na osadzenie filmu tutaj.

Wideo pokazujące HyperCard w użyciu, tworzące prosty stos

Interfejs użytkownika HyperCard był, w przeważającej części, ściśle monochromatyczny. Kiedy w 1992 roku pojawił się HyperCard 2.2, zawierał dwa komercyjne dodatki, które umożliwiały obsługę kolorowych obrazów i animacji. Apple nie miało wtedy problemów z konkurencją, więc inne firmy stworzyły „klony” HyperCarda, które mogły się pochwalić funkcjami, których Apple nie dodało.

SuperCard

Jednym z moich ulubionych klonów był SuperCard, który w pełni obsługiwał kolor i miał dużo mocy… ale oczywiście nie mógł konkurować z siecią WWW. Na szczęście wciąż jest dostępny w firmie o nazwie Software Essentials i działa pięknie na macOS. Firma zapewnia zniżkę dla każdego, kto ma stare, oryginalne materiały HyperCard (opakowania, dyski i podręczniki), a SuperCard może przetłumaczyć stare stosy HyperCard na swój zaktualizowany format. Być może nadszedł czas, abym wrócił do SuperCard!

Często myślałem, że współczesny HyperCard byłby idealnym dodatkiem do iPhone’ów i iPadów, pozwalając każdemu na tworzenie własnych aplikacji bez potrzeby korzystania z Xcode i komputera Mac do pracy programistycznej. Czy ty słuchasz, Tim Cook?

Wymiana stosów Heizer Software zapewniała katalog stosów HyperCard, a także rynek dla niedoszłych programistów.
Wymiana stosów Heizer Software zapewniała katalog stosów HyperCard, a także rynek dla niedoszłych programistów.

W pewnym momencie istniał kwitnący chałupniczy przemysł komercyjnych autorów stosów, a ja byłem jednym z nich. Heizer Software prowadził coś, co nazywało się „Stack Exchange”, miejsce dla autorów stosów, aby sprzedawać swoje towary. Podobnie jak Apple z obecnych sklepów z aplikacjami, Heizer wziął część każdej sprzedaży, aby uruchomić sklep, ale autorzy mogli całkiem nieźle żyć ze sprzedaży popularnych stosów. Firma wysyłała drukowane katalogi z opisami i zrzutami ekranu każdego stosu; zamawiałeś pocztą tradycyjną, a następnie otrzymywałeś dyskietki (w późniejszym terminie płyty CD) ze stosem(ami) na nich.

Próbuj HyperCard na swoim obecnym Macu

Może to długie spojrzenie w dół uliczki pamięci dało Ci ochotę na znalezienie starego Maca, załadowanie go Systemem 7 lub 8, a następnie odpalenie kopii HyperCard. Cóż, nie musicie tego robić – w Internet Archive znajduje się wspaniały emulator, który działa w przeglądarce internetowej.

  • Aby posmakować tego emulatora, skieruj swoją ulubioną przeglądarkę na https://archive.org/details/AppleMacintoshSystem753, a następnie kliknij zielony przycisk na „obrazku”. Uruchomi się emulowany Mac z Systemem 7.5.3 – w tym HyperCard – i będziesz mógł bawić się istniejącymi stosami lub tworzyć własne. Można nawet uruchomić emulator na iPhonie lub iPadzie!
  • Jeśli masz trochę więcej czasu, jest też emulator, który zawiera 250 MB różnych stosów HyperCard z Berkeley Mac User Group (BMUG). Pobieranie i uruchamianie zajmie trochę czasu, więc bądź cierpliwy.

Podobnie jak Newton MessagePad, który zainspirował dzisiejsze potężne i przenośne smartfony i tablety, oraz QuickTake 100 (pierwszy popularny konsumencki aparat cyfrowy), HyperCard miał wpływ na to, co jest odczuwalne do dziś. Kiedy uruchamiasz aplikację Automator na komputerze Mac lub pracujesz z aplikacją Shortcuts na iPadzie lub telefonie iPhone, widzisz odbicie możliwości HyperCarda. Mam nadzieję, że ten artykuł zainspiruje czytelników nie tylko do przyjrzenia się HyperCardowi za pośrednictwem emulatora, ale także do spróbowania swoich sił z nowoczesnymi narzędziami do tworzenia własnych przepływów pracy. Może nie są one tak zabawne jak stare stosy HyperCarda, ale z pewnością są bardziej wydajne.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.