Decker: A Modern Multimedia Platform Inspired by HyperCard
Decker: A Modern Multimedia Platform Inspired by HyperCard
Decker is a multimedia platform designed for creating and sharing interactive documents that integrate sound, images, hypertext, and scripted behavior. By building on the legacy of HyperCard and the visual aesthetic of classic Mac OS, Decker provides a low-barrier entry point for interactive design, allowing users to build E-Zines, adventure games, presentations, and personal notes.
Core Functionality and Distribution
Decker allows users to create "decks"—interactive documents that can be saved as standalone HTML files. These files self-execute in any web browser, making them highly portable and easy to share without requiring a separate runtime. In addition to the browser-based experience, Decker runs natively on macOS, Windows, BSD, and Linux.
Key quality-of-life improvements over its predecessors include:
- Deep undo history: Simplifies the iterative design process.
- Modern input support: Full compatibility with scroll wheels and touchscreens.
- Modern keyboard navigation: Streamlines the workflow for creators.
- Bulk editing: Enables faster modifications across multiple elements.
The Lil Scripting Language
For complex interactivity, Decker utilizes a custom scripting language called Lil. Lil is designed to be accessible to beginners while remaining powerful for experienced developers. Its design is heavily influenced by Lua (imperative) and Q (functional/APL family), featuring:
- Implicit scalar-vector arithmetic: Simplifies mathematical operations across data sets.
- Integrated SQL-like query language: Allows for efficient data manipulation within documents.
Beyond the main platform, Decker provides Lilt, a standalone Lil interpreter. Lilt can be used to manipulate or execute Decker documents "headlessly" via the command line, and can be compiled as a cross-platform APE executable for shell scripting. For extreme portability, a version of the Lil interpreter also exists that runs on POSIX AWK.
Modular Design and Extensibility
Decker employs a modular approach to interface building. It provides a set of built-in interactive widgets, but also allows users to define custom widgets. These custom widgets can be copied and pasted via the system clipboard as text, allowing creators to share and repurpose reusable components across different projects.
The platform is supported by a variety of specialized libraries, including:
- Plotting and Math:
plotfor graphing andstatsfor statistical utilities. - bn: Arbitrary-precision unsigned integers.
- path: Grid pathfinding algorithms.
- dfxr: Sound effect generation.
- zazz and ease: Animation and easing functions.
- twee: Support for reading Twine's .twee file format.
Aesthetic and Philosophy
Decker is built with a "ditherpunk" aesthetic—a 1-bit pixel art style that provides creative constraints and encourages a "sketchy," imperfect approach to prototyping. The developer emphasizes user autonomy and privacy, explicitly stating that the software includes no advertising, telemetry, or "slop-generator" integrations.
Community Perspectives and Use Cases
Community discussion highlights the tension between nostalgia and modern utility. While many users praise the platform for its immediate feedback loop and the charm of its 1-bit graphics, some argue that the retro aesthetic may obstruct utility for professional presentations.
Insights from the community include:
- Rapid Prototyping: Users recall HyperCard as a tool for creating one-off scientific applications and simulators, suggesting Decker could fill a similar niche for rapid, low-overhead development.
- Educational Value: Some users are using Decker to teach children to program, citing the accessibility of thes
- Comparison to Modern Tools: Discussions compared Decker to tools like tldraw, LiveCode, and Notion, questioning if there is still a place for self-contained, user-developed applications that bridge the gap between a database and a UI.
"The concept that the button's script lives inside of the button, and and in fact everything on the page could have its own script... That sort of directness is lost in modern development environments."
Decker is open-source under the MIT license, with source code and bug tracking available on GitHub.