posted by alcibiades on Tue 9th Jan 2007 14:54 UTC
IconRevolution is descended in spirit from Hypercard (HC). When Apple's support for HC withered, Scott Raney developed Metacard (MC), a near clone. Metacard was then bought by Revolution (RR), based in Scotland. Metacard was two quite distinct things: an engine, and an IDE. When Metacard was sold, the MC IDE became public domain. It still exists, is volunteer maintained, and it can be used with the latest RR engine. Some on the RR user mailing list prefer the much simpler MC IDE to the RR IDE, at least for initial project development. Other IDEs are possible, and there is a third party (non-free) IDE called Galaxy.

Note: This is, as stated in the title, an end user's and not a developer's perspective. Developers will be struck by quite different things and have quite different experiences.

Revolution is available for most platforms - Mac, Windows, Linux, Unixes, though Mac and Windows are the only platforms with the latest releases and with all of the available add-ons (such as Valentina and Galaxy). It has the interesting feature which not all cross platform development tools have: that you can write and compile on one platform for any other. Despite some complaints of detail, this seems to work quite well. At compilation time, if you don't already have an engine for your target platform, one is automagically downloaded. Filemaker by contrast is cross platform, but you need to compile your standalone on the platform it will run on.

RR also has a third party cross-platform player, called StackRunner, and a low cost entry package, Revolution Media. This doesn't create standalones, and so far it only comes in Mac or Windows flavors. Linux is coming soon.

The pedigree is appealing to anyone who ever liked and used Hypercard on OS9. Like HC, it is a hybrid of a professional developer's package and an end user's package. We shouldn't forget that some very striking professional things were done in Hypercard, including the first Myst. But it was also accessible to anyone computer literate enough to make a reasonably complex spreadsheet and was an easy entry into learning to program. Revolution shares this. Revolution itself seems to be a fairly small organisation, but it has a strong developer community and mounts well regarded annual conferences for its users and developers, the last ones being in Malta and Monterey.

You can't recount this history without an attack of the 'if onlys'. If only Apple had realised what it had in Hypercard. If only they had ported it to Windows, instead of seeking with their usual fatal blindness to make the world buy hardware it didn't want to get software it would have wanted. If only, having decided not to support it, it had open sourced it or let someone else run with it. But we are where we are.

One or two things.

There are a few things the new (amateur) user will soon become aware of about RR. One is that it is not especially cheap for an amateur. A Studio license costs 266 Sterling, and add-ons, such as the Valentina database or the Galaxy IDE are moderately expensive too. I benefited from RR's generosity with an upgrade from an old Express version, but if you don't qualify for something like this, it's quite costly. The Media version at 33 Sterling is a possible and much cheaper alternative if you don't want the whole works.

Second, it has the most wonderfully active, helpful and friendly mailing list and forum you will find anywhere. The contributors seem to be long time HC/MC/RR users of great goodwill and expertise, and responses and discussions are almost always good natured and informative. In fact, the Revolution crew generally are distinguished by niceness.

Third, its documentation is a bit sketchy. There is a very nice introductory book by Dan Shafer 'Software at the Speed of Thought'. There is a partially complete pdf manual on the RR site, which seems to have chapter headings only at key points in the narrative (like, arrays!), and which has made no progress since its last edition in the summer. There is a nice online comprehensive dictionary of the language, which is built into the IDE and well cross-indexed and linked. There are some very good beginner's tutorials on the RR site, and quite a few sample stacks to download and take to bits to look at. The Novell Suse site has some very fine tutorial examples showing how to use RR with the Linux shell. But if REALBasic's documentation is 8 out of 10, one would have to rank RR's around 4.

A classic example is arrays. RR arrays are associative and dynamic, and according to the best available (3rd party!) documentation it is said that RR 'by making what I call "string assumptions" can allow the arrays to mimic true multidimensional arrays, even though under the hood, they are considered to be single-dimension string-based arrays' (Source: Sons of Thunder Software: Understanding Arrays). You might expect this interesting behaviour to be covered at some length in the official documentation. Alas, it ain't. Type 'array' into the online dictionary, and you find nothing about arrays. To get limited clues about them, you have to know to look for 'keys' and 'special properties', and even then it's not very enlightening. There is also a table object which you can paste onto a card instantly with a flick of the wrist. Then try to figure out how to use it!

In fact, the state of the documentation was strikingly illustrated when, in recent posts on the mailing list, it was seriously suggested that an enquirer should get hold of Danny Goodman's books on Hypercard - books published 8 years ago on a now discontinued language on a discontinued OS! Another poster said he relied on the old Metacard documentation supplemented with pasted in contributions. Revolution is making serious efforts at improving documentation, but they are not there yet. Professionals seem to do fine with only the on-line dictionary of the language. The bottom line is that for a beginner, getting started is easy and there's lots of material. But finding out how to do some specific x after that can be a chore.

Table of contents
  1. "Introduction"
  2. "Using Revolution, Alternatives"
  3. "Conclusion, Links"
e p (0)    13 Comment(s)

Technology White Papers

See More