Catch up on stories from the past week (and beyond) at the Slashdot story archive

 



Forgot your password?
typodupeerror
×
Programming Education Open Source

It's Time To Revive Hypercard 299

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."
This discussion has been archived. No new comments can be posted.

It's Time To Revive Hypercard

Comments Filter:
  • For the rest of us (Score:5, Interesting)

    by Gonoff ( 88518 ) on Saturday November 01, 2014 @07:41AM (#48286745)

    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.

    • Re: (Score:3, Insightful)

      by Anonymous Coward

      Apple did a good job of blasting macintoshes into classrooms. i couldnt afford any computer as a kid. i was poor. but the precious times at school on the computers there shifted my skillset and made it great. i did years late to the party, scrape together money for an apple IIc. basic was my first coding language, hypercard came a bit later but it was a nice easy to use tool. I think we should bring it (or something like it) back, for all platforms. an OSS hypercardish thing for sure.

    • by ArcadeMan ( 2766669 ) on Saturday November 01, 2014 @08:12AM (#48286903)

      So, Hypercard is like Festivus?

    • by mcgrew ( 92797 ) *

      Even if Macs weren't so expensive, something cross-platform, like BASIC, would be better. I learned BASIC on a TS-1000, and after BASIC, learning assembly wasn't that hard; I was hand-assembling machine code for that TS-1000. I had to since BASIC on a 1 mHz Z-80 that powered the entire machine was just too slow for games.

      Oddly, the company that brought BASIC to most was Microsoft; they didn't write Sinclair BASIC but they wrote the BASIC for most other computers of the time. GW BASIC on the IBM PC was still

      • by Flytrap ( 939609 ) on Saturday November 01, 2014 @09:09AM (#48287127)

        Why couldn't a new incarnation of something like Hypercard be cross platform.

        I am not familiar with Hypercard (my entry into programming was via Basic first on the ZX Spectrum and later on the Apple IIe), but I would argue that if is was as great at easing lay peoples entry into programming as some claim, then we should rather exert more effort in making a new incarnation of Hypercard that is cross platform, rather than in trying to convince people that second best is better because it is cross platform.

      • Even if Macs weren't so expensive, something cross-platform, like BASIC, would be better.

        I almost agree. But it's an Apple to oranges comparison. Basic is responsible for turning a lot of us into programmers, and I believe that it should be included with all operating systems.

        But Hypercard is in a whole different league with it's capabilities. The closest thing I can come up with is a comparison between say, Filemkaer Pro and Excel. When I try to explain Filemaker pro to people, most tend to get badly stuck in excel-land. I had one guy who worked with excel spreadsheets for many years who nev

        • by lgw ( 121541 ) on Saturday November 01, 2014 @10:31AM (#48287483) Journal

          I'm amazed everyone has forgotten Myst. Myst was a HyperCard stack with QuickTime movies - and amazing demonstration of with you could do with it.

      • Even if Macs weren't so expensive, something cross-platform, like BASIC, would be better.

        What made Hypercard so great is that it allowed you to build a fairly decent GUI with almost no work.

        Although I agree that cross-platform is the way to go, without the ability to "draw" your windows and dialog boxes, it would be just like the original BASIC, where pretty much only geeks used it.

        Visual Basic is a convoluted joke.

        And yet, it's much closer to what a modern Hypercard should be like than most other dev environments.

      • Even if Macs weren't so expensive, something cross-platform, like BASIC, would be better.

        BASIC was far from cross platform in the 80's. The computer magizines had different code listings for each platform.

    • Comment removed (Score:5, Interesting)

      by account_deleted ( 4530225 ) on Saturday November 01, 2014 @08:52AM (#48287049)
      Comment removed based on user account deletion
      • If you think VB6 is human readable, then we need to have a little conversation about species differentiation.

        • And it caused the internet bubble, 9-11, the housing bubble, the Arab Spring, and molested several children in my neighborhood. Seriously one night I was coding in VB6 and I accidentally created an infinite loop....I shit you not it opened a portal to the ninth plane of hell and demons came pouring out. Satan's own right-hand-man had to come and stuff them all back into hell and close the portal, but not before praising me on the powerful black magic I was wielding with VB6.
      • by lgw ( 121541 )

        The current Visual Basic is no harder to learn than the old VB6. It's different in some ways, which was jarring to anyone who knew VB6 (one of MS's stupider moves), but it's not worse. And VB.Net has the advantage that switching from it to C# is much easier than switching from VB to C++ was.

        But I admit I have no idea what the new DB interface stuff is like (or the old) - the free version of VS comes with a free version of MS SQL, right? Anyone ever tried using that from VB.NET?

      • More like VB 5, but with updated functionality and examples in the integrated help which actually work. From what I remember, VB 6 was a step backwards in ease of use.

      • I'll get hate by the "programmers" but I'd argue that what we need is more along the lines of another VB 6 which is what TFA seems to be advocating.

        How about instead of reviving old trash, building a language that has the advantages of VB without the disadvantages? It was so hard to write a good, stable application in VB.

      • I agree. I used to program in REALbasic, it was extremely easy to get reasonably good results and I generally had a great time with it and sold lots of high quality shareware. (I know, I know, REALbasic was also responsible for a lot of low quality shareware, no doubt about that, but you will always get this with such a tool.) As long as you didn't stumble over one of the many implementation bugs it was a lot of fun and the fastest way to develop. This was long before it became ridiculously expensive, back

    • I'd say the Commodore Amiga was the best personal computer. Ahead of Macs
      • I had the pleasure of access to and use of an Amiga 1000 in '86. It hosted many of my firsts in computing:

        First use of a graphical interface

        First use of virtualization (hosted an IBM DOS virtual environment in a window - used for running and building DOS applications for IBM PC - the Amiga OS was perfect for this - since it virtualized it's own components as well)

        First filled polygon video game (3D up to that point was wireframe)

        First real multimedia PC used

        First use of a PC with a multitasking operati

    • 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

    • by iwbcman ( 603788 )
      I could not agree more. I cut my teeth on BASIC, later moving on to assembly, pascal eventually playing around with c++/java and my personal favorite vala. IF I had not had such a gentle hand holding experience like BASIC I never would have started programming. I know that there are lots of languages taught nowadays as beginners languages, but nothing compares to BASIC. Python absolutely sucks donkey balls for beginners-there is no reliable way for a newbie to cut and paste a small program -friggin stupid s
    • It also had the advantage of being close to a standard untill MS teurned it into QBasic then dumped it.

      Yes and no. MS didn't "dump" QBasic.

      QBasic was turned into a full-blown compiled language, QuickBasic, which actually sold for a pretty reasonable price. QBasic still remained for some years after that. QBasic -> QuickBasic was actually pretty nice in that it turned BASIC into an actual procedural language, rather than being restricted to line-numbered spaghetti code.

      QuickBasic evolved into the Microsoft Basic Professional Development System. As of version 7.1, PDS gained an awesome highly optimize

    • by darkain ( 749283 )

      BASIC evolved, too. Tools like Visual Basic (which had a WYSIWYG form editor) emerged. And then even that evolved again too into VBA (the scripting language for Microsoft Office). Yeah, I get the security bullshit with their implementation, but that doesn't deny the fact that it was a quick, simple, and extremely powerful tool for non software engineers to get in there and build some tools needed to get the day's job done. Especially with Excel, the ability to just hit "record macro", and then see the resul

    • I used both BASIC and HyperCard - they were dramatically different approaches. If you want a modern BASIC, try Perl or Python or Ruby or - you get the picture. There are dozens of suitable replacements; simple direct languages that can write a short command-line program easily.

      And you show the result to the average user out there and they won't even think it's a program. If you want a GUI - like everything out there today - you'll have to work on a major lift, some complex API that takes months to master

  • by Anonymous Coward on Saturday November 01, 2014 @07:41AM (#48286747)

    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.

    • This 'story' is just a copy/paste from Ars Technica used to get the submitters URL/username on the front page of slashdot.

    • by jbolden ( 176878 )

      I'm glad someone posted that. LiveCard is basically HyperCard.

    • are the best current follow-ons to the HyperCard simplicity and utility.
  • Obligatory [vpri.org] - 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.)
  • by Anonymous Coward

    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.).

    • by gslj ( 214011 ) on Saturday November 01, 2014 @10:57AM (#48287609)

      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

  • Great idea (Score:4, Interesting)

    by cdwiegand ( 2267 ) <chris@wiegandfamily.com> on Saturday November 01, 2014 @07:45AM (#48286777) Homepage

    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.

  • 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?

  • by cosm ( 1072588 )
    https://ifttt.com/ [ifttt.com] Check it out.
  • 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

    • by mcgrew ( 92797 ) *

      Effective visual editing of templates; HTML template editing but much more like a good UI editor

      I've always used a text editor for HTML since automation always seemed to produce bloated, unreadable (if not edited by hand) garbage, whether AOL's, Netscape's, Front Page, Word Perfect, or Word.

      However, I discovered recently that you can get very good HTML from Open Office, but the way to go about it is really convoluted thanks to Oo's retarded menu structure. Under "file" towards the bottom of the list, nowher

    • by thogard ( 43403 )

      Google Wave was some very interesting technology but I think it was pointed in the wrong direction. It wasn't ever considered as a way for the Internet of Things to talk to each other in a reasonable way and everything Google did with it was around pushing it in front of people, not devices. There might have been a time where the terms of service didn't allow devices to communicate using it for message passing.

      Language development these days seems to have stalled around a few specific areas which are sepa

  • 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.

  • doesnt work (Score:4, Informative)

    by Charliemopps ( 1157495 ) on Saturday November 01, 2014 @08:20AM (#48286929)

    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/ [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.

    • by tomhath ( 637240 )

      .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 solution to a programmer is simple: If "yes" then X

      Shouldn't it be: If "Yes" then pass else do X"? Buggy code indeed.

      • .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 solution to a programmer is simple: If "yes" then X

        Shouldn't it be: If "Yes" then pass else do X"? Buggy code indeed.

        Slashdot filtered out my code... sorry.
        there are supposed to be "greater than / Less than" symbols in there.

    • by west ( 39918 )

      Exactly this. Writing non-ambiguous instructions in English (or any human language) is ridiculously difficult, and attempts to do so end up (not surprisingly) in legalese, which is often harder to understand than a programming language with a decent syntax.

      Natural language programming is pretty much an oxymoron, because there's almost nothing natural about programming (with respect to human beings).

      Over the years I've come to hate tools that pretend to management that you can essentially program without ac

      • by jbolden ( 176878 )

        I have to say the getting people in the door thing is pretty cool. I always like to give this example. My doesn't-know-how-to-program wife wrote herself a custom device driver in AppleTalk without even knowing what a device driver is or what one does. That's success.

    • 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.

      IMHO, good languages are fairly terse, because they allow you to see a bigger picture at a glance. Mathematics has plenty of examples of this -- you often devise some ad hoc notations to make a complicated problem easier to visualize. In programming, the obvious equivalent would probably be functions and classes etc. but it helps if the language is not too verbose to begin with.

    • by jbolden ( 176878 )

      Reading below you wanted greater than / less than. That's obscure syntax. How about
      If answer is not "yes" then do X

      which is COBOL.

    • "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"

      Wow. That may be a typical problem but it's sure's hell not the typical way of stating it. I would have stated it as "If they don't chose Yes, I want them to do X." You sir, cluttered the problem statement with unnecessary verbiage.

      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.

      A

  • Project Siena (Score:4, Informative)

    by timmyd ( 108567 ) on Saturday November 01, 2014 @08:20AM (#48286931)

    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... [microsoft.com]

  • SuperCard (Score:4, Informative)

    by shubus ( 1382007 ) on Saturday November 01, 2014 @08:38AM (#48286989)
    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.
  • by Opportunist ( 166417 ) on Saturday November 01, 2014 @08:42AM (#48286997)

    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.

  • I worked on testing with Jmeter a while back and Hypercard sounds pretty similar to it. It basically just holds a tree of mementos, which it serializes to XML for storage. They've more or less implemented an entire visual programming language with branching and looping, database and web page access. It's also easy enough to add new functionality to it by implementing a new java class.

    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

  • 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.

  • 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 sm
  • by pz ( 113803 ) on Saturday November 01, 2014 @08:54AM (#48287063) Journal

    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?

  • 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.

  • _ 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

  • 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.
  • 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

  • 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

    • by jbolden ( 176878 )

      Apple believes that long term legacy is a problem. They want users to migrate paradigms. They don't mind breaking software, to keep the ecosystem clean. Microsoft is far better about continuity. IBM even better than Microsoft.

      You want continuity you picked the wrong product.

  • These don't count as simple tools for users to build mini programs? RD
  • 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 seve

  • by jbolden ( 176878 ) on Saturday November 01, 2014 @11:02AM (#48287631) Homepage

    It has been revived and it has a free / open source version: http://livecode.com/ [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 accomp

  • 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 program
  • 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 profession

There are never any bugs you haven't found yet.

Working...