High-level, cross-platform language
Kevin Miller and Andrew Ashe on rapid development with LiveCode
As smartphone and tablet use booms, mobile apps are becoming
ever more important as a mode of content delivery, spreading to a
whole host of businesses that were previously far removed from the
digital space. For companies ranging from publishers to travel
agents, getting an app on to the market can mean the difference
between survival and collapse. But for small- and medium-sized
enterprises that haven’t already dabbled in mobile development,
getting up to speed can prove a major drain on resources. Firms
must either train existing staff in complex web languages or pay a
premium for outside talent, with the results often being difficult
to manage and improve upon.
Runtime Revolution (RunRev) is attempting to solve this problem with LiveCode, a visual development environment that allows non-experts to quickly produce apps for iOS and Android, as well as desktop- and browser-based platforms. The latest version of the suite, LiveCode 5, was released in October with a raft of new features, including support for iOS 5 and 3D graphics using OpenGL. Mobile360 spoke to RunRev CEO Kevin Miller to find out more about it.
At the core of LiveCode is a simple programming language based on familiar English words and syntax. This language integrates with a graphical system that allows developers to visualise user interfaces and other consumer-facing elements as they come together. “You drag out the various different objects that you want to use to create your project, then you attach code to those elements and you can try them out straight away,” says Miller. He emphasises the quality and clarity that this approach encourages: “You can go back and edit your project many years later and still read the code that you’ve written.”
So far, so ordinary. What really sets LiveCode apart from existing high-level IDEs is its built-in cross-platform compatibility. Like Java or Microsoft’s .NET, the language runs on top of a virtual machine which interprets the code and translates it into appropriate instructions for each platform. This VM is embedded in every LiveCode project, allowing apps to run without the need to install additional software. But this bundling strategy also introduces the risk of bloat. Does this harm LiveCode apps’ ability to compete with slimmer, more streamlined rivals?
Miller is confident that it doesn’t. “The runtime is really small for our platform,” he claims. “The minimum is round about three megabytes -- in today's world, that's not very much at all. If you think about the libraries that you might have to install with a Java app, it's actually really small in comparison.” In any case, the sheer ease of use that LiveCode offers seems to far outweigh any problems with the size and distribution of its executables. “Compared to Java and Objective-C, the amount of learning to do is tiny,” says Miller. “For the first week or two, it’s definitely something that people have to get their head around, but it becomes natural very quickly.”
What all of this adds up to is the potential for extremely rapid development and iteration. “Developers spend a lot of time with this process where they write a lot of code, they compile it, they run it, then there’s a problem and they go right back to the start,” explains Miller. “LiveCode cuts that whole part of the cycle out, hence its name.” One project where this has proved particularly useful is ‘Digital Tools for Rural Schools’, a joint venture between language software firm EuroTalk and the Scottish government which provides high-tech educational resources for impoverished schools in Malawi.
“We estimate that we throw away at least 60-70% of our code,” says EuroTalk MD Andrew Ashe, “so we have to have something where we can try things very quickly.” He compares app development to Darwin’s theory of evolution, emphasising that “you’ve got to try things and it’s got to be the survival of the fittest. LiveCode enables us to rapidly do what natural selection has taken billions of generations to do.”
EuroTalk provides tools for schools of up to 18,000 children, some with class sizes of more than 200, making the user experience a key priority. “I believe there’s a great tendency for developers to produce something that the developer thinks is great and cool and looks really great, but actually that’s missing the point,” says Ashe. “It might look great and it might have some wonderful things in it, but if the child or the user doesn't get past the first screen or they get lost somewhere, then the product is a complete failure.”
LiveCode certainly isn’t a new idea -- the product’s current incarnation grew out of the Revolution system, first introduced in 2001, which was in turn based on Apple’s HyperTalk language from 1987. But with continued growth in web and mobile apps, it may have found the springboard that will finally propel it into the mainstream. Miller is quick to emphasise LiveCode’s broad range of users, from individuals and two- or three-person local businesses to a major European airline, which uses the system to power its flight-booking service.
The main issue that RunRev will need to overcome if it hopes to establish LiveCode as a viable alternative to more traditional app development stacks is scepticism from well-trained developers. It will always be difficult to convince people who have invested significant amounts of time in traditional, low-level languages that their skills can be replaced by a $99 software package, and this problem is likely to hurt LiveCode’s adoption in large organisations with well-established engineering teams. Miller notes that the basic LiveCode system is capable of integrating with custom libraries written in Java or C, but for users with the requisite experience it might make more sense simply to write their entire app in one of these languages, and to enjoy the attendant benefits in flexibility and performance.
Where LiveCode really shines, though, is speed of development. RunRev is currently running a free online ‘Game Academy’, which aims to walk first-time developers through the process of creating a fully-functional game for iOS and Android in just two months. Structured as a series of video webinars, the programme will be followed later in 2012 by another ‘academy’ focusing on business apps, providing an ideal showcase for the system’s rapid development features. If Miller and his team keep up this focus on quick prototyping and ease of use, while allaying some of the more pervasive fears of dyed-in-the-wool Java and Objective-C developers, then they may just have a shot at the big time.
Runtime Revolution (RunRev) is attempting to solve this problem with LiveCode, a visual development environment that allows non-experts to quickly produce apps for iOS and Android, as well as desktop- and browser-based platforms. The latest version of the suite, LiveCode 5, was released in October with a raft of new features, including support for iOS 5 and 3D graphics using OpenGL. Mobile360 spoke to RunRev CEO Kevin Miller to find out more about it.
At the core of LiveCode is a simple programming language based on familiar English words and syntax. This language integrates with a graphical system that allows developers to visualise user interfaces and other consumer-facing elements as they come together. “You drag out the various different objects that you want to use to create your project, then you attach code to those elements and you can try them out straight away,” says Miller. He emphasises the quality and clarity that this approach encourages: “You can go back and edit your project many years later and still read the code that you’ve written.”
So far, so ordinary. What really sets LiveCode apart from existing high-level IDEs is its built-in cross-platform compatibility. Like Java or Microsoft’s .NET, the language runs on top of a virtual machine which interprets the code and translates it into appropriate instructions for each platform. This VM is embedded in every LiveCode project, allowing apps to run without the need to install additional software. But this bundling strategy also introduces the risk of bloat. Does this harm LiveCode apps’ ability to compete with slimmer, more streamlined rivals?
Miller is confident that it doesn’t. “The runtime is really small for our platform,” he claims. “The minimum is round about three megabytes -- in today's world, that's not very much at all. If you think about the libraries that you might have to install with a Java app, it's actually really small in comparison.” In any case, the sheer ease of use that LiveCode offers seems to far outweigh any problems with the size and distribution of its executables. “Compared to Java and Objective-C, the amount of learning to do is tiny,” says Miller. “For the first week or two, it’s definitely something that people have to get their head around, but it becomes natural very quickly.”
What all of this adds up to is the potential for extremely rapid development and iteration. “Developers spend a lot of time with this process where they write a lot of code, they compile it, they run it, then there’s a problem and they go right back to the start,” explains Miller. “LiveCode cuts that whole part of the cycle out, hence its name.” One project where this has proved particularly useful is ‘Digital Tools for Rural Schools’, a joint venture between language software firm EuroTalk and the Scottish government which provides high-tech educational resources for impoverished schools in Malawi.
“We estimate that we throw away at least 60-70% of our code,” says EuroTalk MD Andrew Ashe, “so we have to have something where we can try things very quickly.” He compares app development to Darwin’s theory of evolution, emphasising that “you’ve got to try things and it’s got to be the survival of the fittest. LiveCode enables us to rapidly do what natural selection has taken billions of generations to do.”
EuroTalk provides tools for schools of up to 18,000 children, some with class sizes of more than 200, making the user experience a key priority. “I believe there’s a great tendency for developers to produce something that the developer thinks is great and cool and looks really great, but actually that’s missing the point,” says Ashe. “It might look great and it might have some wonderful things in it, but if the child or the user doesn't get past the first screen or they get lost somewhere, then the product is a complete failure.”
LiveCode certainly isn’t a new idea -- the product’s current incarnation grew out of the Revolution system, first introduced in 2001, which was in turn based on Apple’s HyperTalk language from 1987. But with continued growth in web and mobile apps, it may have found the springboard that will finally propel it into the mainstream. Miller is quick to emphasise LiveCode’s broad range of users, from individuals and two- or three-person local businesses to a major European airline, which uses the system to power its flight-booking service.
The main issue that RunRev will need to overcome if it hopes to establish LiveCode as a viable alternative to more traditional app development stacks is scepticism from well-trained developers. It will always be difficult to convince people who have invested significant amounts of time in traditional, low-level languages that their skills can be replaced by a $99 software package, and this problem is likely to hurt LiveCode’s adoption in large organisations with well-established engineering teams. Miller notes that the basic LiveCode system is capable of integrating with custom libraries written in Java or C, but for users with the requisite experience it might make more sense simply to write their entire app in one of these languages, and to enjoy the attendant benefits in flexibility and performance.
Where LiveCode really shines, though, is speed of development. RunRev is currently running a free online ‘Game Academy’, which aims to walk first-time developers through the process of creating a fully-functional game for iOS and Android in just two months. Structured as a series of video webinars, the programme will be followed later in 2012 by another ‘academy’ focusing on business apps, providing an ideal showcase for the system’s rapid development features. If Miller and his team keep up this focus on quick prototyping and ease of use, while allaying some of the more pervasive fears of dyed-in-the-wool Java and Objective-C developers, then they may just have a shot at the big time.

Follow us