I de senaste två Retro Apple-artiklarna har jag lyft fram hårdvara från Apple som påverkat teknikbranschen som helhet: Apple QuickTake 100 Digitalkamera och Apple Newton MessagePad 2100. Idag ska jag tala om en mjukvaruprodukt från Apple som förändrade världen och som tyvärr inte längre existerar: HyperCard.
HyperCards rötter
HyperCard var ett kraftfullt men extremt lättanvänt verktyg för att skapa ”staplar” – i huvudsak databaser med platta filer som använde hyperlänkar som ett sätt att navigera i en stapel av ”kort”. Man måste förstå att när HyperCard släpptes 1987 fanns det ingen World Wide Web, så begreppet hyperlänkar var helt nytt. HyperCard fick inte bara många Mac-fans att börja programmera, utan inspirerade också några av de verktyg som vi tar för givet i dag.
HyperCard-utvecklingen började när Bill Atkinson, en av de viktigaste konstruktörerna av Macs grafiska användargränssnitt, föreställde sig systemet med länkade kort under en LSD-resa. Han kallade den första versionen för WildCard, men när en annan Apple-anställd, Dan Winkler, började arbeta med skriptspråket HyperTalk, som skulle göra det möjligt för användarna att tilldela objekt åtgärder, ändrades namnet till HyperCard.
Men även om Apple-produkten inte längre existerar utom på Macs före MacOS och på Apple IIGS-maskiner för samlare, lever dess arv vidare.
HyperCard existerade som en Apple-produkt för Mac och Apple IIGS till 2004. Man kunde köpa den för 49,95 dollar, men de flesta Mac-ägare fick den gratis eftersom den följde med varje ny Mac. När HyperCard lades ner som produkt hade behovet av ett sådant verktyg till stor del ersatts av World Wide Web. I stället för fristående stackar kopplade webben samman personer som använde webbläsare som Netscape eller den fruktansvärda Internet Explorer med webbsidor som låg på servrar.
Det är fascinerande att tänka på att skaparen av World Wide Web, Tim Berners-Lee, och personen bakom hypertext transfer protocol (HTTP), Robert Cailliau, båda påverkades av HyperCard. Skaparen av JavaScript, Brendan Eich, inspirerades av skriptspråket HyperTalk. Till och med Wiki-konceptet (dvs. Wikipedia) har sina rötter i en HyperCard-stack som skapades av Wiki-uppfinnaren Ward Cunningham. Känner du till AppleScript, skriptspråket för automatisering på Mac? Det är också baserat på HyperTalk. Om du vill ha en detaljerad titt på hur HyperTalk fungerade, finns här en länk till en PDF av HyperTalk 2.4 Reference stack med tillstånd från hypercard.org.
Varför var HyperCard så otroligt? Det gjorde det möjligt för nästan vem som helst att skapa egna Mac-program. Dessa program begränsades i princip bara av ”författarnas” fantasi (Apple använde inte termen ”utvecklare” för HyperCard-programmerare). Det ursprungliga HyperTalk-språket var tolkat, så komplexa staplar kunde vara långsamma i drift, men 1989 släppte Apple HyperCard 2.0, som innehöll en HyperTalk-kompilator i farten för snabbare drift samt en inbyggd felsökare.
Apple ville verkligen att alla skulle kunna skapa sina egna program, så allt med HyperCard var så ohotande som möjligt. Programmen var ”stackar”, utvecklare var ”författare” och HyperTalk var ett ”skriptspråk”. HyperTalk anses vara ett ”objektorienterat skriptspråk på hög nivå”. Det som förvånar mig än idag är att hela denna utvecklingsmiljö ursprungligen fanns på bara fyra dubbelsidiga disketter.
Jag ledde en Mac-baserad IT-avdelning för ett gasledningsföretag när HyperCard demonstrerades för första gången på det lokala Apple-kontoret, och verktygets potential fångade omedelbart min uppmärksamhet. Kort efter demonstrationen höll Apple ett endagsseminarium med författaren Danny Goodman på det lokala kontoret. Goodman hade skrivit en bok med titeln ”The Complete HyperCard Handbook”, och alla deltagare fick inte bara chansen att prova HyperCard utan fick också ett exemplar av boken gratis. Boken anses vara den mest sålda boken någonsin för Mac-plattformen och var enligt uppgift den snabbast sålda datorboken i historien. Över 650 000 exemplar såldes, och jag vet att mitt exemplar av den första upplagan snabbt blev slut!
Goodman visade oss hur enkelt det var att skapa en stapel genom att ta ett tomt ”kort”, lägga till fält och knappar på det och sedan skriva skript som reagerade på musens rörelser eller agerade på data som matades in på ett kort. Vad kan man använda HyperCard och HyperTalk till? Allt och vad som helst.
HyperMedia
Ett vanligt exempel på en stack var en adressbok, men programmet lämpade sig för mycket mer. Låt oss till exempel säga att du vill skapa en interaktiv lärobok. Du skulle kunna skapa en stack som började med en titelskärm och sedan hade en innehållsförteckning som – när du klickade – skickade dig till ett visst kapitel eller en viss sida. Varje sida skulle kunna ha grafik på den, eller kanske länkar som förde upp en popup-fönsterruta med en definition av ett ord eller en term. Denna möjlighet kallades HyperMedia på den tiden och beskrev användningen av länkar i en mediapresentation.
En hel del programmerare hoppade genast på HyperCard som ett verktyg för att ta fram prototyper av grafiska gränssnitt eller för att skapa fungerande demos av hela projekt. Det var så enkelt att ta fram ett tomt kort (skärm), lägga till knappar och fält och sedan lägga till åtgärder som antingen var användarinitierade (klicka på något) eller som kördes bakom kulisserna. För företag som behövde självkörande datorkiosker var HyperCard perfekt, eftersom en HyperCard-stack kunde ställas in för att köras automatiskt när en Mac startade upp.
Tänk inte att HyperCard inte användes av seriösa utvecklare bara för att det var lätt att använda. Det mycket populära 1990-talsspelet Myst skapades med HyperCard.
Danny Goodman insåg att den enorma framgången med hans första bok och HyperCard tiggde om en uppföljare, så han skrev HyperCard Developer’s Guide. Det finns fortfarande ett exemplar kvar på Amazon om någon är intresserad!
Inspirerad av Goodman började jag skapa staplar både för mitt eget bruk och för mitt företag. Till att börja med skapade jag utbildningsmaterial för nyanställda som använde HyperCards möjligheter för att inte bara utbilda de anställda i säkerhetsföreskrifter utan även testa dem.
HyperCard kunde utökas med hjälp av XCMD:s (External Commands) och XFCN:s (External Functions), som skapades både av Apple och av tredjepartsutvecklare. Vårt moderbolag körde på den tiden vårt företags faktureringssystem på IBM:s stordatorer, och jag minns att jag visade föga intresse för en XCMD som jag hade hört talas om och som erbjöd anslutning till stordatorn.
Det förändrades en dag när jag arbetade med vårt faktureringsteam och de var frustrerade över att stordatorprogrammerarna inte hade gjort några framsteg när det gällde att bearbeta en del av den råa informationen som kom in från gasmätningsställen runt om i delstaten Colorado till postningsbara fakturor. Det slog mig att jag kunde använda huvuddatorns anslutningsfunktion XCMD för att hämta en råfil från huvuddatorn och sedan använda HyperScripts kraftfulla texthanteringsfunktioner för att analysera data till ett .csv-filformat som kunde importeras till ett Microsoft Excel-kalkylblad. Kalkylbladen kunde sedan användas för fakturering.
De stora datorprogrammerarna var tveksamma till detta, men när jag hade systemet igång inom en vecka – när de förväntade sig att det skulle ta minst nio månader till att få en fungerande lösning för den stora datorn – sa de till mig att jag skulle göra det. Jag kommer inte att gå in på detaljerna i HyperScript:s texthantering, men den här Wikipedia-artikeln förklarar på ett bra sätt vad som kallades ”chunking” och de ”chunk expressions” som gjorde det möjligt. Och förresten, det tog stordatorprogrammerarna mer än tre år att implementera samma funktioner som jag fick igång inom en vecka. Det är inte så att de inte hade kompetensen; de prioriterade bara inte vårt projekt.
Den följande videon kommer från hypercard.org och visar genom ett enkelt exempel hur man skapar en stack, lägger till bilder, kopplar ihop kort och gör skript. Stort tack till Uli Kusterer (@uliwitness) för att han lät mig bädda in videon här.
HyperCards användargränssnitt var till största delen strikt monokromt. När HyperCard 2.2 dök upp 1992 innehöll det två kommersiella tillägg som gjorde det möjligt att stödja färgbilder och animationer. Apple hade inga problem med konkurrenter på den tiden, så andra företag skapade HyperCard-”kloner” som kunde skryta med funktioner som Apple inte lade till.
SuperCard
En av mina favoritkloner var SuperCard, som hade fullt stöd för färg och hade mycket kraft … men naturligtvis kunde det inte riktigt konkurrera med webben. Lyckligtvis finns det fortfarande tillgängligt från ett företag som heter Software Essentials och körs vackert på macOS. Företaget ger rabatt till alla som har gammalt originalmaterial från HyperCard (förpackningar, disketter och manualer), och SuperCard kan översätta gamla HyperCard-stackar till sitt uppdaterade format. Kanske är det dags för mig att börja använda SuperCard igen!
Jag har ofta tänkt att ett modernt HyperCard skulle vara det perfekta komplementet till iPhones och iPads, så att så gott som alla skulle kunna skapa sina egna appar utan att behöva använda Xcode och en Mac för att göra utvecklingsarbetet. Lyssnar du, Tim Cook?
En gång i tiden fanns det en blomstrande småföretagarindustri av kommersiella stackförfattare, och jag var en av dem. Heizer Software drev vad som kallades ”Stack Exchange”, en plats där stackförfattare kunde sälja sina varor. Precis som Apple med de nuvarande appbutikerna tog Heizer en del av varje försäljning för att driva butiken, men författarna kunde tjäna ganska bra på att sälja populära staplar. Företaget skickade ut tryckta kataloger med beskrivningar och skärmdumpar av varje stack; du beställde via snigelpost och fick sedan disketter (senare CD-skivor) med stacken på.
Prova HyperCard på din nuvarande Mac
Kanske har denna långa titt i minnet gett dig lust att leta reda på en gammal Mac, ladda den med System 7 eller 8 och sedan starta upp en kopia av HyperCard. Du behöver inte göra det – det finns en underbar emulator på Internet Archive som körs i en webbläsare.
- För att få ett smakprov på denna emulator, rikta din favoritwebbläsare till https://archive.org/details/AppleMacintoshSystem753 och klicka sedan på den gröna knappen på ”bilden”. En emulerad Mac som kör System 7.5.3 – inklusive HyperCard – startar och du kan leka med de befintliga staplarna eller skapa egna. Du kan till och med köra emulatorn på din iPhone eller iPad!
- Om du har lite mer tid finns det också en emulator som innehåller 250 MB av olika HyperCard stackar från Berkeley Mac User Group (BMUG). Det kommer att ta lite tid att ladda ner och starta upp, så ha lite tålamod.
I likhet med Newton MessagePad, som inspirerade dagens kraftfulla och bärbara smarttelefoner och surfplattor, och QuickTake 100 (den första populära digitala konsumentkameran), fick HyperCard en inverkan som fortfarande märks i dag. När du startar Macs Automator-app eller arbetar med Shortcuts på iPad eller iPhone ser du en återspegling av HyperCards möjligheter. Jag hoppas att den här artikeln kommer att inspirera läsarna att inte bara ta en titt på HyperCard genom emulatorn utan också prova sig fram med de moderna verktygen för att skapa sina egna arbetsflöden. De kanske inte är lika roliga som de gamla HyperCard-stackarna, men de är definitivt mer kraftfulla.