Decker builds on the legacy of HyperCard and the visual aesthetic of classic macOS. It retains the simplicity and ease of learning that HyperCard provided, while adding many subtle and overt quality-of-life improvements, like deep undo history, support for scroll wheels and touchscreens, more modern keyboard navigation, and bulk editing operations.
Anyone can use Decker to create E-Zines, organize their notes, give presentations, build adventure games, or even just doodle some 1-bit pixel art. The holistic “ditherpunk” aesthetic is cozy, a bit nostalgic, and provides fun and distinctive creative constraints. As a prototyping tool, Decker encourages embracing a sketchy, imperfect approach. Finished decks can be saved as standalone .html documents which self-execute in a web browser and can be shared anywhere you can host or embed a web page. Decker also runs natively on macOS, Windows, and Linux.
Decker is wonderful, I spent the winter holidays of 2022 playing it with, I love seeing what people make with it. I was just looking at Razetime’s website written in Lil.
I keep hearing nice things about Decker, but I can’t bring myself to take a serious look at it because… of appearance. Its a constant reminder of early macOS. I actually used those machines, and they were about the most frustrating computers I ever had to work with. Nothing beats “Error 35: the operation could not be completed because there was an error” in terms of bad UX, in particular when you see it twice per hour for no apparent reasons.
Ah hmm, I have a positive reaction to the appearance. I spent a lot of time with the classic Mac interface as a kid, so it holds a good deal of nostalgic charm for me.
Just for the record, Decker is still alive and kicking. I’ve been writing periodic summaries of progress on the platform and its scripting language, Lil.
Major highlights of the past two years include (limited) support for Unicode text, expanded support for paletted color, a number of ways to opt out of Decker’s default sandboxing behavior, and a growing collection of tutorial documentation, extension modules, and user-defined “contraptions” that supplement built-in interactive widgets:
I also wrote an extended tutorial that contrasts implementing a simple game in several ways, illustrating Decker’s model for event loops, state, and reusability: