In de afgelopen twee Retro Apple-artikelen heb ik aandacht besteed aan hardware van Apple die van grote invloed is geweest op de technische industrie als geheel: de Apple QuickTake 100 Digital Camera en de Apple Newton MessagePad 2100. Vandaag zal ik het hebben over een softwareproduct van Apple dat de wereld heeft veranderd en dat helaas niet meer bestaat: HyperCard.
The Roots of HyperCard
HyperCard was een krachtig, maar uiterst eenvoudig te gebruiken programma voor het maken van “stacks” – in wezen platte databases die hyperlinks gebruikten als een manier om door een stapel “kaarten” te navigeren. Toen HyperCard in 1987 voor het eerst werd uitgebracht, was er nog geen World Wide Web, dus het concept van hyperlinks was volledig nieuw. HyperCard heeft niet alleen veel Mac-fans op weg geholpen met programmeren, maar heeft ook de inspiratie geleverd voor een aantal van de gereedschappen die we vandaag de dag als vanzelfsprekend beschouwen.
De ontwikkeling van HyperCard begon toen Bill Atkinson, een van de belangrijkste ontwerpers van de grafische gebruikersinterface van de Mac, het systeem van gekoppelde kaarten voor ogen had tijdens een LSD-trip. Hij noemde de eerste versie WildCard, maar toen collega Dan Winkler begon te werken aan de scripttaal HyperTalk, waarmee gebruikers acties konden toewijzen aan objecten, werd de naam veranderd in HyperCard.
Hoewel het Apple-product niet meer bestaat, behalve op pre-macOS Macs en verzamelaars van Apple IIGS-machines, leeft de erfenis ervan voort.
HyperCard bestond tot 2004 als Apple-product voor Macs en Apple IIGS. Je kon het kopen voor 49,95 dollar, maar de meeste Mac-bezitters kregen het gratis, omdat het bij elke nieuwe Mac werd meegeleverd. Tegen de tijd dat HyperCard als product werd geschrapt, was de behoefte aan een dergelijk programma grotendeels vervangen door het World Wide Web. In plaats van standalone stacks koppelde het Web mensen met internetbrowsers als Netscape of het vreselijke Internet Explorer aan webpagina’s die op servers werden gehost.
Het is fascinerend om te bedenken dat de bedenker van het World Wide Web, Tim Berners-Lee, en de persoon achter het hypertext transfer protocol (HTTP), Robert Cailliau, beiden door HyperCard zijn beïnvloed. De bedenker van JavaScript, Brendan Eich, vond zijn inspiratie in de scripttaal HyperTalk. Zelfs het Wiki-concept (d.w.z. Wikipedia) vond zijn oorsprong in een HyperCard-stack die was gemaakt door Wiki-uitvinder Ward Cunningham. Bent u bekend met AppleScript, de scripttaal voor automatisering op de Mac? Deze is ook gebaseerd op HyperTalk. Als u in detail wilt zien hoe HyperTalk werkt, vindt u hier een link naar een PDF van de HyperTalk 2.4 Reference stack, met dank aan hypercard.org.
Waarom was HyperCard zo ongelooflijk? Het maakte het voor vrijwel iedereen mogelijk om eigen Mac-programma’s te maken. Deze programma’s werden in principe alleen beperkt door de verbeeldingskracht van de “auteurs” (Apple gebruikte de term “ontwikkelaar” niet voor HyperCard-programmeurs). De oorspronkelijke HyperTalk-taal was geïnterpreteerd, zodat complexe stacks traag konden werken, maar in 1989 bracht Apple HyperCard 2.0 uit, met een snelle HyperTalk-compiler voor snellere werking en een ingebouwde debugger.
Apple wilde echt dat iedereen zijn eigen programma’s kon maken, dus alles aan HyperCard was zo ongevaarlijk mogelijk. Programma’s waren “stacks”, ontwikkelaars waren “auteurs” en HyperTalk was een “scripttaal”. HyperTalk wordt beschouwd als een “high-level object-oriented scripting language”. Wat me tot op de dag van vandaag verbaast, is dat deze hele ontwikkelomgeving oorspronkelijk op slechts vier dubbelzijdige diskettes werd geleverd.
Ik gaf leiding aan een Mac-gebaseerde IT-afdeling voor een gasleidingbedrijf toen HyperCard voor het eerst werd gedemonstreerd op het plaatselijke Apple-kantoor, en de mogelijkheden van het programma trokken onmiddellijk mijn aandacht. Kort na de demonstratie organiseerde Apple een eendaags seminar met auteur Danny Goodman op het plaatselijke kantoor. Goodman had een boek geschreven met de titel “The Complete HyperCard Handbook”, en alle deelnemers kregen niet alleen de kans om HyperCard uit te proberen, maar kregen ook een gratis exemplaar van het boek. Dit boek wordt beschouwd als het best verkochte boek ooit voor het Mac-platform en was naar verluidt het snelst verkochte computerboek in de geschiedenis. Er werden meer dan 650.000 exemplaren van verkocht, en ik weet dat mijn exemplaar van de eerste editie snel versleten was!
Goodman liet ons zien hoe eenvoudig het was om een stapel te maken door een lege “kaart” te nemen, er velden en knoppen aan toe te voegen, en vervolgens scripts te schrijven die reageerden op muisacties of reageerden op de gegevens die in een kaart waren ingevoerd. Waarvoor kon je HyperCard en HyperTalk gebruiken? Alles en nog wat.
HyperMedia
Een veelgebruikt voorbeeld was een adresboek, maar de app leende zich om veel meer te doen. Bijvoorbeeld, laten we zeggen dat je een interactief leerboek wilde maken. Je zou een stapel kunnen maken die begint met een titelscherm, dan een inhoudsopgave heeft die – wanneer erop geklikt wordt – je naar een specifiek hoofdstuk of pagina stuurt. Op elke pagina konden afbeeldingen staan, of misschien links die een pop-up lieten zien met een definitie van een woord of term. Deze mogelijkheid werd destijds HyperMedia genoemd, een beschrijving van het gebruik van links in een mediapresentatie.
Veel programmeurs sprongen onmiddellijk op HyperCard als een tool voor het prototypen van GUI’s of het maken van werkende demo’s van volledige projecten. Het was zo eenvoudig om een lege kaart (scherm) te maken, knoppen en velden toe te voegen, en dan acties toe te voegen die ofwel door de gebruiker werden geïnitieerd (door ergens op te klikken) of die achter de schermen werden uitgevoerd. Voor bedrijven die zelflopende computerkiosken nodig hadden, was HyperCard perfect, omdat een HyperCard-stack kon worden ingesteld om automatisch te starten wanneer een Mac opstartte.
Denk niet dat HyperCard, omdat het eenvoudig in gebruik was, niet door serieuze ontwikkelaars werd gebruikt. Het razend populaire spel Myst uit de jaren negentig is gemaakt met behulp van HyperCard.
Danny Goodman realiseerde zich dat het enorme succes van zijn eerste boek en HyperCard smeekte om een vervolg, dus schreef hij de HyperCard Developer’s Guide. Er is nog één exemplaar beschikbaar op Amazon, als iemand geïnteresseerd is!
Geïnspireerd door Goodman ben ik begonnen met het maken van stacks, zowel voor eigen gebruik als voor mijn bedrijf. Om te beginnen maakte ik wat trainingsmateriaal voor nieuwe werknemers, waarbij ik gebruikmaakte van de mogelijkheden van HyperCard om de werknemers niet alleen te trainen in veiligheidsvoorschriften, maar ze ook te testen.
HyperCard kon worden uitgebreid met XCMD’s (External Commands) en XFCN’s (External Functions), die zowel door Apple als door externe ontwikkelaars waren gemaakt. Ons moederbedrijf in die tijd runde het factureringssysteem op IBM mainframes, en ik herinner me dat ik weinig interesse toonde in een XCMD waarover ik had gehoord en die mainframe connectiviteit bood.
Dat veranderde op een dag toen ik met ons factureringsteam werkte en ze gefrustreerd waren over het gebrek aan vooruitgang van de mainframe programmeurs over een manier om een deel van de ruwe informatie die binnenkwam van gasmeters in de staat Colorado te verwerken in mailbare rekeningen. Het viel me op dat ik de mainframe connectiviteit XCMD kon gebruiken om een onbewerkt bestand van het mainframe te halen, en dan HyperScript’s krachtige tekstverwerkingsfuncties kon gebruiken om de gegevens te ontleden in een .csv bestandsformaat dat geïmporteerd kon worden in een Microsoft Excel spreadsheet. De spreadsheets konden dan gebruikt worden voor de facturering.
De mainframe programmeurs waren hier niet blij mee, maar toen ik het systeem binnen een week operationeel had – terwijl ze verwachtten dat het nog minstens negen maanden zou duren om een mainframe oplossing werkend te krijgen – zeiden ze me dat ik er voor moest gaan. Ik zal niet ingaan op de details van HyperScript’s tekstverwerking, maar dit Wikipedia artikel legt goed uit wat “chunking” genoemd werd en de “chunk expressions” die het mogelijk maakten. Oh, en tussen haakjes, het kostte de mainframe programmeurs meer dan drie jaar om dezelfde functies die ik had binnen een week te implementeren. Het is niet dat ze de vaardigheid niet hadden; ze gaven alleen geen prioriteit aan ons project.
De volgende video is van hypercard.org, en laat aan de hand van een eenvoudig voorbeeld het proces zien van het maken van een stack, het toevoegen van afbeeldingen, het koppelen van kaarten, en het doen van scripting. Met dank aan Uli Kusterer (@uliwitness) die me de video hier heeft laten insluiten.
De gebruikersinterface van HyperCard was voor het grootste deel strikt monochroom. Toen HyperCard 2.2 in 1992 verscheen, bevatte het twee commerciële invoegtoepassingen waarmee kleurenafbeeldingen en -animaties konden worden ondersteund. Apple had geen problemen met concurrenten in die tijd, dus maakten andere bedrijven HyperCard-klonen met functies die Apple niet had toegevoegd.
SuperCard
Een van mijn favoriete klonen was SuperCard, dat kleur volledig ondersteunde en veel kracht had… maar natuurlijk niet echt kon concurreren met het Web. Gelukkig is het nog steeds verkrijgbaar bij een bedrijf genaamd Software Essentials en draait het prachtig op macOS. Het bedrijf geeft korting aan iedereen met oud, origineel HyperCard-materiaal (verpakkingen, schijven en handleidingen), en SuperCard kan oude HyperCard-stapels vertalen naar het bijgewerkte formaat. Misschien wordt het tijd dat ik weer aan SuperCard begin!
Ik heb vaak gedacht dat een moderne HyperCard de perfecte aanvulling zou zijn op iPhones en iPads, waarmee vrijwel iedereen zijn eigen apps zou kunnen maken zonder dat Xcode en een Mac nodig zijn om ontwikkelingswerk te doen. Luister je wel, Tim Cook?
Op een gegeven moment was er een bloeiende huisindustrie van commerciële stackauteurs, en ik was een van hen. Heizer Software runde wat de “Stack Exchange” werd genoemd, een plek waar stack-auteurs hun waren konden verkopen. Net als Apple met de huidige app stores, nam Heizer een deel van elke verkoop om de winkel te runnen, maar auteurs konden behoorlijk goed leven van de verkoop van populaire stacks. Het bedrijf stuurde gedrukte catalogi rond met beschrijvingen en screenshots van elke stapel; je bestelde via de slakkenpost en ontving vervolgens floppies (later CD’s) met de stapel(s) erop.
Probeer HyperCard op je huidige Mac
Misschien heeft deze lange blik in het verleden je zin gegeven om op zoek te gaan naar een oude Mac, die te vullen met System 7 of 8, en dan een kopie van HyperCard te starten. Dat is niet nodig, want er is een prachtige emulator op het Internet Archive die in een webbrowser draait.
- Om een voorproefje van deze emulator te krijgen, richt je je favoriete browser op https://archive.org/details/AppleMacintoshSystem753 en klik je vervolgens op de groene knop op het “plaatje”. Een geëmuleerde Mac met System 7.5.3 – inclusief HyperCard – wordt gestart, en je kunt met de bestaande stacks spelen of je eigen stacks maken. Je kunt de emulator zelfs op je iPhone of iPad laten draaien!
- Als je wat meer tijd hebt, is er ook een emulator beschikbaar met 250 MB aan HyperCard-stacks van de Berkeley Mac User Group (BMUG). Het duurt even voordat deze is gedownload en opgestart, dus wees geduldig.
Zoals de Newton MessagePad, die de inspiratie vormde voor de huidige krachtige en draagbare smartphones en tablets, en de QuickTake 100 (de eerste populaire digitale camera voor consumenten), heeft HyperCard een impact gehad die tot op de dag van vandaag nog steeds voelbaar is. Wanneer je de Automator-app van de Mac opstart of met Shortcuts op iPad of iPhone werkt, zie je een weerspiegeling van de mogelijkheden van HyperCard. Ik hoop dat dit artikel lezers zal inspireren om HyperCard niet alleen via de emulator te bekijken, maar ook om de moderne tools te gebruiken om hun eigen workflows te maken. Ze zijn misschien niet zo leuk als de oude HyperCard-stacks, maar ze zijn zeker krachtiger.