I de seneste to Retro Apple-artikler har jeg fremhævet hardware fra Apple, der fik indflydelse på den teknologiske industri som helhed: Apple QuickTake 100 Digital Camera og Apple Newton MessagePad 2100. I dag vil jeg tale om et Apple-softwareprodukt, der ændrede verden, og som desværre ikke længere eksisterer: HyperCard.
Rødderne til HyperCard
HyperCard var et kraftfuldt, men ekstremt letanvendeligt værktøj til at skabe “stakke” – i bund og grund databaser med flade filer, der brugte hyperlinks som en måde at navigere i en stak “kort” på. Man skal forstå, at da HyperCard blev udgivet første gang i 1987, fandtes der ikke noget World Wide Web, så begrebet hyperlinks var helt nyt. HyperCard fik ikke blot en masse Mac-fans i gang med programmering, men inspirerede også nogle af de værktøjer, som vi tager for givet i dag.
HyperCard-udviklingen begyndte, da Bill Atkinson, en af de vigtigste designere af den grafiske brugergrænseflade til Mac, forestillede sig systemet med linkede kort under et LSD-trip. Han omtalte den første version som WildCard, men da en anden Apple-medarbejder, Dan Winkler, begyndte at arbejde på scriptsproget HyperTalk, som ville give brugerne mulighed for at tildele handlinger til objekter, blev navnet ændret til HyperCard.
Mens Apple-produktet ikke længere eksisterer undtagen på Macs fra før MacOS og Apple IIGS-maskiner til indsamling, lever dets arv videre.
HyperCard eksisterede som et Apple-produkt til Mac og Apple IIGS frem til 2004. Man kunne købe det for 49,95 dollars, men de fleste Mac-ejere fik det gratis, da det fulgte med hver ny Mac. Da HyperCard blev droppet som et produkt, var behovet for et sådant værktøj stort set blevet erstattet af World Wide Web. I stedet for enkeltstående stakke forbandt nettet folk, der brugte internetbrowsere som Netscape eller den forfærdelige Internet Explorer, med websider, der var hostet på servere.
Det er fascinerende at tænke på, at skaberen af World Wide Web, Tim Berners-Lee, og personen bag hypertext transfer protocol (HTTP), Robert Cailliau, begge var påvirket af HyperCard. Skaberen af JavaScript, Brendan Eich, lod sig inspirere af scriptingsproget HyperTalk. Selv Wiki-konceptet (dvs. Wikipedia) fandt sine rødder i en HyperCard stack, der blev skabt af Wiki-opfinderen Ward Cunningham. Er du bekendt med AppleScript, scriptsproget til automatisering på Mac? Det er også baseret på HyperTalk. Hvis du vil have et detaljeret indblik i, hvordan HyperTalk fungerede, er her et link til en PDF-fil af HyperTalk 2.4 Reference stack, venligst udlånt af hypercard.org.
Hvorfor var HyperCard så utroligt? Det gjorde det muligt for stort set alle at lave deres egne Mac-programmer. Disse programmer var i princippet kun begrænset af “forfatternes” fantasi (Apple brugte ikke udtrykket “udvikler” for HyperCard-programmører). Det oprindelige HyperTalk-sprog var fortolket, så komplekse stakke kunne være langsomme i drift, men i 1989 udgav Apple HyperCard 2.0, som indeholdt en on-the-fly HyperTalk-kompiler til hurtigere drift samt en indbygget debugger.
Apple ønskede virkelig, at alle skulle kunne lave deres egne programmer, så alt ved HyperCard var så utryghedsskabende som muligt. Programmer var “stakke”, udviklere var “forfattere”, og HyperTalk var et “scriptingsprog”. HyperTalk betragtes som et “objektorienteret scriptingsprog på højt niveau”. Det, der forbløffer mig den dag i dag, er, at hele dette udviklingsmiljø oprindeligt blev leveret på blot fire dobbeltsidede disketter.
Jeg var leder af en Mac-baseret it-afdeling for et gasrørledningsselskab, da HyperCard blev demonstreret første gang på det lokale Apple-kontor, og værktøjets potentiale fangede straks min opmærksomhed. Kort tid efter demonstrationen afholdt Apple et endagsseminar med forfatteren Danny Goodman på det lokale kontor. Goodman havde skrevet en bog med titlen “The Complete HyperCard Handbook”, og alle deltagere fik ikke blot mulighed for at afprøve HyperCard, men fik også et gratis eksemplar af bogen. Denne bog anses for at være den bedst sælgende bog nogensinde til Mac-platformen og var angiveligt den hurtigst sælgende computerbog i historien. Der blev solgt over 650.000 eksemplarer, og jeg ved, at mit eksemplar af den første udgave hurtigt blev slidt op!
Goodman viste os, hvor let det var at oprette en stak ved at tage et tomt “kort”, tilføje felter og knapper til det og derefter skrive scripts, der reagerede på musens handlinger eller handlede på de data, der blev indtastet i et kort. Hvad kunne man bruge HyperCard og HyperTalk til? Alt og alle mulige ting.
HyperMedia
Et almindeligt eksempel på en stack var en adressebog, men programmet egnede sig til at gøre meget mere. Lad os f.eks. sige, at du ønskede at oprette en interaktiv lærebog. Du kunne oprette en stack, der startede med en titelskærm og derefter havde en indholdsfortegnelse, som – når du klikkede på den – sendte dig til et bestemt kapitel eller en bestemt side. Hver side kunne have grafik på den, eller måske links, der bragte en pop-up med en definition af et ord eller et begreb frem. Denne mulighed blev dengang kaldt HyperMedia og beskrev brugen af links i en mediepræsentation.
En masse programmører kastede sig straks over HyperCard som et værktøj til at lave prototyper af GUI’er eller til at skabe arbejdsdemoer af hele projekter. Det var så enkelt at få et tomt kort (skærm) frem, tilføje knapper og felter og derefter tilføje handlinger, som enten var brugerinitierede (klikke på noget) eller som kørte bag kulisserne. For virksomheder, der havde brug for selvkørende computerkiosker, var HyperCard perfekt, da en HyperCard stack kunne indstilles til at køre automatisk, når en Mac startede op.
Tro ikke, at fordi HyperCard var let at bruge, at det ikke blev brugt af seriøse udviklere. Det vildt populære spil Myst fra 1990’erne blev skabt ved hjælp af HyperCard.
Danny Goodman indså, at den enorme succes med hans første bog og HyperCard tiggede om en opfølger, så han skrev HyperCard Developer’s Guide. Der er stadig et eksemplar tilgængeligt på Amazon, hvis nogen er interesseret!
Inspireret af Goodman begyndte jeg at lave stacks både til eget brug og til min virksomhed. Til at begynde med skabte jeg nogle uddannelsesmaterialer til nye medarbejdere, som brugte HyperCards muligheder til ikke blot at oplære medarbejderne i sikkerhedsregler, men også til at teste dem.
HyperCard kunne udvides ved hjælp af XCMD’er (eksterne kommandoer) og XFCN’er (eksterne funktioner), som blev skabt både af Apple og af tredjepartsudviklere. Vores moderselskab kørte dengang vores virksomheds faktureringssystem på IBM mainframes, og jeg husker, at jeg viste ringe interesse for en XCMD, som jeg havde hørt om, og som gav mainframe-tilslutning.
Det ændrede sig en dag, da jeg arbejdede sammen med vores faktureringsteam, og de var frustrerede over de manglende fremskridt fra mainframe-programmørerne med hensyn til en måde at behandle nogle af de rå oplysninger, der kom ind fra gasmålersteder rundt om i staten Colorado, til postbare fakturaer. Jeg kom i tanke om, at jeg kunne bruge mainframeforbindelsen XCMD til at trække en råfil ned fra mainframen og derefter bruge HyperScript’s kraftfulde tekstbehandlingsfunktioner til at analysere dataene til et .csv-filformat, der kunne importeres til et Microsoft Excel-regneark. Regnearkene kunne derefter bruges til faktureringsformål.
Mainframe-programmørerne var imod dette, men da jeg fik systemet op at køre i løbet af en uge – hvor de forventede, at det ville tage mindst ni måneder mere at få en mainframeløsning til at fungere – sagde de, at jeg skulle gøre det. Jeg vil ikke gå i detaljer med HyperScript’s teksthåndtering, men denne Wikipedia-artikel gør et godt stykke arbejde med at forklare, hvad der blev kaldt “chunking” og de “chunk expressions”, der gjorde det muligt. Åh, og forresten tog det mainframe-programmørerne mere end tre år at implementere de samme funktioner, som jeg fik til at køre inden for en uge. Det er ikke fordi de ikke havde evnerne; de prioriterede bare ikke vores projekt.
Den følgende video er fra hypercard.org, og gennem et simpelt eksempel viser den processen med at oprette en stack, tilføje billeder, sammenkoble kort og lave scripting. Mange tak til Uli Kusterer (@uliwitness) for at lade mig indlejre videoen her.
HyperCards brugergrænseflade var for det meste strengt monokrom. Da HyperCard 2.2 udkom i 1992, indeholdt det to kommercielle tilføjelser, der gjorde det muligt at understøtte farvebilleder og animationer. Apple havde ingen problemer med konkurrenter på det tidspunkt, så andre virksomheder skabte HyperCard-“kloner”, der kunne prale af funktioner, som Apple ikke tilføjede.
SuperCard
En af mine yndlingskloner var SuperCard, der fuldt ud understøttede farver og havde en masse kraft … men den kunne selvfølgelig ikke rigtig konkurrere med internettet. Heldigvis er det stadig tilgængeligt fra et firma ved navn Software Essentials og kører smukt på macOS. Firmaet giver rabat til alle, der har gamle, originale HyperCard-materialer (emballage, diske og manualer), og SuperCard kan oversætte gamle HyperCard-stakke til sit opdaterede format. Måske er det på tide, at jeg igen går i gang med SuperCard!
Jeg har ofte tænkt, at et moderne HyperCard ville være det perfekte tilbehør til iPhones og iPads, så stort set alle kunne lave deres egne apps uden at skulle bruge Xcode og en Mac til at lave udviklingsarbejde. Hører du efter, Tim Cook?
På et tidspunkt var der en blomstrende sommerhusindustri af kommercielle stack-forfattere, og jeg var en af dem. Heizer Software drev det, der blev kaldt “Stack Exchange”, et sted, hvor stakforfattere kunne sælge deres varer. Ligesom Apple med de nuværende app stores tog Heizer en andel af hvert salg for at drive butikken, men forfatterne kunne tjene en ret god indtægt på at sælge populære stacks. Firmaet sendte trykte kataloger ud med beskrivelser og skærmbilleder af hver enkelt stack; man bestilte med sneglepost og modtog derefter disketter (senere cd’er) med stack’en eller stack’erne på.
Prøv HyperCard på din nuværende Mac
Måske har dette lange kig ned ad hukommelsesbanen givet dig lyst til at finde en gammel Mac, fylde den op med System 7 eller 8 og derefter starte en kopi af HyperCard. Det behøver du ikke at gøre – der findes en vidunderlig emulator på Internet Archive, som kører i en webbrowser.
- For at få en smagsprøve på denne emulator skal du pege din foretrukne browser til https://archive.org/details/AppleMacintoshSystem753 og derefter klikke på den grønne knap på “billedet”. En emuleret Mac, der kører System 7.5.3 – inklusive HyperCard – starter, og du kan lege med de eksisterende stakke eller oprette dine egne. Du kan endda køre emulatoren på din iPhone eller iPad!
- Hvis du har lidt mere tid, er der også opsat en emulator, der indeholder 250 MB af forskellige HyperCard stacks fra Berkeley Mac User Group (BMUG). Det vil tage noget tid at downloade og starte op, så vær tålmodig.
Som Newton MessagePad, der inspirerede nutidens kraftfulde og bærbare smartphones og tablets, og QuickTake 100 (det første populære digitale forbrugerkamera), fik HyperCard en indflydelse på, der stadig mærkes den dag i dag. Når du starter Mac’s Automator-app eller arbejder med Genveje på iPad eller iPhone, ser du en afspejling af HyperCard’s muligheder. Jeg håber, at denne artikel vil inspirere læserne til ikke blot at tage et kig på HyperCard gennem emulatoren, men også til at prøve kræfter med de moderne værktøjer for at skabe deres egne arbejdsgange. De er måske ikke lige så sjove som de gamle HyperCard stakke, men de er helt sikkert mere kraftfulde.