It's Time To Revive Hypercard
HughPickens.com writes HyperCard, an application program and programming tool released for the Apple Macintosh in 1987, represented the 'computing for the people' philosophy that enabled users to go past the pre-built software that came on their machines, and to program and build software of their own. "Mac users could use Hypercard to build their own mini-programs to balance their taxes, manage sports statistics, make music – all kinds of individualized software that would be useful (or fun) for individual users." Now Jer Thorp writes that the end of HyperCard left a huge gap that desperately needs to be filled – a space for an easy to use, intuitive tool that will once again let average computer users make their own tools. According to Throp, this type of plain-language programming makes sense, particularly in an application that was designed specifically for non-programmers. "I find the largest concern for learners to be not with the conceptual hurdles involved in writing a program, but with obscure and confusing syntax requirements. I would love to be able to teach HyperTalk to my students, as a smooth on-road to more complex languages like JavaScript, Java or C++." By putting the tools of creation into the hands of the broader userbase, we would allow for the creation of ultra-specific personalized apps that, aside from a few exceptions, don't exist today."
HyperTalk wasn't just easy, it was also fairly powerful. Complex object structures could be built to handle complicated tasks, and the base language could be expanded by a variety of available external commands and functions (XCMDs and XFCNs, respectively), which were precursors to the modern plug-in. But ultimately, HyperCard would disappear from Mac computers by the mid-nineties, eclipsed by web browsers and other applications which it had itself inspired. The last copy of HyperCard was sold by Apple in 2004. "One thing that's changed in the intervening decades is that the hobbyist has largely gone by the wayside. Now you're either a user or a full-fledged developer, and the gulf is wider than ever," writes Peter Cohen. "There's really nothing like it today, and I think the Mac is lesser for it."
HyperTalk wasn't just easy, it was also fairly powerful. Complex object structures could be built to handle complicated tasks, and the base language could be expanded by a variety of available external commands and functions (XCMDs and XFCNs, respectively), which were precursors to the modern plug-in. But ultimately, HyperCard would disappear from Mac computers by the mid-nineties, eclipsed by web browsers and other applications which it had itself inspired. The last copy of HyperCard was sold by Apple in 2004. "One thing that's changed in the intervening decades is that the hobbyist has largely gone by the wayside. Now you're either a user or a full-fledged developer, and the gulf is wider than ever," writes Peter Cohen. "There's really nothing like it today, and I think the Mac is lesser for it."
The majority of us did not have money to spare for Macs. I have no doubt that they were the best personal computers around. I used them.
For less expensive computers, there was the BASIC interpreter. Not as WYSIWYG or simple and Beginners need to think when coding, even at that level. It also had the advantage of being close to a standard untill MS teurned it into QBasic then dumped it.
BASIC is what we need again but standardised and improved a lot.
I'll see your Constitution and raise you a Queen.
LiveCode is free, supports Mac, Windows, Linux, iOS, and Android. Best of all, it speaks HyperTalk, plus has more flexibility HyperTalk didn't.
I've moved on from wanting HyperCard, to using LiveCode.
Obligatory - smart people have been working on it for quite some time. (Although admittedly, their main goal is to prove that common personal computing is ultimately squashable into 20 kLOCs.)
Ezekiel 23:20
No it's not.
I learned on HyperCard, so I know your pain. I still use HyperCard daily at work.
However, many years ago I discovered Runtime Revolution, a commercial product that is effectively what HyperCard should have been. Recently it's been released freely as LiveCode. Check it out. Runs on anything you'd want it to (Mac, Linux, Windows, etc.).
Jesus Christ. No, it's obviously not the thing to do. We don't need more average or low-end hobbyists writing software. They've brought nothing but trouble.
Professionals with years or even decades of experience have enough trouble writing secure software. The stuff written by amateurs if fucking riddled with holes. It's even worse when they use "beginner-friendly" languages like PHP, Ruby (with Ruby on Rails), and JavaScript. These languages are totally shit, and end up promoting buggy, insecure code.
When these amateurs try to write code in any sort of a business or professional setting, it usually ends up being the IT department or professional software developers who get to maintain the crap code in the end. There's a huge about of Visual Basic code that fits into this category. Some dumbass manager may think he saved money by writing the Visual Basic code himself, or having one of this non-IT/non-programmer underlings shit it together. But he doesn't realize that it ends up costing so much more to maintain and extend than if it had been written by professionals in the first place.
And we can't forget how these half-assed amateurs often start "contributing to" (a.k.a. destroying) open source projects. Thanks to them, we have disasters like GNOME 3, where instead of trying to make efficient, effective software, they just ended up trying to make a shitty, half-assed copy of their warped understanding of OS X. They ruined GNOME for all of us.
Things were much better when professionals, or at least talented amateurs, were the ones who did software development. Everything and anything done by most amateurs is a total fucking disaster. We shouldn't promote the idea of them getting involved with software development. We should discourage it!
I learned to program with both BASIC and HyperCard, depending on which machine I was on at the time, back when I was younger. I think it's a great idea. I built simple "database" simulations, using nothing more than the free stuff that came with it, and it helped to mold my initial approach to programming. I even created a testing program we used at my high school for a couple of my teachers that was ran over a network. It was fun AND useful.
. Define sqrt(x) as something really evil like (x / rand()), and bury it deep. Watch your coworkers go nuts.
APL, FYI. HAND.
Get thee glass eyes, and, like a scurvy politician, seem to see things thou dost not.--King Lear
There is a more or less successor of Hypercard called Livecode. Its open source and work on many devices.
I have seen some attempts to r creating HyperCard, but nothing really seems to have come of them. If there are any successful or fully functioning open source equivalents I would be interested in knowing about them.
I used HyperCard a bit and in certain ways the closest equivalent is something like PowerPoint or Keynote, though even with them there I a huge gap with HyperCard did. I wonder whether Apple could recreate a 21st century HyperCard, but using Keynote as a basis?
Jumpstart the tartan drive.
Years after using hypercard i developed software for a few years, but without something as easy and quick-to-product as hypercard, i am not sure i would have learned real languages
I wish there was an open source project similar to Quickbase (http://quickbase.intuit.com/).
I worked at a large company that used this extensively, and it fit that "computing for the people" niche. When non-technical departments in the company needed a simple application, they were able to do it on their own.
There was a free, but not open source tool for a while that was close to Quickbase, called DabbleDB. Unfortunately, it was bought by Twitter, then shuttered.
I have since seen some attempts to make something similar, but they always missed the mark by either being too hard to understand, or not flexible enough to be more than a spreadsheet.
https://ifttt.com/ Check it out.
'We are trying to prove ourselves wrong as quickly as possible, because only in that way can we find progress.' RPF
This.
Also Bennett Haselton's HyperChode is great. It's built in language, Gundle, is like a better HyperTalk.
I've felt the same way for years. I had high hopes for Google Wave to fill the gap.
It's not the same thing, and scripting for end users would not have been the same, but we don't need a direct replacement. We need:
- Web based, cloud based.
- Multi screen sized, flowable
- The card stack model from HyperCard was GOOD for naive use - and perfectly carried into Google Wave
- Simple scripting, but probably JavaScript not HyperTalk
In fact, my ideal system is somewhere in the middle of Wave, HyperCard, Lotus Notes, XSLT or similar and the web.
- Document templates that can be filled in. Let's get rid of MS Word and have more structured docs, but in a way that hobby developers can cope with.
- Effective visual editing of templates; HTML template editing but much more like a good UI editor,
- Somehow remove all the complexity from the scripting of events... HyperCard WAS good at this!!
I'm not going to mention SharePoint. MicroSoft NEVER understood groupware!
So we shouldn't have easy-to-use tools for people to LEARN how to program? Or for people (including kids) who never thought about programming, but took interest in it only after writing some software using an easy-to-use tool?
I started using HyperCard in 1990, in grade 9 after-school computer class. I loved it. I've been writing code ever since.
Get off your high-and-mighty "professionals are the only ones who can do things" box. Just because you might have a degree, doesn't mean you know your face from your ass when it comes to code compared to some there people who don't. Just sayin'.
False. There is something exactly like it and which has exceeded it. It's called Livecode. It offers the same stack/card philosophy as Hypercard, the same basic interpreted language as Hypercard, and things written in it can be deployed on Mac, PC, Linux, iOS, Android, and soon HTML5. Did I mention there was a Community version that was 100% free? (Created via kickstarter) It offers plug-ins for greater functionality, like animation and spell checking... I could go on.
Livecode.com
Current version 7, check it out.
Great insightful article.
I'm a SE and recently I bought a laptop to gift with Windows 8.1 - but it could be anything; iMac, Linux, etc.
I wanted to simple do something cute like "Happy Birthday" etc. in line with the technology available, but no
offering available provides the tools to eloquently do this. It can be done, but it's not trivial and requires a level
of expertise not available to the average consumer. IApple purposely blocks apps that implement a language
due to self-competition, but there's no excuse for MS and Linux to do so
35+ years of software and it's still largely in the realm of geeks... Sad.
Google Livecode. Livecode is a multi platform programming tool developed in Edinburgh Scotland.
Occurs to me it's hard to explain what Quickbase is without an example. Because of that, many people assume it's a project management app, or a crm tool, etc. It's not. You can make either of those with it, or other things...
Browsing their catalog of prebuilt apps is probably the best way to get the gist of it...
http://quickbase.intuit.com/exchange/client-services-call-log/289 - a customer call log
http://quickbase.intuit.com/exchange/abc-legal-case-manager/474 - case management for a law firm
I guess this probably sounds like an ad, but it's not. Where Quickbase falls apart is their licensing. The cost is per user, which is fine, but then they also cap the number of applications you can have...which totally defeats the purpose of allowing end users to create their own applications. You can, of course, raise the cap, but the pricing gets out of control.
Very cool, but limited to event oriented problems that don't need an app-specific UI.
I'm intrigued by the idea of LiveCode, but are you serious about its built-in language being called "Grundle"?
I can't go to my boss and suggest the use of LiveCode if it has a name like that. For anyone who doesn't know, grundle refers to the area between a man's anus and scrotum.
The Coq Proof Assistant project has a similar problem. This software would be seriously useful at work, but we can't be sitting in meetings with passersby hearing us saying what they hear as cock (as in a long, thick, throbbing penis) for hours on end. We also can't go to customers and say stuff that they'd hear like, "Don't worry, our cock has verified it."
This opinion gets written up at least once a year. Nothing's new this time around.
Except..
Now we have a viable alternative to Hypercard: the Brainfuck programming language.
You can thank me later.
https://app.box.com/WitthoftResume Code: https://github.com/cellocgw
Contrary to what many self-taught programmers will incorrect claim, programming is best learned in a formal setting, when taught by experience professionals.
Other professionals aren't allowed to be self-taught, at least in the civilized world. You don't go to a self-taught doctor, or a self-taught dentist, or a self-taught lawyer, or a self-taught accountant. That's because what they do is difficult, it takes a lot of knowledge, skill and experience, and that just can't be properly acquired by somebody learning on their own.
Hell, even the trades require years of training. Just look at how people destroy their homes by engaging in amateur do-it-yourself repair. Then a trained carpenter, electrician, or plumber is usually needed to fix up the unholy mess that these amateurs have created.
Software development is no different. It's a difficult thing to do properly, even after years of training. Anyone who says otherwise is obviously one of the amateurs who has no idea of their limitations.
I've used these sorts of things extensively before. They all fail for the same reason.
Programmers often assume that the hard part of programing is the obscure syntax of languages, because to them when learning a new language, that's what's hard. And while yes, the syntax is difficult at first, the novice does get it eventually. The real problem with the novice is often the counter-intuitive logic often presented in programming.
For example, take the typical problem of "If they chose Yes, I don't want the program to do X. But if they don't, I do what them to do X"
The novice often has a hard time even articulating that condition in the English language, much less a programming one. How would simplifying the syntax make it any easier?
The solution to a programmer is simple: If "yes" then X
and the novice asks in alarm "Greater than or less than?!!? WHAT?"
So then you have your "easy" programming language that's similar to English. That's great, how do you articulate that previous statement in that language now? It's not any easier. On top of that, because you've dumbed down the language to make it more user friendly, you've likely also taken away a lot of its power. The archaic syntax of languages is often for a very good reason. And when that user does start to get somewhere, they'll end up in a forum asking how to do it, and the programmers will flat out tell them the logic at which point they'll find out that they can't apply that logic because of the simplified syntax.
If you're just starting out, I'd recommend this: http://www.autohotkey.com/
The syntax is about as user friendly as you'll ever get.
You can write the applications in notepad
You don't even have to compile them if you don't want to.
It can do just about anything any major language can.
Well this might not be for Mac users, Microsoft Project Siena might be a useful option for people on the Windows platform. http://www.microsoft.com/en-us...
This 'story' is just a copy/paste from Ars Technica used to get the submitters URL/username on the front page of slashdot.
Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
Thingamy seems to have a similar goal, but appears to be targeted only for large user base purchases. Sad, as the background material seems well thought out. http://www.thingamy.com/
The 2004 time frame coincides with the switch to Intel. If Hypercard were recompiled for Intel and AMD it could be provided as a free tool similar to Xcode. It seems a shame to dispose of such a well developed code base.
We already have a pretty nice 3rd party product called SuperCard which is very compatible with Hypercard. At $279 its not getting much traction. Apple should buy this product and ship it free with every Mac.
It's fairly trivial to learn a language at a decent level. We have a lot of languages that abstract away all the "hard" stuff like OS interaction and memory management. Take Java. Take C#. There is literally an object for EVERYTHING you could possibly ponder doing. You dump some values into that blackbox, it does its magic and presto, result.
The hard part of creating software is designing it. And no environment can take that part out of your hands. There is simply no way some piece of software could magically read your mind and produce it.
We used to have a Bill of Rights. Now, with the rights gone, all we have left is the bill.
The problems are that all variables are global and there's not a good way to create a function for it. It's not designed as a visual programming language but as a simple way to put together a bunch of simple tests that don't need to reuse a lot between them. If you want to share the code that logs into your web page every time, the easiest way to do that is cut and paste. Then you have to change 80 copies of it if you ever update that code. They were working on improving that situation last time I looked at it. You wouldn't ever want to use it to accomplish work in a production environment, but you probably would never want to use Hypercard to accomplish work in a production environment. Some people probably DID do that, but you wouldn't want to.
The problem with creating something like Hypercard is that it's very hard to hit that sweet spot where it's easy enough for non-programmers to use while being powerful (and secure) enough to be useful. Whenever people get their hands on something like that, they tend to start working around its deficiencies to accomplish their goals. You end up spending more time working around the deficiencies in the environment than you would have if you'd just written the application in a real programming language to begin with. There was quite a lot of THAT going on in the late 80s early 90s, too.
I'm trying to teach myself to set people on fire with my mind... Is it hot in here?
I think you're trolling, but free expression is great. That said, you're out of touch with the last decade.
Please troll better.
Wasn't that the idea behind Visual Basic, the users could write their own little functional pieces of code. This is why VBS macros exist in Microsoft Office and Windows.
Entia non sunt multiplicanda praeter necessitatem.
I programmed Hypercard a lot in middle/high school in the mid 80s. I got to college and was taking an AI course using Lisp, and was working on a reinforcement learning assignment. I had a bug in my program I couldn't track down. The smartest guy in the class sat next to me and he couldn't figure out the bug. Neither of the two TAs for the class could figure out the bug. I rewrote it from scratch and still had the bug. At one point I said "If I was working in Hypercard, I know how I could solve this." The smartest guy in the class said "That's crazy." The TA who was helping me out said "When you're ready to talk seriously about this I'll come back and help you." I went home that night a wrote it in Hypercard and it worked. Slow as all hell (it took 24 hours for one test run), but it worked. It was easy to make nice graphics of the mouse and the maze the assignment was about, which went into the final report. I got 110/A+ on the assignment.
I've never balanced taxes. Is this a new thing?
Oh, you mean balance checkbooks and pay taxes. There's much better software to do that these days.
And there are much better ways to teach programming. For a very long time there has been a movement to bring programming to the masses, as if, somehow, everyone would be able to write beautiful, intricate code to solve their most complex problems. Most people can barely match their clothing (note to the reading-impaired: that was hyperbole); why should we expect them to be able to write code?
Writing programs requires clear, linear thought. It requires thinking in terms of structures and systems. The push in the greater population has been toward valuing non-linear thought (although that baffles me), so there's a big mismatch to overcome. Yes, there are plenty of graphical programming languages that reduce the need for precise syntax, but they only REDUCE it, not eliminate it, and they still require procedural thinking which, ultimately, presents an insurmountable difficulty for many people.
Not everyone can or should be a programmer: Not everyone is a writer, Not everyone is a photographer, Not everyone is a painter. Sure, everyone should be given basic skills in writing, and perhaps in drawing or painting as a child, and so perhaps everyone should be given basic skills in programming, but beyond that, why? Not everyone is able to understand calculus; why should we automatically expect that everyone should be able to write Java, Python, or whathaveyou?
Put my fist through my alarm clock with its ding-dong death inside my ear. - The Blackjacks.
But a more relevant question would be: can we devise a building-block language that solves today's real-world problems? Such a language should be (1) capable of solving simple problems easily for general users and (2) allow including complex 'blocks' for those willing to climb the learning curve it would take to include some highly specialized function in one's program.
It wasn't just for beginners. HyperCard was used in the development of Myst.
_ I had a joke about it but the punch line kind of writes itself
_ no magnetic stripes so storage should last longer
_ paper is bio degradable so it is more eco-friendly
_ we have been too spoiled with code editors
Never antropomorphize computers, they do not like that
Clickteam fusion and gamr maker seem to have taken much of the general structure of hypercard.
I'm impressed they have held on all these years.
..you're any good at logical thinking, and that's the biggest part of the problem.
Add to that, most languages mix multiple concerns within one context.
When people ask for "building blocks" they are asking for a system of rigid, predefined, tested methods for the particular domains.
It's all still a work in progress.
Anyone who says differently is selling something.
I don't want a self-taught developer writing flight control, banking systems, or medical embedded systems code. I'd rather have someone formally trained doing that work. On the other hand, there's plenty of places where if the code doesn't quite work right I don't really care that much. From everything of the once-thriving online text based gaming community (the MUSH, MUCK, MOO, MUX, MUD, etcs) to simple web pages or even stupid phone apps, there's a place for "non-professional" programmers.
Similarly, there is a place for non-professional carpenters -- my trained-programmer father has made every bookshelf in my folks house, a couple tables, has redone the 2nd story deck multiple times, and redone the roof (structural and laying shingles) on the horse barn on the back of the garage, and a bunch of brio-compatible track for me when I was ~4. He doesn't redo the main house roof (45 deg slope or more -- too steep), nor does he repoint the structural brick exterior (1920s house) or do plumbing when it involves sweating copper.
He also taught me enough of it (I helped him on most of what I listed above as a teen) that I've done plenty myself; four bookshelves, two desks (one used bookshelves for legs, the other is just an oak plywood surface for a geekdesk base, but stained and varnished a nice deep brown), and one storage cabinet with removable shelves that just happen to be 60x90 LEGO studs in size. Oh and an exterior door on my own 1960s-era house -- that was worlds of fun since while you can order a door and frame to the right opening size, the way houses set doors into the house's wooden structure has changed since my place was built. That was a learning experience (doors are a pain in the ass) and I let professionals have the fun of the next exterior door that needed to be replaced -- who, by the way, cracked the trim worse than I did when they replaced it.
Its about knowing what you know, what you don't, and what you should (or want to) call in a professional for.
Slashdot Patriotism: We Support our Dupes!
I have a feeling a new revival of Hypercard would do well having Wolfram Language as its back end.
It's basically the most powerful thing ever created, and I can't believe it hasn't gotten more attention
Hypercard was incredible back then. If Apple had thought about integrating it with network features from the beginning, the internet might have looked a lot different.
It's not the same thing, and scripting for end users would not have been the same, but we don't need a direct replacement. We need:
- Web based, cloud based.
- Multi screen sized, flowable
- The card stack model from HyperCard was GOOD for naive use - and perfectly carried into Google Wave
- Simple scripting, but probably JavaScript not HyperTalk
Wrong on all accounts except number 2 and partially number 3.
Cloud and Web based is ridiculous, the whole point is that the user is not constrained by browser based idiocies, otherwise he could pickup html and javascript. Besides wanting a non pro user to understand javascript is stupid, javascript is probably one of the worst languages to debug.
The card stack model is good, but hardly anything any basic user wanted locked into google wave.
So please stop throwing fad words at stuff: the whole web and cloud based fad turned many perfectly good desktop applications into slow and worthless apps.
From my own personal experience I just want to say if you enjoy programming and think maybe you'd like to do it as a career... Go for it.
Every job type has a certain percentage of workers who are barely skirting by and somehow get paid for it. There's doctors who shouldn't be, lawyers, etc... There's also the elite that truly know what they're doing and are at a much higher level of skill.
Believe me when I say most programmers are the former.
The #1 most important thing IMNSHO is a continual desire to learn and improve. If you have that, you may start at the bottom but you will eventually become good or great at it.
As a hobbyist you already seem to have that, just keep it up.
Many "professional" developers do copy and paste coding, grabbing chunks of code off stackoverflow and not taking the time to understand them. They don't write test cases for their code, instead they patch it over and over whenever they run into an unexpected condition. Instead of reading through their code to spot the bug, they'll change random parts and attempt to run it over and over until they get lucky... Often leaving some of the unneeded changes in place causing more bugs.
If you can avoid doing those things, you're probably better than half the guys out there. :-)
So if you enjoy it, you can do it for a living, and maybe do it well.
Cwm, fjord-bank glyphs vext quiz
These don't qualify as simple tools to build mini programs?
The bigger problem is that Apple (and others) abandon software and make their OS incompatible with legacy software so that we can't continue using our old tools. If the software followed the API rules in the past it should continue working with the new operating system and the OS vendor should not abandon it. If they want to get rid of old APIs they should provide cross-recompilers for older software or emulation. There is a tremendous legacy of software that is lost because Apple and other companies change their OSs on a whim.
These don't count as simple tools for users to build mini programs? RD
I ran into a "hypercard"-like app for the C-64 back in 1986, that involved you building a flowchart of your app, answer some basic questions, and it would generate the Basic code for it. It was pretty spectacular for the day. There are quite a few code generator programs available today, just get one that runs on Python and give it a snazzy GUI. There you go. A nice easy to understand app generator that's cross platform, multiple output languages, open-source, self-extending, etc. etc...
You would spend more time on the design of the GUI, writing the help files, and creating tutorials, than anything else. The user wouldn't even have to know ANY particular language, just the logic they needed.
But that's just my opinion. I just build stuff.
When you want something built, come see me. If you want correct grammar and spelling, get a F*ing liberal arts student.
Oh, I most certainly leave them alone. I've learned to just toss all of the CS resumes in the bin. The few who have any intellectual curiosity are already working for Google, and the 99% are fairly useless.
HyperCard combined three aspects: (1) A easy-to-assemble set of graphical/user interface components; (2) a simple (simplistic) database; (3) a quirky programming language.
Possibly VB with Access provides a similar set of functions.
We should be able to produce something that allows end users to do some development for themselves, while acknowledging this is not a production-quality tool, but no matter what, people will take prototyping systems and try to deploy them to production usage.
I've used it for several different things, including catalog/library "decks", user interface mock-up with a bit of back-end semantics (for a system configuration function, to understand user requirements and usage models), and a potential front-end controller to a very simple 'robot'.
LiveCode is great in many ways, and I really appreciate that it is now a free download, but it lacks one feature that really made a difference to people who were learning HyperCard. In Livecode, every object is its own layer. In HyperCard, there was a simple, useful distinction between the background layer and the card (foreground) layer. People quickly grasped how to make a picture or button show up on every card or just one. Now, if you google "livecode background layers," you're likely to get instructions to add a background to a single card. I hate to say it, but I don't think that LiveCode, even free, can build the same kind of community that HyperCard has...simply because of this choice. It's not a trivial difference.
-Gareth
It did have network features, if by network you consider Appletalk. The code 'go to stack addressbok on machine "Andrew's Powerbook"' was valid Hypertalk.
Agree, I used HyperCard for many educational projects and a revamp for iOS & MacOS would be a great new tool for everyone...it would be great to give novice programming back to the computer users for home, buisness, and education!
It has been revived and it has a free / open source version: http://livecode.com/
Far better than the original.
I'd say the reason we don't see a lot of demand for Hypercard-like environments these days is, they aren't necessary anymore.
Back in the Olden Days, if you wanted to accomplish something on your computer, and there wasn't an application available that met your needs, you might respond to that problem by writing one yourself. Hypercard could make that easier for you to do, if you weren't already an experienced programmer.
These days the software market is much larger and more mature, so if you want to accomplish something on your computer, chances are very good that there is already an application that does what you want better than anything you could make yourself. So instead of spending a few days learning Hypercard and then designing and implementing a HyperCard stack, you just Google what you want to do, find five different applications that are ready to use (and probably free, or cheap), and pick one.
So I don't think there is a lot of pent-up demand for a Hypercard-like language these days. People who want to learn how to program will continue to do so, and people who merely want to get a task done ASAP have plenty of premade higher-quality software to choose from. The "middle ground" of people who want to make an app without officially learning how to program has gone away.
I don't care if it's 90,000 hectares. That lake was not my doing.
I was the sample applications programmer for ToolBook, a Hypercard knock-off from Paul Allen's Asymetrix company in the 1990s. It ran on Windows and was used a lot for making educational software. Similar metaphor, a book with pages vs. a stack of cards. Had a similar scripting language that allowed somewhat robust applications if you went that far. Eventually they marketed it specifically to educators and renamed it "Click to Learn".
Macromedia Director with its Lingo scripting language was another contender for laymen's programming tools back then, though it had a score and sprite metaphor.
I'm glad someone posted that. LiveCard is basically HyperCard.
I don't think Applescript and Automator bridge the gap between non-programmer and programmer as slowly and as fluidly as Hypercard did. A non-programmer could start using Hypercard as a simple flat file database without programming. The sample Addressbook etc. Hypercard stacks were perfectly usable and there was a large quantity of freeware and shareware stacks that (inherently) came with complete source code. If someone had just a small wish for how it behaved differently ("I wish the addressbook had a nickname field:) many could be added through the GUI tools without programming. At some point, they may wish for behavior that involved changes in code, if they reached that point, the code had a fairly strong mapping to the concepts they had learned so far (stacks, cards, backgrounds, fields, etc) that they may be able to suss out what the code was doing and figure out simple changes. Once doing a fair amount of modification of the existing code, some may choose to strike out on their own and create something new.
Applescript and Automator seem to be more about simple automation of tasks. Which is a great power to give someone. ("Ugh, I hate doing this same drudgework every day|week|whenever_the_situation_bothers_me") but seems to me still a larger jump from non-programmer to programmer.
Hypercard is gone and way better tools exist for all the things that hypercard did. I learned hypercard as a kid in school and it introduced me to programming. If you want to help your students do the same things I'd suggest you either teach them how to make web-pages with html and css or get them doing Scratch. Scratch is designed as an education environment so I'd say it likely fits the bill. Everyone is capable of understanding Scratch and if they want to go on and learn python or javascript it will be a whole lot easier to get them started.
are the best current follow-ons to the HyperCard simplicity and utility.
"Win treats sysadmins better than users. Mac treats users better than sysadmins. Linux treats everyone like sysadmins."
and that's somehow OK? (puerile snickers at words aside...) Language naming isn't exactly highbrow technical stuff to begin with.
"Win treats sysadmins better than users. Mac treats users better than sysadmins. Linux treats everyone like sysadmins."
But if it's spelled Koch it's going to offend a lot of people. ;-)
Is it just my observation, or are there way too many stupid people in the world?
I remember my non-programmer uncle using a program on the mac called File Maker Pro to make a real estate program. You could send the program to the makers of File Maker and they could turn it into a stand alone executable for Mac and Windows computers. File Maker may have been the first programming I ever learned. It was all WYSIWIG and very little code beyond basic things like string concatenation.
These days I think the modern web based equivalent might be the "force.com cloud", the platform behind the salesforce.com website.
http://lmgtfy.com/?q=mit+scrat...
i disagree with premise that everyone can or even should code. Secondly, I also can't believe a software opportunity exists for an 'unfilled need' for some void existing almost 3 decades. Any place a need exists - and in many cases where no need exists - software erupts. In my job I so hated our project management software, I wrote one on my own time at home. The company had some very unique processes that traditional PM didn't flow correctly. My version was adopted immediately. The point being programmers write to scratch an itch. If an itch exists, someone will offer an option. That's how we're wired.
"Now you're either a user or a full-fledged developer, and the gulf is wider than ever,"
"If any question why we died, Tell them because our fathers lied."
an indication of their IQ, then live code ain't worth a bottle of warm piss
I mean, is their website poorly laid out in a even a 5 yro can grasp this style ?
many commenters, I learned how/got hooked on programming via hypercard/basic
But
are these people representative ? that is, if you gave everyone livecard or hyper card or basic for free, or even you gave them 20 bucks to try it, very very few would ever become programmers in any sense of the word
In the old days,,,,there were way fewer programs, and they were often crap
no one here on slashdot might like to admit it, but the number of programs available for free or minimal cost, and their quality, has gone way way way up
so, do we really need programming for the masses ?
I don't think so
The real gap is something that will empower users without putting them into danger.
Excel is an example of this approach gone wrong. If you've never been in a company that runs important business processes on spreadsheets, raise your hand. Kids and students, drop your hands. Not many left, are there?
And yet, studies have shown that a large percentage of non-trivial spreadsheets contain errors.
The difficult part in making tools is to make them so that users realize at which point they should call a professional. It's good if you can put a screw into the wall yourself or hang a picture on your own. But it's likewise clear to you that building a house is something you leave to experts, or at least get their advise on wall and floor strengths.
Computers, sadly, are not so transparent. Unless the task involves higher math, too many people think they can program a quick sales database themselves in Access or something. Only when the ceiling does fall down do they realize there's an IT equivalent of structural analysis.
Assorted stuff I do sometimes: Lemuria.org
The idea of Hypercard begat Filemaker. A little more like a real database, a little less in the way of training wheels. Still really simple to bang out an app in. Still extensible. The way we did it was to make use of its serial or telnet capabilities (way back when) in order to talk to devices or machines.
I realize there's snazzier stuff today but Hypercard didn't just vanish in a puff of logic without anything in between, before this Livecode thing I know nothing about, there was Filemaker. Love it, hate it (more likely) or feel indifferent, but it did more or less the same job as Hypercard. Sure, it was harder to do simple things, but it was easier to do the slightly more complicated things that people commonly needed to do.
"You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
They were called Business Programmers and the tools they used were dBase III and Paradox for DOS and PowerBuilder, structured languages that had useful database functionality. Paradox was SQL, oh where art thou Dr. Pauker? Boy did we write great programs, I made a great living off of business logic.
Then came versions of these languages for Windows, redone as object oriented programming and were rendered useless for business. But you could build a mouseable program, which screwed up data entry applications. Data entry programs like donor management apps, but you don't know what I'm talking about do you, because you've never actually used a program.
This change to OO Programming has given us such "professional" monstrosities as QuickBooks, GiftWorks the curse of nonprofits everywhere, and Raisers Edge.
Yeah, Hypercard wasn't the only casualty. So was American business productivity.
Hypercard was retarded quasi-programming for Appletards.
We already have this, HTML5 with a WYSIWYG CSS layout editor and JS for the "logic".
Then again, the whole computing world seems to have gone to crap since WWW was the big buzz.
Just look at the "developers" that crap some half baked "web service" into a cloud computing environment, relying on said environment to spin up more VMs than their code can manage to crash to maintain uptime and load balance. Then it is on to wine and dine the VCs so that they can pump and dump the IPO, and get out of there as fast as their skin tight jeans allows them to move.
DEXCON, DREAMATION, METATOPIA, MAELSTROM, First Exposure and now Envoy are all run on complex HyperCard programs and always will be, thanks to SheepShaver. No other program can come close to handling the complexities of running gaming conventions and projects with the finesse, power and speed of HyperCard.
Vincent Salzillo, President
Double Exposure, Inc.
http://www.dexposure.com
Obviously, you've never had to hire CS graduates. I can't tell you how many of these bozos who've learned in a "formal" setting can barely manage a coherent if/then statement, much less successfully complete even a small in-house application.
There are people who go into a formal CS/CE program because they have a genuine interest in programming. There are also those who go into a formal CS/CE program because someone told them it is a good career path. While the later (career path) can be decent programmers the former (genuine interest) are the ones who tend to truly excel. The later tend to be both formally trained **and** self taught.
Those with a genuine interest in CS/CE tend to learn a lot on their own. And a university setting **greatly** facilitates this. At the university there is an incredible density of like minded folks to learn from or in partnership with. Online and remote can be useful, but two or three in the same room is often better. Plus professors are actually useful, they are often sick of the "career path" type students as well and often are very supportive and encouraging of those with a genuine interest. Besides the like minded folks the university environment offers access to incredible hardware and software that might otherwise be unaccessible. Whenever I asked for access to some specialized equipment (ex workstations with licensed software normally not available unless you are enrolled in a particular class) the professor in charge would ask why and I was never turned away because my project was a personal one, just curiosity. Even professors in other departments were supportive. In grad school I was considering a CS research project that involved a submersible robotic vehicle. I talked to a mechanical engineering professor about the potential project and he was very generous with his time and supportive.
One nice thing about supplementing genuine interest and curiosity with formal university training is that the formal training tends to be a well thought out somewhat comprehensive tour of important topics. Left to oneself the self-taught tend to focus on the more interesting or the more obviously relevant. However some boring and seeming no-so-relevant topics turn out to sometimes be surprisingly relevant and useful. At least that has been my experience, some classes I would never have selected on my own surprised me with their eventual value. While it is certainly possible that the self-taught can read and learn such a comprehensive set of topics at a university level this is exceptionally rare, incredibly rare. In 30 years I've worked with a lot of talented self-taught individuals but I've only met a handful who have the motivation to read and learn things at this level and over a broad range of topics purely on their own initiative.
Obviously, you've never had to hire CS graduates. I can't tell you how many of these bozos who've learned in a "formal" setting can barely manage a coherent if/then statement, much less successfully complete even a small in-house application.
If you are talking about some web based business app done in javascript then going to CS/CE grads may be gross overkill. Its probably better to go to a trade school with classes on web programming for that sort of stuff.
Or if its a more involved business app look for a "programming" degree program in a University's school of business, not its school or science or school of engineering. At my university it was called "Computer Information Systems", it focused on software development for corporate and business needs rather than scientific and engineering needs as "Computer Science" and "Computer Engineering tend to do". Note that things will vary wildly from one university to another so you really need to look at the school and or classes, you can't make assumptions based on "Science", "Engineering", "Information Systems", "Information Technology" appearing in the program name. These are sometimes a bit arbitrary.
And the lusers of the world pissed and moaned because the programmers still hadn't implemented a useful DoWhatIMean(x) function... *LOL*
I do not fail; I succeed at finding out what does not work.
As always, the tech community collectively forgets about a software product type that existed on the Atari ST before it did on the Mac platform. Zoomracks predates Hypercard and it was patented. The author settled later with Apple over it and then the tech community obviously forgot about it.
Star Trek 4 "The Voyage Home" had Scot using a Mac and HyperCard for developing "transparent aluminium". Never saw it used in any other movie.
Favorite scene. Scot "talks" to the Mac "Computer". Is instructed to use the mouse.
My junior high and high school had computer labs full of iMacs. I used to make stop-motion movies and point-and-click adventure games in Hypercard.
We were really really lucky to have 2 Mac labs. HyperCard was absolutely revolutionary. I saw kids make the most hilarious line art animations I will ever see. Ever.
The AVID video editing empire still dominating the video world was born as a HyperCard stack and was one of the best editing programs anywhere! When the guy went into the big time he reversed the name DIVA and it became AVID (and no longer HyperCard but it still revolved completely around Quicktime which was not just a file format, it was a massive video library with a larger codebase than windows 98.)
I never created with HyperCard; however, I knew it was crazy powerful.
If one makes a connection to something you already know, then you grasp it quickly. If the concept is completely new, then you have a hell of a time working 100% of your brain to comprehend the new concept... Later, you can apply that pattern to similar things. Electronics, Programming, Math, Language, Physics, Spacial Relations, etc.
For common situations, the metaphor of CARDS in a stack along with layers helps people grasp things clearly (unless they've never worked with paper etc.) People grasp more when it relates to what they already know and that is why the HyperCard stack and the hypertext stack... and the parens like markup format works so well for billions of people. When needs get complex, the metaphors fail and one must deal with abstract logical constructs... So HyperCard and the others fail.... Yet, similar things continue in the complex worlds of C, where Object Programming really never gave us that much it mostly lets us draw analogies and model huge programs around the metaphorical thinking model of the human brain - so it caught on. (I could do anything OOP thing in C, even create tools to enforce common programming conventions... but we choose OOP because it's easier... but not all the time.)
How about spaghetti code?? That is easy and simple but only for simple programs. So we group code into functions and kill the gosub and register work. All are largely abstractions to help humans program. Now we have extreme OOP in Java which has created complex messes to work around the lack of expressiveness and the complexity of certain problems, such as EVENTS. Event systems are spaghetti again, to some extent are exceptions are too. It's back again... With people looking for the next great solution to abstract these rat nests into something easier to grasp. (One is Regular Expressions which abstract the huge mess of nested conditional logic in pattern searches... perhaps somebody will apply them? Perhaps some abstractions are best done in 2D or 3D instead of 1D text? UML diagrams exist because of the truth in that... but the bridging of the two is still not here yet.)
I actually never knew that about Myst before.
I knew it was a Mac title originally, but I only owned the Windows version on CD. Pretty sure that one was no longer using HyperCard technology (though I remember it did use the Quicktime for Windows player and the QT videos).
In 1989 my colleague, Loranne Dayton, showed me Hypercard. On this Apple computer you had 'cards' (pages), and they could contain links to other pages on that same machine.
I was too stupd to realize the imprtance of what she was showing me. Extent the link with a computer name (from the Internet), and we would have had the World Wide Web, several years before it was invented by CERN. She was years ahead of me.
Did Hypercard die? You're using it's grandchildren, IIS and Apache and Firefox and Internet Explorer, to read this web page today. Hypercard on a global scale.
While this was probably nothing more then an early attempt to get people to code, I remind you the Amiga had the same.
And there is free-software/open source programs while they may not do what closed source does they get the job done, and could do far more if people donated their time and or little money to make them as good as closed source.
I understand people like to do dabble in this and learn for themselves, I 'm not against it but the idiot that wrote the article is either self absorbed, or clueless as to other computers that could allow you to do the same. You look at how complicated todays software is, compared to HyperCard and its like staring a 4 bit porn, when you could be watching the real thing.
foot in yourself shoot.
answer the result
I used Hypercard to build educational tools when I worked in the Calgary school system. What a great tool. The only drawback was the no-colour limitation, which I found a work around for anyway. They really should ship apple products with it again.
LiveCode doesn't have background layer, but you can select any set of objects and make them be a group that acts like a background. That makes it possible to reproduce HyperCard's backgrounds, but is more flexible.
Yes, I've heard of LiveCode and have used it. It is fairly easy to learn the basics, but when it comes right down to actually doing anything with it - it is SH*T. It touts itself as a "rapid application development" tool. Well the only thing that is truly rapid about it is how quickly you start tearing your hair out over all its inconsistencies, VERY poorly written documentation and more bugs in it than an old warehouse.
HyperCard was awesome. It was fairly easy to create a fully functional gui application that someone might pay money for- possibly without writing a line of code. My first serious application was in HyperCard. HyperCard was dog-ass slow though.
I think Apple killed HyperCard because of the performance issues, and because it didn't fit into Jobs' vision. Once they settled on NeXT for OSX, the NeXTStep environment had a lot of cutting edge rapid development features but with the speed of compiled code. They didn't want to develop two separate environments, so HyperCard got the axe.
It is too bad. I would love to see HyperCard alive again.
In computer timelines, I know that Hypercard is ancient. The software wasn't much bigger that 800K bytes and ran from a floppy disk on Mac OS System 6. Hypercard was essentially cancelled by Apple Computer because, when Mac OS System 7 came out, Apple wanted extreme tight control over the graphical user interface of the computer. Apple wrote the "Human Interface Guidelines" and Hypercard broke all the rules. A neat trick with Hypercard of 1987 was, if it was auto booted, it could replace your graphical user interface (GUI) on your computer, and because it was full screen, the menu bars and icons would disappear. Image being able to draw the GUI of the computer with a paint program, which was included in Hypercard, and create hyperlinks to files, applications, and basic interface functions. If one created text fields, a basic database form is created. This is why Hypercard was so cool and ahead of its time, way before the invention of the commercial Internet. As a computer person, listening to computer users, the big complaint over and over again is the GUI forced on them. If the original Hypercard were available today, and you didn't like the "Start Menu" missing or the font change from iOS7 to iOS8, imagine being empowered to change those features, on your own. I have no disrespect for current versions of Supercard and Livecode. I am not familiar with the 2014 versions of those products.
LiveCode's 'background' layer is far more flexible than HyperCard. When applied to a single card it is called a group; share that group on different cards and it's called a background. Maybe you haven't come to terms with this yet, but it is simply 'the next step' for powerful flexibility.
Steve Jobs never wanted people to tinker with his computers. That's why he stripped them down to just a printer and modem port on the CrApple II. Woz wanted to allow the hobbiest to tinker, Steve wanted to sell people boxes that just worked. Hence why he also forced IOS users to use an App downloaded from CrapTunes.
Buy a Rasp Pi if you want to be able to tinker.
I think that AmigaVision is HyperCard for the rest of us.
If anything could or should be re-released, it's AmigaVision.
http://en.wikipedia.org/wiki/A...
Kriston
Please, visit http://livecode.com/download/ and download the most recent version of LiveCode Community Edition (Open Source) for your OS: (Linux, MacOS X, Windows) If you visit this webpage: http://downloads.livecode.com/... you will find all downloads available, including stable public releases, release candidates and developer previews. Choose one of the stable releases and install it in your computer. Then, you will understand why many developers still cherish and remember fondly, it's first encounter with HyperCard. You could download Livecode's source code from Git: https://github.com/runrev/live... Learn about Livecode's quality controls at: http://quality.runrev.com/ By the way, HyperCard found it's way to many platforms in the form of clones: For Commodore Amiga, there was UltraCard (later renamed Foundation): http://www.dreamtimestudioz.co... For Linux, there was MetaCard (today Open Source LiveCode): http://www.metacard.com/ For Windows, Oracle Media Objects: http://en.wikipedia.org/wiki/O...
>People quickly grasped how to make a picture or
>button show up on every card or just one. Now, if
>you google "livecode background layers," you're
>likely to get instructions to add a background to a
>single card.
You open the group inspector, and click the "backgroundBehavior" box.
That's it. Done.
hawk