Decker, a platform that builds on the legacy of Hypercard and classic macOS
1 day ago (beyondloom.com)
Also, interview with creator: https://www.arraycast.com/2025/01/04/Decker.html
1 day ago (beyondloom.com)
Also, interview with creator: https://www.arraycast.com/2025/01/04/Decker.html
I'm afraid that HyperCard is too old for broader audience to be able to grasp how extraordinary experience it was providing.
As a 6-7yo I had a collection of English words, stored with my own definitions and pronunciations, using basic building blocks, and it was as easy and intuitive as writing these words in my notebook.
People used the same building primitives to make real games or stuff like accounting applications.
And the best part - at that time it didn't looked cheap.
This one is really hard to describe - it's the same uncanny valley that makes small village in Fallout 1 feel massive and full of people despite it taking two screens with just few sprites running around, while full blown 3D world of Fallout 3, with real buildings and voice overs felt flat, soulless and empty.
>>> And the best part - at that time it didn't looked cheap.
This is one of the things that I think we've lost. Or at least that we come close to losing. I go back even further, to the text screens of mainframe computers, and text based microcomputers. Because everything was text on a screen, a kid like me could make something that "looks just like software" even if I couldn't match the sophistication of commercial software in terms of the inner workings.
By the time I started using a graphical computer, my 68k Mac, it was already getting harder. I could write programs that ran in a terminal window, but making them "look like software" required a deep dive into the impenetrable workings of giant class libraries etc.
HyperCard was a great middle ground. Its widgets looked just like the basic UI widgets of the OS, and users could do things like click on buttons and edit text fields. Just like software.
Visual Basic got there too. I wouldn't say that VB (and the OS it ran on) was conceptually better than HyperCard, but VB got supported and HyperCard got dropped.
I discovered that we got that back in a sense.
If you task an llm with writing a CLI and have it use it, then it hides the "user interface" to a sufficient degree that you can pretty much build any kind of app/functionality in a couple days and it feels "professional".
AI as UI with a somewhat universal affordance.
The Fallout analogy is perfect. Limitation stimulates imagination. I think that’s part of why essentially limitless AI models produce things that are so devoid of it.
Constraints really breed creativity. The demoscene is probably my favorite example of it.
2 replies →
It took browsers and web dev until, IDK, maybe 2010? to match the interactivity and capability of Hypercard circa 1994.
The actual killer app turned out to be the network itself, but for anyone who used and built things with Hypercard (a lot of people), all the patterns of components and event-driven development were like an echo from a refined past by the time it became part of the modern development toolkit.
But nothing like the ease of development since FrontPage until Web Forms and they weren’t as good.
the original Myst was created using HyperCard... which in and of itself is a crazy app with a huge impact on gaming in general.
Cyan shipped at least one Hypercard game, before Myst.
https://en.wikipedia.org/wiki/The_Manhole
1 reply →
I did not know that!
> too old... to be able to grasp... experience
All you have to do is get people to try using it.
It's vastly smoother now, because nothing prevents adding colour and Unicode support, or more modern widgets, etc. without really changing anything essential about overall concept. Plus we're now in a world where LLMs could write Hypertalk (or whatever modestly-updated alternative) for you.
> the same uncanny valley that makes small village in Fallout 1 feel massive and full of people despite it taking two screens with just few sprites running around, while full blown 3D world of Fallout 3, with real buildings and voice overs felt flat, soulless and empty.
Again, all you have to do is show it to people. I don't think people actually appreciate the "classics" more simply because they remember them being SOTA. If anything, the passage of time has given the grognards a chance to notice that not everything at the time was nearly as good as the things that gave them the most nostalgia.
And again, the quality and fidelity of media is largely orthogonal to the aesthetic. 2d isometric tile games don't have the feeling they do because they're low resolution; not nearly so much as because the tiles intentionally fit together exactly, lines are at integer pixel ratios with no anti-aliasing, stuff like that.
I am not quite the right age for hypercard as well, but I did have my chances to interact with a variety of game making tools aimed at kids that were amazing for creating event-driven logic. Likewise in the professional world, tools aimed at business professionals (like MS Access), that kinda were abandoned - and there used to be a whole spectrum of stuff that connected WYSIWIG editors and simple languages to various levels of programming tools.
The demand for this was huge.
Is there a place these days for interfaces like this? I’m thinking about self contained applications like HyperCard stacks, but also FileMaker databases or even Access databases where we had interfaces linked to a database all as a self contained application. These tools with scripting languages powered a ton of small business applications. I know a lab I worked with was still using FileMaker databases up until a few years ago. These were user developed applications, done by people who may have been a bit technical, but who didn’t to know a full programming language.
If you’re a small shop and have a need for a little database, what do you use? Is there a default now? Notion?
I've seen people (non IT) do similar things (i.e. develop small applications) with Excel.
I created my bibliographic database with HyperCard. And I still miss it. HyperCard's attractiveness was the easy UI creation. FileMaker wasn't bad, but a bit more limited UI wise. And sqlite, while a phantastic DB misses the easy UI.
In the past, we used to refer to these as 4GL systems [1] - and as far as I'm concerned, this is really a wide open field for innovation - especially in the era of AI/LLMs.
[1] https://en.wikipedia.org/wiki/Fourth-generation_programming_...
Sure. Oracle APEX is popular. You never hear about it on HN because the target user base for low code stuff doesn't overlap with the HN set much, but it's huge.
https://blogs.oracle.com/apex/organizations-ww-chose-apex
In that IDC survey it's the most popular low code product, over 2 million apps and half a million developers.
There's a SaaS version at apex.oracle.com with a free tier if you want to try it, and you can self-host it as well.
That’s what I’m looking for - low code environments for making quick applications that aren’t sexy, but that are genuinely helpful for a non-technical business. Thanks!
From that link, it seems that Salesforce and Microsoft also have offerings. That doesn’t surprise me at all. I’ve seen a bit of MS PowerApps, but generally discounted it as I thought that app should have been a proper DB. Now I’m thinking that I may have been a bit hasty.
I don't think anyone you're calling a "shop" would do anything business-critical with it, but fwiw, Tiddlywiki fits in this category.
https://tiddlywiki.com/
Why past tense, Filemaker and Access are still being sold.
A solution would probably be Airtable.
It’s more that I haven’t really seen many examples of Access or FileMaker applications in the wild for a while. Most of these were CRUD apps that were able to be moved to the web. But that doesn’t mean that typical users are any more capable of navigating hosting setups for modern CRUD web apps.
The FileMaker example I saw was really for a legacy shop that was primarily used for existing applications. Nothing new was being added.
But I’m sure there are more examples in the wild than I would have seen. I was curious what the larger HN community has seen or has experience with.
I mean, for me, I’d probably put something in a SQLite database and build a simple web GUI on top of it. But I know that’s an option. What does a typical office worker do these days? Put everything in Excel? (That’s probably the answer)
3 replies →
FileMaker is no longer affordable. A single seat is around $500.
7 replies →
SaaS seems to have largely replaced them. And, needless to say, now LLM.
> If you’re a small shop and have a need for a little database, what do you use?
There's a zillion of under/over-developed solutions. Too much fragmentation for something to get enough traction to reach critical mass? Tricky space.
an llm coding agent?
SQLite seems to me like it fits the bill.
SQLite doesn’t have a built-in user interface. The value of something like FileMaker isn’t the underlying storage mechanism, it’s the WYSIWYG user interface building that lets you quickly build custom apps around it
2 replies →
Previously:
Decker: A reincarnation of HyperCard with 1-bit graphics - https://news.ycombinator.com/item?id=33377964 - Oct 2022 (88 comments)
Thanks, I want to add https://www.arraycast.com/2025/01/04/Decker.html which introduced me to it. I wish more people had exposure to q/k/apl and think this is a great way to do it.
I think this is the first time I've seen this hit #1 which is nice
Thanks for that audio link. We've added it to the header of this thread, though you'd be welcome to submit it as its own post, perhaps in a few months (to allow time for it to feel fresh again once this thread has vacated the community's memory cache).
Most recently, 27 days ago with 9 comments: https://news.ycombinator.com/item?id=48693273
Never used HyperCard, but from descriptions and screenshots in the article reminds me a lot of Delphi/Pascal/Lazarus IDE’s. Appeal is understandable, because it is so cool to be snore to from a few lines of code to a clickable intractable executable, that is the sort of Feedback loop that I miss in python and go GUI builders that I’ve used previously, and why I keep c inning back to Lazarus.
Decker is amazing. I've started a set of tutorials (decks + videos) as a byproduct of trying to teach my 8-year old daughter to program with it.
https://itch.io/t/6632495/decker-programming-tutorials-video...
It's kind of a shame this uses its own, probably more powerful, language instead of HyperTalk.
HyperTalk is one of the most accessible languages for beginners I've ever seen. Sure it was primitive and had somewhat weak data organization capabilities, but if you're like 6 it's pretty incredible for your experience to be:
That sort of directness is lost in modern development environments. The concept that the button's script lives inside of the button, and in fact everything on the page could have its own script. The page itself also has script, even the stack itself. Your code can of course call code in other objects if need be (typically at the page or stack level), and there is a whole message passing thing happening in the background. It's by far the most intuitive programming environment I've ever seen. It has the kind of immediate impact that helps to save off boredom or feeling like there's too much homework before the fun starts.
In the day people complained about the syntactic sugar in HyperTalk, but I think it was just right for the target audience. They did have more of a point about the difficulty in managing structured data, often having to store things in hidden fields referenced by line and word number or hacks like that.
The most incredible part is this was all in an application that came with the OS. It was the perfect opportunity for a bored kid to randomly come across it and discover a lifelong passion. There was nothing to install, no product to buy first--it was just there, asking to be discovered. And even if your parents weren't about to buy a reference book you could open up other stacks and start reading the code to learn the language. Because most scripts were small and self contained (remember that they were stored at the widget level) this was a legitimate way to understand the basic syntax and keywords.
In Decker, most of this example would be similar. The button's default script template would be:
And filling it in with an equivalent script would be something like:
There is slightly more "programming-language-like" punctuation to Lil than HyperTalk, but simple examples are still simple, and in my opinion having first-class collections (lists, dictionaries, tables) and a richer set of APL-like operators makes Lil scale up much better to more complex programs. As a child I recall struggling tremendously with HyperTalk's "almost-english" structure; it made scripts easy enough to read and understand, but provided very little help when it came to writing new scripts.
Decker has a similar Widget -> Card -> Deck event bubbling hierarchy to HyperCard, and in my opinion retains much of the same directness and simplicity for simple applications. The differences in approach won't please everyone, but they are all carefully considered, and have been refined over time based on feedback from the user community. Decker is a living, growing platform!
Your example needs to add the part where you put that string into a card field so people can see their work.
But your example also includes a period, a colon, square brackets, and a space where someone might expect a comma. It's going to look a lot more daunting to a first time programmer. Simply knowing when to use a period vs. the colon is not going to be obvious.
1 reply →
I miss HyperCard and I love projects like this at a nostalgia level - but if you're going to have aspirations that this is useful today (2026) with a real project then its a complete waste of time.
I want HyperCard where I can build out a stack or whatever and actually present it to people as a real and tangible thing. I love living in the past as much as anyone else, but this is a little disappointing.
I use personal applications written in Decker on a daily basis.
There are over 300 games, zines, visual novels, and toys built with Decker on itch.io: https://itch.io/games/tag-decker
Last month saw the first game made entirely in Decker published on Steam: https://store.steampowered.com/app/4693460/The_Dreams_in_the...
We are neither living in the past nor wasting our time.
A lot of these modern HyperCard reinterpretations get stuck on the black-and-white aesthetics of the original. That's cool, but it limits how broadly appealing they become. Even back when HyperCard was relevant, Apple's inability to properly introduce color as a first-class feature was what effectively killed the product.
A few years ago, I think there would have been a market for a HyperCard-inspired tool that targeted modern technologies - probably web tech.
Today, I guess vibecoding is what HyperCard was in the 80s and 90s, the tool you can use to quickly and easily build a little program that fills your specific need.
> Even back when HyperCard was relevant, Apple's inability to properly introduce color as a first-class feature was what effectively killed the product
They never hacked color into HyperCard 2 since their plans for HyperCard 3 were too grand - it was going to be a part of QuickTime, so that HyperCard stacks would be multimedia applications delivered as QuickTime movies, including embedding on the web. This was when Apple was spiraling though and it got cut.
You said it well. The aesthetic is so much more about building your project within the project itself (like what Jupyter and Marimo did for Python, but more so because you also lay out GUI this way), having built-in components, designing around very simple "multimedia" integrations (push a button and a sound plays! With a single command in the event handler!) etc. than about any of the technical limitations.
To me, a properly modern "Hypercard" would be something like if Marimo and Pygame had a baby, and that baby was IDLE except it didn't suck.
1 reply →
> Apple's inability to properly introduce color as a first-class feature was what effectively killed the product.
I think the bigger problem was when Apple stopped shipping the Hypercard development environment and instead shipped only Player. Also when they stopped developing or supporting the environment entirely.
They had a really cool thing going, but since it didn't contribute directly to the bottom line corporate had it killed.
Myst was famously built in Hypercard, but they must have worked around the limitations somehow?
https://en.wikipedia.org/wiki/Myst
6 replies →
Smart
HyperCardSimulator.com lets you make and import stacks anonymously and link to them online. Enjoy!
Woah, this is something I've wanted for forever! Only, without the "quirky" aspects of its design. I can appreciate the charm, but it does obstruct utility, and this sort of tool -- a super-general digital whiteboard -- would be oh so useful. I never knew of its predecessor, "HyperCard," either, which looks to be essentially what I wish for, only modernized.
Engineers of a certain age, sitting around, kicking around ideas for a modern Hypercard… what a great pass-time.
Scripting language? Javascript? Python?
SDL3 for cross-platform rendering, audio…
Should the "cards" just be a subset of HTML?
Etc…
This reminds me of LiveCode[1] (aka Revolution and MetaCard) which I’ve used quite a bit about a decade ago. Was also inspired by HyperCard. Just checked their site again and it seems they’ve discontinued the open source version and have pivoted to an AI-assisted drag and drop UI builder.
[1]: https://en.wikipedia.org/wiki/LiveCode
I'm using LiveCode for a dozen personal applications (and for just the fun of coding; I'm a retired s/w engineer). It's no longer free, but I started with HyperCard and LiveCode is an excellent replacement, at least for me.
The OpenXTalk community is keeping the open source version alive.
https://www.openxtalk.org/
1 reply →
Decker seems like it would have a lot of potential for e-ink devices like the boox note series and such.
awesome, already love the detailed feature set. one thing I'd love is the option to change themes. for eg. i'd like a more modern theme if i want to create a presentation and send it across. retro is a bit of a cognitive overload on users who are now habitual of navigating a different type of UI.
If you want the "agentic future" version of this (sorry), tldraw just relased "tldraw offline"[1] which in some ways has a lot of overlap with HyperCard as well.
[1] https://offline.tldraw.com/
Is there a scripting language for this? That was what really differentiated HyperCard and made it a replacement for the never-released MacBasic:
https://www.folklore.org/MacBasic.html
[dead]
Appears so: https://beyondloom.com/decker/lil.html
2 replies →
Decker is neat. I was in the process of using it the other day, but discovered it did not have much by way of font size adjustment in text fields. You could make a heading, but I didn't see a way to make it bigger or larger than simply being a heading.
Decker fonts are composed of fixed-size bitmaps. The included example "fonts.deck" has a variety of additional fonts to choose from in various sizes, and an editor:
https://beyondloom.com/decker/fonts.html
We also recently gained a library for working with vector-based text:
https://beyondloom.com/decker/hershey.html
Ah. That would have been good to know! I was looking mostly in the interface for a font size tweaker of some kind.
It seems application state is mainly maintained in the widgets. Reminds me of Delphi. Is there a similar concept for representing state in a well-suited data structures, that can be created and composed visually like the UI widgets?
Decker heavily emphasizes the concept of "reified data", representing information as tangible entities within a deck.
You can create "contraptions" as specialized data containers/editors for specific applications:
http://beyondloom.com/decker/decker.html#customwidgets
For example, "WigglyKit" offers several contraptions which operate on a shared convention for representing animated images:
http://beyondloom.com/decker/wigglykit.html
You can also represent composite data as a series of cards in a deck, or use cards as encapsulated "objects" that you communicate with via events:
http://beyondloom.com/blog/sketchpad.html#cardsarerecords
In a pinch, you can also easily encode arbitrary data in fields as a JSON superset with their ".data" attribute.
Feels more like jerry-rigged SmallTalk to me. Maybe more like Rebol?
The HyperCard legacy lives on! The self-contained single-file HTML export alone makes this a fantastic medium for web zines and indie games, and the dithered aesthetic gives it immediate charm. Looking forward to diving into Lil.
It looks way better than most modern interfaces on e-ink too!
And it seems kinda perfect for e-ink
If I could point to two major influences that directed me towards computer engineering it was Hypercard and BBS's.
Will it run Myst???
Really love this! Simple idea, powerful execution
Looks awesome! Very oddly super small window for it in iOS safari though.
Decker prefers integral upscaling. On most browsers, "Decker -> Fullscreen" in the menu (or "app.fullscreen:1" from a script) will enable "stretching", but this feature is not supported by Safari on iPhones last time I tested.
Nitpicking:
“classic Mac OS”
not
“classic macOS”
[flagged]
[dead]
[dead]
Wait, you are telling me people vibe created apps before LLMs? /s
This is beautiful. I loved Hypercard when I was a kid. If they added networking to it, it would have been superior to web browsers!
Please people, have some joy and stop taking people down a peg for vibe coding apps. Let people have fun again for once.
Being able to load stack pages in from a remote site would be both amazing and a total security nightmare. Hypercard's security model was NOT suitable for that kinda of activity. Hypercard viruses were already a problem back in the 90s, but luckily they were hard to spread so the impact was limited.
Vibe away. Vibe code like a teenager with leather trousers and a top with zips (punk days).
Just don't put it in production or in a work flow where there could be consequences if (randomly) nondeterministic.
corporate mindset.