Decker, a platform that builds on the legacy of Hypercard and classic macOS
Posted by tosh 1 day ago
Also, interview with creator: https://www.arraycast.com/2025/01/04/Decker.html
Comments
Comment by zeroq 22 hours ago
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.
Comment by analog31 20 hours ago
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.
Comment by j-pb 2 hours ago
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.
Comment by giantfrog 21 hours ago
Comment by temp0826 19 hours ago
Comment by TimTheTinker 3 hours ago
Real beauty comes from expressing something coherent within constraints such that the constraints become the means of expression.
Comment by Tade0 3 hours ago
Instead of the usual hideous red, black, grey and white that seemed ubiquitous since at least the 80s along with the most terrible textures one could find, there was blue, yellow, different shades of green.
And one painting featuring an exchange of text messages.
Comment by scelerat 20 hours ago
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.
Comment by NetMageSCW 17 hours ago
Comment by weaksauce 21 hours ago
Comment by watersb 14 hours ago
Comment by WorldMaker 21 minutes ago
Myst ran in Hypercard in early Mac releases but switched to a cross-platform runtime Broderbund built to sell Myst on Windows CDs (and consoles and more).
Riven was also majority designed/prototyped in Hypercard as a development platform, but more directly targeted from the beginning that same runtime Broderbund built for running Myst cross-platform.
Comment by cfiggers 18 hours ago
Comment by zahlman 15 hours ago
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.
Comment by torginus 10 hours ago
The demand for this was huge.
Comment by mbreese 22 hours ago
If you’re a small shop and have a need for a little database, what do you use? Is there a default now? Notion?
Comment by jcynix 21 hours ago
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.
Comment by sixdimensional 15 hours ago
[1] https://en.wikipedia.org/wiki/Fourth-generation_programming_...
Comment by gglitch 4 hours ago
Comment by mike_hearn 9 hours ago
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.
Comment by mbreese 2 hours ago
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.
Comment by pjmlp 21 hours ago
A solution would probably be Airtable.
Comment by mbreese 21 hours ago
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)
Comment by whartung 20 hours ago
While it's been 20+ years since I dealt with either, you can create table, get a navigable (and perhaps other features), and a CRUD detail screen in just a few minutes of drag and drop.
And it's right there, on your machine, no cognitive load about, well, anything, and ready to go. Another 10 minutes and you have a printable report spewing out on your laser printer.
It's quite a first step to go beyond the wizard based stuff into BASIC and such, but the fundamentals are there. And the fundamentals are useful out of the box.
You can set up a usable Access DB and MS Word Mail Merge in probably 1/2 hour of reading some tutorials.
Finally, out of the box, the screens look "ok". Your collection of fields conveniently fill the window nicely. You don't have a 21" x 12" white, barren canvas with Name, Address, C/S/Z and two buttons crammed up in the upper left corner. "Gee why is the font so small?" So now you don't have to fall down the rabbit hole to try and make your simple form even baseline "presentable".
It is curious that MS (afaik) does not have a way to drag and drop an Access application and have it "deploy" to the web, and (afaik), Access isn't part of Office 365 either.
Comment by NetMageSCW 14 hours ago
Comment by pjmlp 13 hours ago
Comment by oidar 17 hours ago
Comment by jnwatson 14 hours ago
It is about as expensive as it ever was.
Comment by simondotau 13 hours ago
Comment by pjmlp 12 hours ago
A proper PC or Apple device, proper being the keyword, not throwaway gear under 500 €, is as expensive as always, when buying hardware with 5 to 10 years expected lifetime in a professional setting.
Comment by simondotau 7 hours ago
In terms of hardware, a Macintosh Plus vs a MacBook Neo. The latter is many orders of magnitude superior in any metric you could possibly imagine, and it's 1/10th the price in real dollars. Even if you insist on a "serious" laptop it's still 1/4th the price.
Year Example Price Real 2026
---- ----------------------- -------- ----------
1986 Compaq Portable II (286) $3,500 $10,700
1996 Dell/Gateway Pentium 166 $2,500 $5,300
2006 Dell XPS (Core 2 Duo) $2,200 $3,650
2016 Dell XPS 15 $1,500 $2,100
2026 Dell XPS 14/16 $2,000 $2,000
Year Example Price Real 2026
---- ----------------------- -------- ----------
1986 Macintosh Plus $2,599 $7,900
1996 Power Macintosh 7200 $2,000 $4,300
2006 20" iMac $1,699 $2,800
2016 13" MacBook Pro $1,699 $2,360
2026 14" MacBook Pro (M5) $1,999 $2,000
Year Example Price Real 2026
---- ----------------------- -------- ----------
1986 Novell NetWare $3,000 $9,100
1996 Windows NT Server 4.0 $1,100 $2,400
2006 Windows Server 2003 $1,000 $1,660
2016 Windows Server 2016 $900 $1,250
2026 Linux $0 $0
Year Example Price Real 2026
---- ----------------------- -------- ----------
1986 Early pro NLE systems $50,000 $152,000
1996 Adobe Premiere 4.2 $800 $1,700
2006 Final Cut Pro $1,000 $1,660
2016 Final Cut Pro X $300 $420
2026 Da Vinci Resolve $0 $0
And all of these tables are actually unfair because the newer stuff is way, way, way, way better than any of the older stuff. If we were being fair, the old computers should be absolute top-of-the-line models and the 2016/2026 models should be a Raspberry Pi.Comment by pjmlp 6 hours ago
MacBook Neo is a nothing to talk about with its 8 GB and phone motherboard, I specifically mentioned "A proper PC or Apple device, proper being the keyword, not throwaway gear under 500 €, is as expensive as always, when buying hardware with 5 to 10 years expected lifetime in a professional setting."
Neo isn't such device, my current hardware has 32 GB.
Your examples miss the relation of salaries, life cost and related percentage to hardware prices, per country.
Comment by simondotau 5 hours ago
Exactly my point. Thank you. Computers are so much more affordable now. The remainder of your post seems to be about me mentioning the Neo as an extreme case despite me ultimately ceding to your arbitrary criteria and selecting the M5 MacBook Pro as the point of comparison.
Again, comparing it to a Mac Plus or a 286, or a Pentium 166. Are we even being serious here?
> Neo isn't such device
Absolutely it is, and then some. You're just spoiled by your fancy 32 GB computer because — again, proving my point about affordability — computers are incredibly cheap now and they keep getting cheaper in real terms.
Calling the Neo "throwaway" is an incredibly privileged take. There's no reason to expect it won't have a comparable lifespan to any of the computers listed. It has a fantastic keyboard, comparable to the best laptop keyboards. If you don't agree, that's probably because you don't like laptop keyboards. So don't get a laptop.
You did have one valid point though, the Neo does have a small motherboard. That's unforgivable.
Comment by pjmlp 1 hour ago
Comment by Exoristos 20 hours ago
Comment by lysace 19 hours ago
There's a zillion of under/over-developed solutions. Too much fragmentation for something to get enough traction to reach critical mass? Tricky space.
Comment by NegativeLatency 21 hours ago
Comment by chrisweekly 21 hours ago
Comment by swiftcoder 21 hours ago
Comment by chrisweekly 3 hours ago
>"If you’re a small shop and have a need for a little database, what do you use?"
not the rest of the comment. mea culpa for not quoting that specific Q.
Edit: as for the rest of it, I love using Obsidian for ~everything. It's not a database, but it does support queries and rendering of tabular data, which meets all my admittedly modest needs.
(if a true db is required, some ppl like logseq which has some feature overlap w obsidian but is db-driven)
Comment by tomhow 22 hours ago
Decker: A reincarnation of HyperCard with 1-bit graphics - https://news.ycombinator.com/item?id=40292181 - May 2024 (78 comments)
Decker – A HyperCard Replacement - https://news.ycombinator.com/item?id=38985409 - Jan 2024 (36 comments)
Decker, a platform that builds on the legacy of Hypercard and classic macOS - https://news.ycombinator.com/item?id=33377964 - Oct 2022 (88 comments)
Comment by bjconlan 19 hours ago
I think this is the first time I've seen this hit #1 which is nice
Comment by tomhow 2 hours ago
Comment by WalterGR 22 hours ago
Comment by jandrese 50 minutes ago
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:
1. Open a blank script
2. Drag a field on the screen and name it "myname"
3. Drag a button on the screen, open up it's script and see:
on mouseUp
end mouseUp
4. You then enter the following two lines between those two lines:
ask "What is your name?"
put it into card field myname
5. Then you go back and click the button and a dialog box appears asking your name and when you type it in an hit enter the name appears in the field you created.
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.
Comment by RodgerTheGreat 23 minutes ago
on click do
end
And filling it in with an equivalent script would be something like: on click do
myname.text:alert["What is your name?" "string"]
end
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!
Comment by proxysna 20 hours ago
Comment by JKCalhoun 2 hours ago
Scripting language? Javascript? Python?
SDL3 for cross-platform rendering, audio…
Should the "cards" just be a subset of HTML?
Etc…
Comment by donohoe 22 hours ago
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.
Comment by RodgerTheGreat 22 hours ago
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.
Comment by InsideOutSanta 21 hours ago
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.
Comment by jandrese 1 hour ago
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.
Comment by kalleboo 17 hours ago
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.
Comment by zahlman 14 hours ago
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.
Comment by zahlman 14 minutes ago
Hmm, I put that poorly, and can't edit now. I'm really thinking more about the entire Tkinter stack, and the way that IDLE is used both to demonstrate it and to provide a way to edit the Python code needed to interact with it.
Comment by andrelaszlo 20 hours ago
Comment by pasquinelli 18 hours ago
Comment by Cyberdog 17 hours ago
Comment by kalleboo 17 hours ago
Comment by bawana 16 hours ago
Comment by kalleboo 16 hours ago
Comment by dosisking 16 hours ago
Comment by miaperkovac 18 hours ago
Comment by hyperhello 22 hours ago
Comment by hallole 15 hours ago
Comment by josters 21 hours ago
Comment by D-Coder 21 hours ago
Comment by gnodar 14 hours ago
Comment by josters 12 hours ago
Comment by cure_42 17 hours ago
Comment by NoSalt 2 hours ago
Comment by brightstar18 23 hours ago
Comment by fastball 22 hours ago
Comment by WillAdams 22 hours ago
Comment by landver 22 hours ago
Comment by mwcremer 20 hours ago
Comment by WillAdams 16 hours ago
Which answer after searching is yes and no:
Comment by fastball 16 hours ago
Comment by janci 22 hours ago
Comment by RodgerTheGreat 21 hours ago
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.
Comment by BoingBoomTschak 20 hours ago
Comment by thataccount 23 hours ago
Comment by RodgerTheGreat 23 hours ago
https://beyondloom.com/decker/fonts.html
We also recently gained a library for working with vector-based text:
Comment by thataccount 23 hours ago
Comment by huseyinl 22 hours ago
Comment by carimura 17 hours ago
Comment by madhu_ghalame 13 hours ago
Comment by philips 23 hours ago
Comment by RodgerTheGreat 22 hours ago
Comment by felixding 17 hours ago
“classic Mac OS”
not
“classic macOS”
Comment by bytesage 13 hours ago
Comment by neet_dev 19 hours ago
Comment by wetpaws 22 hours ago
Comment by mempko 18 hours ago
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.
Comment by jandrese 1 hour ago