I think we left off talking about why all CAPS is a bad thing to do to text, especially more than just a couple of words, especially when using a monospace typeface, because when you try to look at each word as a single unit, all words look alike -- boxes of varying widths:
The above is an image from Robin Williams' excellent book The Mac is Not a Typewriter and was produced to show the difficulty in reading whole words written in all-caps, especially monospaced all-caps.
Note that the two pairs of words are of the same number of characters; thus when the eye detects them as shapes, the two shapes look alike. When Rosemary Sassoon was asked to consider which would be preferable typefaces for children learning to read and write, she realized that studying children and their preferences had been left out of the study equation.
I was astonished that although various ‘experts’ had their own views, no one had bothered to ask the actual users – children... The design was based on the children’s preferences and surprising explicit comments – a slight slant, a plain top (sans serif) and a flickup like Times Italic. When rationalised that suggested that an exit stroke bound the word together. That feature, coupled with slightly extended ascenders and descenders (which had been eroded in other modern typefaces) accentuated the word shape hence made for easier recognition.
Ascenders, Descenders & x-height
Before we see why ascenders, descenders and x-height can make a great deal of difference is seeing entire words as shapes (or at least help in decoding), a few definitions are in order:
x-Height characters are everything else and have the vertical dimensions of, say, a lowercase x: They are a, c, e, i, m, n, o, r, s, u, v, w, & x. Why do ascenders, descenders and x-height assist in decoding words? It's a matter of creating visual contrast:
Still skeptical? Consider the following:
In the two above examples, Ascenders (signifying either a capital letter or one of the lowercase letterforms with an ascender) and descenders provide important clues as to what the words are. As children become more expert readers they learn to read whole words, partly by shape. As Sassoon notes, modern typefaces that seek to erode the visual contrast between letterforms with ascenders, descenders and how they relate to overall x-height make that text more difficult to read more expertly by new readers.
Thus we have the Sassoon family of fonts:
In the next post, we will discuss using type creatively and how to avoid some of the common don'ts of using type.
Sunday, March 18, 2012
Saturday, March 17, 2012
Monospaced vs. Proportionately-spaced Typography
In a follow-up to the previous post, we learned that choosing an appropriate typeface can bridge the gap between learning to read and learning to write in young children as well as demonstrate learning cursive handwriting skills by taking a look at the Sassoon Joiner fonts and software, a demo of which is freely downloadable. In this post, we will discuss those monospaced vs. proportionately-spaced typefaces.
We talked a little in the previous post about the days of the dreaded typewriter. For the benefit of those whose eyes glazed over and rolled into the back of their skulls at the reference, let's take a trip back in time... time... time...:
In the beginning...
The first thing to learn is the difference between a monospaced typeface and a proportionally-spaced typeface (remember Steve Jobs talking about that in his Stanford commencement speech?). Below is the same sentence rendered in two similar-looking typefaces (both are serif typefaces; more on that in a minute):
The first line is in Courier; Courier is a monospaced font. The second line is in Times New Roman, which is a proportionally-spaced font. Both are 24 pt. Notice that the proportionately-spaced font takes up less horizontal space. That is because a monospaced typeface allots the same "cushion" space around the letterform for a capital W as for a lower-case i. The first line was indented two spaces; the second was indented five spaces. The third shows the difference between five and two spaces for the typeface Times New Roman. Below you can see how, in Courier, each character occupies the same horizontal amount of paper or screen real estate as any other in the typeface:
Notice how all the characters on row 1 line up with all the characters on row 2, regardless of how much horizontal space any given character actually requires to be properly represented. The monospace aspect of using typewriters can be a good thing when you need to properly align things like a column of numbers in a word processing application. It's less of a good thing when it comes to reading, because every single word has pretty much the same shape as every other word, making it difficult for the brain to engage in pattern recognition and chunk words into a single object rather than reading each character individually and then forming a word. Secondarily, for those of us who learned to type on a typewriter, the only way to create visual space demarcing the end of one sentence and the beginning of another was to type two spaces after the terminal period of a sentence, something now discouraged in this age of proportionately-spaced typefaces of the digital era. (I must admit that I have not been able to break the habit!)
Another bad habit carryover from the days of the typewriter, is the custom of using ALL CAPS WHEN WE WISH TO DRAW EMPHASIS TO SOMETHING. Because it was that or underlining (or, if you were especially clever, backspacing and double-striking each letter, because backspacing in a mechanical device never really got you to the exact same place on the paper, thus resulting in a double-strike that mimicked boldfacing a word).
Next post: Ascenders, Descenders, & x-height!
Friday, March 16, 2012
Sassoon Joiner & the Importance of Typography & Handwriting
In Steve Jobs' famous 2005 Stanford University commencement speech, the college dropout noted the profound effect that auditing a course in calligraphy had on him:
Reed College at that time offered perhaps the best calligraphy instruction in the country. Throughout the campus every poster, every label on every drawer, was beautifully hand calligraphed. Because I had dropped out and didn’t have to take the normal classes, I decided to take a calligraphy class to learn how to do this. I learned about serif and san serif typefaces, about varying the amount of space between different letter combinations, about what makes great typography great. It was beautiful, historical, artistically subtle in a way that science can’t capture, and I found it fascinating.
None of this had even a hope of any practical application in my life. But ten years later, when we were designing the first Macintosh computer, it all came back to me. And we designed it all into the Mac. It was the first computer with beautiful typography. If I had never dropped in on that single course in college, the Mac would have never had multiple typefaces or proportionally spaced fonts.
People who remember the days of the typewriter can tell you of the excitement when the Mac came around and we had something like 32 typefaces with up to four or five different "effects" that could be combined when using them. And now we have so many more and yet, how often do we pause to think about which typeface to use instead of using the default? Moreover, how relevant is typography to software design, a question which Rosemary Sassoon believes is worth asking?
As she notes in her book Computers and Typography, choosing the correct typeface in an education setting has can have a positive effect in bridging the gap between reading and writing for children. As she says,
Remember Sassoon's claim that choosing the right typeface can bridge the gap between reading and writing for children? What exactly is that gap -- and what would be wrong about using any of the very standard and commonly-available typefaces shown below in an educational software product aimed at new readers?
Still can't see it? Let's try again:
Look at the incongruence between how children are taught to print a lowercase "a" and how the same letter is given an entirely different representation in the "standard" typefaces above. Bonus points if you can spot the additional letter in some of those typefaces which is similarly problematic.
Thus was born the Sassoon font family and Sassoon Joiner educational software program, a program made possible and designed by Sassoon (in the midst of a Ph.D. program in Typography and Graphic Design) and an associate in LiveCode and fine-tuned by a LC developer.
The font family alone is useful in the preparation of student practice sheets or for webpages or software programs; the program, however, is useful in showing on-the-fly the art of handwriting, an art that many say is on the decline:
As Joiner and her colleague Adrian Williams note, Sassoon® Cambridge Joiner is needed to assess which join is used with the starting letter and the next letter. Even when joins have been calculated for a word, the joins may be changed in view of the Preferences set by the User or the combination of letters. This isn't your father's "Hello World" type of programming. It involves examining the position of every character and having multiple representations of each character depending upon whether the character occurs at the beginning, the middle, and the end of a word, or by itself; Williams notes that The test word was not the usual "Hello world" but "success" because it used two forms of c, a tricky e join and three forms of s:
Click here to see the different letterforms and the application in action as it determines which letterform to use. The screen video doesn't quite show it here, but when I was typing in the application, you could see the app "change its mind" about which letterform to use, which is interesting to see.
Why LiveCode? Williams continues, A program was required to control the fonts. I had been following the progress of Runtime Revolution for some time, I took the plunge and bought it, giving me the opportunity to quickly make a first test program. As I had never coded before, its language quickly endeared me to it.
Why does cursive handwriting still matter? As Williams points out, Surprisingly, in the past many schools had no consistent handwriting policy, but left it to individual teachers' methods to instruct pupils. The idea for Sassoon Joiner arose from the decline of traditional blackboard and chalk in favor of whiteboard screens in classrooms, offering an ideal way to display handwriting to the whole class by any teacher.
Other reasons for supporting cursive handwriting include There is now quite a lot of new data that indicates handwriting has a powerful and positive impact on reading. Moreover well-taught cursive writing is faster and more efficient than printing, and will consequently have a greater long-term effect on the student’s performance in school, according to Richard McManus of The Fluency Factory.
In The New York Times' essay The Case for Cursive, several observations are made regarding downsides of society's declining cursive writing skills:
For centuries, cursive handwriting has been an art. To a growing number of young people, it is a mystery. These range from issues regarding identity theft due to simple block printing signatures that are easy to duplicate and declining fine motor skill development in children. Perhaps the saddest observation was that a connection to archival material is lost when students turn away from cursive, noting that one college student and her cousin experienced great difficulties in reading their grandmother's handwritten journal.
And, finally, getting back to Mr. Jobs' observation on the utility of beauty, Richard S. Christen, a professor of education at the University of Portland in Oregon, points out that These kids are losing time where they create beauty every day... I’m mourning the [loss of] beauty, the aesthetics.
Friday, May 13, 2011
LiveCode User Conference in San Jose, CA
I recently returned from RunRevLive.11, the company's annual user conference which was this year held in San Jose, California, last week.
What a treat it was to meet with and socialize with so many other LiveCode users! It was exciting to organize what I think was probably the first education session in conference history and to see the many uses of the product in the educational community.
And, finally, it was an experience beyond definition to sit behind fellow attendee Robert Cailliau, co-inventor of the world wide web; across the aisle from Bill Atkinson, one of the main geniuses behind the development of Hypercard (and not ashamed to say so!); and in the same room as Larry Tesler, a member of the original Xerox PARC team who subsequently moved over to Apple and was influential in the development of the Apple Lisa and the Newton.
Remember that these three very important tech figures all enthusiastically use LiveCode the next time some imbecile tells you it isn't a valid development platform, or isn't a "real" development tool, or that we need to stop talking about Hypercard.
We had not one but two education presentations, the second of which went on for two straight hours! Perhaps the "hit" of the conference was Bill Waldman and his magical cigar box, wired up with various boards and circuits that, via a usb connection, "talked" with a LC program. I am hoping that he will do a LiveCode.tv video presentation on this for everyone to see. He used various common RadioShack components along with a USB board from Phidgets.com. And I hope he won't mind my saying so, but whenever I think about his box I am reminded of the Peter, Paul & Mary song Marvelous Toy.
Scott Morrow, from elementarysoftware.com , showed us a number of his "number sense" math programs aimed at elementary school learners. Scott himself has been an educator for 20 years and is keenly interested in the development of "software solutions with an eye towards elementary school students and faculty."
David Brooks also joined us and showed us programs that he's been working on. David has quite the impressive C.V. and has taught both chemistry and education at the university level.
Björnke von Gierke talked about his various educational initiatives, including chatRev, a chat client which connects to a server he operates which allows other LiveCode users to interact with one another in real-time (or something close to it), as well as livecode.tv, a weekly set of 2 or more video tutorials on various aspects of using LiveCode along with a live chat. He also has made a LiveCode stack BvG Docu, which is a much faster version of LiveCode's built-in language dictionary.
In the second presentation, we additionally had Carly Born, Educational Technologist for Carleton College, demonstrating her language learning revlet integrated into the Moodle course management system. The ability to integrate revlets into course management systems is important for educational users of LiveCode who also use course management systems.
Devin Asay, who teaches an introductory course to programming for humanities students at BYU, showed us his website with many resources as well as discussed his general approach to teaching a terminal programming course to non-computer science majors. Devin is a longstanding member of the LiveCode community who frequently co-teaches the beginner's Day Zero tracks at LC user conferences.
We also learned that doing your math homework needn't be dull or frustrating! Max Schafer's MathGadgets, featuring the awesome graphics work of LC developer Scott Rossi, gently guides students through the process of doing various K-6 math problems and can be purchased on a cool robot-looking USB thumb drive.
We were also treated to a very different, education-oriented product being developed using LiveCode by Larry Tesler. His project aims to facilitate constructivist educators to construct year-long lesson plans in which they are able to meet each of the state's standards for curriculum development.
These are just a few of the many diverse educational solutions being developed or which have been developed using LiveCode. Others include Sassoon Joiner, which teaches children the formation of cursive lettering; Jim Hurley's Turtle Graphics and other games, simulations and tools; TwistAWord, a fun word game which has been previously reviewed on this blog; and my own little Multiplication Bingo which aims to make practicing one's multiplication tables a little more fun.
Many of the attending educators walked away with a renewed commitment to evangelizing LC in the educational community and sharing and developing new learning resources. We have also initiated an education-focused FaceBook community which can be found here and hope to see you there!
What a treat it was to meet with and socialize with so many other LiveCode users! It was exciting to organize what I think was probably the first education session in conference history and to see the many uses of the product in the educational community.
And, finally, it was an experience beyond definition to sit behind fellow attendee Robert Cailliau, co-inventor of the world wide web; across the aisle from Bill Atkinson, one of the main geniuses behind the development of Hypercard (and not ashamed to say so!); and in the same room as Larry Tesler, a member of the original Xerox PARC team who subsequently moved over to Apple and was influential in the development of the Apple Lisa and the Newton.
Remember that these three very important tech figures all enthusiastically use LiveCode the next time some imbecile tells you it isn't a valid development platform, or isn't a "real" development tool, or that we need to stop talking about Hypercard.
We had not one but two education presentations, the second of which went on for two straight hours! Perhaps the "hit" of the conference was Bill Waldman and his magical cigar box, wired up with various boards and circuits that, via a usb connection, "talked" with a LC program. I am hoping that he will do a LiveCode.tv video presentation on this for everyone to see. He used various common RadioShack components along with a USB board from Phidgets.com. And I hope he won't mind my saying so, but whenever I think about his box I am reminded of the Peter, Paul & Mary song Marvelous Toy.
Scott Morrow, from elementarysoftware.com , showed us a number of his "number sense" math programs aimed at elementary school learners. Scott himself has been an educator for 20 years and is keenly interested in the development of "software solutions with an eye towards elementary school students and faculty."
David Brooks also joined us and showed us programs that he's been working on. David has quite the impressive C.V. and has taught both chemistry and education at the university level.
Björnke von Gierke talked about his various educational initiatives, including chatRev, a chat client which connects to a server he operates which allows other LiveCode users to interact with one another in real-time (or something close to it), as well as livecode.tv, a weekly set of 2 or more video tutorials on various aspects of using LiveCode along with a live chat. He also has made a LiveCode stack BvG Docu, which is a much faster version of LiveCode's built-in language dictionary.
In the second presentation, we additionally had Carly Born, Educational Technologist for Carleton College, demonstrating her language learning revlet integrated into the Moodle course management system. The ability to integrate revlets into course management systems is important for educational users of LiveCode who also use course management systems.
Devin Asay, who teaches an introductory course to programming for humanities students at BYU, showed us his website with many resources as well as discussed his general approach to teaching a terminal programming course to non-computer science majors. Devin is a longstanding member of the LiveCode community who frequently co-teaches the beginner's Day Zero tracks at LC user conferences.
We also learned that doing your math homework needn't be dull or frustrating! Max Schafer's MathGadgets, featuring the awesome graphics work of LC developer Scott Rossi, gently guides students through the process of doing various K-6 math problems and can be purchased on a cool robot-looking USB thumb drive.
We were also treated to a very different, education-oriented product being developed using LiveCode by Larry Tesler. His project aims to facilitate constructivist educators to construct year-long lesson plans in which they are able to meet each of the state's standards for curriculum development.
These are just a few of the many diverse educational solutions being developed or which have been developed using LiveCode. Others include Sassoon Joiner, which teaches children the formation of cursive lettering; Jim Hurley's Turtle Graphics and other games, simulations and tools; TwistAWord, a fun word game which has been previously reviewed on this blog; and my own little Multiplication Bingo which aims to make practicing one's multiplication tables a little more fun.
Many of the attending educators walked away with a renewed commitment to evangelizing LC in the educational community and sharing and developing new learning resources. We have also initiated an education-focused FaceBook community which can be found here and hope to see you there!
Wednesday, February 16, 2011
Multiplication Bingo Released as Shareware
Unbeknownst to me, the game of "Bingo" has long been used as a means for third and fourth grade students to learn their multiplication tables.
Learning one's multiplication tables is journey of descent into the pit of drill and kill -- endless rote memorization of individual multiplication families, endless repetition of multiplication problems that make students simply hate learning in general and math in particular.
And my kids were looking at those twin evils dead in the eye. They were not happy campers.
Enter my idea to use a Bingo motif to get them to voluntarily practice their multiplication tables.
If you Google "multiplication bingo" you will find a bazillion sites that provide printable multiplication bingo cards. Regrettably, this means that someone, preferably a responsible adult like, oh, say, a parent, supervise the Bingo activity.
I wanted something that the little dears could preferably do endlessly on their own without my intervention.
Enter Multiplication Bingo.
I used Rev (erm, LiveCode it's called now) to create a simple program that provided a Bingo card for each of the 2 through 12 times tables families. Each card has 2 or 3 pre-determined routes to achieving Bingo. Each card presents a randomized series of multiplication problems for each number's family. After the 12 family, one can select one of the three randomized cards containing multiplication problems from among the 12 families. The learner can concentrate on a specific multiplication family or families or choose the randomized Bingo cards. Fun sounds provide the learner with feedback.
Again, it is probably not the best coded project anyone has ever seen. But I was able to complete it in time for my kids to learn their times tables and they played and still play the game enthusiastically. I call that kid-tested and kid-approved. The most difficult thing was that I wanted to fake the menu bar rather than use LC's built-in menu builder to keep everything on the Bingo card, and to get that working in an HIG-satisfactory manner, I had to pay somebody else to code that. But that's cool. I'm fine with that :-)
Many kind thanks to Mark Schonewille of economy-x-talk.com for his encouragement and assistance in making this a reality, as well as for making the bloody fake menus actually work :-)
Learning one's multiplication tables is journey of descent into the pit of drill and kill -- endless rote memorization of individual multiplication families, endless repetition of multiplication problems that make students simply hate learning in general and math in particular.
And my kids were looking at those twin evils dead in the eye. They were not happy campers.
Enter my idea to use a Bingo motif to get them to voluntarily practice their multiplication tables.
If you Google "multiplication bingo" you will find a bazillion sites that provide printable multiplication bingo cards. Regrettably, this means that someone, preferably a responsible adult like, oh, say, a parent, supervise the Bingo activity.
I wanted something that the little dears could preferably do endlessly on their own without my intervention.
Enter Multiplication Bingo.
I used Rev (erm, LiveCode it's called now) to create a simple program that provided a Bingo card for each of the 2 through 12 times tables families. Each card has 2 or 3 pre-determined routes to achieving Bingo. Each card presents a randomized series of multiplication problems for each number's family. After the 12 family, one can select one of the three randomized cards containing multiplication problems from among the 12 families. The learner can concentrate on a specific multiplication family or families or choose the randomized Bingo cards. Fun sounds provide the learner with feedback.
Again, it is probably not the best coded project anyone has ever seen. But I was able to complete it in time for my kids to learn their times tables and they played and still play the game enthusiastically. I call that kid-tested and kid-approved. The most difficult thing was that I wanted to fake the menu bar rather than use LC's built-in menu builder to keep everything on the Bingo card, and to get that working in an HIG-satisfactory manner, I had to pay somebody else to code that. But that's cool. I'm fine with that :-)
Many kind thanks to Mark Schonewille of economy-x-talk.com for his encouragement and assistance in making this a reality, as well as for making the bloody fake menus actually work :-)
Thursday, June 3, 2010
Rev Studio $50 until June 14
Yup. Build neat little Mac standalone applications with the world's easiest to learn programming language, RevTalk!
Kick the tires of its free sibling, RevMedia, but don't spend too long because this offer is set to sail into the sunset in less than two weeks.
We're talking about pizza and beer money here... a serious no brainer. RevStudio normally retails for US$249, hence slashing that first digit makes it a serious price-point contender against its rivals. For more information on how the various Rev products differ in terms of features, see here.
Basically, if you don't need seriously geeky things like externals or Oracle database connectivity (and if the mention of these things makes your eyes glaze over, you probably don't need them) and would prefer to be able to deliver a standalone executable application which does not need a player object, RevStudio may be for you. If you don't know what an SSL is, don't spend the extra $$$ on the Enterprise version. Other funky new things I still haven't wrapped my feeble brain around -- datagrid, I'm looking at you! -- you may also not need.
One limitation which must be pointed out is that you can only deliver a standalone application on the same platform that you write it on (but I don't think that precludes delivering for the other platforms using the company's free stack player). In normal human English, this means that if you have a Mac at home, you'd better be making standalones for a classroom of Macs and similarly for the other supported platforms.
Still -- have any oldies but goodies Hypercard stacks you've been trying to bring into the 21st century? Get this product. Fast. Because you can convert them into native Rev stack files (especially plain-vanilla Hypercard stacks without those pesky XCMDs & XCFNs).
Basically, as the company itself so aptly notes, You don't need a computer science degree to get things done with Revolution. So, what are you waiting for?
Kick the tires of its free sibling, RevMedia, but don't spend too long because this offer is set to sail into the sunset in less than two weeks.
We're talking about pizza and beer money here... a serious no brainer. RevStudio normally retails for US$249, hence slashing that first digit makes it a serious price-point contender against its rivals. For more information on how the various Rev products differ in terms of features, see here.
Basically, if you don't need seriously geeky things like externals or Oracle database connectivity (and if the mention of these things makes your eyes glaze over, you probably don't need them) and would prefer to be able to deliver a standalone executable application which does not need a player object, RevStudio may be for you. If you don't know what an SSL is, don't spend the extra $$$ on the Enterprise version. Other funky new things I still haven't wrapped my feeble brain around -- datagrid, I'm looking at you! -- you may also not need.
One limitation which must be pointed out is that you can only deliver a standalone application on the same platform that you write it on (but I don't think that precludes delivering for the other platforms using the company's free stack player). In normal human English, this means that if you have a Mac at home, you'd better be making standalones for a classroom of Macs and similarly for the other supported platforms.
Still -- have any oldies but goodies Hypercard stacks you've been trying to bring into the 21st century? Get this product. Fast. Because you can convert them into native Rev stack files (especially plain-vanilla Hypercard stacks without those pesky XCMDs & XCFNs).
Basically, as the company itself so aptly notes, You don't need a computer science degree to get things done with Revolution. So, what are you waiting for?
Sunday, April 25, 2010
Hypercard, Hyperstudio, and why Revolution Can't, or Won't, Compete
It's an interesting component of modern culture that views anything that didn't hatch yesterday as completely obsolete, foreign, and useless for study. This regrettably leads us to recreate the wheel over and over again, and sometimes what results is simply NOT superior to that which preceded it in ways we should have seen coming but didn't because we decided it was uncool to look back in time.
Thus is is with the the Hyper-word that must not be uttered. If all you can look back and see are 1-bit icons and the floppy-swap and are willing to dismiss it at that, then you never really did ever "get it." And, btw, those 1-bit icons were and still are vastly superior to the load of 256-color icon crap that shipped with MetaCard and is shipping still with Rev. You think the Stack - Card metaphor is an embarrassment? Have any of you even LOOKED AT those MC icons?!? They look like they were drawn by 5-year-olds on a few too many acid drops. And, btw, we're talking 5-year-olds with ZERO artistic talent. On acid.
But I digress. When reminded that, at its height, the Hyper-thing was quite possibly THE most popular development environment (Can Rev say that now?) and attracted probably the greatest numbers of non-/novice programmers than any development environment before or since (does anyone even come close btw?), people's responses are: 'but where are they now?', or, 'oh, but those were the days of the floppy-swap,' or the subtly-deceptive argument-changing dismissal that such is the realm of the geriatric set that's clearly not with the program (pardon the pun).
The point that lots of people are blissful to ignore is that Hypercard (there, I've said it!) got lots of things right that, 20 years later, nearly everybody else, including Rev, insists on getting wrong by design (except for a certain competitor whose product sells extremely well). Hypercard succeeded wildly in getting people -- normal humans even! -- to use their *programming* product in a very short period of time. While other people wonder, 'where are those people now?', I wonder, 'how the hell did they do that?!'
And that's why HC is not irrelevant: how the hell did they do that, indeed! We like to think that todays user is so much more computer sophisticated than was the typical user 20+ years ago, a bit of back-patting that study after study indicates is simply dead wrong. We may have more computers in more homes and more schools but, other than surfing the web and sitting on Facebook all day, today's computer owner doesn't use his/her computer for anything markedly more complex or different than did the typical user of 20+ years ago. So, the idea that we need to explain things less because "they" know more? Fail.
20+ years ago the HC team understood that they had to make programming look fun and attractive, with a gentle learning curve and lots of ready-made things to copy <--> paste into new stacks, replete with clipart so that the user didn't get distracted when going off and ending up chasing the pretty butterfly while looking for artwork.
Today many consider such things to be coddling, and new Rev users with questions are tersely told to go read the documentation. I'll say it again: without a printed set of language documentation (WITH AN INDEX), online docs are of EXTREMELY LIMITED VALUE because you can't look up what you don't know to look up. The language model is sufficiently different from other programming languages that even programmers coming from other languages find using the documentation difficult, and people who lack a programming background altogether are likely to find the docs entirely unusable. Which means they drift away, because there's no substantial explanation of how to do things that anchors them. Buh-bye, new user. By design. Because we think they need to grow more hair on their chests and suck it up and become "real" programmers.
Trevor's lessons stuff is a HUGE step in the right direction, but consider this: you have to (a) know they exist to (b) go find them (no small feat, given how wildly Rev's website changes with each new rebranding) and then (c) search them, at which point you've likely lost considerably more than 50% of those new users. Considerably more. Do I need say it again? CONSIDERABLY MORE, like, nearly all of them. The HC dev team knew to have stuff up-front and visible, always and obviously accessible. They even recognized this importance after the development of that new-fangled internet thingy that people keep telling me about (I think I need to go swig a bottle of Geritol before I can grok that whole thing).
So, it would seem that there's a few things we can learn from 20+ years ago -- Don't intimidate people and make them feel stupid; DO give them a small subset of all the things they need to get started without leaving the IDE; DO provide a printed set of language and learning materials; make all this stuff obvious and visible; and speak to them in their, not your, language.
Think I'm going overboard a bit with the clipart & stuff? How many teachers do you think choose Hyperstudio (http://www.mackiev.com/hyperstudio/) at US$90 over Rev Media, which is FREE? Seems insane, doesn't it?! Visit their website and you'll see why they pick Hyperstudio. In droves. Look at the screenshot: Hyperstudio's not too embarrassed by the blast from the past of using a hand versus an arrow to indicate one particular state or modality over the other, because Hyperstudio knows that you don't use two very similar-looking icons to indicate two very different states. And Hyperstudio knows it because HC knew it. And because Hyperstudio has decided not to be embarrassed by yesterday's truth, they sell way more licenses to normal humans than does Rev, even though I think educators would be better off using Rev.
Hyperstudio also boasts podcasting support, importing from iTunes, Keynote, and YouTube, easy card navigation in its production environment, and text niceties such as kerning (how long have people been drooling for that in Rev?!). Like Rev, it has a plugin allowing Hyperstudio projects to be run in Safari. But, more significantly, it includes 1,300 clipart images, 500 background images, 200 animations, 280 sounds, and 30 movies, including QTVR; it imports PDF, PNG, JPG, TIFF, GIF, BMP, PICT & PSD for images, and MP3, AAC, WAV (I'll bet it's wayyyy less wonky than Rev is with WAV files), AIFF, M4A, M4B, M4P, SND, CDDA & AU for audio, and MOV, AVI, MPEG and QTVR for movie/video. Now I'm not claiming that Rev needs to match them, number for number, on included media, but it really does need to not be a string of 0s in all those categories if Rev wishes to compete in the educational market. Hyperstudio was smart: It looked at what worked for Hypercard and then did that in spades. It wasn't too cool to look back in time. And it shows because it sells.
And, another reason why educators take to Hyperstudio in droves? It has something else that Hypercard had and Rev sadly does not: a passionate former and current userbase with an emotional connection to the product and the willingness to be unpaid evangelists for the company and the product. And this is a company/product that really doesn't badly need such a thing, having few to no real competitors, unlike Rev, which is up against a bazillion other programming languages, most of which have been around longer and have significantly more adherents. And, as its wiki entry notes, Hyperstudio and its users aren't too proud to acknowledge Hyperstudio as a Hypercard clone. Indeed, on the webpages of Hyperstudio fans you will find frequent mention of Hypercard, and not in a negative manner either. Oh, and did I mention that Hyperstudio is wildly popular? Hmmm.... wonder why.
Higher education, teacher ed programs, and K-12 in general *lurves* Hyperstudio:
http://www.sillybilly.com/abcd123.html
http://www.cue.org/cuetoyou/hyperstudio
http://nschubert.home.mchsi.com/education/HSProjects.html
http://mathforum.org/sum95/suzanne/colortips.html
http://www.uen.org/utahlink/tours/tourFames.cgi?tour_id=14179
http://www.k12.hi.us/~mstlaure/tlcf2000/fun_hs.htm
--this site has an example of menus that make sense to educators.
http://geologyonline.museum.state.il.us/tools/lessons/8.6/lesson.pdf
http://writing.berkeley.edu/TESL-EJ/ej33/m2.html
--this site explains in copious detail why the edu community likes Hyperstudio.
Check out the testimonials and endorsements, and, ask yourself what does Hyperstudio do for $90 that Rev Media, for free, couldn't do better, and then consider why it is Rev currently cannot compete in that market, despite everything we've been able to observe about such software and the success of similar products over the last 20 years.
But, of course, few here care about the education market, so let me appeal to your base, my-bottom-line instincts: how many of your bugs might get fixed with the additional income brought in by hundreds of thousands of teachers buying a slightly modified Studio, based upon what went right with Hypercard?
Is it really worth it to diss Hypercard and its model? I think not.
Thus is is with the the Hyper-word that must not be uttered. If all you can look back and see are 1-bit icons and the floppy-swap and are willing to dismiss it at that, then you never really did ever "get it." And, btw, those 1-bit icons were and still are vastly superior to the load of 256-color icon crap that shipped with MetaCard and is shipping still with Rev. You think the Stack - Card metaphor is an embarrassment? Have any of you even LOOKED AT those MC icons?!? They look like they were drawn by 5-year-olds on a few too many acid drops. And, btw, we're talking 5-year-olds with ZERO artistic talent. On acid.
But I digress. When reminded that, at its height, the Hyper-thing was quite possibly THE most popular development environment (Can Rev say that now?) and attracted probably the greatest numbers of non-/novice programmers than any development environment before or since (does anyone even come close btw?), people's responses are: 'but where are they now?', or, 'oh, but those were the days of the floppy-swap,' or the subtly-deceptive argument-changing dismissal that such is the realm of the geriatric set that's clearly not with the program (pardon the pun).
The point that lots of people are blissful to ignore is that Hypercard (there, I've said it!) got lots of things right that, 20 years later, nearly everybody else, including Rev, insists on getting wrong by design (except for a certain competitor whose product sells extremely well). Hypercard succeeded wildly in getting people -- normal humans even! -- to use their *programming* product in a very short period of time. While other people wonder, 'where are those people now?', I wonder, 'how the hell did they do that?!'
And that's why HC is not irrelevant: how the hell did they do that, indeed! We like to think that todays user is so much more computer sophisticated than was the typical user 20+ years ago, a bit of back-patting that study after study indicates is simply dead wrong. We may have more computers in more homes and more schools but, other than surfing the web and sitting on Facebook all day, today's computer owner doesn't use his/her computer for anything markedly more complex or different than did the typical user of 20+ years ago. So, the idea that we need to explain things less because "they" know more? Fail.
20+ years ago the HC team understood that they had to make programming look fun and attractive, with a gentle learning curve and lots of ready-made things to copy <--> paste into new stacks, replete with clipart so that the user didn't get distracted when going off and ending up chasing the pretty butterfly while looking for artwork.
Today many consider such things to be coddling, and new Rev users with questions are tersely told to go read the documentation. I'll say it again: without a printed set of language documentation (WITH AN INDEX), online docs are of EXTREMELY LIMITED VALUE because you can't look up what you don't know to look up. The language model is sufficiently different from other programming languages that even programmers coming from other languages find using the documentation difficult, and people who lack a programming background altogether are likely to find the docs entirely unusable. Which means they drift away, because there's no substantial explanation of how to do things that anchors them. Buh-bye, new user. By design. Because we think they need to grow more hair on their chests and suck it up and become "real" programmers.
Trevor's lessons stuff is a HUGE step in the right direction, but consider this: you have to (a) know they exist to (b) go find them (no small feat, given how wildly Rev's website changes with each new rebranding) and then (c) search them, at which point you've likely lost considerably more than 50% of those new users. Considerably more. Do I need say it again? CONSIDERABLY MORE, like, nearly all of them. The HC dev team knew to have stuff up-front and visible, always and obviously accessible. They even recognized this importance after the development of that new-fangled internet thingy that people keep telling me about (I think I need to go swig a bottle of Geritol before I can grok that whole thing).
So, it would seem that there's a few things we can learn from 20+ years ago -- Don't intimidate people and make them feel stupid; DO give them a small subset of all the things they need to get started without leaving the IDE; DO provide a printed set of language and learning materials; make all this stuff obvious and visible; and speak to them in their, not your, language.
Think I'm going overboard a bit with the clipart & stuff? How many teachers do you think choose Hyperstudio (http://www.mackiev.com/hyperstudio/) at US$90 over Rev Media, which is FREE? Seems insane, doesn't it?! Visit their website and you'll see why they pick Hyperstudio. In droves. Look at the screenshot: Hyperstudio's not too embarrassed by the blast from the past of using a hand versus an arrow to indicate one particular state or modality over the other, because Hyperstudio knows that you don't use two very similar-looking icons to indicate two very different states. And Hyperstudio knows it because HC knew it. And because Hyperstudio has decided not to be embarrassed by yesterday's truth, they sell way more licenses to normal humans than does Rev, even though I think educators would be better off using Rev.
Hyperstudio also boasts podcasting support, importing from iTunes, Keynote, and YouTube, easy card navigation in its production environment, and text niceties such as kerning (how long have people been drooling for that in Rev?!). Like Rev, it has a plugin allowing Hyperstudio projects to be run in Safari. But, more significantly, it includes 1,300 clipart images, 500 background images, 200 animations, 280 sounds, and 30 movies, including QTVR; it imports PDF, PNG, JPG, TIFF, GIF, BMP, PICT & PSD for images, and MP3, AAC, WAV (I'll bet it's wayyyy less wonky than Rev is with WAV files), AIFF, M4A, M4B, M4P, SND, CDDA & AU for audio, and MOV, AVI, MPEG and QTVR for movie/video. Now I'm not claiming that Rev needs to match them, number for number, on included media, but it really does need to not be a string of 0s in all those categories if Rev wishes to compete in the educational market. Hyperstudio was smart: It looked at what worked for Hypercard and then did that in spades. It wasn't too cool to look back in time. And it shows because it sells.
And, another reason why educators take to Hyperstudio in droves? It has something else that Hypercard had and Rev sadly does not: a passionate former and current userbase with an emotional connection to the product and the willingness to be unpaid evangelists for the company and the product. And this is a company/product that really doesn't badly need such a thing, having few to no real competitors, unlike Rev, which is up against a bazillion other programming languages, most of which have been around longer and have significantly more adherents. And, as its wiki entry notes, Hyperstudio and its users aren't too proud to acknowledge Hyperstudio as a Hypercard clone. Indeed, on the webpages of Hyperstudio fans you will find frequent mention of Hypercard, and not in a negative manner either. Oh, and did I mention that Hyperstudio is wildly popular? Hmmm.... wonder why.
Higher education, teacher ed programs, and K-12 in general *lurves* Hyperstudio:
http://www.sillybilly.com/abcd123.html
http://www.cue.org/cuetoyou/hyperstudio
http://nschubert.home.mchsi.com/education/HSProjects.html
http://mathforum.org/sum95/suzanne/colortips.html
http://www.uen.org/utahlink/tours/tourFames.cgi?tour_id=14179
http://www.k12.hi.us/~mstlaure/tlcf2000/fun_hs.htm
--this site has an example of menus that make sense to educators.
http://geologyonline.museum.state.il.us/tools/lessons/8.6/lesson.pdf
http://writing.berkeley.edu/TESL-EJ/ej33/m2.html
--this site explains in copious detail why the edu community likes Hyperstudio.
Check out the testimonials and endorsements, and, ask yourself what does Hyperstudio do for $90 that Rev Media, for free, couldn't do better, and then consider why it is Rev currently cannot compete in that market, despite everything we've been able to observe about such software and the success of similar products over the last 20 years.
But, of course, few here care about the education market, so let me appeal to your base, my-bottom-line instincts: how many of your bugs might get fixed with the additional income brought in by hundreds of thousands of teachers buying a slightly modified Studio, based upon what went right with Hypercard?
Is it really worth it to diss Hypercard and its model? I think not.
Saturday, December 5, 2009
My Revlet Works!!! aka getting the current plugin
Hot damn! It works after all :-D
Turns out that my silly little Plurals program now works online. I thought it didn't but it seems that I didn't have the current plugin. Silly me!
You can find it here
I'm doin' the Snoopy Dance!
Turns out that my silly little Plurals program now works online. I thought it didn't but it seems that I didn't have the current plugin. Silly me!
You can find it here
I'm doin' the Snoopy Dance!
Monday, November 30, 2009
From the FROM GOD'S MOUTH TO OUR EARS department:
"I'm especially impressed with the way you've preserved the same feel and flavor of HyperCard even in all the new features you've added and revised... When I finally got to Revolution it was like coming home again... You have created a very worthy successor to HyperCard, the only one I've seen which captures, preserves and seamlessly extends everything I thought was great about the original." -- Dan Winkler
And to think -- we wouldn't even know about this little gem if not for a recently spectacular little flamefest on the Rev use-list. That flamefest partially reignited the debate regarding whether we should be proud of Revolution's Hypercard origins or ashamed. You can read more about Hypercard here. People who are embarrassed by that lineage should just go away and program in C. Seriously. It's snobbery like that (produced in metric boatloads over on a recent /. thread on Rev ) that keeps people, especially normal humans, from even trying to make their own solutions.
HyperTalk was sufficiently popular that one of its main uses was not as a database, but as a programming tool that empowered ordinary computer users. Thousands of "stacks" were written and distributed as "stackware" in the years when HyperCard was widely available. As stated above, programming "for the rest of us", that is, for non-professionals, allowed many thousands of personal applications to be created by individuals with a need for personal software solutions.
You or I are unlikely to make anything super-duper great, but that doesn't mean there isn't a place in the world for "little and gets the job done" ;-)
And to think -- we wouldn't even know about this little gem if not for a recently spectacular little flamefest on the Rev use-list. That flamefest partially reignited the debate regarding whether we should be proud of Revolution's Hypercard origins or ashamed. You can read more about Hypercard here. People who are embarrassed by that lineage should just go away and program in C. Seriously. It's snobbery like that (produced in metric boatloads over on a recent /. thread on Rev ) that keeps people, especially normal humans, from even trying to make their own solutions.
From the wikipedia entry above (which is itself ironic given that the first wiki was produced as a Hypercard stack):
You or I are unlikely to make anything super-duper great, but that doesn't mean there isn't a place in the world for "little and gets the job done" ;-)
Sunday, October 4, 2009
TwistAWord Now Available as a Facebook App!
The TwistAWord educational game/app, reviewed below, is now available online in a limited form Facebook web application. Check it out!
http://apps.facebook.com/twistaword/
To play the online version of the game, you will need to download the free web revlet plug-in. The IE browser, notoriously wonky and non-standards compliant, isn't supported by this plug-in, but FireFox and Safari are.
Enjoy!
http://apps.facebook.com/twistaword/
To play the online version of the game, you will need to download the free web revlet plug-in. The IE browser, notoriously wonky and non-standards compliant, isn't supported by this plug-in, but FireFox and Safari are.
Enjoy!
Sunday, September 27, 2009
Making Plurals
Here's how the worksheet presented things:
A word that means one of something is singular. A word that means more than one is plural. Most singular words are made plural by adding s. Most words that end in s, ss, x, ch, and sh are made plural by adding es. Form the plural of each word below by adding s or es.
button_____
boss_____
wish_____
robot_____
clock_____
circus_____.
BORING! There are no illustrating examples. This presentation earns a huge FAIL from an instructional design perspective. My little boy was very frustrated. So, I dusted off my brain and tried to remember what little I used to know about scripting to try to come up with something better. Here is the Mac OSX result and here is the Windows result (I don't know if the latter works as I don't have a PC to try it on).
What I did.
It's clear that a few examples were needed for demonstration purposes. It also seemed reasonable to have them do more than 6 sample problems (so I did 12 instead). I decided to use two different typefaces: one for instructions/presentation/rule articulation and a second for examples/problems. Since I was short on originality, I decided once again to use a chalkboard motif, which makes the first font choice fitting: Chalkboard (on the Mac). Chalkboard was selected less for its name than for the fact that it looks like the sort of printing that children are taught: simple lines, no serifs, no funny-looking 'a's like the one I just typed. As California's third grade curriculum also introduces cursive writing at this level, my second font was a strange thing called #PilGi, which was the closest thing I could find to a cursive handwriting font pre-installed on my Mac. The chalkboard image I found after a quick search for public domain clipart although I could also have just gone and photographed an actual chalkboard (they really do still exist!).
Probably the most time consuming aspect of this project was turning all the text into images instead of using Rev's built-in field objects. Even where the same font exists on, say, both the Mac and Windows, you cannot be assured that it will look the same on both (spacing will be very different), thus as I wanted things to look the same, all text had to be turned into images, and transparent PNGs at that (so the chalkboard would show through). I fired up GraphicConverter, but (a) it's been increasingly wonky with each new release, and (b) I noticed right away that text at really large point sizes (I think for the title screen, it's something like 120 points) is horribly pixellated, so I needed to use a program that had some Photoshop-like filter features. GIMP, a free open-source software program with Photoshop-like capabilities, was suggested. I don't know how GIMP is on Linux or Windows, but the Mac version kinda sucks, although I've been told it sucks less than it formerly did. On the Mac, GIMP requires the X11 environment (instructions are on the website), and it does not look like a standard Mac app (the accelerator key is control and not the apple key; the application's menu bar is not anchored to the top like it's supposed to be but is instead attached to the document window). But, hey -- it's free and I managed!
The first few screens are timed presentations of information (the rules and examples). Timed means using the "wait" command. Alot. Well, turns out that this can sometimes cause problems, and so I got chewed out over using it ;-) But, as I couldn't figure another way of doing the same thing, I compromised and used "wait with messages" (but, to be honest, even that still caused problems with the revlet version -- the web deployable one). However, the Mac version worked and, as my kids needed it this week and not next year, good enough will have to suffice.
On to the drill-and-kill! One of the things I didn't like about the kids' handout was the presentation of the rule and the exception. Even in print, I think I would have tried to separate the two so that it was clear there were two states or cases or rules -- you either add "s" or you add "es". I think it should have been two separate paragraphs to avoid the whole Hamlet's "words, words, words..." phenomenon. So, for the testing component I presented rule #1 (most words take an "s") on the left in its own box-demarcation, and rule #2 similarly on the right. Users are presented with three nouns per screen followed by an "s" and an "es" button and told to click on the appropriate one.
Are they dead yet? So far, I hadn't done much to mitigate the BORING! factor. So, I went back and added sound (text-to-speech; the revSpeak command [side rant: why couldn't they have just used "speak"?!!]) for the presentation and the instructions. Using buttons for testing meant nothing had to be dragged around on-screen by little uncoordinated hands using computer mice that are wayyyy too big for them. As an added bonus, kids LOVE to click buttons (watch one in the elevator some time; my kids fight over who gets to press which button). If the appropriate button is selected, an applause sound is played and a dialogue box thrown up which confirms that the child has chosen the appropriate ending. If the wrong button is selected, a goofy 'you lose' kind of sound is played ("play audioclip" command) and a dialogue box appears telling the child that this was not the correct choice, what the correct plural is, and why. This drove my husband batty, all that dialogue box confirmation, but kids aren't adults and, well, it's another button they get to click! I also then (with more "wait" commands) try to subtly hilite the appropriate rule box, but I'm not certain that it's not too subtle. At the end, the student's percentage rate correct is shown.
What went right.
It didn't take too long to find royalty-free or public domain images and sounds (I think I paid $10 for the you-lose sound but I liked it and didn't want to spend a half-hour looking for something public domain). "Wait" didn't screw up anything on the Mac side. I managed not to do anything terribly stupid. The kids actually liked it (in fact, I finally had to shoo them away, saying "let mommy finish it!!!). I actually finished it.
What went wrong.
"Wait" screwed up the revlet. Because I didn't script it terribly efficiently, writing the "yea" and "boo" buttons only once and using "the target" to exhibit the appropriate behavior, at some point I ended up having to go through all 12 sets of buttons to see where I forgot to increment the counter for things like moving to the next screen and getting the right math with respect to percentage of correct choices. Oh well. I lived to tell the tale.
What I'd do differently.
Use "the target". Randomize the presentation of the 12 problem/words in the testing area. Maybe make the cursive text on the second screen larger. Find a better cursive handwriting font. Pay somebody to tell me how to get around the "wait" problem. ;-)
Monday, September 21, 2009
New Educational Game Made in Revolution
Recently-released TwistAWord is a new educational game made with Revolution and indicative of what a person can do with a little time one their hands (well, okay, maybe more than a little time).
It is advertised as a fun word game for children from 8 to 88 years (and up)... Cool design, funny sound effects and a competitive element make improving your language skills a treat! . TwistAWord utilizes a corkboard and paper scrap motif; its object is for the player to correctly assemble a phrase's words from the presented scrambled order. Hints can be requested:

Four levels are supported as are phrases in eight languages (Catalonian, Danish, English, French, German, Latin, Portuguese or Spanish). The game is visually appealing and, had I not turned my sound down, no doubt my children would have excited by the game's sound effects.
If you are wondering whether you as a normal human being (e.g., non-programmer) could make something similar, the creator of TwistAWord described its development as thus The scripting is laborious, tedious, but not very complicated, although I used a few tricks one might not immediately think of... The basics of the game are still relatively simple.
TwistAWord is available for Windows or Mac OS X, and you can download a trial version which will quit after ten minutes of play. For a limited time, it is also available at a 33% discount for a total purchase price of slightly less than US$15.
It is advertised as a fun word game for children from 8 to 88 years (and up)... Cool design, funny sound effects and a competitive element make improving your language skills a treat! . TwistAWord utilizes a corkboard and paper scrap motif; its object is for the player to correctly assemble a phrase's words from the presented scrambled order. Hints can be requested:

Four levels are supported as are phrases in eight languages (Catalonian, Danish, English, French, German, Latin, Portuguese or Spanish). The game is visually appealing and, had I not turned my sound down, no doubt my children would have excited by the game's sound effects.
If you are wondering whether you as a normal human being (e.g., non-programmer) could make something similar, the creator of TwistAWord described its development as thus The scripting is laborious, tedious, but not very complicated, although I used a few tricks one might not immediately think of... The basics of the game are still relatively simple.
TwistAWord is available for Windows or Mac OS X, and you can download a trial version which will quit after ten minutes of play. For a limited time, it is also available at a 33% discount for a total purchase price of slightly less than US$15.
Wednesday, July 22, 2009
Rev Media Free; Web-deployable Stacks!
This is really awesome news! Check it out!!
From the press release:
New, Free and Accessible Web Platform Launched
WEDNESDAY 22ND JULY 2009
New revMedia 4.0 Public Alpha Test Version Available Today
World's easiest programming language launches on the Web
EDINBURGH (July 22) – The world’s easiest programming language today launched on the Web with the debut of a free "alpha test" version of revMedia 4.0. This new version of the company's popular cross-platform development tool can now deploy to all major browsers on Windows, Mac OS X and Linux. Users can use revMedia's English-like programming language, revTalk, to write applications in less time and with less effort than traditional, more costly Web development tools.
The revWeb authoring environment and revTalk are modern descendents of natural-language programming technologies such as SmallTalk, Apple's HyperCard, AppleScript, and Adobe Director Lingo.
"HyperCard was one of the original inspirations for the Web." said Robert Cailliau, who co-developed the World Wide Web along with Sir Tim Berners-Lee at CERN. Robert continued, "Today the Web can finally reach its full potential with a modern, powerful development language that honors the best ideas from that original concept."
Cailliau adds, "You can be a total beginner and still produce impressive software quickly. I use revTalk for all my coding needs, and know it goes far beyond programming 'for the rest of us.' Professionals will appreciate the speed with which they can build sophisticated solutions. It is a complete platform that gives you access to the entire Web, plus desktop and even server."
The technology is ground-breaking because the same, accessible language can be used wherever users wish to present their work. Previously, an alphabet soup of different languages and conflicting syntax had to be employed to create full solutions.
revMedia is a fully featured authoring tool that includes an integrated development environment (IDE) for Windows, Mac OS X and Linux. The product supports popular multimedia formats, vector graphics, powerful visual effects, drop shadows, OS-native look-and-feel, or interfaces with a completely custom skin. revTalk's unique chunk expressions make it easy to process text or crunch data. And for professional programmers, revTalk includes advanced features like object-oriented behaviors and multi-dimensional arrays.
Registration for the revMedia alpha is free and open to everyone. The final shipping version of revMedia will also be free. Users can upgrade to revStudio or revEnterprise if they need access to an advanced tool set, or to on-Rev to host server applications. The company will shortly be introducing a freely available, user-installable server language as part of its strategy to provide a complete English-like development platform for desktop, Web and servers.
The alpha test is available from http://revmedia.runrev.com
About Revolution:
_Revolution enables users to create applications using the platform of their choice and deploy to virtually every desktop computer in use today. Unlike other programming languages which rely on obscure symbols and complicated structures, Revolution uses plainly understood words and phrases for most of its operations. Casual users can ramp up quickly while advanced users save time by writing up to 90% less code than they would in a traditional language.
About RunRev:
Founded in 1997, RunRev focuses on bringing user-centric software development to all major platforms: Windows, Macintosh, Linux, and Unix. The company is based in Edinburgh, Scotland. For more information on Runtime Revolution, please visit the company on the Web at
http://www.runrev.com
Contact details
For more information or to arrange a review, contact:
Kevin Miller
phone +44 (0) 870 747 1165
email support@runrev.com
You may write to us at
RunRev
25A Thistle Street Lane South West
Edinburgh, Scotland EH2 1EW.
RunRev is a trading name of Runtime Revolution Ltd. All trademarks are the property of their respective owner
Friday, January 23, 2009
A Somber Good-bye...
First, a heartfelt good-bye...
Early Hypercard adopter/book writer and ever so helpful Revolutionary Eric Chatonet passed away last week from a sudden stroke. He was I believe 62, though you'd never know it from the incredible energy displayed in churning out Rev tutorials and example stacks... I never had the opportunity to meet him in person but in email and list exchanges he was one of the most kind, funny and humble persons you could ever hope to meet.
Needless to say, the Revolution community is stunned and saddened by his loss and wish his family the best as they and we mourn his loss.
RIP Eric.
Early Hypercard adopter/book writer and ever so helpful Revolutionary Eric Chatonet passed away last week from a sudden stroke. He was I believe 62, though you'd never know it from the incredible energy displayed in churning out Rev tutorials and example stacks... I never had the opportunity to meet him in person but in email and list exchanges he was one of the most kind, funny and humble persons you could ever hope to meet.
Needless to say, the Revolution community is stunned and saddened by his loss and wish his family the best as they and we mourn his loss.
RIP Eric.
Saturday, December 20, 2008
Computers in the Schools, Take 2.
I have a wonderful friend for whom I do writing, civil rights and consulting work, and who has asked me to work on drafting an Op-Ed piece for a major southern California newspaper on the issue of educational reform.
And, well, we have a disagreement on how best to cover it. So, I will rewrite for him but publish my version here.
I feel very strongly about pumping in another untold millions of public dollars into computers for schools that is almost certainly entirely wasted and wrong-headed because of the education industry's refusal to require basic computer literacy from teacher ed candidates.
My take is below.
====================================
Insanity is doing the same thing over and over, and somehow expecting the outcome to be different.
This recently-seen sig file on a “news for nerds” website is alarmingly apropos with respect to ongoing efforts at educational reform. Doing the same thing over and over... such as dumping untold billions of dollars into computers for schools – been there, done that, in the Clinton Administration, a decade ago. It was a failure then, and, if president-elect Obama's call to have a do-over succeeds, it's likely to be a failure now, at a time in which the public kitty increasingly cannot afford any more ill-conceived failures.
Larry Cuban has written a damning indictment of this entitled “Oversold and Underused: Computers in the Classroom.” His sobering analysis concluded that, among a host of factors, the need for stability trumping badly-needed rapid change and the neglect of politicians to ask why computers were even needed in the classroom contributed substantially to the stunning lack of return on the public's considerable investment. Like the banking and auto industry failures seen recently, the senseless dumping of computers into education without requiring follow-through from educators is a compelling demonstration of what happens when you have an insular body of professionals in a failing industry: power divorced from competence and reality; a power invested heavily in believing that, somehow, this time will be different despite doing nothing different.
Here's why this time probably won't be different. By 1984, as a society, we knew we were at the birth of the personal computer revolution. Certainly by the 1990s we knew it was a force to be reckoned with, especially in the field of education. But, in 2009, those who educate the educators will continue to fail to recognize the need to incorporate meaningful technology training in teacher preparation programs, meaning that all those shiny new computers in K-12 classrooms will continue to go largely unused -- at a price tag in the billions of public dollars, making them one heck of an expensive and utterly useless educational bailout package.
As an industry, education is incredibly insular – it recognizes little that is not internally validated. This is the industry which gave us our current constructivist approach to education in which, when taken literally, a central pillar of faith is that there is no such thing as objective truth or reality. Tell that to the programmer who needs his program to compile and later not unintentionally blow up a manned spacecraft; tell that to the engineer whose building needs to withstand an earthquake, or the doctor who needs to be able to figure out whether you've got cancer or merely indigestion. The real world and its problems are are based in objective reality and require that, when one “solution” isn't producing the desired results, you need to find another solution, and not drag your feet with your head in the sand.
The quality of our public education system is the predictor of whether or not the next generation will succeed or fail in taking charge of this country; whether we will continue to be a major world power or slide intellectually behind third-world countries. If we wish to be a competitor in the 21st century's global arena, our teaching and learning practices need to embrace 21st century tools and make dramatic changes to those practices in a timeframe which doesn't exceed a decade or more.
Education's insularity betrays our considerable investment in what is perhaps our greatest national product, namely, the human and social capital potentially produced by our schools. With respect to computers in the schools, that betrayal comes in the form of teacher education programs that comfortably ignore the personal computer revolution. Study after study pointedly documents that educators, both K-12 and in higher education, are, at best, casual, timid users of computer technologies: most only use those software programs pre-installed on their computers, namely, an office suite, email and web browser programs.
As a result, today's teacher preparation programs encourage a belief system that turns computers into incredibly expensive digital typewriters. Like the craftsman with only a hammer in his toolbox, educators tend to to define educational computer technology implementation in terms of the few, mostly inappropriate, software programs they already know how to use. This leads to such classroom insanity as making third-grade students input their vocabulary words into PowerPoint presentations or using a word processing program to type up stories or math word problems (by the way, these are actual examples of how computer technologies have been implemented in K-12; just how many billions of dollars would you estimate that is worth?).
Would we accept the bailout of the banks if they continued making the same risky loans? Are we in favor of funding a 'get out of bankruptcy court free' pass to automakers if they insist on not doing anything different than the same practices that got them into the financial morass they're in? Of course not – so why should education be any different?
Here's why we might as well be smoking the dollars we're insensibly burning: Thomas Alva Edison – not normally known as an imbecile – once famously predicted that the motion picture would lead to the death of the textbook. Dead Wrong. Radio, too, was predicted to become the airwaves of education. Didn't happen. Television (and, now, computer technologies used for distance learning) was supposed to largely eliminate the need for local classrooms and, well, that hasn't happened either.
Each novel technology has come with claims of revolutionizing education, claims that never quite translate into reality due at least in part to the inability of educators to critically examine the new technology, understand it, and learn how to effectively utilize it. It seems a remarkably lazy assumption that a radically new technology doesn't require the adoption of a new set of educational practices, and yet that has been education's response to the government's largesse. This intransigence to implement meaningful change ignores the wealth of literature which shows the educational benefits of computer technologies which utilize multiple media, interactivity, and customized tasks – the creation of such things by teachers which empowers both teacher and student. It is bafflingly unclear why, nearly a quarter century after the birth of the personal computer revolution, our nation's teachers still cannot fully realize the computer's benefits that were possible in 1987.
Like Barbie of old, ivory towers of teacher preparation programs cry that “programming's hard” and not something educators should have to learn. And however much we may want to sympathize that some of life's duties are, indeed, difficult, we need to realize that the reality of teachers being unable to create their own meaningful technology solutions means that the untold billions of dollars that have been – and will continue to be – spent on computers for the classroom is money we'd be better off spending on more janitors, nurses, teacher's aids, English language acquisition, and health, lunch and parenting programs.
And, of course, another factor frequently overlooked when reciting the 'we need more computers in the schools' mantra is that computer technologies are financial black holes that just keep growing. It's not sufficient to simply buy the machines – using and maintaining them requires the hiring of entire IT departments; additionally, there's software to purchase, training to provide (which, in the case of teachers, rarely happens), repair and replacement costs to shoulder. Technology is a hungry beast that requires constant and costly feeding.
Technology thus constitutes an entirely new set of budgetary requirements that unfortunately do not come with concommitant new sources of funding. As schools increasingly push their students to sell, sell, sell stuff that mostly nobody really wants to buy anyway, just to maintain basic services, and, at the same time, considerably increases homework loads just to make the No Child Left Behind folks happy with test scores, one wonders when exactly it is that a child gets to simply be a child. Just how many programs in the arts and vocational areas have been sacrificed to feed the federally-mandated technology beast? And at what cost to society? In this era of educational reform, have we forgotten the value of such things as creativity, play and imagination – three very important skill sets that helped some really innovative people born a half century or more ago to develop the personal computer, or take us to the moon, the solar system and beyond?
Social critic Neil Postman has observed that technological change is never value-free, nor are its effects additive – new technologies completely transform the social landscape with hidden value shifts that aren't well understood (or, indeed, are altogether ignored) in society's head-long rush to embrace the new technology as an unqualified a priori good. Were he alive today, Postman might well admonish us that, when gigabytes of storage, high bandwidth capacities, and megaherz processor clock speeds became the objects of desire, we unwittingly choose to value those things above the things that previously mattered to us -- helping children understand the process of negotiation by which we avoid nasty bullying to get what we want; fostering an environment which supports the creative and collaborative process by which we invent new things; nurturing good citizenship and an understanding of fair play and the civic principles for which this country stands.
And for what exactly???
And, well, we have a disagreement on how best to cover it. So, I will rewrite for him but publish my version here.
I feel very strongly about pumping in another untold millions of public dollars into computers for schools that is almost certainly entirely wasted and wrong-headed because of the education industry's refusal to require basic computer literacy from teacher ed candidates.
My take is below.
====================================
Insanity is doing the same thing over and over, and somehow expecting the outcome to be different.
This recently-seen sig file on a “news for nerds” website is alarmingly apropos with respect to ongoing efforts at educational reform. Doing the same thing over and over... such as dumping untold billions of dollars into computers for schools – been there, done that, in the Clinton Administration, a decade ago. It was a failure then, and, if president-elect Obama's call to have a do-over succeeds, it's likely to be a failure now, at a time in which the public kitty increasingly cannot afford any more ill-conceived failures.
Larry Cuban has written a damning indictment of this entitled “Oversold and Underused: Computers in the Classroom.” His sobering analysis concluded that, among a host of factors, the need for stability trumping badly-needed rapid change and the neglect of politicians to ask why computers were even needed in the classroom contributed substantially to the stunning lack of return on the public's considerable investment. Like the banking and auto industry failures seen recently, the senseless dumping of computers into education without requiring follow-through from educators is a compelling demonstration of what happens when you have an insular body of professionals in a failing industry: power divorced from competence and reality; a power invested heavily in believing that, somehow, this time will be different despite doing nothing different.
Here's why this time probably won't be different. By 1984, as a society, we knew we were at the birth of the personal computer revolution. Certainly by the 1990s we knew it was a force to be reckoned with, especially in the field of education. But, in 2009, those who educate the educators will continue to fail to recognize the need to incorporate meaningful technology training in teacher preparation programs, meaning that all those shiny new computers in K-12 classrooms will continue to go largely unused -- at a price tag in the billions of public dollars, making them one heck of an expensive and utterly useless educational bailout package.
As an industry, education is incredibly insular – it recognizes little that is not internally validated. This is the industry which gave us our current constructivist approach to education in which, when taken literally, a central pillar of faith is that there is no such thing as objective truth or reality. Tell that to the programmer who needs his program to compile and later not unintentionally blow up a manned spacecraft; tell that to the engineer whose building needs to withstand an earthquake, or the doctor who needs to be able to figure out whether you've got cancer or merely indigestion. The real world and its problems are are based in objective reality and require that, when one “solution” isn't producing the desired results, you need to find another solution, and not drag your feet with your head in the sand.
The quality of our public education system is the predictor of whether or not the next generation will succeed or fail in taking charge of this country; whether we will continue to be a major world power or slide intellectually behind third-world countries. If we wish to be a competitor in the 21st century's global arena, our teaching and learning practices need to embrace 21st century tools and make dramatic changes to those practices in a timeframe which doesn't exceed a decade or more.
Education's insularity betrays our considerable investment in what is perhaps our greatest national product, namely, the human and social capital potentially produced by our schools. With respect to computers in the schools, that betrayal comes in the form of teacher education programs that comfortably ignore the personal computer revolution. Study after study pointedly documents that educators, both K-12 and in higher education, are, at best, casual, timid users of computer technologies: most only use those software programs pre-installed on their computers, namely, an office suite, email and web browser programs.
As a result, today's teacher preparation programs encourage a belief system that turns computers into incredibly expensive digital typewriters. Like the craftsman with only a hammer in his toolbox, educators tend to to define educational computer technology implementation in terms of the few, mostly inappropriate, software programs they already know how to use. This leads to such classroom insanity as making third-grade students input their vocabulary words into PowerPoint presentations or using a word processing program to type up stories or math word problems (by the way, these are actual examples of how computer technologies have been implemented in K-12; just how many billions of dollars would you estimate that is worth?).
Would we accept the bailout of the banks if they continued making the same risky loans? Are we in favor of funding a 'get out of bankruptcy court free' pass to automakers if they insist on not doing anything different than the same practices that got them into the financial morass they're in? Of course not – so why should education be any different?
Here's why we might as well be smoking the dollars we're insensibly burning: Thomas Alva Edison – not normally known as an imbecile – once famously predicted that the motion picture would lead to the death of the textbook. Dead Wrong. Radio, too, was predicted to become the airwaves of education. Didn't happen. Television (and, now, computer technologies used for distance learning) was supposed to largely eliminate the need for local classrooms and, well, that hasn't happened either.
Each novel technology has come with claims of revolutionizing education, claims that never quite translate into reality due at least in part to the inability of educators to critically examine the new technology, understand it, and learn how to effectively utilize it. It seems a remarkably lazy assumption that a radically new technology doesn't require the adoption of a new set of educational practices, and yet that has been education's response to the government's largesse. This intransigence to implement meaningful change ignores the wealth of literature which shows the educational benefits of computer technologies which utilize multiple media, interactivity, and customized tasks – the creation of such things by teachers which empowers both teacher and student. It is bafflingly unclear why, nearly a quarter century after the birth of the personal computer revolution, our nation's teachers still cannot fully realize the computer's benefits that were possible in 1987.
Like Barbie of old, ivory towers of teacher preparation programs cry that “programming's hard” and not something educators should have to learn. And however much we may want to sympathize that some of life's duties are, indeed, difficult, we need to realize that the reality of teachers being unable to create their own meaningful technology solutions means that the untold billions of dollars that have been – and will continue to be – spent on computers for the classroom is money we'd be better off spending on more janitors, nurses, teacher's aids, English language acquisition, and health, lunch and parenting programs.
And, of course, another factor frequently overlooked when reciting the 'we need more computers in the schools' mantra is that computer technologies are financial black holes that just keep growing. It's not sufficient to simply buy the machines – using and maintaining them requires the hiring of entire IT departments; additionally, there's software to purchase, training to provide (which, in the case of teachers, rarely happens), repair and replacement costs to shoulder. Technology is a hungry beast that requires constant and costly feeding.
Technology thus constitutes an entirely new set of budgetary requirements that unfortunately do not come with concommitant new sources of funding. As schools increasingly push their students to sell, sell, sell stuff that mostly nobody really wants to buy anyway, just to maintain basic services, and, at the same time, considerably increases homework loads just to make the No Child Left Behind folks happy with test scores, one wonders when exactly it is that a child gets to simply be a child. Just how many programs in the arts and vocational areas have been sacrificed to feed the federally-mandated technology beast? And at what cost to society? In this era of educational reform, have we forgotten the value of such things as creativity, play and imagination – three very important skill sets that helped some really innovative people born a half century or more ago to develop the personal computer, or take us to the moon, the solar system and beyond?
Social critic Neil Postman has observed that technological change is never value-free, nor are its effects additive – new technologies completely transform the social landscape with hidden value shifts that aren't well understood (or, indeed, are altogether ignored) in society's head-long rush to embrace the new technology as an unqualified a priori good. Were he alive today, Postman might well admonish us that, when gigabytes of storage, high bandwidth capacities, and megaherz processor clock speeds became the objects of desire, we unwittingly choose to value those things above the things that previously mattered to us -- helping children understand the process of negotiation by which we avoid nasty bullying to get what we want; fostering an environment which supports the creative and collaborative process by which we invent new things; nurturing good citizenship and an understanding of fair play and the civic principles for which this country stands.
And for what exactly???
Thursday, November 27, 2008
Wednesday, November 26, 2008
Revolution Media US$39!!
Revolution Media is being offered for a limited time for the fantastic price of $39!
Until November 30, you can save $10 off the normal download price of $49.
What is Rev Media? Rev Media has nearly all of the most important features of the full-blown Revolution product lines with the exception of being able to compile a standalone executable file. However, anything created with Media will run on all supported platforms (meaning, most importantly, Mac and Windows) via the freely-downloadable Media stack player (which is similar to the functionality provided by Hyperstudio).
From the company's website:
Revolution Media is the fun and creative, do-anything software construction kit everyone can afford. Learn programming logic, build exciting games, make quick work of projects large and small, and construct compelling multimedia experiences using drag-and-drop interface elements and the world's easiest language.
The company touts as advantage #1 that you can "learn programming" using Media. But, inasmuch as the "P" word tends to scare off alot of people who envision learning some nasty systems programming language featuring lots of ugly dot.syntax.unreadable.incomprehensible.crap, it should be noted that Media comes with the following out of the box:
* Templates to help automate the production of games, kiosks, portfolios and slide-shows
* 27 Quick-start tutorials and videos on how to use Media
* 78 Pre-built sample scripts to copy-paste into your own projects
* 13 Example stacks for you to use, modify, and take apart
* 377 page PDF User's Guide
* Full-featured, easy to learn English-like scripting language
Rev Media imports a broad spectrum of media formats -- GIF, JPG, PNG (for images), WAV, AIF (etc. for audio, although weird sampling rates on WAV don't work well), and QuickTime -- and thus make the product ideal for rich media presentations.
If I didn't already own an Enterprise license, I'd take advantage of this offer pronto! This product offers so many more advantages (short of the included stock media) than Hyperstudio that I still fail to understand the death-grip the latter has on the education market (probably it's that the older people with Ph.D.'s in education remember how horrific learning to program used to be back in the medieval period that they simply shy away from anything that promotes the "P" word... but that doesn't mean that the rest of us need to be dinosaurs, right?!).
Until November 30, you can save $10 off the normal download price of $49.
What is Rev Media? Rev Media has nearly all of the most important features of the full-blown Revolution product lines with the exception of being able to compile a standalone executable file. However, anything created with Media will run on all supported platforms (meaning, most importantly, Mac and Windows) via the freely-downloadable Media stack player (which is similar to the functionality provided by Hyperstudio).
From the company's website:
Revolution Media is the fun and creative, do-anything software construction kit everyone can afford. Learn programming logic, build exciting games, make quick work of projects large and small, and construct compelling multimedia experiences using drag-and-drop interface elements and the world's easiest language.
The company touts as advantage #1 that you can "learn programming" using Media. But, inasmuch as the "P" word tends to scare off alot of people who envision learning some nasty systems programming language featuring lots of ugly dot.syntax.unreadable.incomprehensible.crap, it should be noted that Media comes with the following out of the box:
* Templates to help automate the production of games, kiosks, portfolios and slide-shows
* 27 Quick-start tutorials and videos on how to use Media
* 78 Pre-built sample scripts to copy-paste into your own projects
* 13 Example stacks for you to use, modify, and take apart
* 377 page PDF User's Guide
* Full-featured, easy to learn English-like scripting language
Rev Media imports a broad spectrum of media formats -- GIF, JPG, PNG (for images), WAV, AIF (etc. for audio, although weird sampling rates on WAV don't work well), and QuickTime -- and thus make the product ideal for rich media presentations.
If I didn't already own an Enterprise license, I'd take advantage of this offer pronto! This product offers so many more advantages (short of the included stock media) than Hyperstudio that I still fail to understand the death-grip the latter has on the education market (probably it's that the older people with Ph.D.'s in education remember how horrific learning to program used to be back in the medieval period that they simply shy away from anything that promotes the "P" word... but that doesn't mean that the rest of us need to be dinosaurs, right?!).
Sunday, November 16, 2008
HyperStudio's Back!
And you might be wondering why that's a good thing(tm) as far as promoting Revolution is concerned, but it really is.
Roger Wagner is back as well, which will probably reassure those veteran educators who were fond of Hyperstudio and despaired of ever using it again.
Near as I can tell, it's still no Hypercard, much less Revolution, but boasts features that neither of the other two ever had or have yet, including kerning, web deployment (sure to delight the web-ueber-alles crowd, although the required plug-in appears to be Safari-specific), podcasting and webcam support, etc. And while the company's motto is "We know where your Mac wants to go," there are both Mac as well as Windows versions of the software. You can download a free stack Player for OS X versions of stacks created with the current version as well as an OS X player for legacy stacks made in versions 3 and 4. Mac OS 9 and Windows Players are also available, which is good news for those educators operating in legacy environments or using Windows.
HyperStudio seems to still utilize the stack-card metaphor, which is why its release is a good thing for Revolution, which also utilizes the stack-card metaphor; this could make it easier for HyperStudio users to feel comfortable investigating Revolution.
And why might they want to investigate Revolution? Because HyperStudio still lacks a scripting language, which means that, despite its wonderful new features, it is still a cross between PowerPoint and KidPix (the latter of which the company also sells). Revolution still wins hands-down for its natural-language scripting language which allows educators to easily create custom applications, including interactive fiction, testing software, and other media-rich software.
HyperStudio-loving educators who use Windows might want to make a foray into the Mac side, as the Macintosh version of HyperStudio is considerably beefier in terms of the out-of-the-box experience. The Mac version boasts more than 1,300 included clipart images as opposed to the 500 or so images included in the Windows version, and nearly double the number of animations as well (the number of included sounds and movies for both versions is the same; however, the Mac version includes what the company calls "semi-3D QTVR" movies).
The Mac "side" also boasts a greater number of export formats, including JPG, MOV, M4V (movie clips for iPod and iPhone), HTML, while the Windows side only exports to BMP, HTML and the standalone player that both can utilize.
Requirements. The Mac version can run on either PPC G4 or Intel processors, and requires 256 MB RAM and Mac OS 10.4.11 or newer. For Windows, you will Windows XP or later, a 600 MHz Intel-based processor and 256 MB of RAM.
A single license costs US$89.95. On the basis of the price point, however, Revolution still wins out, with RevMedia, which also requires a player (as opposed to being able to compile a standalone, which later versions of HyperCard and all versions of Revolution Studio or higher can do) costing a mere US$49.00.
Roger Wagner is back as well, which will probably reassure those veteran educators who were fond of Hyperstudio and despaired of ever using it again.
Near as I can tell, it's still no Hypercard, much less Revolution, but boasts features that neither of the other two ever had or have yet, including kerning, web deployment (sure to delight the web-ueber-alles crowd, although the required plug-in appears to be Safari-specific), podcasting and webcam support, etc. And while the company's motto is "We know where your Mac wants to go," there are both Mac as well as Windows versions of the software. You can download a free stack Player for OS X versions of stacks created with the current version as well as an OS X player for legacy stacks made in versions 3 and 4. Mac OS 9 and Windows Players are also available, which is good news for those educators operating in legacy environments or using Windows.
HyperStudio seems to still utilize the stack-card metaphor, which is why its release is a good thing for Revolution, which also utilizes the stack-card metaphor; this could make it easier for HyperStudio users to feel comfortable investigating Revolution.
And why might they want to investigate Revolution? Because HyperStudio still lacks a scripting language, which means that, despite its wonderful new features, it is still a cross between PowerPoint and KidPix (the latter of which the company also sells). Revolution still wins hands-down for its natural-language scripting language which allows educators to easily create custom applications, including interactive fiction, testing software, and other media-rich software.
HyperStudio-loving educators who use Windows might want to make a foray into the Mac side, as the Macintosh version of HyperStudio is considerably beefier in terms of the out-of-the-box experience. The Mac version boasts more than 1,300 included clipart images as opposed to the 500 or so images included in the Windows version, and nearly double the number of animations as well (the number of included sounds and movies for both versions is the same; however, the Mac version includes what the company calls "semi-3D QTVR" movies).
The Mac "side" also boasts a greater number of export formats, including JPG, MOV, M4V (movie clips for iPod and iPhone), HTML, while the Windows side only exports to BMP, HTML and the standalone player that both can utilize.
Requirements. The Mac version can run on either PPC G4 or Intel processors, and requires 256 MB RAM and Mac OS 10.4.11 or newer. For Windows, you will Windows XP or later, a 600 MHz Intel-based processor and 256 MB of RAM.
A single license costs US$89.95. On the basis of the price point, however, Revolution still wins out, with RevMedia, which also requires a player (as opposed to being able to compile a standalone, which later versions of HyperCard and all versions of Revolution Studio or higher can do) costing a mere US$49.00.
Thursday, October 30, 2008
Explaining Contractions Using Revolution
The Revolution community is filled with many talented and prodigious programmers - the embodiment of those artists who actually meet deadlines and ship finished products.
I am not one of those people.
I have 7-year old twins, 5 chihuahuas, a part-time lecturing position at a state university and... well... I am an artist who doesn't ship.
But I can't tell you how many times I've used Revolution to make a half-baked stack, very successfully, I might add, to create a much-needed educational solution.
With respect to the creation of educational wares, we tend to be faced with a strict dichotomy between a certain very boring and largely inappropriate business-oriented presentation software that nearly all teacher education candidates are taught on the one hand, and the wonderful, full-featured software that many on our use-list are capable of producing (or, have indeed, produced) on the other. What we tend to forget is that there is a middle ground, one for which Revolution is the ideal candidate.
I think the education sector calls them "learning objects." That's their terminology for half-baked but imminently reusable software modules that do one small thing, but do that one small thing tolerably if not incredibly well. And that's what the bulk of my work using Revolution consists of these days.
For example - last year my children were in the first grade and, you know, first grade isn't what it used to be. They now demand that 6 and 7 year olds learn to read and create the relatively advanced language construct of contractions . My twins would come home literally crying in frustration over their inability to grok the concept.
I tried drawing them pictures. They didn't get it. They could barely read whole, simple, regular words, let alone something that's between a word and what??? How to effectively demonstrate the concept?
I was at a complete loss until I attended RevConWest in Las Vegas, Nevada, this year. I always enjoy Scott Rossi's informative and multimedia-oriented presentations and was somewhat floored to hear him toss out, quite casually, that in Revolution, it was simple stuff to animate an object along a graphic curve/object that the stack developer created.
Suddenly it was all so clear - I had been struggling with how to improve upon my drawings of the construction of contractions. Should I try it in iMovie? Break down and actually try to learn Flash? Neither seemed ideal, but right after Scott's presentation I sat down and spent maybe 20 minutes pulling together a simple stack that used Scott's tip (thanks!) to animate and underscore the construction of contractions using concepts as simple as the move command, text-to-speech commands, the wait command, changing the foregroundColor property for fields, and the if-then-end if that all real programmers apparently despise.
Here's what I did:
1. Launch Revolution. Create new Mainstack.
2. Found the image of a rectangular old-fashioned chalkboard image.
3. Set the windowShape property of my stack to the imported image ID of my chalkboard image. (I didn't need to do this; it was just eye-candy)
4. On card 1, I created 5 text fields as follows (for this particular contraction): "can" "+" "not"
"'" "o" (for an apostrophe and the about to be dearly-departed 'o' of my new contraction).
5. I decided to use the MacOS font chalkboard to emulate handwriting on a chalkboard. I set the foregroundColor property of all my text fields to white but then script them to change color to red when the text-to-speech command is speaking the word in the field.
I also used Rev's graphic-creation tools to create an arc that the apostrophe will traverse from its initial hidden outtasight position to where it will "bounce out" that troublesome "o" character to create the contraction.
The effect that I was going for was to very visually demonstrate two separate words coming together, with an apostrophe flying in from out of nowhere to bounce out the letter that it replaces in the newly-formed contraction, as this was the cognitive brick wall that my children were coming up against. Visually, it's a bit like watching a train wreck, except that it's a productive train wreck! The text-to-speech was used to help reinforce reading skills and to assist in how to pronounce the new contraction.
Below are the two main scripts that accomplish this:
6. In a preOpenCard handler, I set the loc of the apostrophe field to outtasight and hid the extra 'o' field but set its location to where it would need to be after moving the "not" field to its final destination:
on preOpenCard
set the loc of fld "could" to 221,188
set the loc of fld "not" to 550,188
put "o" after char 1 of fld "not" _ because it's deleted \
below
hide fld "o" -- because we don't need it until the train \
wreck
set the loc of fld "apostrophe" to 6,4
hide fld "apostrophe"
hide fld "equalSign"
hide fld "plusSign"
end preOpenCard
7. I entered the following in the card's openCard handler:
on openCard
wait 35 ticks
set the foregroundColor of fld "could" to red
revSpeak "could"
wait 45 ticks
set the foregroundColor of fld "could" to white
wait 25 ticks
set the foregroundColor of fld "not" to red
revSpeak "not"
wait 45 ticks
set the foregroundColor of fld "not" to white
wait 25 ticks
show fld "plusSign"
wait 45 ticks
hide fld "plusSign"
move fld "could" to 353,188 in 85 ticks
wait 15 ticks
show fld "equalSign"
show fld "apostrophe"
move fld "apostrophe" to the points of graphic "curve" Å
in 85 ticks
if the loc of fld "apostrophe" is not within the rect Å
of fld "area" then
hide fld "apostrophe"
end if
delete char 2 of fld "not" -- here's where I delete that "o"
show fld "o" at 548,188
move fld "o" to 554,621 in 85 ticks
hide fld "equalSign"
set the foregroundColor of fld "could" to red
set the foregroundColor of fld "not" to red
set the foregroundColor of fld "apostrophe" to red
revSpeak "couldn't"
wait 35 ticks
set the foregroundColor of fld "could" to white
set the foregroundColor of fld "not" to white
set the foregroundColor of fld "apostrophe" to white
wait 4 secs
visual effect wipe left
go next cd
end openCard
8. The above two scripts are repeated for each of the contractions needed on separate cards.
A few things are no doubt obvious at this point, the first of which is that I obviously never had any coursework in programming. Doubtless, there are more compact ways in which to script the same effect. But, for me, the winning feature is that I, as a non-programmer, could use a programming tool to whip up rather quickly a compelling bit of an educational solution the likes of which my children's teacher apparently could not. And my children didn't need to see that half-baked stack very many times before they "got it, thanks Mom!"
--If anyone wants the example stack, send me an email!
I am not one of those people.
I have 7-year old twins, 5 chihuahuas, a part-time lecturing position at a state university and... well... I am an artist who doesn't ship.
But I can't tell you how many times I've used Revolution to make a half-baked stack, very successfully, I might add, to create a much-needed educational solution.
With respect to the creation of educational wares, we tend to be faced with a strict dichotomy between a certain very boring and largely inappropriate business-oriented presentation software that nearly all teacher education candidates are taught on the one hand, and the wonderful, full-featured software that many on our use-list are capable of producing (or, have indeed, produced) on the other. What we tend to forget is that there is a middle ground, one for which Revolution is the ideal candidate.
I think the education sector calls them "learning objects." That's their terminology for half-baked but imminently reusable software modules that do one small thing, but do that one small thing tolerably if not incredibly well. And that's what the bulk of my work using Revolution consists of these days.
For example - last year my children were in the first grade and, you know, first grade isn't what it used to be. They now demand that 6 and 7 year olds learn to read and create the relatively advanced language construct of contractions . My twins would come home literally crying in frustration over their inability to grok the concept.
I tried drawing them pictures. They didn't get it. They could barely read whole, simple, regular words, let alone something that's between a word and what??? How to effectively demonstrate the concept?
I was at a complete loss until I attended RevConWest in Las Vegas, Nevada, this year. I always enjoy Scott Rossi's informative and multimedia-oriented presentations and was somewhat floored to hear him toss out, quite casually, that in Revolution, it was simple stuff to animate an object along a graphic curve/object that the stack developer created.
Suddenly it was all so clear - I had been struggling with how to improve upon my drawings of the construction of contractions. Should I try it in iMovie? Break down and actually try to learn Flash? Neither seemed ideal, but right after Scott's presentation I sat down and spent maybe 20 minutes pulling together a simple stack that used Scott's tip (thanks!) to animate and underscore the construction of contractions using concepts as simple as the move command, text-to-speech commands, the wait command, changing the foregroundColor property for fields, and the if-then-end if that all real programmers apparently despise.
Here's what I did:
1. Launch Revolution. Create new Mainstack.
2. Found the image of a rectangular old-fashioned chalkboard image.
3. Set the windowShape property of my stack to the imported image ID of my chalkboard image. (I didn't need to do this; it was just eye-candy)
4. On card 1, I created 5 text fields as follows (for this particular contraction): "can" "+" "not"
"'" "o" (for an apostrophe and the about to be dearly-departed 'o' of my new contraction).
5. I decided to use the MacOS font chalkboard to emulate handwriting on a chalkboard. I set the foregroundColor property of all my text fields to white but then script them to change color to red when the text-to-speech command is speaking the word in the field.
I also used Rev's graphic-creation tools to create an arc that the apostrophe will traverse from its initial hidden outtasight position to where it will "bounce out" that troublesome "o" character to create the contraction.
The effect that I was going for was to very visually demonstrate two separate words coming together, with an apostrophe flying in from out of nowhere to bounce out the letter that it replaces in the newly-formed contraction, as this was the cognitive brick wall that my children were coming up against. Visually, it's a bit like watching a train wreck, except that it's a productive train wreck! The text-to-speech was used to help reinforce reading skills and to assist in how to pronounce the new contraction.
Below are the two main scripts that accomplish this:
6. In a preOpenCard handler, I set the loc of the apostrophe field to outtasight and hid the extra 'o' field but set its location to where it would need to be after moving the "not" field to its final destination:
on preOpenCard
set the loc of fld "could" to 221,188
set the loc of fld "not" to 550,188
put "o" after char 1 of fld "not" _ because it's deleted \
below
hide fld "o" -- because we don't need it until the train \
wreck
set the loc of fld "apostrophe" to 6,4
hide fld "apostrophe"
hide fld "equalSign"
hide fld "plusSign"
end preOpenCard
7. I entered the following in the card's openCard handler:
on openCard
wait 35 ticks
set the foregroundColor of fld "could" to red
revSpeak "could"
wait 45 ticks
set the foregroundColor of fld "could" to white
wait 25 ticks
set the foregroundColor of fld "not" to red
revSpeak "not"
wait 45 ticks
set the foregroundColor of fld "not" to white
wait 25 ticks
show fld "plusSign"
wait 45 ticks
hide fld "plusSign"
move fld "could" to 353,188 in 85 ticks
wait 15 ticks
show fld "equalSign"
show fld "apostrophe"
move fld "apostrophe" to the points of graphic "curve" Å
in 85 ticks
if the loc of fld "apostrophe" is not within the rect Å
of fld "area" then
hide fld "apostrophe"
end if
delete char 2 of fld "not" -- here's where I delete that "o"
show fld "o" at 548,188
move fld "o" to 554,621 in 85 ticks
hide fld "equalSign"
set the foregroundColor of fld "could" to red
set the foregroundColor of fld "not" to red
set the foregroundColor of fld "apostrophe" to red
revSpeak "couldn't"
wait 35 ticks
set the foregroundColor of fld "could" to white
set the foregroundColor of fld "not" to white
set the foregroundColor of fld "apostrophe" to white
wait 4 secs
visual effect wipe left
go next cd
end openCard
8. The above two scripts are repeated for each of the contractions needed on separate cards.
A few things are no doubt obvious at this point, the first of which is that I obviously never had any coursework in programming. Doubtless, there are more compact ways in which to script the same effect. But, for me, the winning feature is that I, as a non-programmer, could use a programming tool to whip up rather quickly a compelling bit of an educational solution the likes of which my children's teacher apparently could not. And my children didn't need to see that half-baked stack very many times before they "got it, thanks Mom!"
--If anyone wants the example stack, send me an email!
Friday, October 10, 2008
Welcome to Rev in Education!
Kindly listmom Heather Nagey at Runtime Revolution, in the course of an email on an unrelated matter, noted she needed an article to fill a hole in Revolution's online newsletter. I then whipped up the following half-baked offering (half-baked because there wasn't sufficient time to do anything but). I had mentioned to her that I had been thinking for some time of doing a blog on this very subject and when she indicated that this might be a good thing, I made the decision to finally get around to doing it.
Well, okay, the half-baked entry will be entry #2, not entry #1, as I suppose the latter really ought to actually explain what Revolution is and why I think it's ideal for the common educator who is looking for a technology solution that consists of using something other than PowerPoint (which I positively loathe, especially when it is used or demanded for use within the elementary education arena).
And so, what is Revolution and why exactly do I think you might want to learn more about it? The following is from a paper I presented at an AACE conference in Vancouver last summer (I believe it was ED-MEDIA 2008). I suppose AACE has some sorts of rights to it now and this is to give them/it their/its due.
=====================================
Runtime Revolution: An easy to learn programming software for educators
The public has high hopes for computer technologies in the public schools. An issue to be addressed is how best to utilize this investment. Computer technologies utilizing multiple media and interactivity are beneficial in teaching and learning. The production and sharing of learning objects demands that the educators possess the ability to create them. Numerous studies(1) reveal that most instructors do not venture beyond such “basic” computer usage tasks as email, the web and word processing. This article briefly examines novice/non-programmers and the multimedia authoring program Revolution concentrating on its programming language, visualization, and the possibility for meaningful module production/reuse.
Introduction
Computer scientist and educator Donald Norman (Norman, 1996) has noted that computer technologies, especially those utilizing multiple media and interactivity, are beneficial in three key areas of human learning, namely, engagement, effectiveness and motivation. Additionally, the excitement within the educational community with respect to the production and sharing of learning objects demands that the average educator possess the ability to create meaningful learning objects. This demand, however, presents the problem of learning the art of computer programming, an activity which suggests spending a good deal of time learning a cryptic computer language. This is not necessarily the case, however.
Some of you may remember Hypercard, an application program and programming development environment produced by Apple Computer in 1987. For those who never had the opportunity to use Hypercard, it was a graphically-oriented development environment coupled with not only an easily comprehensible, English language-like scripting language, but also a set of pre-built modules that the user could either utilize as-is out of the box or customize for a particular use. As such, it was in a way an embodiment of Ben Schneiderman's very articulation of the direct manipulation interaction paradigm that made graphical user interfaces such as Apple's Macintosh operating system easy to both learn and use by ordinary individuals: Hypercard provided (a) visual objects that (b) could be easily manipulated in (c) a series of rapid, incremental and reversible actions that resulted in the crucial feedback necessary for learning to use the program. As such, it was often used for rapid application development and quickly developed a reputation as a development environment which empowered ordinary persons to create their own software without enrolling in a computer science degree program.
Hypercard was not, however, without its disadvantages. Color support was weak; the only graphic file format directly supported was Apple's proprietary PICT; and standalone executable files could run only on Apple machines. These disadvantages, Apple's since-discontinuance of the program, the introduction of Microsoft's PowerPoint presentation software, and the development and popularity of the world wide web have seemingly introduced a shift among educators away from the production of interactive, desktop-based digital educational wares in favor of static web pages, PowerPoint presentations, and a few interactive digital modules produced by those increasingly fewer educators with the skills to embrace the hypermedia creation tools left on the market. Or, as Moser (2005) put it, “roughly ten years into the e-learning age, educational technology has made only modest inroads into changing teaching.”(2) The question, therefore, is whether there exists a market for a Hypercard-like product or whether its paradigm-heyday should remain an education historical footnote.
The Rationale for Interactive Learning Modules and Problems with their Production
David Staley (2004) has suggested that discussions involving the implementation of digital technologies in the classroom begin by asking the question Why is this technology here?(3) “Ubiquity of technology is an insufficient rationale for inclusion in a classroom,” he advises.(4) Instead, as Claudia Perry (2004)(5) suggests, digital technologies in the classroom are best utilized when they “incorporate interactivity, self-paced and self-directed learning options... and varied presentations of information (text, audio, visuals, multimedia, simulation).”(6)
These qualities tend to be strikingly absent from most webpages and PowerPoint presentations, the former due to the need to learn something akin to a formal structured programming language, the latter by definition of the abilities of the software itself. Moreover, merely adding and simply reading a basic PowerPoint presentation, while technically meeting the average person's definition of using computer technologies in the classroom, is a tragic disservice to the public's investment in digital educational technologies: they lack the interactivity that makes computers in the classroom a useful pedagogical addition. Even students themselves find such presentations only marginally useful: one small study performed at the University of Washington suggests that students desire that such presentations be utilized more effectively,(7) which does little to suggest that said presentations are an effective learning tool in terms of engaging student interest.
One reason why such presentations are perhaps something less than an optimal example of computers in the classroom can be glimpsed in an observation Kendall Whitehouse (2005) made regarding the paradoxical earlier failure of television in the classroom as opposed to the well-known successes of educational television programs like Sesame Street and programs provided on the History Channel: “They do not use television to replicate the experience of the classroom. They provide a different type of learning, driven by the particular characteristics of the medium.”(8) Indeed, a large part of what distinguishes computer software from, say, a book, is its interactive nature. More pointedly, as Marshall McLuhan put it, “the medium is the message,”(9) and, in the case of the computer and its related technologies, the medium/message is interactivity. Thus, when designing computer tools for learning, it is imperative that one capitalizes on the computer's ability to provide interactivity, not only because it assists with engaging the learner but also because it leverages the characteristics of the computer's medium.
Armed with this insight, one might wonder why educators sometimes place such emphasis on PowerPoint presentations as an effective educational tool given the wide variety of digital creation tools that currently exist. The Wharton School (University of Pennsylvania) has developed and implemented what they feel is a fairly successful usage of web-based gameplay learning and simulation in the teaching of business and economic concepts.(10) The very nature of game play and simulation must needs require interaction with the end user. To achieve this need, the Wharton School utilizes a full-time IT staff to create these interactive learning modules in consultation with its faculty, and uses industry-standard development tools, including Macromedia's (now Adobe) ColdFusion MX, Flash and Dreamweaver, and Microsoft's SQL Server.(11)
The fact that the U of P requires a full-time IT staff to develop these programs as opposed to the faculty members themselves developing them is telling: industry standard tools tend not to be embraced by the average instructor. There exist entire certification processes for learning SQL; providing interactivity in Flash requires learning the close cousin of the JavaScript scripting language which was primarily designed as a “lite” version of the formal programming language Java (and which itself is the topic of numerous university-level classes and programs). Dreamweaver likewise requires the use of a relatively unintuitive scripting language or environment in order to provide web-based interactivity (such as asp or php-based solutions).
These, clearly, then, are not exemplary of programming solutions 'for the rest of us.' The reasons are well-known to those who study the psychology of the novice or non-programmer. Novice/non-programmers, not unlike the majority of the consumer (i.e., non-programmer) population are mystified by the computer's operations and see them largely as a mysterious black box (DuBoulay, as cited by Mayer, 1981).(12) Adding to this obstacle is the fact that computer languages have a distinct epistemology of computer data structures and algorithms that differ radically from the epistemology of natural human languages (Smith, Cypher, & Schmucker, 1996).(13) To put it briefly, as Solloway (1983) has noted, “even at a simple level, [programming] is a difficult activity to learn”(14) (one must understand that, in 1983, programming involved a strictly command-line environment). Indeed, it is estimated that fewer than one percent of computer users have the ability to engage in programming activities.(15)
The nature of the programming language itself presents a major obstacle for the novice/non-programmer, and it has been found that this audience has difficulty in parsing pseudocode [that is, natural-language] representations of the programming problem into the development environment's syntactical language (Green, 2001; Barr, Holden, Philipps, D. & Greening, 1999).(16) Additionally, programming language reference materials, especially language dictionaries, are of little assistance in that resources targetting the programming community tend to present code examples in isolated, small examples which are focused on a single concept or a single language construct.(17) This isolation removes code from context as well as code from feedback, and thus further fragments the programming/learning to program process by resulting in a critical lack of understanding of how intentions become pseudocode, and how pseudocode is translated into valid but rigidly syntactic computer language. Hence, both the traditional programming references as well as the nature of the programming language itself can result in the novice/non-programmer failing to develop an understanding of how the subcomponents of computer programs relate to one another and to the program's overall objectives.(18)
As an example, to set the label of a button, a traditional [object oriented] programming language would require the user to write
firstButton= new button
firstButton.label = "push me"
Whereas an authoring system/programming environment which utilized a language with natural-language properties would require the user to write
set the label of button 1 to "push me"
Two things should be immediately apparent when comparing the two sets of code: first, the traditional language required two lines of code whereas the natural-language language required only one, and, second, the natural-language code style mimics the way humans think (and, additionally, would be rather similar if not altogether identical to the pseudocode describing said action). This short example is indicative of the power of a non-traditional programming language using natural-language properties to capitalize on the novice/non-programmer learner's innate capacity for natural human language as an anchoring or scaffolding strategy in learning a development environment's programming language.
A second large obstacle facing the novice/non-programmer is the absence in many development environments to provide visual or otherwise obvious “one-to-one mapping between what they write or see (in the code) and what the system is doing as a result”(19) in the midst of a programming activity. This suggests that visual and visually-oriented programming environments such as Hypercard, Flash, Dreamweaver, VisualBasic and various iconic-flow programs would lend themselves well to the non/novice programmer by providing visual and metaphoric mappings or models of the programming environment which link code and output.(20) A wealth of literature exists documenting the importance of appropriate metaphor, visualization and natural-language environments in making programming an embraceable opportunity for the novice/non-programmer and will not be repeated here. The question here is whether or not Revolution is an example of that desired category of programming environments.
What is Revolution?
Revolution is very similar to Apple's Hypercard in that it is an object and media-rich, event-driven development environment which utilizes a natural language-like scripting language at its core. As in Hypercard, the metaphor in use for application development is the one of a 'stack' of cards. A 'stack' is a series of cards presented in a window. A stack can contain other stacks; additionally, two or more stacks can be deployed simultaneously in two separate windows. If the “stack-card” metaphor seems a bit dated, feel free to think of a “stack” as an application, and a “card” as a particular screen or window view (indeed, the need for retaining the stack-card metaphor and language elements is due to the company's wish to ease the transition of previous users of Hypercard and Supercard to allow them to import pre-existing “stacks” made with those products with only minimal scripting changes needed). Additionally, Revolution provides a wide variety of pre-made interface elements, from various button types (including menuing elements)to different text fields to graphics, movie objects (linked to QuickTime movies), image areas (for bitmapped graphics) and, within variants of *nix, vector graphics which the user may add to their project by a drag-and-drop methodology from Revolution's tools palette.
In sharp contrast to web-based documents, it is very easy to bring the application to life. Simple actions can be assigned directly to any of those elements with Revolution's language scripting language, thus reinforcing the concept of objects which exhibit event-driven behavior via the pedagogically sound method of linking code and output.
For instance, in a simple navigation system within a stack, the stack developer might wish to provide forward and backwards navigation buttons. Using Revolution, the procedure would be to drag-drop the button type of choice to one's open stack, then double-click the button itself directly to access a script window allowing the developer to assign the following scripted behavior (note: all text following “--” is commentary to the preceding code; the “--” tells the underlying engine to ignore anything following it on any given line):
on mouseUp –-the event precipitating the action
go next card –- the behaviour to be performed by clicking
end mouseUp –- the end of this particular action
Thus, in the above example, we have visual objects that the learner can manipulate, a direct object-action mapping paradigm linking code, object and outcome, and, additionally, by switching mode within the development environment from development to user/test mode (Revolution does not require a program to be compiled for testing, or, indeed, even end user use purposes), the learner can immediately test his/her efforts and receive valuable feedback which can serve to reinforce learning.
This is in stark contrast to authoring environments which utilize more formal programming languages: Richard Decker (of Analytical Engine fame, 1990) has noted that “even students with very good quantitative skills often expend more energy learning where semicolons belong than they do mastering the concepts.”(21) Decker's initial efforts involved a “best approaches” look at the single, terminal, university-level course in computer science which targets the non-computer science major. His findings suggest that visually-oriented authoring environments such as Hypercard or Revolution with natural-language like scripting languages support learning in that novice/non-programmers “want results, and we feel that at the introductory level this is an entirely appropriate point of view.”
Furthermore, by engaging in even such a simple programming activity as that noted above, the direct and immediate feedback can provide a sense of accomplishment(22) that not only is encouraging for the new/non-programmer, but also is an example of “actually completing assignments... that require technology skills” that Efaw (2005)(23) has noted as being one of two critical elements for successful implementation of technology in the classroom.
Meaningful interactivity, however, requires more than simply creating “go next” buttons that mimic using the space bar in a PowerPoint presentation. More complex interactivity can be created in Revolution by using what is called “branching constructs”; these provide different paths of action for the end user/student and can also be achieved using, again, natural-language constructs:
on mouseUp
answer “What do you want?” with “Coffee”, “tea” and “me”
if it is “Coffee” then –– user clicked Coffee
answer “Bad for your health” –– new dialogue box
end if
if it is “tea” then –– user clicked tea
answer “High in antioxidants!”
end if
if it is “me” then –– user clicked me
answer “I'm taken!”
end if
end mouseUp
In the above example, if-then and if-end if structures are used to provide branching for interactivity. The answer- with command produces a dialogue box with the button choices specified in the remainder of that line of code (up to 7 such choices are supported) whereas the answer alone command provides a dialogue box with the text specified.
Thus, on the surface, Revolution works much like the easy-to-use interface and application builder that Hypercard was. It is very similar. However, Revolution takes the Hypercard paradigm several steps forward. Recall some of the disadvantages of Hypercard: limited graphics support, practically nonexistant color support and the inability to deploy creations to the Windows operating system. Conversely, Revolution supports the major graphics file formats (TIFF, PNG, JPG, GIF etc.) as well as provides modern color support. Additionally, Revolution breaks the platform barrier by allowing a stack developer to deploy his or her creations onto the current major operating systems – Mac OS 9, Mac OS X, Windows Vista and XP, and a number of unix variants. Moreover (and very unlike Hypercard, which provided user interface elements that in some instances weren't even in compliance with Apple's Human Interface Guidelines -- HIG -- for the time), the Revolution engine creates interface elements that are HIG-compliant for every platform supported without any work required by the stack developer.
It sounds simple, and, for you, the potential developer of educational learning objects, it is simple, but what it means is quite extraordinary. You could even start making shareware applications that not only run in the Mac OS, but also in Windows, IRIX, Solaris, and more. And in case you prefer to impose your own style rather than follow the OS native ones, you are free to create windows of any size and shape or create widget-like applications translucent backgrounds. Moreover, with respect to the issue of distribution and reuse of learning objects, Revolution provides the free and easy ability to upload your stacks to a common and freely accessible server from within the program's IDE (integrated development environment), another successful strategy for assisting educators to infuse technology in the classroom.24
Revolution is thus a write-once, run-anywhere format. For the capital outlay of less than US$100, users can distribute their application in a format that requires a player. However this player comes for free and exists for any of the most common operating systems. For a heavier price tag, you can compile your stack and transform it into a native executable application that runs on those same operating systems, thus eliminating the need for a player engine. All you need is a license that allows you to compile for the appropriate OS. In other words, the potential audience for any of your applications can be almost infinitely expanded, literally at the click of a button.
Moreover, and important with respect to the popularity of learning objects and building collaborative repositories for the same, in addition to the ability to upload learning objects to Revolution's publicly-accessible server, uncompiled Revolution stacks allow new users or fellow developers the possibility to modify the existing learning object or repurpose useful code modules used within the learning object. This results from the uncompiled nature of the Revolution stack which provides not only full access to underlying code attached to specific objects, but also the ability to simply copy-paste useful objects and code between learning object stacks. Thus Revolution is not only learnable, but its IDE or integrated development environment actually supports as well as encourages learning and the ability for code modification/reuse directly.
Advanced Features
Revolution also provides solutions for more complex visual and audio representations of information. It has functions that give you formatted display of HTML or RTF content; spreadsheet/table fields; MIDI music file creation and playing; new sound-recording architecture; support for the parsing and creation of XML documents; Unicode text entry and text manipulation; instant access to web protocols like HTTP or FTP, and TCP sockets; almost instant access to SQL databases; and calls to the system shell. As an example, it has the ability to read a web document using the simple single line of code get url "google.com". Similarly, external web files can be linked to within Revolution using the simple bit of code go url "http://google.com", which launches the end user's default web browser and, if the computer has an active internet connection, directs the web browser to the specified site.
Revolution is also adept at text handling, largely because it does not utilize typed data that most formal programming languages use. For example, in a formal programming language, data must be declared to be boolean, integer, floating and strings. Failure to correctly indicate the data type can lead to the program not working. However, in Revolution, there is no need to declare data types: Revolution simply examines the data in context and chooses the correct form of treatment. Hence, in Revolution, “two” is the same as “2”. To put in a scrolling list field the data corresponding to the fourth column of data of a csv file exported from Excel, nothing more is needed than
repeat for each line l in file url "my.home.page—my_data.csv"
put item 4 of line l after field "the data"
end repeat
Revolution can also handle regular expressions. All tag names in a XML document can be found with the instruction
get matchtext(the_text, "<([^> ])+", the_match)
Regex and CSV and XML, oh my!
What's all this incomprehensible stuff about csv formats and regular expressions and text handling? Don't worry – if you don't need it, you don't need to know about it to use Revolution. But it's nice to know that, should you, the now novice/non-programmer, ever decide to spend a half-decade pursuing a degree in computer science, you won't necessarily feel the need to pitch Revolution overboard because it can't do “real” programming. For instance, recall the earlier example touting the simplicity and intuitiveness of Revolution's use of the if-then and if-end if constructs? Here's a secret: “real” programmers largely hate these constructs for being too verbose; they like “case” and “switch” statement constructs. Revolution isn't particular about which you use; use whichever is most within your comfort zone. Just keep in mind that being able to build something functional, polished, and impressive on, say, your Mac and hand it over to your, say, Windows or Linux-using (or, vice-versa) students and colleagues comes at the educationally-attractive price of ~US$50 (for Revolution Media, which also comes with pre-built templates, including games).
Conclusion
When Apple stopped supporting Hypercard, Educators were forced to moved on. Some moved to Macromedia Director or Flash, others to REALbasic, and, increasingly, many others to Microsoft's FrontPage and PowerPoint. But of the latter two, one still requires the mastery of complex language solutions and the second is lacking in interactivity. Somehow, the complexity or limitations of the “solutions” currently in use by and for educators seem to have put an end to educator's efforts and abilities to develop clever applications for use in the classroom. We sincerely hope that Revolution will re-energize them. The Revolution development environment is a breakthrough for anyone who writes and designs computer software. Revolution enables developers to easily and quickly create powerful Internet-enabled applications and solutions which can be delivered on Linux, Mac OS X, classic Mac OS, Windows, and popular UNIX systems. This makes it ideal for the education market.
Notes
(1) Green, K.C. (2003). The 2003 Campus Computing Survey, http://www.campuscomputing.net (accessedApril 2, 2007).
(2) Moser, F. (2007), Faculty Adoption of Educational Technology. Educause Quarterly (1)2007, p. 66. This particular article deals with faculty adoption of digital tools for learning in higher education.
(3) D. Staley (2004), Adopting Digital Technologies in the Classroom: 10 Assessment Questions, Educause Quarterly (3)2004, pp. 20-26.
(4) Ibid, p. 23.
(5) C. Perry (2004), Information Technology and the Curriculum: A Status Report. Educause Quarterly (4)2004, pp. 28-37
(6) Ibid, p. 30.
(7) Ibid, p. 31. Perry citing K. Gustafson, The Impact of Technologies on Learning, Planning for Higher Education, 33(2), pp. 37-43.
(8) Whitehouse, K. (2005). Web-Enabled Simulations: Exploring the Learning Process, Educause Quarterly 2005(3), p. 20.
(9) McLuhan, M. and Fiore, Q. (1967), The Medium is the Message: an inventory of effects.
(10) Ibid.
(11) Ibid, p. 23.
(12) Mayer, R. (1981). The Psychology of how novices learn computer programming. ACM Computing Surveys 13(1), 121-142.
(13) Smith, D., Cypher, A. & Schmucker, K. (1996). Making programming easier for children. ACM Interactions 3(5), 58-68.
(14) Bonar, J. & Soloway, E. (1983). Uncovering principles of n ovice programming. Proceedings of the 10th ACM SIGACT-SIGPLAN Symposium on Principles of Programming Languages, 10, 10-13.
(15) Smith, D., Cypher, A. & Schmucker, K., op cit.
(16) Green, T. (2001). Instructions and descriptions: some cognitive aspects of programming and similar activities. Proceedings of the working conference on advanced visual interfaces, 21-29.; Barr, M., Holden, S., Philipps, D. & Greening, T. (1999). An exploration of novice programming errors in an object-oriented environment. SIGCSE Bulletin 31(4), 42-46.
(17) Neal, L. (1989). A system for example-based programming. CHI'89 Proceedings, 63-68.
(18) Guzdial, M. (1995). Centralized mindset: a student problem with object-oriented programming. SIGCSE'95, 182-185.
(19) Ramadhan, H. (1992). An intelligent discovery programming system. Proceedings of the 1992 ACM/SIGAPP Symposium on Applied Computing: technological challenges of the 1990's, 149-159.
(20) Smith King and Barr, 1997
(21) Decker, R. and Hirshfield, S. (1990), A Survey Course in Computer Science using Hypercard. Proceedings of the twenty-first ACM-SIGCSE technical symposium on computer science education 22(1), pp. 229-235.
(22) Decker, ibid.
(23) Efaw, J. (2005) , No Teacher Left Behind: how to teach with technology. Educause Quarterly 4, 28-29.
(24) Efaw, op cit., 30.
About the authors
Judy L. Perry (BA History; MPA Public Administration; MSIDT Instructional Design and Technology, CSU Fullerton). Judy is currently a lecturer in the Computer Science Department at California State University, Fullerton.
Marielle Lange (BSc Psychology, Bruxelles; M.Phil Biology, Cambrdige; PhD Psycholinguistics, Bruxelles). Marielle has recently moved into custom software development after a decade of study, research and lecturing at Cambridge University and University of Edinburgh. She is especially interested in the creation of educational tools, with, for instance, the development a webmuseum of perception and cognition that received an award for best educational website (NAWeb 2000).
Well, okay, the half-baked entry will be entry #2, not entry #1, as I suppose the latter really ought to actually explain what Revolution is and why I think it's ideal for the common educator who is looking for a technology solution that consists of using something other than PowerPoint (which I positively loathe, especially when it is used or demanded for use within the elementary education arena).
And so, what is Revolution and why exactly do I think you might want to learn more about it? The following is from a paper I presented at an AACE conference in Vancouver last summer (I believe it was ED-MEDIA 2008). I suppose AACE has some sorts of rights to it now and this is to give them/it their/its due.
=====================================
Runtime Revolution: An easy to learn programming software for educators
The public has high hopes for computer technologies in the public schools. An issue to be addressed is how best to utilize this investment. Computer technologies utilizing multiple media and interactivity are beneficial in teaching and learning. The production and sharing of learning objects demands that the educators possess the ability to create them. Numerous studies(1) reveal that most instructors do not venture beyond such “basic” computer usage tasks as email, the web and word processing. This article briefly examines novice/non-programmers and the multimedia authoring program Revolution concentrating on its programming language, visualization, and the possibility for meaningful module production/reuse.
Introduction
Computer scientist and educator Donald Norman (Norman, 1996) has noted that computer technologies, especially those utilizing multiple media and interactivity, are beneficial in three key areas of human learning, namely, engagement, effectiveness and motivation. Additionally, the excitement within the educational community with respect to the production and sharing of learning objects demands that the average educator possess the ability to create meaningful learning objects. This demand, however, presents the problem of learning the art of computer programming, an activity which suggests spending a good deal of time learning a cryptic computer language. This is not necessarily the case, however.
Some of you may remember Hypercard, an application program and programming development environment produced by Apple Computer in 1987. For those who never had the opportunity to use Hypercard, it was a graphically-oriented development environment coupled with not only an easily comprehensible, English language-like scripting language, but also a set of pre-built modules that the user could either utilize as-is out of the box or customize for a particular use. As such, it was in a way an embodiment of Ben Schneiderman's very articulation of the direct manipulation interaction paradigm that made graphical user interfaces such as Apple's Macintosh operating system easy to both learn and use by ordinary individuals: Hypercard provided (a) visual objects that (b) could be easily manipulated in (c) a series of rapid, incremental and reversible actions that resulted in the crucial feedback necessary for learning to use the program. As such, it was often used for rapid application development and quickly developed a reputation as a development environment which empowered ordinary persons to create their own software without enrolling in a computer science degree program.
Hypercard was not, however, without its disadvantages. Color support was weak; the only graphic file format directly supported was Apple's proprietary PICT; and standalone executable files could run only on Apple machines. These disadvantages, Apple's since-discontinuance of the program, the introduction of Microsoft's PowerPoint presentation software, and the development and popularity of the world wide web have seemingly introduced a shift among educators away from the production of interactive, desktop-based digital educational wares in favor of static web pages, PowerPoint presentations, and a few interactive digital modules produced by those increasingly fewer educators with the skills to embrace the hypermedia creation tools left on the market. Or, as Moser (2005) put it, “roughly ten years into the e-learning age, educational technology has made only modest inroads into changing teaching.”(2) The question, therefore, is whether there exists a market for a Hypercard-like product or whether its paradigm-heyday should remain an education historical footnote.
The Rationale for Interactive Learning Modules and Problems with their Production
David Staley (2004) has suggested that discussions involving the implementation of digital technologies in the classroom begin by asking the question Why is this technology here?(3) “Ubiquity of technology is an insufficient rationale for inclusion in a classroom,” he advises.(4) Instead, as Claudia Perry (2004)(5) suggests, digital technologies in the classroom are best utilized when they “incorporate interactivity, self-paced and self-directed learning options... and varied presentations of information (text, audio, visuals, multimedia, simulation).”(6)
These qualities tend to be strikingly absent from most webpages and PowerPoint presentations, the former due to the need to learn something akin to a formal structured programming language, the latter by definition of the abilities of the software itself. Moreover, merely adding and simply reading a basic PowerPoint presentation, while technically meeting the average person's definition of using computer technologies in the classroom, is a tragic disservice to the public's investment in digital educational technologies: they lack the interactivity that makes computers in the classroom a useful pedagogical addition. Even students themselves find such presentations only marginally useful: one small study performed at the University of Washington suggests that students desire that such presentations be utilized more effectively,(7) which does little to suggest that said presentations are an effective learning tool in terms of engaging student interest.
One reason why such presentations are perhaps something less than an optimal example of computers in the classroom can be glimpsed in an observation Kendall Whitehouse (2005) made regarding the paradoxical earlier failure of television in the classroom as opposed to the well-known successes of educational television programs like Sesame Street and programs provided on the History Channel: “They do not use television to replicate the experience of the classroom. They provide a different type of learning, driven by the particular characteristics of the medium.”(8) Indeed, a large part of what distinguishes computer software from, say, a book, is its interactive nature. More pointedly, as Marshall McLuhan put it, “the medium is the message,”(9) and, in the case of the computer and its related technologies, the medium/message is interactivity. Thus, when designing computer tools for learning, it is imperative that one capitalizes on the computer's ability to provide interactivity, not only because it assists with engaging the learner but also because it leverages the characteristics of the computer's medium.
Armed with this insight, one might wonder why educators sometimes place such emphasis on PowerPoint presentations as an effective educational tool given the wide variety of digital creation tools that currently exist. The Wharton School (University of Pennsylvania) has developed and implemented what they feel is a fairly successful usage of web-based gameplay learning and simulation in the teaching of business and economic concepts.(10) The very nature of game play and simulation must needs require interaction with the end user. To achieve this need, the Wharton School utilizes a full-time IT staff to create these interactive learning modules in consultation with its faculty, and uses industry-standard development tools, including Macromedia's (now Adobe) ColdFusion MX, Flash and Dreamweaver, and Microsoft's SQL Server.(11)
The fact that the U of P requires a full-time IT staff to develop these programs as opposed to the faculty members themselves developing them is telling: industry standard tools tend not to be embraced by the average instructor. There exist entire certification processes for learning SQL; providing interactivity in Flash requires learning the close cousin of the JavaScript scripting language which was primarily designed as a “lite” version of the formal programming language Java (and which itself is the topic of numerous university-level classes and programs). Dreamweaver likewise requires the use of a relatively unintuitive scripting language or environment in order to provide web-based interactivity (such as asp or php-based solutions).
These, clearly, then, are not exemplary of programming solutions 'for the rest of us.' The reasons are well-known to those who study the psychology of the novice or non-programmer. Novice/non-programmers, not unlike the majority of the consumer (i.e., non-programmer) population are mystified by the computer's operations and see them largely as a mysterious black box (DuBoulay, as cited by Mayer, 1981).(12) Adding to this obstacle is the fact that computer languages have a distinct epistemology of computer data structures and algorithms that differ radically from the epistemology of natural human languages (Smith, Cypher, & Schmucker, 1996).(13) To put it briefly, as Solloway (1983) has noted, “even at a simple level, [programming] is a difficult activity to learn”(14) (one must understand that, in 1983, programming involved a strictly command-line environment). Indeed, it is estimated that fewer than one percent of computer users have the ability to engage in programming activities.(15)
The nature of the programming language itself presents a major obstacle for the novice/non-programmer, and it has been found that this audience has difficulty in parsing pseudocode [that is, natural-language] representations of the programming problem into the development environment's syntactical language (Green, 2001; Barr, Holden, Philipps, D. & Greening, 1999).(16) Additionally, programming language reference materials, especially language dictionaries, are of little assistance in that resources targetting the programming community tend to present code examples in isolated, small examples which are focused on a single concept or a single language construct.(17) This isolation removes code from context as well as code from feedback, and thus further fragments the programming/learning to program process by resulting in a critical lack of understanding of how intentions become pseudocode, and how pseudocode is translated into valid but rigidly syntactic computer language. Hence, both the traditional programming references as well as the nature of the programming language itself can result in the novice/non-programmer failing to develop an understanding of how the subcomponents of computer programs relate to one another and to the program's overall objectives.(18)
As an example, to set the label of a button, a traditional [object oriented] programming language would require the user to write
firstButton= new button
firstButton.label = "push me"
Whereas an authoring system/programming environment which utilized a language with natural-language properties would require the user to write
set the label of button 1 to "push me"
Two things should be immediately apparent when comparing the two sets of code: first, the traditional language required two lines of code whereas the natural-language language required only one, and, second, the natural-language code style mimics the way humans think (and, additionally, would be rather similar if not altogether identical to the pseudocode describing said action). This short example is indicative of the power of a non-traditional programming language using natural-language properties to capitalize on the novice/non-programmer learner's innate capacity for natural human language as an anchoring or scaffolding strategy in learning a development environment's programming language.
A second large obstacle facing the novice/non-programmer is the absence in many development environments to provide visual or otherwise obvious “one-to-one mapping between what they write or see (in the code) and what the system is doing as a result”(19) in the midst of a programming activity. This suggests that visual and visually-oriented programming environments such as Hypercard, Flash, Dreamweaver, VisualBasic and various iconic-flow programs would lend themselves well to the non/novice programmer by providing visual and metaphoric mappings or models of the programming environment which link code and output.(20) A wealth of literature exists documenting the importance of appropriate metaphor, visualization and natural-language environments in making programming an embraceable opportunity for the novice/non-programmer and will not be repeated here. The question here is whether or not Revolution is an example of that desired category of programming environments.
What is Revolution?
Revolution is very similar to Apple's Hypercard in that it is an object and media-rich, event-driven development environment which utilizes a natural language-like scripting language at its core. As in Hypercard, the metaphor in use for application development is the one of a 'stack' of cards. A 'stack' is a series of cards presented in a window. A stack can contain other stacks; additionally, two or more stacks can be deployed simultaneously in two separate windows. If the “stack-card” metaphor seems a bit dated, feel free to think of a “stack” as an application, and a “card” as a particular screen or window view (indeed, the need for retaining the stack-card metaphor and language elements is due to the company's wish to ease the transition of previous users of Hypercard and Supercard to allow them to import pre-existing “stacks” made with those products with only minimal scripting changes needed). Additionally, Revolution provides a wide variety of pre-made interface elements, from various button types (including menuing elements)to different text fields to graphics, movie objects (linked to QuickTime movies), image areas (for bitmapped graphics) and, within variants of *nix, vector graphics which the user may add to their project by a drag-and-drop methodology from Revolution's tools palette.
In sharp contrast to web-based documents, it is very easy to bring the application to life. Simple actions can be assigned directly to any of those elements with Revolution's language scripting language, thus reinforcing the concept of objects which exhibit event-driven behavior via the pedagogically sound method of linking code and output.
For instance, in a simple navigation system within a stack, the stack developer might wish to provide forward and backwards navigation buttons. Using Revolution, the procedure would be to drag-drop the button type of choice to one's open stack, then double-click the button itself directly to access a script window allowing the developer to assign the following scripted behavior (note: all text following “--” is commentary to the preceding code; the “--” tells the underlying engine to ignore anything following it on any given line):
on mouseUp –-the event precipitating the action
go next card –- the behaviour to be performed by clicking
end mouseUp –- the end of this particular action
Thus, in the above example, we have visual objects that the learner can manipulate, a direct object-action mapping paradigm linking code, object and outcome, and, additionally, by switching mode within the development environment from development to user/test mode (Revolution does not require a program to be compiled for testing, or, indeed, even end user use purposes), the learner can immediately test his/her efforts and receive valuable feedback which can serve to reinforce learning.
This is in stark contrast to authoring environments which utilize more formal programming languages: Richard Decker (of Analytical Engine fame, 1990) has noted that “even students with very good quantitative skills often expend more energy learning where semicolons belong than they do mastering the concepts.”(21) Decker's initial efforts involved a “best approaches” look at the single, terminal, university-level course in computer science which targets the non-computer science major. His findings suggest that visually-oriented authoring environments such as Hypercard or Revolution with natural-language like scripting languages support learning in that novice/non-programmers “want results, and we feel that at the introductory level this is an entirely appropriate point of view.”
Furthermore, by engaging in even such a simple programming activity as that noted above, the direct and immediate feedback can provide a sense of accomplishment(22) that not only is encouraging for the new/non-programmer, but also is an example of “actually completing assignments... that require technology skills” that Efaw (2005)(23) has noted as being one of two critical elements for successful implementation of technology in the classroom.
Meaningful interactivity, however, requires more than simply creating “go next” buttons that mimic using the space bar in a PowerPoint presentation. More complex interactivity can be created in Revolution by using what is called “branching constructs”; these provide different paths of action for the end user/student and can also be achieved using, again, natural-language constructs:
on mouseUp
answer “What do you want?” with “Coffee”, “tea” and “me”
if it is “Coffee” then –– user clicked Coffee
answer “Bad for your health” –– new dialogue box
end if
if it is “tea” then –– user clicked tea
answer “High in antioxidants!”
end if
if it is “me” then –– user clicked me
answer “I'm taken!”
end if
end mouseUp
In the above example, if-then and if-end if structures are used to provide branching for interactivity. The answer- with command produces a dialogue box with the button choices specified in the remainder of that line of code (up to 7 such choices are supported) whereas the answer alone command provides a dialogue box with the text specified.
Thus, on the surface, Revolution works much like the easy-to-use interface and application builder that Hypercard was. It is very similar. However, Revolution takes the Hypercard paradigm several steps forward. Recall some of the disadvantages of Hypercard: limited graphics support, practically nonexistant color support and the inability to deploy creations to the Windows operating system. Conversely, Revolution supports the major graphics file formats (TIFF, PNG, JPG, GIF etc.) as well as provides modern color support. Additionally, Revolution breaks the platform barrier by allowing a stack developer to deploy his or her creations onto the current major operating systems – Mac OS 9, Mac OS X, Windows Vista and XP, and a number of unix variants. Moreover (and very unlike Hypercard, which provided user interface elements that in some instances weren't even in compliance with Apple's Human Interface Guidelines -- HIG -- for the time), the Revolution engine creates interface elements that are HIG-compliant for every platform supported without any work required by the stack developer.
It sounds simple, and, for you, the potential developer of educational learning objects, it is simple, but what it means is quite extraordinary. You could even start making shareware applications that not only run in the Mac OS, but also in Windows, IRIX, Solaris, and more. And in case you prefer to impose your own style rather than follow the OS native ones, you are free to create windows of any size and shape or create widget-like applications translucent backgrounds. Moreover, with respect to the issue of distribution and reuse of learning objects, Revolution provides the free and easy ability to upload your stacks to a common and freely accessible server from within the program's IDE (integrated development environment), another successful strategy for assisting educators to infuse technology in the classroom.24
Revolution is thus a write-once, run-anywhere format. For the capital outlay of less than US$100, users can distribute their application in a format that requires a player. However this player comes for free and exists for any of the most common operating systems. For a heavier price tag, you can compile your stack and transform it into a native executable application that runs on those same operating systems, thus eliminating the need for a player engine. All you need is a license that allows you to compile for the appropriate OS. In other words, the potential audience for any of your applications can be almost infinitely expanded, literally at the click of a button.
Moreover, and important with respect to the popularity of learning objects and building collaborative repositories for the same, in addition to the ability to upload learning objects to Revolution's publicly-accessible server, uncompiled Revolution stacks allow new users or fellow developers the possibility to modify the existing learning object or repurpose useful code modules used within the learning object. This results from the uncompiled nature of the Revolution stack which provides not only full access to underlying code attached to specific objects, but also the ability to simply copy-paste useful objects and code between learning object stacks. Thus Revolution is not only learnable, but its IDE or integrated development environment actually supports as well as encourages learning and the ability for code modification/reuse directly.
Advanced Features
Revolution also provides solutions for more complex visual and audio representations of information. It has functions that give you formatted display of HTML or RTF content; spreadsheet/table fields; MIDI music file creation and playing; new sound-recording architecture; support for the parsing and creation of XML documents; Unicode text entry and text manipulation; instant access to web protocols like HTTP or FTP, and TCP sockets; almost instant access to SQL databases; and calls to the system shell. As an example, it has the ability to read a web document using the simple single line of code get url "google.com". Similarly, external web files can be linked to within Revolution using the simple bit of code go url "http://google.com", which launches the end user's default web browser and, if the computer has an active internet connection, directs the web browser to the specified site.
Revolution is also adept at text handling, largely because it does not utilize typed data that most formal programming languages use. For example, in a formal programming language, data must be declared to be boolean, integer, floating and strings. Failure to correctly indicate the data type can lead to the program not working. However, in Revolution, there is no need to declare data types: Revolution simply examines the data in context and chooses the correct form of treatment. Hence, in Revolution, “two” is the same as “2”. To put in a scrolling list field the data corresponding to the fourth column of data of a csv file exported from Excel, nothing more is needed than
repeat for each line l in file url "my.home.page—my_data.csv"
put item 4 of line l after field "the data"
end repeat
Revolution can also handle regular expressions. All tag names in a XML document can be found with the instruction
get matchtext(the_text, "<([^> ])+", the_match)
Regex and CSV and XML, oh my!
What's all this incomprehensible stuff about csv formats and regular expressions and text handling? Don't worry – if you don't need it, you don't need to know about it to use Revolution. But it's nice to know that, should you, the now novice/non-programmer, ever decide to spend a half-decade pursuing a degree in computer science, you won't necessarily feel the need to pitch Revolution overboard because it can't do “real” programming. For instance, recall the earlier example touting the simplicity and intuitiveness of Revolution's use of the if-then and if-end if constructs? Here's a secret: “real” programmers largely hate these constructs for being too verbose; they like “case” and “switch” statement constructs. Revolution isn't particular about which you use; use whichever is most within your comfort zone. Just keep in mind that being able to build something functional, polished, and impressive on, say, your Mac and hand it over to your, say, Windows or Linux-using (or, vice-versa) students and colleagues comes at the educationally-attractive price of ~US$50 (for Revolution Media, which also comes with pre-built templates, including games).
Conclusion
When Apple stopped supporting Hypercard, Educators were forced to moved on. Some moved to Macromedia Director or Flash, others to REALbasic, and, increasingly, many others to Microsoft's FrontPage and PowerPoint. But of the latter two, one still requires the mastery of complex language solutions and the second is lacking in interactivity. Somehow, the complexity or limitations of the “solutions” currently in use by and for educators seem to have put an end to educator's efforts and abilities to develop clever applications for use in the classroom. We sincerely hope that Revolution will re-energize them. The Revolution development environment is a breakthrough for anyone who writes and designs computer software. Revolution enables developers to easily and quickly create powerful Internet-enabled applications and solutions which can be delivered on Linux, Mac OS X, classic Mac OS, Windows, and popular UNIX systems. This makes it ideal for the education market.
Notes
(1) Green, K.C. (2003). The 2003 Campus Computing Survey, http://www.campuscomputing.net (accessedApril 2, 2007).
(2) Moser, F. (2007), Faculty Adoption of Educational Technology. Educause Quarterly (1)2007, p. 66. This particular article deals with faculty adoption of digital tools for learning in higher education.
(3) D. Staley (2004), Adopting Digital Technologies in the Classroom: 10 Assessment Questions, Educause Quarterly (3)2004, pp. 20-26.
(4) Ibid, p. 23.
(5) C. Perry (2004), Information Technology and the Curriculum: A Status Report. Educause Quarterly (4)2004, pp. 28-37
(6) Ibid, p. 30.
(7) Ibid, p. 31. Perry citing K. Gustafson, The Impact of Technologies on Learning, Planning for Higher Education, 33(2), pp. 37-43.
(8) Whitehouse, K. (2005). Web-Enabled Simulations: Exploring the Learning Process, Educause Quarterly 2005(3), p. 20.
(9) McLuhan, M. and Fiore, Q. (1967), The Medium is the Message: an inventory of effects.
(10) Ibid.
(11) Ibid, p. 23.
(12) Mayer, R. (1981). The Psychology of how novices learn computer programming. ACM Computing Surveys 13(1), 121-142.
(13) Smith, D., Cypher, A. & Schmucker, K. (1996). Making programming easier for children. ACM Interactions 3(5), 58-68.
(14) Bonar, J. & Soloway, E. (1983). Uncovering principles of n ovice programming. Proceedings of the 10th ACM SIGACT-SIGPLAN Symposium on Principles of Programming Languages, 10, 10-13.
(15) Smith, D., Cypher, A. & Schmucker, K., op cit.
(16) Green, T. (2001). Instructions and descriptions: some cognitive aspects of programming and similar activities. Proceedings of the working conference on advanced visual interfaces, 21-29.; Barr, M., Holden, S., Philipps, D. & Greening, T. (1999). An exploration of novice programming errors in an object-oriented environment. SIGCSE Bulletin 31(4), 42-46.
(17) Neal, L. (1989). A system for example-based programming. CHI'89 Proceedings, 63-68.
(18) Guzdial, M. (1995). Centralized mindset: a student problem with object-oriented programming. SIGCSE'95, 182-185.
(19) Ramadhan, H. (1992). An intelligent discovery programming system. Proceedings of the 1992 ACM/SIGAPP Symposium on Applied Computing: technological challenges of the 1990's, 149-159.
(20) Smith King and Barr, 1997
(21) Decker, R. and Hirshfield, S. (1990), A Survey Course in Computer Science using Hypercard. Proceedings of the twenty-first ACM-SIGCSE technical symposium on computer science education 22(1), pp. 229-235.
(22) Decker, ibid.
(23) Efaw, J. (2005) , No Teacher Left Behind: how to teach with technology. Educause Quarterly 4, 28-29.
(24) Efaw, op cit., 30.
About the authors
Judy L. Perry (BA History; MPA Public Administration; MSIDT Instructional Design and Technology, CSU Fullerton). Judy is currently a lecturer in the Computer Science Department at California State University, Fullerton.
Marielle Lange (BSc Psychology, Bruxelles; M.Phil Biology, Cambrdige; PhD Psycholinguistics, Bruxelles). Marielle has recently moved into custom software development after a decade of study, research and lecturing at Cambridge University and University of Edinburgh. She is especially interested in the creation of educational tools, with, for instance, the development a webmuseum of perception and cognition that received an award for best educational website (NAWeb 2000).
Subscribe to:
Posts (Atom)















