Thursday 7 February 2013

Open Source LiveCode: Believe it or not, a worthy cause!

I want to point out to anyone who comes here--quickly, while it is still early enough to do some good--that there is a worthy project on Kickstarter that needs a little financial support. A Scottish company called Runtime Revolution, or RunRev for short, wants to clean up the source code for its main product and release it to the world under an Open Source license. The product is a programming environment called LiveCode. All told, it will cost about a half-million dollars to get the thing done. (More exactly, they're asking for £350,000). Go here to pledge.

Of course, you want to know why you should pledge before you start reaching for your wallet. The Kickstarter page has some videos to give an idea of what LiveCode is like. However, to give some idea of the potential of LiveCode made free, I have to tell you a true story.

Back in 1987, Apple Computer released a program called HyperCard. This was the brainchild of Bill Atkinson and Dan Winkler. Atkinson had written the very first Mac application, a paint program called MacPaint. He wanted to enhance it so that people could click on parts of a picture to see details or text descriptions. Dan Winkler created an English-like programming language called Hypertalk so that objects placed on the picture (such as buttons or text fields or backgrounds) could each contain a program. Click the button, and its program would execute. Click the text field, and start typing in it. Have the button's program alter the text in the text field. There were possibilities here.

The pair got the bit between their teeth and added more ideas. Why have only one picture in a file when you could have any number of them, and flip between them like cards in a rolodex? What if each of these cards had two layers, a foreground layer specific to one card and a background layer that can be shared between cards? What if both layers, and the stack of cards itself, were objects that could hold bits of programming?

Finally, what if the HyperCard program were free? What would people do with it?

Well, the pair, somehow, were able to demand that HyperCard be released for free, and the odd program found its audience. At the lowest level, people approached it as a paint program, a slightly advanced MacPaint. Later, they might add text fields to label or describe the painting, or add in an essay or poem or short story. Sound effects and music might come into it. This could involve placing buttons with very simple scripts such as

on mouseup
   play "cat's miaow"
end mouseup

Alternatively, the button might have an arrow icon and, when clicked, take the user to the next card in the stack. This script would do the trick:

on mouseup
  go to next card
end mouseup

The user would naturally, with increasing confidence, try more and more complicated scripts, or study the scripts of other users, copy and paste buttons from one stack to another, and gradually become expert.

Kids loved to make games with it. Teachers made self-grading tests (I did that), chat programs for the local network, presentation programs (where did the idea for PowerPoint come from, do you think?), and study units. Businesses made information kiosk programs. I did a company handbook, an e-book maker, a multi-file search-and-replace program, a recipe book, and many other programs. In short, I used to say that HyperCard was the only program I needed. These days, with the internet being a big part of everyone's computing life, I'd say that HyperCard and a Web Browser were the only programs I need.

That is, I'd say that if I could still get and run HyperCard. I don't think that Steve Jobs ever really "got" HyperCard, and he axed it in March 2004, when he returned to Apple. I never really forgave him for that. Quite a few others went through the grieving process. Some tried, with mixed success, to recreate the old mixture of paint tools, text tools, stack of cards, and programming language. The most successful of these attempts eventually became LiveCode.

LiveCode's programming language is basically HyperTalk, but with a much larger vocabulary. Many old HyperCard stacks can be imported into LiveCode and simply work; others can be tinkered with until they work again. The paint tools are there, but are in full colour instead of black and white. The programs can be made to work in Windows, Mac, Linux, or on a cell phone or iPad. In other words, LiveCode is, to a great degree, a modern version of HyperCard.

What it lacks, that HyperCard had, is free access to an audience of curious and uncommitted users: children, businessmen, parents, teachers, and other amateurs of every stripe. If LiveCode becomes Open Source, it may get that aspect of HyperCard going, too.

As a person who used computers back in the 80's, I am frustrated that most users do not know how to "talk" to their computers. Every need is solved by getting a pre-made program instead of giving the computer a direct instruction to do the job. I'm as guilty as the rest in this: I learned BASIC to talk to my Apple II; I learned HyperTalk to talk to my Mac; I have not learned C or C+ or Python, Perl, BASH, JavaScript, or Ruby to talk to my current computer. Not only are the choices too many, I find many of them just too hard for an occasional user like me. LiveCode could change this sad situation for many people, if they could get it without a second thought and without a hundred dollar charge on their credit cards. As I said, it's a worthy cause.

No comments:

Post a Comment