Many applications are available to write software. Most of them are very complicated, and you'll need to start from scratch if you want to learn using it: it is based upon an unfamiliar language, with its own separate grammar/syntax.
Amongst the many approaches is one, that builds upon the use of the English language. If you know English, you can make a "quick start". This type of scripting language was introduced to "the rest of us" when HyperCard was made available on the Apple Macintosh, during the latter part of the eighties in the twentieth century - now some twenty years ago. The scripting language was called HyperTalk. From that idea some interesting applications have evolved.
One of those tools is called Runtime Revolution, which is still very actively being developed. While writing this review about version 2.9, version 3.0 is on its way to be released during the autumn of this year. When I was discovering the possibilities of HyperCard, I was fascinated. Looking into the state of affairs now reminds me of that period, and I must say - after all these years - I can still get enthusiastic about this subject. So here are my impressions in the summer of 2008:
This review could start with "Once upon a time, there was..."! Because twenty years of (r)evolution in the "computer industry" seem like a lot longer: like ages ago! I was around - when in the eighties of the twentieth century - Apple introduced the Compact Macintosh series. For a while every machine included an application called "HyperCard". Coming to think of it: I do have a lot of future behind me! ;-)
To quote from the WikiPedia article on HyperCard: "It was initially released in August 1987, with the understanding that Atkinson would give HyperCard to Apple only if they promised to release it for free on all Macs. Apple timed its release to coincide with the MacWorld Conference & Expo in Boston, Massachusetts to guarantee maximum publicity. HyperCard was a huge hit almost instantly. Many people who thought they would never be able to program a computer started using HyperCard for all sorts of automation and prototyping tasks, a surprise even to its creator."
And yes, I was one of those who felt more confident I could let my little computer do what I wanted it to (instead of the other way around: adjusting my working habits to the limitations of the computer...) HyperCard could let many people do things only limited by their imagination. The only thing that wasn't possible at the time, was the use of colour. We were still in the age of the "monochrome screen"... those were the days, my friend.... ;-)
If you are not familiar with this tiny piece of "computer history" it is well worth your time to read the WikiPedia articles I link to above. But then be sure to come back, and read why I feel it's worth looking into the present of 2008. Because although HyperCard isn't with us anymore, there is a descendant that still has many of the traits GrandFather had!
From HyperCard to Runtime Revolution
From HyperCard came various descendants that have similar characteristics the (grand)parent had. There is one line I would like to concentrate on. As far as I know this "bloodline", has developed most in the course of the twenty years that have gone by since: it is multi-platform (Linux, Mac, Windows), with a superset of the HyperTalk language (the programming language which gave HyperCard its power).
Let's try to get a bird's eye view of what happened between HyperCard and Runtime Revolution. HyperCard was a Macintosh only application. Then after some years MetaCard appeared as a crossplatform (Linux/Mac/Windows) tool. It was "HyperCard compatible": HyperCard stacks could be imported, though there were incompatibilities with the "MetaTalk" language. Then early in the 21st century MetaCard was acquired by Runtime Revolution. Many new enhancements were built on top of the MetaCard engine, and now in 2008 Runtime Revolution is in its "2.9" incarnation.
During all these years I have been watching developments on the sideline. Now I feel it is time to take a dive and see if I can feel the same confidence I had with HyperCard. Why now? Well, one of my criteria for trying software is this: it must be truely cross-platform on Linux, Mac, and Windows. And that's what the makers of Runtime Revolution now proudly present: the best version ever on all three platforms.
So, come join me on a tour of this revolutionary runtime tool...
What did I like about HyperCard?
I realize I'm jumping between the past and the present. I hope that makes my story interesting: I want to connect what happened, to what is happening now. And even link to the future! I know I'm only a pebble in the ocean. But, just maybe I can make a ripple on the big waves out there, and influence the course of events! :-).
So what made HyperCard so fascinating to me? There are two keywords that come to mind: perspective and seamless. I'll try to explain that!
First of all "perspective": HyperCard was designed from the user's point of view, toward the developer. Not the other way around. There was this comforting "Home" stack I could always return to in case I got lost. I could easily trace my steps with "breadcrumbs": just choose "recent", and I would see the places (cards) where I had just been. In this Home stack there were enough links to ready-made stacks I could start using right away: like and addressbook, a diary...
There was an "Introduction to Hypercard", a "Reference Stack". Everything was made within the same environment: HyperCard itself.
For the second keyword "seamless": with setting the "user level" I could gradually open up new possibilities. In five levels, I could change from a "consumer" to "producer" of information.
Let me combine "perspective" and "seamless": I could tie things together in a simple way. Increase the user level. Then from the menu I could easily make my own stack, and create buttons to link to a page or a stack! Then as my skills increased, I could start making my own custom built stacks. Or download existing ones from the web, and start modifying them. Even I could do all that!!! Now that says something about how simple things were! ;-)
HyperCard was a step in the direction of a more user- and task-centric human interface. I could fulfill my (personal) information needs within this one environment. Even now - some twenty years later - my out of the box laptop is set up with several applications. Each of them an island, of which I only use just a (tiny) part of the possibilities. My desktop shows the signs of featuritis: too many menu choices, and an array of buttons all over the screen.
At the time it was also the only application I knew about, that didn't have a "save": once I had entered my information it was already saved. Quite handy: that was one thing less to think about.
Of course I could give you more details about what I liked in HyperCard, but I think the above reflects my broad view of things.
The screenshot I include here is just to give you an idea. If you are of my generation, it will bring up memories of exciting times. But if you are lucky enough to be too young for that: here is a challenge for you! Get hold of an old Apple Macintosh with HyperCard, and you'll have some "hands-on experience". It will make comparing to current products much more meaningful, and just maybe it will trigger some splendid ideas! :-)
Of course there were things I didn't like about HyperCard. When color screens became common, HyperCard remained in the monochrome age, adding color as a kind of add-on. It wasn't easy to make something both ways in this transition between screen technologies.
Second thing I bumped into, was that graphics weren't treated as objects I could use as buttons. And that buttons could only be rectangular. So for example: making maps on which you could click, was a time consuming hobby... and it was not really perfect. But it worked, and some nice additions to the basic functioning of HyperCard came from various sources.
Then as time passed by, I wanted to broaden my horizon. But HyperCard was a Macintosh only application.
So for years I looked out for an application that would work on the major operating systems Linux, Macintosh, and Windows. And answer all these limitations I had found in HyperCard. And just maybe - here is Runtime Revolution 2.9 taking the concept that started with HyperCard to the next level?!
Diving in at the deep end
On the website Runtime Revolution presents three versions of their product:
Each has its set of features, and related price tag. I focus on personal computing, and see it as a hobby. So the Media version should be quite enough! But the Enterprise version offers the possibility to "Connect with enhanced security to more types of systems". And that's one of the things I would like to be able to do... Who says personal computing environments don't need digital security? I would like to keep my personal/family information safe in this connected computer world... and only make it available to those concerned. So I will dive in at the deep end, and try the Enterprise version first!
In my private lab, I am lucky to have three operating systems available. And so for testing purposes I'll install three review versions of RunRev Enterprise 2.9, and get some feel for the similarities and differences between Linux, Macintosh and Windows. To be honest, I still live in the Windows XP era... no Vista for me, just yet!
Although I do have some skills left from my HyperCard days, it won't be too difficult for me to get a first look at Runtime Revolution from the "novice" or "newbie" perspective.
So, does Runtime Revolution 2.9 give me the same self-confidence that I can be master of my computer like HyperCard did? Let's get acquainted with the documentation available...
Enough documentation to keep me busy!
I soon found out, that there's enough documentation to keep me busy for the next few months! Here is an overview:
- From within the application there is the help menu/documentation button. It opens up five entrances:
- Getting Started = more than twenty videos and pdf documents to get the basics; plus many small sample projects and sample scripts
- User Guide = a complete user guide in pdf format: 375 pages with the motto "The English language: use it to write software"
- Dictionary = explanation of terms fro A to Z, with examples of use.
- Glossary = explanation of concepts
- Search Engine = searching the information within the Revolution and relevant mailing lists
- Also from the menu there is Revolution Online (or the Rev Online button), offering three more starting points:
- Latest news
- My Space
- User Spaces
- On the website
I guess the motto on the title page of the User Guide sums it up: "The English language: use it to write software". Maybe I could just change that a bit: "The English language: learn it to write software". Before you can use a language, you have to learn it. In this case there is a double challenge: learn a language, and learn to write software with it!
If I look back at how I learned the English language when I was young: it was a gradual process over many years, within classroom environments. We went from level to level: first in primary school - simple words, and some basic grammar rules. Practice made perfect. Every lesson brought us just a tiny bit closer to the true complexity of the language.
Then I entered secondary school. Another four years of slow progress toward fuller command of the English language. During that time we even got acquainted with the odd English of Shakespeare. By now I can speak English well - I think! Still, after all these years I am learning some new words almost every week.
Let's have a look at the environment of Runtime Revolution 2.9: with a vocabulary of some 1600 messages and functions, and a pseudo-English grammar it will take considerable time to become fluent in Transcript - as the "language" in Runtime Revolution is called. It would be helpful if a kind of "classroom situation" could be integrated into the environment... getting back some of the elegance Hypercard had in being able to set the user level. Maybe another factor could be added within each user level: skill-levels. Instead of only the simple five user levels Hypercard had, I can imagine an environment that gently helps the user get more skills within each user level. Do you get the idea?
I realize this is a big challenge to the designers & developers of such an environment. The easier it is for the user to learn and use software, the more difficult for the developers it becomes. On the inside Runtime Revolution 2.9 is a complex product already, making life for us users a lot easier than many of the other applications that make it possible to write software. In my view it is way ahead of all the other IDE's I have seen. But I think it is more than "just" an IDE, so I would like to introduce a new acronym. Runtime Revolution is on it's way to becoming an IUMDE... I'll let you muse on that one for while: it's a nice riddle what that means!
It's going to be quite a challenge to make it a more integrated and seamless environment, in which the learning curve from novice to expert is a gradual one all the way!
Great minds think alike, fools never differ!
At the time I am writing this prose, an email-newsletter from Scotland appeared in my in-box, with a short article on the upcoming version 3 of Runtime Revolution, which is expected to be released in the autumn of this year.
A quote: "Better for Beginners and Experts Alike"
In addition to integrating documentation more fully in the Script Editor, there is a new "Start Center" when launching Revolution. Plus, later beta editions will unveil an overhaul to the Dictionary and a new Resource Center that makes tutorials and samples more easily discovered.
Does this sound like a step in the direction I was just describing? Which makes me think of the saying: great minds think alike, fools never differ!
I surely hope that the bird's eye view I have given in this review will help the people working on the new version to focus on the motto: "The English language: learn it to write software"!
It's time for a time out
At this stage the main question I wanted to answer was: does Runtime Revolution 2.9 give me the same self confidence I got when using HyperCard? It has become a much more sophisticated, and powerful tool than HyperCard was. I think it would take me quite a great deal of self-discipline and stick-to-it-iveness to become an expert in writing software with it. And of course the learning curve is steeper, and longer than the more compact, integrated, and seamless environment HyperCard offered.
I can't wait to see the direction version 3 is going to take. I hope to have an opportunity to help shape it to become the best IUMDE-tool on the planet! Just maybe the helicopter view I tried to give in this review will make a difference...
So for me I guess it's time for a time out as far as writing about this product is concerned. That doesn't mean I can sit back and relax: I hope to get some hands on experience with a beta of version 3 soon and contribute my share in making it even better.
Do come back later this year for first impressions of the restructured version 3 of this already powerful tool!