11 ms·
Ask HN: Modern day equivalent to HyperCard?
My son is 11 and his school uses Scratch to learn basic programming concepts.
I remember being introduced to HyperCard in the late 80’s/early 90’s. Does a modern day equivalent exist?
Caveat: I’m a marketer, not a coder (said in my best “Bones” McCoy voice). But I thought this would be a fun father-son thing to learn together and help expand his coding skills.
- yaj54 2y agoThe web is distributed HyperCard. A website is basically a hypercard stack (albeit more text-centric than bitmap-centric) it's visual, card/page based, scriptable, and hyperlinked. Get him to put together a hello world page from scratch and get it published on a live domain and he will be hooked for life.
- Rabidgremlin 2y agoIf he wants to advance in the game space then he can either keep in the "visual coding" area using something like https://www.construct.net/en https://www.construct.net/en or start heading down the text coding path with https://godotengine.org/ https://godotengine.org/ or https://www.lexaloffle.com/pico-8.php https://www.lexaloffle.com/pico-8.php
- Leftium 2y agoIt doesn't exist yet, but I want to make a programmable LOGO turtle for VR/AR. Besides teaching programming, I think it could become a scripting tool to help create experiences in VR/AR. My first introduction to programming was via LOGO writer (although I didn't even realize I was learning programming until much later.)
- AustinCodeMonki 2y agoLivecode is the commercial version. It used to have a community edition (free) but that was discontinued in 2021. The various other alternatives (Supercard was clunky and apparently doesn't run on 64-bit systems, PythonCard is dead, Shoes is effectively dead) besides Decker would be something like Delphi (ObjectPascal). There used to be a wxWindows-based system but that seems to have died also. These days most folks would push you towards HTML / CSS / Javascript and possibly Node.js or Deno. In my mind Hypercard was the bridge between desktop programming and web development. Realistically that's not really bad advice. For desktop programming, Dart/Flutter (Google recently laid off parts of those teams) are viable as are Python/Kivy (or even Python/Tkinter since Tkinter comes bundled with Python). You might also want to look at the DragonRuby Game Toolkit (Ruby).
- mega_tux 2y agoMaybe not the same, but I find Red lang ( https://www.red-lang.org/ https://www.red-lang.org/), Rebol like language, somewhat similar in spirit.
- talldayo 2y agoScratch is basically HyperCard on steroids. I don't think there's anything you can do in HC that you can't do in Scratch.
- runjake 2y agoLiveCode is about the closest literal logical successor to HyperCard. https://en.wikipedia.org/wiki/LiveCode?wprov=sfti1 https://en.wikipedia.org/wiki/LiveCode?wprov=sfti1 That said, I think Scratch is a better learning environment these days and you can develop workable apps in the style of HyperCard. There are plenty of tutorials, documentation, and examples to work from. https://scratch.mit.edu https://scratch.mit.edu
- jauntywundrkind 2y agoI don't have any suggestions for today, but I feel like web components that try to reveal themselves & be programmable would be by far the easiest clearest most obvious path towards such a user malleable system.
- flymasterv 2y agoDecker https://beyondloom.com/decker/ https://beyondloom.com/decker/
- hugs 2y agoProbably the correct answer. (I loved HyperCard as a kid and built a ton of stuff with it.) My only complaint about Decker as-is (last time I played with it) is that it has no ability out-of-the-box to make any kind of network connection to do anything. e.g. grabbing some data, triggering some webhook, etc. is all a no-go. Decker is completely self-contained and oblivious about the internet (a lot like HyperCard was). Theoretically, it's possible to add network fetching to Decker, but it's an exercise left to the reader. Leaving out networking feels very intentional in Decker, and if you start to go down that rabbit hole, I imagine it quickly devolves into all the pain and complexity of modern webdev. (Would be happy if I'm wrong and happy to find out it's all there in Decker now.)
- flymasterv 2y agoIt does, now! If you build from source and turn on the Danger Zone, you can call out to the shell, including curl. https://itch.io/post/9447223 https://itch.io/post/9447223 https://beyondloom.com/decker/decker.html#thedangerzone https://beyondloom.com/decker/decker.html#thedangerzone
- hugs 2y agoAwesome! Probably a fair compromise. Also, the "why no networking?" question has also been asked and answered by the developer here: https://beyondloom.com/blog/responses.html#doesdeckerhavenetworkingsupportwillit https://beyondloom.com/blog/responses.html#doesdeckerhavenet...
- rickcarlino 2y ago1. Decker is the closest modern equivalent https://beyondloom.com/decker/ https://beyondloom.com/decker/ 2. Bubble is easy for non-coders. https://bubble.io/ https://bubble.io/ 3. Gambas BASIC is a bit more technical, but will give you hard 90's vibes (Linux only) https://gambas.sourceforge.net/en/main.html https://gambas.sourceforge.net/en/main.html I think the advent of LLMs might make these types of tools more accessible to non-coders, or at least I hope so.
- anonzzzies 2y agoBubble doesn’t seem too much to do with HyperCard and as coder I find it almost unusable. I understand it but it’s so finicky… I would say a modern HyperCard is LiveCode (outside Decker).
- AstroJetson 2y agoThanks for sending me down the Decker rabbit hole. Another 4 hours of my life vanished, but I had a great time. The retro look covering a really interesting language has me hooked.
- zqfm 2y agoI cut my teeth on HyperCard and I'd say that the web (HTML, JavaScript) is a pretty good successor. Getting an image on a page and then linking between pages is quite satisfying when you're starting out. Something like a basic web page is great for a beginner but there's the whole gamut from there up to 3d games and virtual machines (wasm) to advance to when you're ready.
- jhbadger 2y agoIn the beginning of the Web the connections between Hypercard and the Web were known and intentional -- many early web browsers also included HTML editors because it was thought the Web would be a two-way street with users both reading pages and writing their own. The author of ViolaWWW (an early 1990s web browser) originally created it as an attempt to bring something like Hypercard to UNIX https://en.wikipedia.org/wiki/ViolaWWW https://en.wikipedia.org/wiki/ViolaWWW
- creer 2y agoScratch is far better and deeper than most people think. It's also interesting because the developer interface forces thinking for yourself on things like how to manage complexity in your project, or how to get different modules to communicate - and that's useful (if only helpers thought to point that out). It's very unlikely the school is digging deep in Scratch. Most likely they are keeping to the very basics - and a kid can go deeper on their own... or not. As the next step, moving to python or whichever other language is okay. And I doubt very much that at 11 they are already exhausting Scratch. A web browser and javascript is fine too.
- adamspiers 2y agoCheck out https://pytch.org/ https://pytch.org/ which is a great way for kids (or anyone) to transition from Scratch to Python. Built by a friend of mine.
- AstroJetson 2y agoI do elementary school Robotics, we program the robot in a version of scratch / blockly. There is a huge amount what you can do. The programming club does some pretty cool game things.
- ericd 2y agoAre there any good starter kits that you'd recommend on the hardware side that work well with the software stack you all use?
- tomr75 2y agoAlso onterested
- AstroJetson 2y agoVEXIQ is what we use. It has a little sister called VexGO it’s limit is the 4 channel brain. All of the mechanical parts are interchangeable, so do some VexGO, then add more motors, sensors, etc with VexIQ
- despacito 2y agoHaven’t seen downpour mentioned, it’s pretty neat https://downpour.games/ https://downpour.games/
- adrianhon 2y agoSeconded! It’s mobile-first, very friendly, and very much designed for beginners. Lots of fun toys and games out there!
- sbashyal 2y agoMy son, around the same age, liked p5.js the most out of several things I introduced him to
- fiatjaf 2y agohttps://hyperscript.org/ https://hyperscript.org/ claims to be.
- threeseed 2y agoNot Hypercard but there is a company still making a Visual Basic 5 clone: https://www.xojo.com https://www.xojo.com When I was young I found it a great way to get into programming since it's visual with immediate feedback.
- Turing_Machine 2y agoVB 5 (and, especially, 6) were some of the best UI builders ever designed, IMO. Yeah, there was a crap language underneath, but I've never seen anything better at whipping up a serviceable GUI in a hurry. Back in the day I sometimes wrote the UI for Windows C and C++ programs using VB6. It was that good.
- ben_w 2y agoAye; that used to be called REALbasic, and I had good experiences with that in the late 90s/early 00s during my GCSEs/A-levels thanks to finding it on a cover CD of some Mac magazine in my local newsagent.
- CharlesW 2y agoIn addition to LiveCode, you might also look at other “interactivity authoring” tools like Tumult Hype, Twine, and Roblox Studio, and even the retro https://hcsimulator.com https://hcsimulator.com.
- ranger_danger 2y agohttps://www.vipercard.net/ https://www.vipercard.net/ https://twinery.org/ https://twinery.org/ https://www.bitsy.org/ https://www.bitsy.org/ https://jupyter.org/ https://jupyter.org/
- BSTRhino 2y agoEasel: https://easel.games https://easel.games
- WillAdams 2y agoI really wish Livecode hadn't pulled their opensource/Community Edition (and I'd be very glad for someone to do something with that code). Gambas is something I keep wanting to try and seems promising. EDIT: Other BASIC options include Twinbasic (looks to be stalled though) and Small Visual Basic. I did one small app w/ Python and TKinter, but it was a dense wall of text/code when I was finished and not something I was interested in revisiting. I keep seeing suggestions that Python w/ QT support is supposed to be quite good. One unlikely option is Google's Blockly (which I wish had a stand-alone desktop implementation which would make graphical programs), which has a nifty version implementing OpenSCAD: https://www.blockscad3d.com/editor/ https://www.blockscad3d.com/editor/ which I've used a fair bit. Moving on from there, there is: https://github.com/derkork/openscad-graph-editor https://github.com/derkork/openscad-graph-editor which has the advantage of encompassing the entirety of OpenSCAD. It's also possible to wrap up Python using PythonSCAD.org If you're willing to consider other node/line connection systems two promising options are: https://ryven.org/ https://ryven.org/ and https://nodezator.com/ https://nodezator.com/ What sort of coding, on what sort of projects do you want to do? FURTHER EDIT: Two other programming environments to consider: https://www.nodebox.net/ https://www.nodebox.net/ and https://processing.org/ https://processing.org/
- merubin75 2y agoFirst, thank you for the suggestions. To answer your question: I really don’t know yet. The request comes from wanting to do a project together, and also for him to learn valuable future skills. He loves Legos, Spider Man, and Star Wars, so we will have to wait and see where his imagination goes.
- WillAdams 2y agoFor Lego bricks, is it an option to do Mindstorms?
- techdragon 2y agoHow have I never seen that OpenScad Graph Editor!!!! I work a lot with openscad for projects with my 3d printer and it’s been a real pain adapting some things I find to save any time, because the language is a bit odd and using libraries came really obfuscate what’s going on… Thank you so much for sharing it!
- sea6ear 2y agoMy suggestions would be Tcl/Tk or Pico 8. Tcl/Tk is still the easiest way I have found to make small gui apps and the language and standard library is small enough to keep in your head easily. Pico 8 is my recent love. It's a great way to make small retro style games. There's a free educational edition or you can pay $15 for the full version which has some extra export options. I've been playing with it for the past couple months and my kids from 6-11 have started to get involved. It's programmed in Lua and I and my kids prefer it at the moment to our previous attempts at Scratch.
- musicale 2y agoTk was well designed and implemented. I'm still nostalgic for the Tk canvas object. Python/tkinter isn't bad either.
- dfabulich 2y agoI think you and your kid would have fun designing a Choose Your Own Adventure game in Twine. https://twinery.org/ https://twinery.org/ FWIW, there are a bunch of simple modern GUI builders, including GUI builders for the web, but none of them are popular, due to the sweet spot of supply and demand that Hypercard hit. When Hypercard launched, it came with every Mac, it was free, and there was nothing else like it available on the Mac. On the Mac, the alternative to Hypercard was to layout UI widgets in code, with no GUI builder at all, or eventually to pay $$$ for a professional-grade IDE like CodeWarrior. As an entry-level user with no budget, if you wanted a GUI builder for the Mac, you got Hypercard, or nothing. This created a community of Hypercard enthusiasts. Furthermore, when Hypercard launched, Macs had a standard screen resolution. Every Mac sold had a screen resolution of 512x342 pixels, so you could know for sure how your cards would look on any Mac. Supporting resizable GUIs is one of the hardest things to do in any GUI builder. (How should the buttons layout when the screen gets very small, like a phone? Or very wide, like a 16:9 monitor?) Today, Xcode uses a sophisticated constraint solver / theorem prover to allow developers to build resizable UIs in a GUI; it works pretty well, I think, but it's never going to be as easy to learn as "drag the button onto the screen and it's going to look exactly like that everywhere." The last issue is the real killer for modern Hypercard wannabes: it's a small step from a web GUI builder to raw HTML/CSS. You don't have to pay big bucks to have access to professional-grade HTML, CSS, and JavaScript. Sure, they're not that easy to learn, but you can teach a kid to write interactive web pages, no problem. As a result, the demand for a simple GUI builder is lower than it was for Hypercard, and even when you do capture a user, they tend to outgrow your product, and there are a zillion competitors, so none of them can build a community with real traction.
- w10-1 2y agoHypercard for coding was interesting because it relied on message-passing with a handler hierarchy that introduced modularity questions. Small, accessible and visual languages are interesting for learning to the extent they enable you (your son) to explore on his own. But they're very frustrating because the delta between what you want and what you can do is so large, especially now that we're miles beyond hypercard/scratch in functionality. The essential idea of coding is encoding: what behavior do you want, and how can you (most economically) represent the data and processes required? Consider whether thought experiments would be a better way for your son and you (as a marketer) together to learn about encoding. If you focus together on learning how to think like a coder, it could be fun (instead of frustrating to drag through arcane syntax of toy languages). The most powerful encodings are scale-invariant; the most interesting are generative. So you could start by thinking about the game of life, or fractals. The other thing for an 11-year-old is teaching them to learn how to learn. Go with him down a rabbit hole of programming tiktoks/videos, and then step back to reflect on each, try to come up with categories, figure out how to find related topics and approaches, and summarize your results - then review them later and pull them into conversations to reinforce them. Start to see the math and encoding of life situations. Build mental models for getting frustrated (and reward systems generally), the game theory of competition, etc. -- things that will be relevant in teen years.
- jazzyjackson 2y agoExcel I just went through the tutorials for a first time in about a decade (the Make Your First Pivot Table template on the home screen) and was really surprised at how they used slides with buttons (insert > shape, then right click and link to a cell reference) jumping to the next worksheet, reminded me of hypercard from a market adoption standpoint, nothing else in this thread has much traction in allowing non-programmers at large to do compututation with their computer.
- Suppafly 2y agoPowerpoint is the first thing that came to mind for me. Obviously it misses some of the simplicity of hypercard, but from a slide/card based point of view, it's pretty similar and is very powerful in ways that most people don't realize.
- WillAdams 2y agoThat sort of thing makes me wonder why pyspread isn't more popula: https://pyspread.gitlab.io/ https://pyspread.gitlab.io/ and if mito will become popular: https://www.trymito.io/ https://www.trymito.io/ and whether maybe Jupyter Notebooks aren't the solution to this sort of thing.
- jazzyjackson 2y agoI like Mathematica notebooks a lot and have thought about using it to teach computing to kids, its great to have every possible kind of data, from colors to star positions in the sky built in, plus its got lots of great graphics primatives can can even generate 3D scenes from code
- WillAdams 2y agoI miss the Mathematica license my NeXT Cube had.
- jazzyjackson 2y agoraspberry pi's NOOBS package includes Mathematics with a free personal use license
- darrinm 2y agoHatch (https://hatch.one https://hatch.one) has many of the characteristics of HyperCard plus its "projects" are full featured, shareable and remixable (if you want) web pages. - Easy drag-and-drop interface with a library of images, audio, video, etc. - Programmable with Visual Scripting for an easy on ramp to adding logic and behaviors. - Programmable with Javascript if that's what you want to learn. - HTML "components" if you want to dig into HTML, CSS and all that good stuff. - A few tutorials to help get started with physics, animation, etc. - Free. - Super fun! Ok, I'm highly biased as one of its creators.
- kdj-lurker 2y ago[dead]
- treve 2y agoI know the authoring experience is a bit different, but I wonder if a bunch of .html files in a folder isn't a close modern equivalent. I originally learned the basics from a book in the 90's. It was easy to get into, and those basics haven't fundamentally changed.
- kjellsbells 2y agoIf your kid is already doing Scratch, Blockly is a really easy next step. https://developers.google.com/blockly https://developers.google.com/blockly Critically, Blockly can emit JavaScript and Python, plus it supports plugins for extended functionality. So the kid can stay inside the blockly universe for as long as they like, but easily peer under the hood and get into Python or JavaScript as soon as they like.
- Geep5 2y agoCheckout rivet: https://rivet.ironcladapp.com/ https://rivet.ironcladapp.com/
- cancerhacker 2y agoget him a shell account on an open access Unix box. Just learning how those tools work (start with “more” and “man” “ls” and “cd”) teaches a lot about what programming really is: creating abstractions to solve problems. A shell account also gives you access to other people doing interesting things in that space. And maybe play rogue, as a treat :-)
- ingigauti 2y agoYou might try out Plang, plang.is, not hypercard like but the syntax is natural language, For the kids, they can write the the code in their own language, so non-english Bit of self promo, as I created it
- nanna 2y agoSurprised no one has mentioned Squeek Etoys? If its good enough for Alan Kay...? Or has Scratch completely superceded it? http://www.squeakland.org/ http://www.squeakland.org/
- jecel 2y agoEToys and Scratch were made by the same people but with different goals. EToys was made to allow children to express scientific ideas while Scratch was made to allow the participants of MIT's Media Lab computer clubhouses to express themselves creatively as part of the remix culture. In EToys, as in the earlier Vivarium project, children were supposed to create all their own objects from scratch (ironically). In Scratch the use of clip art, scanned material and other people's project is encouraged. In fact, "scratch" is a dj term for a certain way of mixing music. I can't find the exact definition since Google insists on pointing me to the software instead.
- surfingdino 2y agoSuperCard? https://www.supercard.us/ https://www.supercard.us/
- WillAdams 2y agoUnfortunately, not really an option since it's still 32-bit: https://www.supercard.us/purchase.html https://www.supercard.us/purchase.html >SuperCard remains a 32-bit application and will continue to be for the foreseeable future. This means it is not compatible with Catalina (macOS 10.15) or later versions of macOS.
- jhbadger 2y agoSame with HyperStudio, which is a shame.
- surfingdino 2y agoThat's a shame.
- butlersean 2y agoBlueprints inside the Unreal game engine would provide complexity and motivation. But it’s not for 2d cards but behaviours of agents in a 3d world.
- owlstuffing 2y agoTry hyperscript. It’s like HyperTalk for the web. Pairs w htmx. See https://hyperscript.org/ https://hyperscript.org/
- throwaway4good 2y agoGiven so many HyperCard-like product exists - why is it that none have taken off and become common like HyperCard once was? What is missing or has changed?
- d0mine 2y agoThe World Wide Web. HyperCard is an early hypermedia system predating the web.
- jecel 2y agoHyperCard itself would not have had the role it did if Apple hadn't bundled it with every Mac. This is sort of like the Basic that came with older computers - any language that you had to get separately would get a tiny fraction of the popularity of the default option.
- liampulles 2y agoA bit off topic, but something to consider perhaps is using something like Game Maker and extending a sample game. It has drag and drop control flow elements to ease into coding. That's kind of how I got into it at least. It's quite fun to modify the gravity variable of a platformer and see the effect, as an example.
- exe34 2y agoI haven't tried racket myself, but it seems like a great first language.
- kingspact 2y agoNo, not at all. Nothing with the system integration Hypercard had on the Mac and IIgs. It's pretty shitty that they took Hypercard and BASIC from the people. But we wouldn't have all these trillion dollar software companies these days if the user-developer had remained the core of computing.
- heisgone 2y agoPower Automate can be fun, and Adaptive Cards inside Teams work well.
- pcdoodle 2y agoXojo is kind of like VB6 and allows Win/Mac/Linux + Web. I think it's free for EDU use.
- everythingabili 2y agoI was a HyperCarder too. I would say the answer is none of the below/above... GDevelop is an app for making games. Your son will love it. It has a very cute visual programming language, not too far from Scratch. I watched a few 10 minute tutorial videos and "got it"... you two will too. p.s No connection to the company.