What is LiveCode?

By Mark Schonewille
What is LiveCode? If anyone can answer that question it would be Mark Schonewille. Author of the book “Programming LiveCode for the Real Beginner” and the blog X-Talk Corner, Mark also quite active in the LiveCode community on social media and the LiveCode online forums.

LiveCode is Software

LiveCode is software for people who want to make their own software. In other words: LiveCode is a software development environment.

LiveCode is Visual

The visual nature of LiveCode makes it easy to use. A LiveCode document consists of multiple screens, which are called cards. By dragging fields, buttons and other controls from a tools palette and dropping them onto a card, the user creates an interface. Pictures, movies and sounds can be imported too. A very simple program is sufficient to navigate between the cards.

A moment suffices to create a simple interface in LiveCode, including pictures
and navigation (the picture shows a demo application).

 Each control and the window itself contain a small program, called a script. Scripts usually start as lists of simple instructions that allow the user to interact with the program. Scripts respond to mouse clicks, key presses, touch screen events, or other user input. The ability to create a real interface, similar to other software that pupils may be familiar with already, gives LiveCode an advantage in comparison with languages like Scratch, which lack interface components completely.

LiveCode is a Programming Language

LiveCode’s programming language is almost-natural English and contains simple instructions, which are easily understood. For example, a script that responds to a mouse click can look as the following.

on mouseUp
put “some text” into field “Important note”
if the seconds > 60 then
beep
put “Your time is up” into field “Timer”
end if
end mouseUp

There is no need to compile code. The user can just switch from the pointer to the browse tool and immediately use the program. This allows the student to see the result of his work immediately. For example, a student would need less than a minute to come up with a random number generator:

1) create a field

2) create a button

3) add the following script to the button:

on mouseUp
put random(9) into field “Random Number”
end mouseUp

LiveCode is a (better) Learning Tool

By using simple statements, the student can concentrate on learning programming concepts, such as randomization, conditionals (if, then, else) and repeat loops, without having to put a lot of effort into learning the actual language. This is a huge advantage that LiveCode has over Python, which is often used in schools. Once familiar with these programming concepts, the student can use LiveCode to continue working on advanced projects or move on to other languages.

Besides about programming concepts, students may also want to learn about interface design. Interface design isn’t a subject that can be learned using the programming tools commonly available in primary and secondary schools. Python programmers use a text editor and often enter a command in the DOS prompt or Unix terminal to execute their program. Interface is simply no issue for them. Scratch may show the result visually in a window while also the program itself is displayed visually in a diagram, but the user input has to be part of the program. Scratch can’t he used to teach user interface design. LiveCode, on the other hand, provides all the tools to design an interface. LiveCode separates the programmer from the user, which is one of the most important concepts to be taught in computer science.

An advantage for schools is that LiveCode is available as both a commercial product and a freely available open-source project. Schools don’t need to buy expensive licenses to acquire LiveCode and students can install LiveCode on their own computers at no cost. Non-profit organizations, e.g. those enhancing computer-literacy, amongst youngsters could benefit too.

LiveCode is a fourth-generation language. 4GL’s are usually easy to read and are either compiled into a 3G language or talk to an engine written in a 3GL. Although simple in nature, LiveCode is rich in features giving access to most of the functions an operating system can provide. While 3GL’s like C++ usually provide access to all functions of an operating system, LiveCode may pose a slight limitation on the available features. This is compensated by the much better comprehensibility of LiveCode compared to lower-level third-generation languages.

LiveCode is a cross-platform tool, which means that one may use it on Windows, Linux or Mac OS X. The software created with LiveCode can be used on aforementioned operating systems as well as Android and iOS. Students can install their own apps on their own Android devices without additional cost. 

On-line Resources

Nowadays, there are many on-line resources available for LiveCode. The resources are slightly disorganized. LiveCode provides some tutorials for free while other tutorials are charged for. There are a few on-line courses available, some are for free and others are offered for a fee. Quite a few people have started a website with code snippets, which disappeared after a while. The following table shows a number of resources that have been available for a long time and are expected to stay around in the future. Only freely available resources are included:

LiveCode course from Brigham Young University
RunRev’s own LiveCode lessons, partly provided by the user community
A number of interesting tricks
A course intended for high school students but useful for anyone who wants to learn LiveCode
Articles about game development with LiveCode

 

Social Media

The LiveCode community is very active on social networks like Facebook and LinkedIn. There are also several forums and a mailing list dedicated to LiveCode:

The largest LiveCode group on Facebook
LiveCode on LinkedIn
LiveCode on Twitter
LiveCode’s forums in English
Dutch Livecode forum
German LiveCode forum
French LiveCode group on Yahoo
Japanese Yahoo group
LiveCode mailing list
Spanish on-line user group

Books

Currently, there are several important books about LiveCode.

Programming LiveCode for the Real Beginner by Mark Schonewille

LiveCode Mobile Development Beginner’s Guide by Colin Holgate