Hypercard on steroids
One code to bind them all
Here’s a question: is Runtime Revolution the cross-platform application development tool for people who just want to get things done?
Answer: quite possibly.
Runtime Revolution revives the simple development model that Bill Atkinson pioneered with Hypercard back in 1987. Fresh from his triumph of building MacPaint for the Apple Macintosh, Atkinson brought together the concepts of object-based, event-driven programming and hypermedia to create a highly popular tool for rapid application development. Atkinson insisted that Apple gave it away free with the Macintosh which helped it to spread quickly in the late 1980s. Unfortunately the lack of a decent PC implementation and commercial changes at Apple meant that Hypercard eventually withered away. Further development was stopped in 2000 and, sadly, Apple abandoned it altogether in 2004.
This heritage is immediately apparent in Runtime Revolution. It builds on the Hypercard approach and overcomes many of the original tool's limitations. Revolution actually sits on top of a cross-platform engine called Metacard which was developed as a Hypercard replacement in the early 1990s. Runtime took over the Metacard engine a couple of years ago and has effectively transformed Hypercard into a modern cross-platform development tool. You can build one set of code to run on Linux and Windows PCs as well as the original Macintosh. The latest version - just released - supports Microsoft's new Vista operating system.
Revolution comes in two basic forms - Revolution Media, a low-cost version geared to producing media applications such as slide shows or presentations- and Revolution Studio for more advanced development. Revolution Studio also comes in an Enterprise edition.
All Revolution tools use the concept of the Hypercard stack as their starting point. In its rawest form a stack can be equated to a database which contains cards instead of records. Each card in the stack can contain a variety of objects including fields and buttons. Each object may have a script associated with it. A simple navigation button, for example, can contain a script which transfers to a new location - such as a different card or stack.
Revolution's graphical development environment enables new objects to be dragged into the screen area and modified accordingly. Buttons and fields can be re-positioned and re-sized. Their associated scripts may also be called up and edited to initiate further actions.
One of the best features of Revolution is the ability to flip flop between edit mode and run mode. The main tool bar includes a button to alter the mode so you can set up a new object, edit the script, flip into run mode and check that it does what you want instantly. If it doesn't do what you want - you flip into edit mode, make some changes and try again.
This combination of power and simplicity is what appeals to developers. Bill Marriott, a US-based developer who works closely with Runtime, is a big fan. "I used to like Hypercard and came to Revolution because it was an obvious successor. Revolution lets you build full applications - the language is just so easy and yet so powerful," he says.
Marriott is also impressed with the cross-platform features. "It is the only serious product that lets you write one set of code for so many platforms. I recently completed a project for a hospital where they had a wide range of machines from old clunkers to the newest high-spec machine. Just one development and it worked fine on every machine." This comes at a price, however. "If I have a gripe it is that you can't do things like browser plug-ins and Active X controls - but that's what you sacrifice for the cross-platform compatibility," he observes.
Ben Rubinstein, technical director of CogApp (formerly Cognitive Applications) also came to Revolution from Hypercard - although he is keen to point out that Revolution is much more than just a Hypercard replacement. "It really does improve on Hypercard - particularly in the ways that the language has been extended. It holds its own against development tools such as C, C++ and Python and we use it for all sorts of projects." Rubinstein says Revolution is especially useful for small scale projects which need building quickly. "You can use it for the sort of applications that you would not do if you did not have this sort of tool - rapid one-off development for a complete functional application."
He also praised the cross-platform features in Revolution. "If you develop on one platform you hardly have to check that it works on the others. We have clients with Mac and Windows and have found it is quite easy to do auto-updates on multiple platforms." This creates something of a dilemma for Rubinstein. "On the one hand it is the sort of product that I want to keep a secret because it gives us a competitive edge. On the other hand I want to shout about it because it is so good."
Marriott is equally complimentary: "It’s a tool for people who want to get things done."
Runtime provides free 30-day trial copies of Revolution and prices start at £33.00 for Revolution Media and £666.00 for Revolution Enterprise.