HyperCard

HyperCard var et programmeringssystem som ble skapt av Bill Atkinson for Apple Computer og var et av de første suksessfulle hypermedia-systemer før internett var et faktum. Det kombinerte database med en grafisk og fleksibelt brukergrensesnitt. HyperCard hadde også et innebygget programmeringsspråk kalt HyperTalk, skrevet av Dan Winkler, et både kraftig og lett å lære programmeringsspråk som gjorde det mulig å manipulere data, objekter og brukergrensesnittet. HyperCard ble ofte benyttet som et programmeringssystem for å lage raske programmer av ulike slag som små databaser, læreprogrammer og enkle spill.
HyperCard ble opprinnelig lansert sammen med System Software 6 i 1987 og ble endelig trukket tilbake fra salg i mars 2004, skjønt på det tidspunktet hadde det ikke blitt oppdatert på mange år. HyperCard kjørte kun på Mac OS 9 eller tidligere, men kan fortsatt bli benyttet i Mac OS Xs såkalte klassiske modus på PowerPC-baserte datamaskiner (G5 og tidligere). Den siste operative HyperCard-miljøet er klassisk modus på Mac OS X 10.4 (Tiger) på PowerPC-baserte datamaskiner, skjønt det kan også bli kjørt på moderne Intel-baserte datamaskiner via en form for emuleringslag, et programtillegg som etterligner et bestemt operativsystem, som SheepShaver, som er tilgjengelig for OS X, Linux og Windows.

Beskrivelse

HyperCard har blitt beskrevet som et «byggesett for programmer». Det integrerte et programutviklermiljø med direkte kjørbar kode, det vil si at det var ikke nødvendig å kompilere koden til en kjørbar fil – programmet var automatisk kjørbar i utgangspunktet, noe som gjorde det enkelt og raskt for alle brukere å lage programmer. De redskaper som var nødvendige for å skrive et program, hovedsakelig å skape og tilpasse skjermobjekter som knapper, felter og menyer, var en del av og innpakket med muligheten til legge til programmerte funksjoner til disse objektene. Når man formgir og skriver et program kunne man fullføre på strukturen og hva som blir utført innenfor et enkelt veldefinert område. At den enkelte bruker kunne personlig formgi og skrive et eget program som var unikt tilpasset ens egne behov revolusjonerte hele konseptet for hva programvare var. Istedenfor å forsøke tvinge en bestemt oppgave inn i et regneark i Excel kunne en tilpasset løsning bli forfattet, modifisert og oppdatert ved behov, uten kompromisser i funksjonene, og med et særegent brukegrensesnitt, på svært kort tid i forhold til tradisjonelle programmeringsverktøy. «Programmering for alle oss andre» var et slagord for programmet, det betydde at alle kunne programmere, ikke kun profesjonelle programmere.
HyperCard var basert på konseptet med en «stacks» («bunke») virtuelle «kort». Hvert kort kunne holde på data, akkurat som de ville i rolodeks. Systemet som skapte selve designet og formgivningen av de enkelte kortene var tilsvarende til andre såkalte raske programmeringsmiljøer som eksempelvis Borland Delphi eller Visual Basic. En spesiell «hjemme»-kort, forgjengeren til hjemmesiden (den første siden) på et nettsted på internett, var tilgjengelig som det som startet programmet eller evt. flere programmer, oppbevaringssted for delte skripter (tekstkode som kjørte instrukser) og et sted for å sette bestemte preferanser.
HyperCard var ikke et databasesystem i seg selv. Layouten for hvert kort kunne være unikt. Et eget bakgrunnslag inneholdt elementer som kunne deles av alle kortene i bunke eller av alle kort som var gruppert med e bestemt bakgrunn. Bakgrunner kunne omfatte bilde (det var faktisk den opprinnelige hensikten, «bakgrunnsbilde»), i tillegg til objekter som også var tilgjengelig for hvert kort som knapper; statisk tekst; redigerbar tekstfelt; og andre vanlige elementer for et grensesnitt. Hvert kort kunne da inneholde forskjellig data i tekst- eller bildefelt, akkurat som i en database.
Eksempelvis kunne en adressebok gjort i HyperCard bli bygget ved å legge til bakgrunnen noen få tekstfelt som hold på navn og adresse. Straks det var fullført kunne brukeren legge til nye kort og således bygge ut sin adressebok. Bakgrunnen kunne bli endret når som helst, noe som gjorde endringer enkelt. Grunnleggende styringer som å søke, legge til, eller slette var bygget inn, noe som gjorde det mulig å lage enkle databaseprogrammer for alle som hadde en Macintosh-datamaskin.
Paradigmet med rolodeks forhindret ikke å skape forskjellige typer programmer. Egenhendig funksjonalitet kunne bli programmert inn i et enkelt kort, noe som kunne få det til å ligne på tradisjonelle programmer. Tilleggskort kunne bli lenket til, og menyene kunne bli endret, noe som tillot den kreative til å skape programmer som tilsynelatende kunne se profesjonelle ut.
HyperCards commando find kunne raskt navigere til kort som inneholdt tekst ved hjelp av en patentert hintBits-algoritme. Denne kunne bli gjort mer selektiv ved endringer som find "Bob" in card field "hello" (finn «Bob» i kortfeltet «hallo»). Tilsvarende hadde det en kommando SORT som tillot å evaluere hele uttrykk for å bestemme sorteringsrekkefølgen.

Programmer

HyperCard har vært benyttet for alle former for hypertekst og kunstneriske hensikter. Før programmer som PowerPoint ble HyperCard ofte benyttet som et generelt presentasjonsprogram. Eksempler på et program laget i HyperCard var ofte enkle databaser, spill, hjelpeprogram innenfor utdannelse, og den første form for wiki (skjønt ikke tilkoblet til internett).
På grunn av den raske måten å designe og utvikle et program ble HyperCard ofte benyttet for å skrive et prototype for et profesjonelt program. Innenfor bedriften Apple var avdelingen bak QuickTime blant de som hyppigst benyttet HyperCard.
Et antall kommersielle programprodukter har blitt utviklet i HyperCard, mest kjent er den første utgaven av det interaktive spillfortellingen Myst, Voyager Companys Expanded Books («Utvidede bøker», en ide som testet hvordan en bok kunne fungere på en skjerm), og multimedia-CD-Rom som Beethovens Niende symfoni og den engelske rockegruppen The Beatles’ film A Hard Day's Night, og Voyagers Macbeth. Prototypen og demoen av det populære spillet You Don't Know Jack ble skrevet i HyperCard. Renault, den franske bilfabrikanten, benyttet seg av HyperCard for å kontrollere deres lagerbeholdning.