- Decker ist eine Multimedia-Plattform zum Erstellen und Teilen von Dokumenten, die Sound, Bilder, Hypertext und geskriptete Aktionen in einem Dokument bündeln, und lässt sich direkt im Browser ausprobieren
- Es bewahrt die visuelle Anmutung von HyperCard und classic MacOS und ergänzt sie um tiefgehendes Undo, Unterstützung für Scrollrad und Touchscreen, moderne Tastaturnavigation und Stapelbearbeitung
- Damit lassen sich E-Zines, Notizen, Präsentationen, Adventure-Games und Arbeiten wie 1-Bit-Pixel-Art erstellen; fertige Decks können als eigenständige
.html-Dokumente gespeichert werden - Komplexe Projekte lassen sich mit Lil erweitern, das von Lua und Q beeinflusst ist; Widgets, Clipboard-Sharing und ein textbasiertes Dokumentformat unterstützen Wiederverwendung und Versionsverwaltung
- Ein kostenloses Open-Source-Tool unter MIT-Lizenz ohne Werbung, Telemetrie, Gamification oder slop-generator-Integration, mit Quellcode auf GitHub und Binärdistributionen über Itch.io
Interaktive Dokumente im Stil von HyperCard erstellen
- Decker ist eine Multimedia-Plattform zum Erstellen und Teilen interaktiver Dokumente mit Sound, Bildern, Hypertext und geskripteten Aktionen
- Es kann direkt im Webbrowser ausprobiert werden
- Es führt die visuelle Ästhetik von HyperCard und classic MacOS fort und bewahrt zugleich die Einfachheit und leichte Erlernbarkeit, die HyperCard bot
- Die Verbesserungen der Bedienbarkeit zielen darauf ab, das Gefühl älterer kartenbasierter Autorentools zu erhalten und es zugleich an moderne Eingabeumgebungen anzupassen
-
Tiefgehende Undo-Historie
- Unterstützung für Scrollrad und Touchscreen
- Modernere Tastaturnavigation
- Stapelbearbeitung
- Die möglichen Beispiele sind breit gefächert
- E-Zines
- Notizen organisieren
- Präsentationen
- Adventure-Games
- 1-Bit-Pixel-Art-Kritzeleien
- Ein fertiges Deck kann als eigenständig im Webbrowser laufendes
.html-Dokument gespeichert werden und lässt sich überall dort teilen, wo Webseiten gehostet oder eingebettet werden können - Decker läuft auch nativ unter MacOS, Windows, BSD und Linux
-
Lil, Widgets und textbasierter Entwicklungsfluss
- Für komplexe Projekte kann die Skriptsprache Lil verwendet werden
- Lil ist von Lua beeinflusst, einer imperativen Sprache, die in Tools und Game-Engines eingebettet wird
- Außerdem ist es von Q beeinflusst, einer funktionalen Sprache aus der APL-Familie, die zusammen mit Zeitreihendatenbanken eingesetzt wird
- Es behält eine Struktur bei, die Nutzerinnen und Nutzern mit Programmiererfahrung vertraut ist, und enthält zugleich implizite Skalar-Vektor-Arithmetik sowie eine integrierte SQL-ähnliche Abfragesprache
- Für den Interface-Bau steht eine eingebaute Sammlung interaktiver Widgets zur Verfügung; auch neue Widgets können definiert werden
- Custom Widgets und Definitionen können über die System-Zwischenablage kopiert und eingefügt werden
- Überall dort, wo Text geteilt oder gespeichert werden kann, lassen sich auch Custom Widgets teilen
- Jedes Deck kann als Sammlung wiederverwendbarer Bausteine dienen, die in anderen Projekten eingesetzt werden können
- Beim Build aus dem Quellcode wird Lilt, ein eigenständiger Lil-Interpreter, mitgeliefert
- Lilt kann Decker-Dokumente lesen, schreiben, manipulieren und headless ausführen
- Es hat weniger Abhängigkeiten als Decker und kann als plattformübergreifende APE-Executable kompiliert werden
- Es gibt auch einen Lil-Interpreter, der in POSIX AWK läuft
- Decks werden in einem zeilenbasierten Textformat gespeichert und arbeiten dadurch gut mit bestehenden Source-Control-Tools wie Git und SVN zusammen
- Decker enthält keine Werbung, Telemetrie, Gamification, slop-generator-Integration oder Elemente, die Privatsphäre und Autonomie der Nutzerinnen und Nutzer beeinträchtigen
Beispiel-Decks und Erweiterungsbibliotheken
-
Beispiel-Decks
- Decker: A Guided Tour: geführte Tour durch Decker
- 5GUIs: GUI-Beispiele
- Sokoban: A Block-Pushing Puzzle Game: Blockschiebe-Puzzlespiel
- Breakout: Three Ways: Beispielimplementierungen von Breakout
- A CHIP-8 Interpreter: CHIP-8-Interpreter
- Gamepad Input Demo: Demo für Gamepad-Eingaben
-
Bibliotheken
-
Dokumentation und Lernmaterialien
- The Decker reference manual: Decker-Referenzhandbuch
- The Lil programming language: Dokumentation der Sprache Lil
- The Decker document format: Decker-Dokumentformat
- Learn Lil in 10 Minutes: Schnelleinstieg in Lil
- The Lil playground: Lil-Playground
- Lilt: the Lil Terminal: Lil-Terminal
Quellcode, Distribution und Community
- Der durchsuchbare Quellcode und der Bugtracker befinden sich auf GitHub
- Decker ist kostenlose Open Source unter der MIT-Lizenz
- Regelmäßige Binär-Releases für MacOS und Windows sind auf Itch.io verfügbar
- Die Itch-Seite enthält ein Community-Forum für Diskussionen über Decker und zum Teilen von Projekten, die mit Decker erstellt wurden
- Decker-thematische „Game Jams“ finden jedes Jahr im Juli und Dezember statt; das nächste geplante Event ist Decker Fantasy Camp, July 2026
1 Kommentare
Meinungen auf Hacker News
Wunderschön! Ich weiß, dass hier eine bestimmte Ästhetik angestrebt wird, aber wenn man bei 1-Bit-Grafik nur ein kleines Stück weiter zu 2-Bit-Grafik ginge, wären vermutlich sogar wirklich lesbare Fotos möglich.
Es gibt eine meiner Lieblingsseiten mit einer ähnlichen Ästhetik; dort verwenden alle Bilder maximal 6 Farben. Allerdings hat jedes Bild seine eigene Palette: https://solar.lowtechmagazine.com/
Im Community-Forum[0] gibt es Diskussionen über Dithering und den Import von Farbfotos, und Nutzer bauen mit Farbe ziemlich tolle Projekte[1].
[0]: https://itch.io/t/2668739/16-color-dithered
[1]: https://crowmorbid.itch.io/desker-deckmonth
Nicht vergessen, es selbst auszuprobieren!
https://www.beyondloom.com/decker/tour.html
Das hat bei mir überraschend süße Erinnerungen geweckt – nur bei mir? Ich würde mir höchstens wünschen, dass auf Mobilgeräten Pinch-to-Zoom funktioniert.
Es ist zu klein, um den Text lesen zu können, und Pinch-to-Zoom ist ebenfalls deaktiviert, sodass man nicht näher heranzoomen kann.
Ich respektiere die Entscheidungen dieses Projekts, aber für mich war der größte Fehler von HyperCard, dass es keine Farbe implementiert hat, als der Mac begann, Farbe zu übernehmen.
Als ich in der Highschool war, waren alle Macs der Schule Farbgeräte, aber HyperCard bekam nie echte native Farbe.
HyperCard bekam kein Update für native Farbe, und genau das war die Funktion, die alle am meisten wollten.
Ein verwandtes Produkt, ich glaube es hieß SuperCard, bot Farbe; ich habe es ausprobiert, aber es war sperrig. Ich erinnere mich nicht mehr genau warum, aber letztlich setzte es sich nicht durch.
Auch die begrenzte API von HyperTalk war ein Problem. Es gab einen Markt für Erweiterungen, und einige Entwickler dominierten diesen Bereich eine Zeit lang. Ich frage mich, was aus J5erson geworden ist. Der war wirklich herausragend.
Erweiterungen wurden normalerweise in Pascal geschrieben und konnten HyperTalk viele Funktionen hinzufügen; für Leute, die über HyperCard hinaus Programmierung weiter erkunden wollten, waren sie daher ein guter Zwischenschritt.
Decker scheint viele Stärken von HyperCard übernommen zu haben, etwa Einfachheit und Portabilität. Etwas schade finde ich nur, dass es keine Sprache verwendet, die näher an HyperTalk liegt. Diese Sprache war auf ihre eigene Art wirklich gut.
Decker ist überwiegend 1-Bit und sieht daher oberflächlich HyperCard ähnlich, ist in Wirklichkeit aber so anders, dass man es komplett neu lernen muss.
Es ist ziemlich schwer zu benutzen, man muss Lil lernen, eine neue und eigenwillige Sprache, und es fehlen viele Komfortfunktionen, nach denen man sucht, wenn man HyperCard oder MacPaint erwartet.
Am Ende fällt HyperCard-Künstlern der Umstieg schwer, und dank Infinite Mac nutzen sie HyperCard weiter im Browser. Sehr nah dran und doch weit entfernt. Ähnlich, aber anders.
An der Schule gab es eine NASA-Laserdisc voller Shuttle-Informationen.
Sie war an einen Mac angeschlossen, auf dem HyperCard für Navigation und Informationsanzeige lief; ziemlich cool, aber ich glaube, damals konnte ich das gar nicht richtig würdigen.
Es fühlte sich an wie frühes Multimedia, noch vor dem Multimedia-Boom der 90er :-)
Ich verstehe nicht, warum Apple oder Microsoft sich nicht mehr Mühe geben, solche Werkzeuge für Casual Developer direkt ins Betriebssystem zu bringen.
VB und Python sind auch gut, aber manchmal braucht man ein Werkzeug, das wirklich darauf zugeschnitten ist, kleine Anwendungen zu bauen.
Und SwiftUI ist so einfach wie möglich gehalten.
Allerdings erfordern Xcode und die App-Store-Konfiguration weiterhin schwer durchschaubare Einstellungen und ein gewisses Verständnis der Xcode-IDE :-)
Sehr viel Liebe für HyperCard
Ich habe es selbst nicht miterlebt, aber es scheint den Leuten ermöglicht zu haben, viele kleine, nützliche Tools zu bauen. In Sachen Universalität ähnlich wie Tabellenkalkulationen, aber vom Einsatzzweck her anders
Ich frage mich, welches moderne Tool Menschen, die diese Zeit erlebt haben, ein ähnliches Gefühl gibt
Ich gehöre zu einer etwas jüngeren Generation und bin nostalgisch bei Tools wie Delphi/VB oder Macromedia Flash. Sie waren nicht perfekt, haben aber die Kreativität angeregt
Die heutigen Tools sind viel besser, aber ich habe das Gefühl, dass dabei etwas verloren gegangen ist
HTML hat vieles übernommen, was HyperCard bot, aber Web-Authoring-Tools wurden am Ende nie genauso einfach und boten auch eine Funktion von HyperCard nicht: ein einheitliches Look-and-feel der UI. Das kann ein Vorteil oder ein Nachteil sein, aber manche Nutzer mochten es, dass man mit nur zwei Zurück-/Weiter-Buttons auf einer Seite ein Flipbook bauen konnte
Es gab auch Leute, die ein Geschäft daraus machten, Lehrmaterialien als HyperCard-Stacks zu bündeln und zu verkaufen
Die Programmiersprache HyperTalk war nicht großartig und eher eine Sprache, die Hippies mochten, aber durchschnittliche Nutzer waren damit genauso überfordert wie mit C oder Pascal
Ich hatte immer das Gefühl, dass Apple zu stark kontrollieren wollte, was man damit machen kann. Das war das Gegenteil dessen, was ich von einer Programmiersprache und den Tools darum herum erwarte
Wenn du wissen willst, wie sich das angefühlt hat, versuch mal, etwas in AppleScript zu coden
VB und die Macromedia-Tools erinnere ich noch, und heutige Tools fühlen sich für mich schwieriger zu bedienen an
Schade war nur, dass es eine große Kluft zwischen Flash-Erstellern und Flash-Konsumenten schuf. Ein motivierter Tinkerer konnte vielleicht eine .swf dekompilieren und verändern, aber das war weit entfernt vom Modell von HyperCard, das allen Nutzern Bearbeitungswerkzeuge gab und jeden Stack zu einer Sammlung wiederverwendbarer Bauteile machte
Decker kann „gesperrte“ Standalone-Decks exportieren, bei denen der Editor versteckt ist, aber ihn wieder zu aktivieren ist trivial. Ich habe auch Beispiele gesehen, die so gestaltet waren, dass sie sich nach Abschluss eines Spiels selbst „entsperren“; das finde ich eine ziemlich coole Belohnung
In vielerlei Hinsicht passt sie nicht exakt zu HyperCard, aber in drei relevanten Bereichen ist sie ein besonders starker Kandidat. Der anfängliche Download ist klein (<100 MB), Lade- und Startzeiten sind kurz, und sie unterstützt einen iterativen, hackbaren Entwicklungsfluss, der gut zur frühen explorativen Entwicklungsphase passt, in der man „etwas Funktionierendes“ baut. GDScript eignet sich dafür sehr gut, und mit neueren Ergänzungen wie gradueller Typisierung wird die Robustheit mit der Zeit ebenfalls besser
Auch Godots Distributions-/Installationsmodell ist sehr stark. In diesem Bereich ist es meiner Ansicht nach jedem anderen Ökosystem[0] um Lichtjahre voraus. Man lädt die Export-Templates für die zu unterstützenden Plattformen herunter, also generische plattformspezifische Binär-Executables, und exportiert sie zusammen mit projektbezogenem Code und Ressourcen als Paket[1]
Der Bereich, in dem Godot im Vergleich zu HyperCard oder „klassischem“ Visual Basic derzeit überraschenderweise am meisten fehlt, ist Drag-and-drop-UI-Erstellung. Godot hat ein ziemlich leistungsfähiges UI-System, aber es ist manchmal undurchsichtig, und die aktuelle User Experience beim Erstellen von UIs zwingt einen, sehr bewusst mit dem Node-Baum der Szene zu arbeiten, statt Widgets aus einer Toolbar auf ein Fenster zu ziehen
Diese User Experience ließe sich vermutlich relativ einfach mit einem Editor Plugin verbessern, und vielleicht baue ich irgendwann einmal einen Prototypen für dieses Kaninchenloch :)
Es ist keine perfekte Lösung, aber wenn ich heutzutage GUI-basierte Utilities baue, ist es definitiv meine Standardwahl. Einige davon habe ich sogar so weit fertiggestellt, dass ich sie tatsächlich „releasen“ konnte :D
[0] Besonders Python bricht an diesem Punkt katastrophal zusammen
[1] WASM-Export fürs Web ist ebenfalls möglich, sodass eine zweigleisige Distribution denkbar ist: Leute probieren ein Utility zunächst als webbasierte Version aus und laden, wenn es nützlich genug ist, zusätzlich eine lokale ausführbare Datei herunter
Decker ist wirklich gut und macht enorm viel Spaß
Wenn du nach HyperTalk-Scripting suchst, dürfte dir auch Wyldcard gefallen
https://github.com/defano/wyldcard
Nachdem Decker letzte Woche in der Diskussion über HyperCard-Alternativen erwähnt wurde, habe ich angefangen, mich näher damit zu beschäftigen
Besonders neugierig bin ich auf das Packaging von Decks. Mir gefällt der Ansatz wie bei Redbean, bei dem Lua, SQLite usw. alles in einer Datei enthalten ist und man sie mit einem Zip-Tool öffnen, HTML- und Lua-Code hineinlegen und sie dann nur umbenennen muss, damit sie bereit zur Verteilung ist
Ich frage mich, ob Decker ebenfalls eine solche Art von Ansatz in Betracht zieht, um die Distribution zu vereinfachen