Page 1 of 1

From SuperCard to Revolution Media

Posted: Fri Oct 16, 2009 10:25 am
by exheusden
A few days ago, I downloaded the 30-day Revolution Media 3.5 trial. I jumped in at the deep end and since then have been converting a large SuperCard project. You might be interested in my findings, though I list them only from memory, as I took no notes during the process.

The project consists of data referring to original versions of songs, including title, original artist name, date recorded, notes, link to other web page… There is also a series of HTML templates. The idea is to build all the pages of a site based on this data, including an index page, allowing the visitor to go directly to a song title, and a page showing dates of modification of data. Because there are so many titles, they are split over several pages, each page holding no more than fifty titles.

Coming originally from HyperCard (this particular project was, indeed, originally a HC stack), I am used to XTalk style languages and the general concept of SuperCard, HyperCard and similar environments, so I didn't have to adjust too much to the Revolution concept, though initially found the idea that there were no "real" backgrounds" somewhat confusing. I still find the idea of a group, rather than a background a more difficult concept, especially when it comes to editing the "background". I suppose I'll get used to it.

I like the idea of substacks and made use of it to change the project from one with two backgrounds to a stack and a substack.

The script editor is very good and far more flexible than that of SuperCard. I had to modify the scripts quite a lot to take account of the differences in the languages, especially the referencing of cards, stacks and files, and the use of the replace command: I use replace a great deal to replace markers in templates with field contents from individual cards. The insistence of Revolution to use the US format for dates I found particularly annoying: this required adding a "set the useSystemDate to true" line -- not a big change, admittedly, but one that grates.

For the rest, conversion went relatively smoothly (I wrote a small SC script to export the data and an equally small Revolution script to import it). I ran into one big problem when running the main script of the almost completed project: it worked fine first time, but when I tried again, just hung, at which time the Finder showed that Revolution was not responding, so I had to Force Quit. Upon restarting and trying again, execution stopped with a script error indicating that a card could not be found. This was a card in a separate stack (which had just been opened with a Go command), so I modified the offending line (the one that had worked correctly before) to include an "of stack…" element, but again could not rerun the script and had to Force Quit because of application not responding (numerous other lines of the script referred to cards in another stack). Only when all of these lines were changed to refer to the secondary stack would the script run correctly and until then a Force Quit was required at each error. Strange.

I found the documentation at times confusing, but this is probably because it is in PDF format. The Revolution Dictionary, available during scripting, was useful, but that's perhaps because I already know some Xtalk. I imagine it would be of less use to a newcomer. Indeed, a newcomer would probably be discouraged by the documentation, which is huge and in PDF. I like books and so am probably prejudiced. There certainly seems to be enough documentation, but I found it difficult to get straight answers (I was probably asking the wrong questions!).

All in all, a fairly positive experience: I was able to convert quite a complex SC project into a Revolution stack in a few days (probably no more than two working days altogether).

Posted: Fri Oct 16, 2009 11:23 am
by Mark
Hi exheusden,

Nice review. Have you "converted" the stack, or did you create a completely new stack in Revolution?

Frankly, I like SuperCard more than Revolution, because of its reliability and simpicity. However, most of the time I use Revolution, because it Revolution is cross-platform.

I'm not sure why substacks are one of your reasons to move to Revolution. In SuperCard, it is very easy to use multiple windows...?

Instead of adding "of stack x" to every line in a script, you can do the following:

Code: Select all

put the defaultstack into myOldStack
set the defaultstack to "Name of stack X"
-- do something with objects on stack X here
set the defaultstack to myOldStack
One more thing... in HyperCard, it is very easy and attractive to put one data record on each card in a stack. That way, the stack itself is used as a database. This is not done in Revolution. In Revolution, you create an interface on one card and use the same card to display all records. The records can be kept in a custom property or in a file on disk. A script has to read the data from the file or the custom property, find the right record, and dispay it on the single card.

Best,

Mark

Posted: Fri Oct 16, 2009 11:37 am
by exheusden
No, substacks are not a reason for moving from SC to Revolution: I simply came across them and made use of them.

All I wanted to do, was to see if Revolution could be a substitute for SC. I've never been truly happy with SC (don't ask me why, as I can't explain it), so decided to see if Revolution could be an alternative. This seems to be the case without too much difficulty.

The structure of the stack has changed little since I first made it with HC in about 1995. Yes, I could (and probably should) rewrite the whole thing to access the data stored separately, but that seems like a lot to do, especially as the information is only for my own purposes (at least locally).

I really don't know if I shall move to Revolution yet. I have to admit that I have never had to Force Quit SuperCard…

Posted: Fri Oct 16, 2009 1:31 pm
by Mark
Dear exheusden,

Why were you never truly happy with SC? ;-)

I just noticed that you downloaded the 30-day trial. Here you can download a completely free new alpha version of RevMedia (after registering for the "alpha program"). Since it is an alpha, it is less stable than the 3.5 release, but it allows you to get rid of the 30-day limit.

Best,

Mark

Failures

Posted: Thu Oct 22, 2009 9:29 am
by exheusden
As a final exercise before deciding on whether to switch to Revolution, I wanted to see how easy it was to handle images with Revolution. Having placed an image holder and added some buttons and fields associated with it, I moved them all to the main group and edited the scripts some more. All seemed to work well, but I then decided to move the image holder from the group: no response from Revolution and eventually the spinning beach-ball appeared and I had to force quit.
This is not the first time that Revolution has become unresponsive and I have had to force quit during my testing. Indeed, this has happened on several occasions in a relatively short time (I've only had Revolution for 12 days and not used it all that time). This is very worrying. As a new user, I might be doing things incorrectly, in the wrong order, or in some other way not according to the greater plan of things, but this should not cause a product to simply become unresponsive.
Just how stable is Revolution? Do others also experience more or less frequent unresponsiveness that requires a force quit?

Posted: Thu Oct 22, 2009 2:23 pm
by bn
Dear exheusden,
Just how stable is Revolution? Do others also experience more or less frequent unresponsiveness that requires a force quit?
In my experience Revolution is quite stable. That is few if any force quits or crashes. That is not to say they dont happen. I got into the habbit of saving a stack early and frequently because it just might happen and than...
Then again it also depends. There were versions of Revolution that had more problems then others. Right now I am working with the Studio 4.0 beta and it is very stable for me. Studio version 3.5 also was stable. BUT that also depends on what you are doing, there might be some bugs in areas I dont use or only infrequently.
Rev in my experience is not as stable as Hypercard was, but I am still willing to put up with occasional (emphasis on occasional) glitches.
Regards
Bernd

Posted: Thu Oct 22, 2009 4:41 pm
by malte
Dear exheusden,

my answer to this is twofold. I've been working with rev for 7 years now and must admit I love it. Sometimes I hate it too, for exactly the occasional glitches. Most times rev becomes unresponsive is not a cause in the engine though, but in the stacks that make the IDE. In my experience the engine is very (VERY) stable. The IDE not as much. That is not to say it isn't useable, but the IDE had seen many days without major changes (apart from the script editor) This can be frustrating from time to time. Also you will experience, that a standalone (or revlet) build from your stack will work much much faster than if you are in the IDE. This is mostly because of development specific messages not being sent by the IDE. So if you think one of your stacks (e.g. when working with many controls) is working slow, try building it first and compare. Suspending development tools is not enough in that case, and might be misleading.

2 Euro cents,

Malte

Posted: Thu Oct 22, 2009 5:06 pm
by Mark
Hi,

In addition to Malte's comments, I have to say that it is exactly the script editor and the debugger that cause the biggest problems in the IDE. I very much hope that this isn't indicative of future IDE updates.

Best,

Mark

Posted: Thu Oct 22, 2009 5:47 pm
by exheusden
Thank you for your replies.

Indeed, all of the hang-ups have occurred during development, when I have had numerous windows open: script editor, property panels, dictionary, etc. I guess the only answer, then, is to perform a Save frequently. Not entirely satisfactory, of course, but it can be dealt with.

From what I understand from the documentation, it is not possible to build a standalone with Media; page 318 of the Revolution Users Guide indicates:
the standalone builder is available in Revolution Studio and
Enterprise editions only
However, for my purposes, the speed of Media is sufficient. I write stacks only for my own use and am more than satisfied with the speed.