From SuperCard to Revolution Media
Posted: Fri Oct 16, 2009 10:25 am
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).
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).