I used hypercard to make a database of donors for Ray Tretheway’s campaign for Sacramento City Council. He didn’t win that election, but did the next one and later became mayor. I had moved out of the area by that time.
Xabier Ostale I think a landlubber like your good self would enjoyed HyperCard as a very approachable way to build simple applications and presentations. It had the right balance of power and accessibility and was pitched clearly at people who wanted to do things with their computers but who hadn’t yet become self-described programmers.
Many of its ideas were subsumed into things likes Visual Basic, Power Point, JavaScript / HTML etc but I don’t think any later system was pitched as clearly towards “amateurs” and non-technologists as HyperCard was. It was really about computing “for the rest of us”, the original Apple Macintosh motto.
It’s a pity that computing systems don’t bother providing this level of programmability for beginners anymore. The fact that nothing comparable to it shipped with the iPad is a real pity.
I do think with the resurrection of the new tablet environment we really do need something like hypercard again. For example, to easily allow non-programmers to write interactive books.
“It’s a pity that computing systems don’t bother providing this level of programmability for beginners anymore. The fact that nothing comparable to it shipped with the iPad is a real pity.”
This is so true, and this has always bothered me.
I read an article a while back (can’t find it now) about how user interfaces of the 80s in some sense had a higher learning curve, but could do more to empower you, to let you be creative, and they were really designed with discoverability and learnability in mind, in ways that seem to have become a lost art form.
Nowadays apps seem to really appeal to the lowest common denominator, designed to be the most easily consumed by consumers in an obscenely materialistic society.
Of course, much of what we saw in the 80s wasn’t done as much out of a sense of virtue for empowering users as it was that the PC industry was just starting out and they still had to convince people that computers were useful, so they had to work harder on learnability and discoverability.
But still, it has actually been a specific goal of mine to try and bring some of the feel of Hypercard and similar applications from those days back into modern times. Mostly for the sake of my son, who is only 2, but may yet become interested in computers and programming in just a few short years — if he does have interest, I’d like to have something for him that could be what Hypercard was for me.
I’ve been playing around with building a miniature IDE for building Web-like apps, but simplified a great deal. So using Markdown instead of HTML, but with multiple layers, and SVG animations, and still programmable in JavaScript. Importantly, there is no need for a back-end LAMP server, no need for SQL or jQuery. Each “card” in the stack saves it’s own per-user state locally to the file system automatically and without any programming at all, with the ability to reset to it’s initial state at any time.
It should be easy enough to use that a 6-year-old could learn just by playing around with it (same as I used to do), but expressive enough to build something that resembles a useful app, or presentation, or a fun game like a “choose your own adventure” book, the way Hypercard was.
Heck, maybe it could have a feature where it would compile your app to a functioning Web app that it could be installed into a stock LAMP server.
If anyone know of something even remotely like this that already exists, please let me know so I don’t have to do it myself. I’ve been working on it, but I have a very long way to go yet.
That’s sounds an excellent project Ramin Honary. I don’t know anything out there that’s similar but I know there’s a mass of apps trying to do something in the educational end of the market. I just wonder if any of them achieve anything close to interesting.
After working with SVG extensively extensively on a d3 project I have to say that I don’t share your enthusiasm for programming SVG James C. Deering. The inability to flow text or to style it with CSS in a platform independent way put me off it.
John Hardy Turnbull delenda est I’ve been pretty impressed with Dr Racket, actually, and there are similar setups for Python. But these educational projects tend to focus more on writing code, and teaching how to write code, which makes them more like QuickBASIC and less like Hypercard.
I could write a Hypercard-like application in Racket and distribute it as a Racket app. Plus, Racket is already ported to Windows, Mac OS, and Linux.
The prototype I’m working on is written in Haskell for the Gtk+ widget library, which was surprisingly easy to get up and running. Markdown parsing is done with Pandoc, and it is scriptable in a subset of the Scheme programming language with an old GPL-licensed Scheme interpreter library called “Haskeem”. Since Gtk+ and Haskell runs on Windows, Mac OS, and Linux, it is pretty portable. But still it is not as universal as developing for the Web. We’ll see if this prototype goes anywhere at all.
Given my requirements, I am thinking the best course would be a native application built on the Node.js code base, hard wired together with a bare-bones web browser code base like Midori, where Node and the Midori are both compiled together into a single binary executable that you could just drop-in and run on any Mac/Windows/Linux x86 platform. Then I could write the actual interface using Elm (just to save time).
I know Mozilla had something like this a while back called XulRunner, but it is no longer supported. There is also Qt which has it’s own AJAX-like language called QML for building apps, and is portable and actively maintained. The only problem is, like with Racket and my Haskell prototype, these aren’t Web technologies, and so are not quite as universal.
If node hosting is in any way a problem to be solved as part of the project, check out Glitch (formerly HyperDev) . This aims to make server side deployment easy in the same kind of way IE easy for kids as well as others.
The original reason why I bought a Mac.
LikeLike
I met Bill Atkinson when he stopped by Atlanta to show off his new baby. It was fun.
LikeLike
Well, according to wikipedia it was created after an LSD trip.
The explanation of the hypercard sounds like totally bonkers to a lay man, ignorant landlubber like me. My gosh.
LikeLike
I used hypercard to make a database of donors for Ray Tretheway’s campaign for Sacramento City Council. He didn’t win that election, but did the next one and later became mayor. I had moved out of the area by that time.
LikeLike
Xabier Ostale I think a landlubber like your good self would enjoyed HyperCard as a very approachable way to build simple applications and presentations. It had the right balance of power and accessibility and was pitched clearly at people who wanted to do things with their computers but who hadn’t yet become self-described programmers.
Many of its ideas were subsumed into things likes Visual Basic, Power Point, JavaScript / HTML etc but I don’t think any later system was pitched as clearly towards “amateurs” and non-technologists as HyperCard was. It was really about computing “for the rest of us”, the original Apple Macintosh motto.
It’s a pity that computing systems don’t bother providing this level of programmability for beginners anymore. The fact that nothing comparable to it shipped with the iPad is a real pity.
LikeLike
I do think with the resurrection of the new tablet environment we really do need something like hypercard again. For example, to easily allow non-programmers to write interactive books.
LikeLike
hypercard.org – – Open Source HyperCard-related stuff
LikeLike
I remember when I discovered it, it was like a revelation.
In my head, there was a “woww, books will now be different”.
And then, they created Myst.
LikeLike
John Hardy Turnbull delenda est
“It’s a pity that computing systems don’t bother providing this level of programmability for beginners anymore. The fact that nothing comparable to it shipped with the iPad is a real pity.”
This is so true, and this has always bothered me.
I read an article a while back (can’t find it now) about how user interfaces of the 80s in some sense had a higher learning curve, but could do more to empower you, to let you be creative, and they were really designed with discoverability and learnability in mind, in ways that seem to have become a lost art form.
Nowadays apps seem to really appeal to the lowest common denominator, designed to be the most easily consumed by consumers in an obscenely materialistic society.
Of course, much of what we saw in the 80s wasn’t done as much out of a sense of virtue for empowering users as it was that the PC industry was just starting out and they still had to convince people that computers were useful, so they had to work harder on learnability and discoverability.
But still, it has actually been a specific goal of mine to try and bring some of the feel of Hypercard and similar applications from those days back into modern times. Mostly for the sake of my son, who is only 2, but may yet become interested in computers and programming in just a few short years — if he does have interest, I’d like to have something for him that could be what Hypercard was for me.
I’ve been playing around with building a miniature IDE for building Web-like apps, but simplified a great deal. So using Markdown instead of HTML, but with multiple layers, and SVG animations, and still programmable in JavaScript. Importantly, there is no need for a back-end LAMP server, no need for SQL or jQuery. Each “card” in the stack saves it’s own per-user state locally to the file system automatically and without any programming at all, with the ability to reset to it’s initial state at any time.
It should be easy enough to use that a 6-year-old could learn just by playing around with it (same as I used to do), but expressive enough to build something that resembles a useful app, or presentation, or a fun game like a “choose your own adventure” book, the way Hypercard was.
Heck, maybe it could have a feature where it would compile your app to a functioning Web app that it could be installed into a stock LAMP server.
If anyone know of something even remotely like this that already exists, please let me know so I don’t have to do it myself. I’ve been working on it, but I have a very long way to go yet.
LikeLike
That’s sounds an excellent project Ramin Honary. I don’t know anything out there that’s similar but I know there’s a mass of apps trying to do something in the educational end of the market. I just wonder if any of them achieve anything close to interesting.
LikeLike
After working with SVG extensively extensively on a d3 project I have to say that I don’t share your enthusiasm for programming SVG James C. Deering. The inability to flow text or to style it with CSS in a platform independent way put me off it.
LikeLike
John Hardy Turnbull delenda est I’ve been pretty impressed with Dr Racket, actually, and there are similar setups for Python. But these educational projects tend to focus more on writing code, and teaching how to write code, which makes them more like QuickBASIC and less like Hypercard.
I could write a Hypercard-like application in Racket and distribute it as a Racket app. Plus, Racket is already ported to Windows, Mac OS, and Linux.
The prototype I’m working on is written in Haskell for the Gtk+ widget library, which was surprisingly easy to get up and running. Markdown parsing is done with Pandoc, and it is scriptable in a subset of the Scheme programming language with an old GPL-licensed Scheme interpreter library called “Haskeem”. Since Gtk+ and Haskell runs on Windows, Mac OS, and Linux, it is pretty portable. But still it is not as universal as developing for the Web. We’ll see if this prototype goes anywhere at all.
Given my requirements, I am thinking the best course would be a native application built on the Node.js code base, hard wired together with a bare-bones web browser code base like Midori, where Node and the Midori are both compiled together into a single binary executable that you could just drop-in and run on any Mac/Windows/Linux x86 platform. Then I could write the actual interface using Elm (just to save time).
I know Mozilla had something like this a while back called XulRunner, but it is no longer supported. There is also Qt which has it’s own AJAX-like language called QML for building apps, and is portable and actively maintained. The only problem is, like with Racket and my Haskell prototype, these aren’t Web technologies, and so are not quite as universal.
LikeLike
If node hosting is in any way a problem to be solved as part of the project, check out Glitch (formerly HyperDev) . This aims to make server side deployment easy in the same kind of way IE easy for kids as well as others.
LikeLike
John Hardy Turnbull delenda est Thanks, I’ll look into that.
LikeLike
Me thinks you haven’t tried running this on many browsers.
LikeLike