1 Punkte von GN⁺ 2024-06-27 | 1 Kommentare | Auf WhatsApp teilen
  • HyperCard Simulator ist ein webbasierter Simulator, mit dem sich klassische HyperCard-Stacks in das moderne Web holen und ausführen lassen
  • Stacks funktionieren wie ein geordnetes Kartenbündel; Karten können hinzugefügt oder gelöscht und über ein Konto online geteilt werden
  • Karten können Buttons und Felder enthalten, und auf dem Hintergrund erstellte Elemente lassen sich auf mehrere Karten wiederholt anwenden, während kartenspezifischer Text getrennt erhalten bleibt
  • Die Bearbeitung erfolgt direkt auf der Karte und unterstützt einfaches Malen mit Bleistift, Farbeimer sowie Schwarzweiß- und Transparenzmustern
  • Die Nutzung ist auch ohne Skripte möglich, aber über die message box und den Script Editor lassen sich xTalk-Befehle und Message-Handler wie mouseUp verwenden

HyperCard-Stacks im Web ausführen

  • HyperCard Simulator ermöglicht es, klassische HyperCard-Stacks zu importieren und im Browser auszuführen
  • Der Ersteller entschuldigt sich bei den HyperCard-Machern und sagt, er habe das Projekt in seiner Freizeit gebaut, um zu sehen, wie HyperCard im modernen Web funktionieren würde
  • Als verwandte Ressourcen sind hypercard.org, Merveilles HyperJam und Internet Archive verlinkt
  • Zur Erkundung weiterer Stacks werden More stacks, A Few More Stacks, The "B–Roll", Collected Stacks, Lots More Stacks und The HyperCard Pantechnicon angeboten

Karten- und hintergrundzentriertes Bearbeitungsmodell

  • Ein HyperCard-Stack ähnelt einem Kartenstapel, durch den man der Reihenfolge nach blättert, und Nutzer können dem Stack Karten hinzufügen oder daraus entfernen
  • HyperCard speicherte Stacks automatisch; in diesem Simulator kann man ein Konto erstellen und sie online teilen
  • Jede Karte kann Buttons und Felder enthalten
    • Die Bearbeitung erfolgt nach Auswahl des passenden Werkzeugs per Ziehen und Größenanpassung
    • Buttons und Felder können auf der Karte oder im Hintergrund erstellt werden
    • Eigenschaften lassen sich per Doppelklick oder langem Drücken öffnen
  • Der Hintergrund wird auf mehrere Karten wiederholt angewendet
    • Jede Karte kann eigene Teile und eigenen Text haben
    • Jede Karte besitzt einen Hintergrund, der als Ebene hinter der Kartengruppe liegt
    • Auf Karten mit demselben Hintergrund kann in Hintergrundfeldern jeweils kartenspezifischer Text stehen

Malen und Skripten

  • Das Malen erfolgt direkt auf der Karte
    • Es können Bleistift oder Farbeimer verwendet werden
    • Schwarz wird mit Shift, Weiß mit Option und Transparenz mit dem Option+Shift-Muster verwendet
  • Skripting ist nicht zwingend erforderlich, aber man kann es lernen, indem man sich die Skripte des Simulators selbst ansieht
    • Die message box wertet xTalk-Ausdrücke und -Befehle aus
    • Der Script Editor kann aus dem Information-Dialog geöffnet oder per Command-Option-Klick, Touch-Hold oder Doppelklick bei gedrückter Shift-Taste aufgerufen werden
    • Skripte können vom Benutzer gesendete Nachrichten empfangen und Aktionen wie beep oder go next card ausführen
    • Ein Beispiel für einen Message-Handler führt in on mouseUp beep aus, wechselt zur nächsten Karte und endet mit end mouseUp

1 Kommentare

 
GN⁺ 2024-06-27
Hacker-News-Meinungen
  • Es ist ein bisschen schade, dass HyperCard vor meiner Generation lag. Wenn ich es als Kind gekannt hätte, hätte ich vermutlich nichts anderes gemacht; als ich es im Emulator ausprobiert habe, war es ziemlich unterhaltsam.
    Ich mag diese frühen Versuche, Programmieren für Menschen leicht zugänglich zu machen. In deutlich abgeschwächter Form hat sich beim ersten Benutzen auch das Flash-Animationstool ähnlich angefühlt: viel unmittelbarer zugänglich, als zu versuchen, OpenGL oder SDL an C++ anzubinden, und etwas zu erschaffen hat einfach Spaß gemacht. Seit Flash habe ich beim Entwickeln kein Tool mehr gefunden, das genauso viel Spaß gemacht hat. GameMaker ist ebenfalls großartig und macht immer noch Spaß, wirkt aber nicht so reibungslos und vermittelt weniger dieses Gefühl von „alles ist möglich“ wie Flash. Vielleicht bin ich auch einfach älter geworden.

    • Ich glaube immer noch, dass HyperCard die produktivste Entwicklungsumgebung der Geschichte war, um Apps für Endnutzer zu erstellen.
    • Und dann gab es auch noch Macromedia Director. Heutzutage passiert es wirklich selten, dass man sich in Software verliebt.
    • Wenn du nach einfacher digitaler Interaktivität suchst, könnte dir p5.js gefallen. https://p5js.org/
      Flash ist schneller verschwunden, als Ersatz dafür aufgetaucht ist; als Flash weg war, war ziemlich klar: Wenn das damalige HTML5 die Zukunft und der unmittelbare Ersatz sein sollte, waren wir verloren. Wenn ich als Nächstes ein Tool suche, mit dem man etwas bauen kann, scheint Flutter das Versprechen von Flash fortzuführen, mit einer Codebasis überall zu laufen. Weitere Technologien, auf die ich setze, sind WebAssembly und bis zu einem gewissen Grad Rust.
    • Schau dir P5js und Processing an; vielleicht stillen sie diesen Durst ein wenig.
  • Dass sich der Cursor beim Überfahren eines Links in ein Hand-Symbol verwandelt, ist direkt von HyperCard inspiriert. In vielerlei Hinsicht kann man den Browser als Weiterentwicklung von HyperCard-Stacks betrachten.

    • Ich frage mich, ob das Web trotzdem entstanden wäre, wenn HyperCard integriertes Networking gehabt hätte.
  • Als Kind waren HyperCard und SuperPaint mein Lego. Mein Vater war Wissenschaftler und brauchte einen Macintosh, um Berechnungen laufen zu lassen; deshalb war ich damals eines der wenigen Kinder, deren Familie einen Computer hatte.
    Mit HyperCard habe ich wirklich viele kleine Dinge gebaut, und ich habe eine große Zuneigung zu den unterhaltsamen Methoden, mit denen man mit Schwarz-Weiß-Monitor-Apps und nur einer Farbe Muster erzeugen konnte.

    • Bei mir war es ähnlich. Meine Eltern waren Lehrer, und mein Vater betreute ein Mac-Labor, war aber nicht besonders versiert im Umgang mit Macs. Im Sommer standen die Computer jedoch ungenutzt herum, sodass er einen mit nach Hause bringen konnte; zuerst nutzten wir einen Apple IIe, später einen frühen Mac. Ich habe in HyperCard wirklich sehr viel Zeit vertrödelt und damit herumgespielt.
      Auch mein erster Computer, ein Apple II GS, konnte über das Programm „Apple for a Teacher“ von Lehrern mit großem Rabatt gekauft werden. Es war so etwas wie ein Vorläufer des Mac mit Farbmonitor. Bei einem Kreativschreibwettbewerb des Magazins 3-2-1 Contact gewann ich fünf Spiele nach Wahl als Preis, und ich konnte meine Eltern davon überzeugen, dass ich für den Rest der Zeit einen Computer brauchte, um diese Spiele zu spielen.
  • Hinweis: Wenn man oben rechts auf das Kästchen zum Maximieren des Fensters klickt, zoomt man in den HyperCard Editor heraus.
    Ich versuche noch herauszufinden, wie man mit einem leeren Deck anfängt, und meine Fähigkeiten sind definitiv eingerostet. Außerdem frage ich mich, wie machbar es wäre, damit eine komplette HyperCard-basierte Website zu erstellen.

    • Im Hamburger-Menü gibt es „New Stack...“.
      Ein Login ist ebenfalls möglich.
      https://hcsimulator.com/mmphosis/Stack
    • Man erstellt einfach neue Karten und Buttons, die zur nächsten Karte oder an eine beliebige Stelle in einem linearen Karten-Stack verlinken. Übergänge, Effekte und Timing lassen sich in einem herrlich pixeligen Editor bearbeiten.
  • Aus der Perspektive von jemandem, der zu jung war, um die HyperCard-Ära mitzuerleben: Ich frage mich, worin der eigentliche Reiz lag. War es die Zugänglichkeit der Technik, oder war es einfach ein wirklich gut umgesetztes Produkt?

    • Es war beides. HyperCard gab den Nutzern mit einer einfachen Metapher und Syntax die Macht der GUI in die Hand. Die Sprache war dem Englischen ähnlich genug, um sich leicht schreibbar anzufühlen, aber nicht so sehr, dass man sich einbildete, damit auch Dinge tun zu können, die tatsächlich nicht möglich waren. Inform 7 kommt einem in den Sinn.
      Da Code visuell an Widgets gehängt wurde, war sehr klar spürbar, dass dieses Stück Code jene Aktion auslöst, wenn man auf einen Button klickt oder etwas in ein Textfeld eingibt. Außerdem implementierte die HyperCard-Umgebung auch Objektpersistenz, sodass man keinen eigenen Code für Dateiverarbeitung oder „Zustand speichern“ schreiben musste, was nützlich war. Natürlich konnte es wegen dieser Semantik schwierig sein, die Ursache zu finden und zu beheben, wenn man einen Stack beschädigte, aber insgesamt war transparente Objektpersistenz meiner Ansicht nach ein großer Vorteil.
      Und wenn man einen Mac hatte, war es buchstäblich direkt da. Apple verkaufte es kurz als eigenständiges Produkt für 49,95 Dollar und begann dann, es rund zehn Jahre lang mit jedem neuen Mac zu bündeln. Wenn ein Mac System 6, 7, 8 oder 9 hatte, hatte er HyperCard, und in dieser Zeit war es auch beim Apple IIGS enthalten. Ich erinnere mich, trotz der Grenzen einige ziemlich nichttriviale Apps gesehen zu haben, die in HyperCard umgesetzt waren.
      Vor allem machte HyperCard Personal Computing wieder persönlich, auf eine Weise, die seit der Zeit verloren gegangen war, als Computer direkt in einen BASIC-Interpreter booteten, und das war etwas sehr Gutes. Falls diese Erklärung nicht ausreicht, kann man sich diesen Auszug ansehen: http://www.cvxmelody.net/HyperCard%20IIGS%201.1%20-%20The%20...
    • In der fünften Klasse war HyperCard für mich so etwas wie frühe Softwareentwicklung. Nach der Schule baute ich stundenlang Spiele und Choose-your-own-adventure-Geschichten und konnte goto-Anweisungen, Schleifen, Animationen und einfache Funktionen wie „bei Klick diesen Sound abspielen und zu dieser Seite wechseln“ einbauen. Ich war völlig darin versunken, und vermutlich führte das zu meiner Begeisterung für die BBS-Entwicklung.
    • Das war noch vor dem Web oder Flash. Es war ein vergleichsweise einfaches Multimedia-/Interaktiv-Autorenwerkzeug für Nichtprogrammierer, mit WYSIWYG-Layout. Mit HyperCard konnte man alles Mögliche bauen, von Datenbank-Interaktionen bis zu Schulgeschichten für Kinder.
    • Als ich zum ersten Mal das Konzept von HyperCard und verknüpften Karten kennenlernte, also Hypertext, hat es mir den Kopf weggeblasen. Für viele andere war es wahrscheinlich ebenfalls die erste Einführung in Hypertext, auch wenn sie es damals nicht merkten. Es war das Adobe Flash jener Zeit.
    • Das sehe ich auch so.
      Es war eine gut gemachte, Smalltalk-ähnliche Sprache, ergänzt um RAD-Komponenten, die das Erstellen von GUIs – wenn auch eingeschränkt – auf ungefähr die Komplexität von PowerPoint reduzierte. Man konnte sie einem „schlauen“ Kind geben, und mit sehr wenig Erklärung konnte es zumindest Interactive Fiction erstellen. Die meisten HyperCard-Stacks konnte man als nichtlineare PowerPoint-Slidedecks betrachten: Karten mit Buttons, die per goto-Anweisung zu anderen Karten sprangen.
  • Ich war in den 90ern ein Kind und habe vage Erinnerungen an verschiedene kleine Spiele und Programme, die auf dem Familien-Mac liefen. Unser erster Mac war vermutlich ein Mac SE. Rückblickend waren das wahrscheinlich HyperCard-Programme.
    Es gab so etwas wie ein interaktives Bilderbuch über eine schwarze Katze; den Namen habe ich vergessen, aber ich weiß, dass es auf Macintosh Garden zu finden ist, und ich bin zu 99 % sicher, dass es HyperCard war. Mein Vater gab mir ein Programm namens Soroban, das im Grunde ein Abakus war und, soweit ich mich erinnere, einfache Rechenaufgaben stellte, die man mit dem Abakus lösen musste. Vielleicht hatte mein Vater es selbst geschrieben, aber sicher bin ich nicht. Leider weiß ich heute nicht mehr, wie man einen Abakus benutzt. Ich frage mich, welche weniger bekannten HyperCard-Programme mir damals begegnet sind.

  • Erwähnenswert: Carson Gross hat _hyperscript[0] entwickelt, eine von HyperCard inspirierte Sprache, die im Browser interpretiert wird.
    Derselbe Carson Gross hat auch htmx[1] entwickelt. Die beiden sind getrennte Projekte, greifen aber gut ineinander.
    [0]https://hyperscript.org/
    [1]https://htmx.org/

  • Meine Güte, hier ist ein Stack, den ich vor 30 Jahren erstellt habe! Leider funktioniert er im Simulator nicht richtig.

    • Ich bin neugierig, welcher Stack das ist. Wenn du aus Nostalgie damit herumspielen willst, gibt es auch heute noch andere Möglichkeiten, ihn auszuführen, und der Autor des HC Simulator reagiert ziemlich schnell darauf, Dinge zu reparieren, die nicht richtig funktionieren.
  • Eine Frage, die mich immer wieder beschäftigt: Welches moderne Tool leistet heute genau das, was HyperCard damals getan hat? HTML/JavaScript vielleicht?

    • Ich glaube nicht, dass HTML/JavaScript im selben Sinne ein „Tool“ ist wie HyperCard.
      Die eigentliche Stärke von HyperCard lag darin, dass einfache Nutzer, also Nicht-Programmierer, ihre eigenen Apps – in HyperCard-Begriffen „Stacks“ – durch Zeigen und Klicken sowie mit HyperTalk, einer englischähnlichen Skriptsprache, erstellen konnten.
      Weil wir die Idee, dass Nutzer ihre eigenen Apps bauen können sollten, weitgehend aufgegeben haben, gibt es kein populäres modernes Gegenstück zu HyperCard. Trotzdem versuchen es weiterhin einige. LiveCode zum Beispiel ist ein kommerzielles Produkt, das direkt von HyperCard inspiriert wurde, und CardStock ist ein Open-Source-HyperCard-Klon, der statt einer englischähnlichen Sprache Python als Standard-Skriptsprache nutzt.
      https://livecode.com/
      https://github.com/benjie-git/CardStock
    • Viele Leute haben diese Frage gestellt. Es gibt mehrere einfache GUI-Builder-Tools, darunter auch GUI-Builder für das Web, aber keines davon ist populär, wegen des fein austarierten Punkts von Nachfrage und Angebot, den HyperCard traf.
      Als HyperCard erschien, war es auf jedem Mac enthalten, kostenlos, und es gab auf dem Mac nichts Vergleichbares. Die Alternative war, UI-Widgets ohne GUI-Builder per Code zu platzieren oder später viel Geld für eine Profi-IDE wie CodeWarrior auszugeben. Wenn ein Einsteiger ohne Budget einen GUI-Builder für den Mac wollte, hieß es HyperCard oder gar nichts; daraus entstand die HyperCard-Fan-Community.
      Außerdem hatten Macs damals eine Standard-Bildschirmauflösung. Alle verkauften Macs hatten eine Auflösung von 512x342 Pixeln, sodass man genau wusste, wie eine Karte auf jedem Mac aussehen würde. Unterstützung für größenveränderbare GUIs ist eine der schwierigsten Aufgaben in jedem GUI-Builder. Etwa wegen Fragen wie: Wie sollen Buttons angeordnet werden, wenn der Bildschirm so klein wie ein Smartphone oder so breit wie ein 16:9-Monitor wird? Das heutige Xcode verwendet einen ausgefeilten Constraint-Solver/Theorem-Prover, damit Entwickler in der GUI größenveränderbare UIs bauen können, und meiner Ansicht nach funktioniert das ziemlich gut – aber es kann nie so leicht zu lernen sein wie „Button auf den Bildschirm ziehen, und überall sieht es exakt so aus“.
      Der letzte wirklich fatale Grund für moderne Möchtegern-HyperCard-Tools ist, dass der Weg von einem Web-GUI-Builder zu rohem HTML/CSS kurz ist. Man muss kein großes Geld zahlen, um Zugriff auf professionelles HTML, CSS und JavaScript zu bekommen. Es ist nicht leicht zu lernen, aber es ist kein Problem, einem Kind beizubringen, interaktive Webseiten zu schreiben.
      Daher ist die Nachfrage nach einfachen GUI-Buildern geringer als zu HyperCard-Zeiten, und selbst wenn man Nutzer gewinnt, entwachsen sie dem Produkt meist schnell; außerdem gibt es enorm viele Konkurrenten, sodass es für kein Tool leicht ist, eine Community mit echter Zugkraft aufzubauen.
    • HyperCard war stärker eingeschränkt, und diese Einschränkungen zwangen zu kreativen Lösungen. Gleichzeitig lag die Zugänglichkeit weit über HTML/JS. Trotzdem ist HTML/JS vielleicht noch die naheliegendste Analogie.
      Selbst wenn man sich nur auf HTML beschränkt, macht das Erstellen damit bei Weitem nicht so viel Spaß wie mit HyperCard.
    • Ein Beispiel wäre dieses hier: https://internet-janitor.itch.io/decker
      Im Grunde sieht es HyperCard auch ein wenig ähnlich. Es hat einen Low-Resolution-Look, intern gibt es aber auch Farben.
    • Meiner Meinung nach gibt es so ein Tool nicht. Nicht, weil es heute kein Tool gäbe, das etwas „Ähnliches“ tut wie HyperCard, sondern weil es keine Personal-Computing-Umgebung mehr gibt, in die ein solches Tool so natürlich und zentral hineinpassen würde.
      HyperCard erschien in einer Zeit, in der Nutzer von Personal Computern noch lernten, was Computernutzung überhaupt bedeutet. Genau dieser Moment war einer, in dem End-User-Programming und formbare Systeme wie HyperCard hätten führend werden können. Über OpenDoc kann man in gewissem Maß Ähnliches sagen, aber es ist etwas anders.
      Was war HyperCard aus Unternehmenssicht überhaupt? Eine Möglichkeit, Computeranwendern zu erlauben, ihre grundlegenden Apps einfach selbst zu bauen? Wie verdient man dann weiter Geld? Was passiert mit der Entwickler-Community des Computers? Aufgrund solcher kommerziellen Bedenken sind heute sowohl die Art, wie Nutzer am Personal Computing beteiligt sind, als auch die Werkzeuge, mit denen wir Computing-Umgebungen manipulieren, stark durch Konsummodelle geprägt; zwischen Nutzern und Programmierern besteht eine starke Trennung.
      Der Grund, warum es heute kein echtes HyperCard-Gegenstück gibt, ist, dass Personal Computing eine andere Richtung eingeschlagen hat.
  • Wie ist das im Vergleich zu Decker?
    https://beyondloom.com/decker/index.html

    • HyperCard Simulator ist ein zentralisierter, webbasierter Dienst, der Kompatibilität mit historischen HyperCard-Stacks und der Skriptsprache HyperTalk anstrebt.
      Decker ist eine Open-Source-Standalone-App, die HyperCard in mancher Hinsicht ähnelt, sich in den Details aber stark unterscheidet, etwa weil sie eine eigene, von APL abstammende Skriptsprache verwendet. Decker wurde nicht dafür entwickelt, mit HyperCard-Stacks kompatibel zu sein.
    • Ich hatte noch keine Gelegenheit, mich hinzusetzen und diesen Simulator richtig auszuprobieren, aber als jemand, der sowohl Decker als auch HyperCard verwendet hat: Decker hat für Anfänger eine deutlich steilere Lernkurve.