New HyperCard Products
By Fred Stauder, Contributing Editor
HyperChat is a new section of MacTutor which will bring you new hypertalk programming techniques and lead you into the realm of User Friendly Programming.
Each month we aim to inform you of the latest developments in the Hypercard Community, such as new products, ScriptTips, XCMDs and Articles. I am sure you will enjoy HyperChat as much as we enjoy bringing it to you.
Is Hyperware Vaporware?
At the introduction of Hypercard there was much enthusiasm from the Mac Community, also an outcry from the developers who saw some of their plans dissrupted. What was Apple trying to do? Is this system software? Did people scream out when MPW was introduced? Of course not, it was a tool to be used by developers. Apple has positioned Hypercard the same way, as a tool. There is a difference though in that Hypercard is the tool for the rest of us.
Are you having a DejaVu? A lot of people laughed at the Mac when it was introduced. How can this toy do real computing? How can you do a real application with Hypercard? Now we have seen an explosion of Stacks for Hypercard. Take a look at them; a good proportion are garbage. Look at many of the early programs on the Mac, were they not also garbage? I believe it is only a teethingproblem. Now take a look at two professional programs written in Hypertalk, Buisness Class, and Focal point. There is a market for Professional Hypercard Stacks, there is no market for garbage. The sales of these stacks has been remarkable. People are finding them very productive to use in their daily lives. Hypertalk is not a passing phase, just as the Mac wasnt, it will continue to evolve and grow. Why should programmers be scared of this new thing? Hypercard will give you more oppotunities, it will allow you to do some look and feel tests before you write code. You can also do quick jobs that would just take too much time to write in another way for them to be economical. It is also very useful to doccument and spec out projects. A famous Australian expression is; youll never know unless you ava go.
If you think it too beneath you to program in Hypertalk look at the people who use it, including Bill Atkinson the visionary who wrote Hypercard. Many of us are caught up in the investment time it takes to learn a language, so to go to another one we percieve as a loss. Our aim should be to hack concepts and ideas instead of syntax.
Hypercard at MacWorld: San Fransisco
Hypercard made its commercial debut at MacWorld, with the introduction of dozens of commercial stacks, books and publications.
One of the hilites of the show was seeing Bill Atkinson demonstrate Hypercard. It was such a joy to watch the audience come alive with such enthusiasm. Bill was lucky though because he had the help of the youngest HyperHacker, his daughter Laura (you probably have seen her digitised photo in the slide show stack that came with Hypercard).
Laura would yell out the command keys to her dad to make him get to the good bits faster.
After Bills talk I spoke with Amanda Goodenough who wrote Inigo Gets Out, Inigo Takes a Bath, and Your Faithful Camel(for those of you who have not seen them these are a great example of childrens stacks). Amanda told me how young kids are taking to Hypercard. Using their active imaginations and the multi dimensions of Hypercard to create wonderful things. [One of the best ways to test your software is to let children try it. They will quickly point out conceptual inconsistancies.]
Later on Laura Atkinson was using a MacRecorder to input sound into Hypercard. It was such a joy to see a young child doing, without much assistance, what MIS managers with their multi million dollar computers, cant do.
A lot of people were talking about the limitations of Hypercard. Well I suppose everyone has forgotten that Apple did listen to the users about the limitations of the Mac.
I think the Mac II is a good response to peoples needs. My advice is good products take time; be patient.
There were too many things to mention them all so I will give examples of what I feel are the most innovative.
Focal Point and Business Class
If you havent seen these stacks; you should. Danny Goodman did a remarkable job developing these stacks during the time of quite a few revisons of Hypercard. I wont go into details, but I would like to point out that these professinal stacks made a big impact at MacWorld SF.
Farallon has released the MacRecorder with two programs, SoundEdit and HyperSound. These two programs are very good examples of what should be done to make a good interface; clean, simple, and a pleasure to use. Written by Steve Capps and the Farallon team. HyperSound lets you record a sound and place it directly into a stack, ready to play. (see HyperTests)
This new version of Tempo is a much more powerful version of the original.
With an XCMD called PostEvent written by Dewi Williams you can call a Tempo II macro directly from hypercard, run the macro, and return control to hypercard. This allows you to automate things that you always wanted to do. Such as issuing click commands for dialog boxes. Hypertalk wont allow you to invoke desk accessory menu items via doMenu. This can be done now with a simple macro.
PostEvent can also be used with Quickeys.
Some people may have missed this item at MacWorld Expo in SF and if you did it is a pity.
It is based on Bright Star Technologys real Time Animation and Vivification Engine, the RAVE, and its RAVEL language. It drives a face in Hypercard that will mouth the words from ASCII text, and simultaneously speak the text. The power of this language is amazing. The images are digitized (the one in the figure is of yours truely) with a video camera.
The number of images used for the phonemes can be as few as 5 images or for greater precision 50 or more. Ravel allows color images as well, and is language independent. For example if you can have French text typed in and you will see your face move to French words. Bright Star have produced some applications for teaching purposes. The potential of such technology holds a bright future for Bright Star.
Hottest Development Stack
Developer Stack 1.1, written by Steve Drazga, contains, XCMDs, XFCNs, Scripts, and a bunch of other goodies. It is designed to be a resource for Hypercard development. The interface is very clean and not cluttered like some other Hypercard Development tools (In most cases when you design Stacks; more is not better). Steve is developing an upgrade stack that will update the Developer Stack. This Stack is available on most Bulletin Boards and from user groups.
Most Useful XCMD
ResCopy written by Apples XCMD Guru Steve Maller is a utility that allows you to copy resources from one file to another directly through a dialog box or by using scripts.
ResCopy works in a similar fashion to the Font/DA mover. You call install ResCopy into your home stack typing ResCopy into the message box brings up a window (see figure 6). You can copy, remove, rename, renumber resources, and play sounds. One really useful feature will allow you to convert different snd resources to Hypercard format.
ResCopy allows direct resource copying from scripts. This is useful, for example, if you want to install a cursor or other resource into the Home Stack. The copying takes the form:
ResCopy fromFile, toFile, XCMD, 10000.
This XCMD is a must for Hypercard developers.
The first ScriptTip allows you to edit the script of a stack, Background, Card, Field, or Button. You can put this script into the Home Stack so it can be used in all stacks. To edit a button or a field hold the mouse button down over a field then move the mouse up with the button still depressed. The script editor will then be envoked. To edit a stack script choose part of the card that does not have any buttons or fields then move the mouse to the top of the card, (or past it if you have a large screen) while holding down the mouse button. To edit the background script, move to the left of the card with the mouse button down, and to edit the card script move right. I have found it helps when you are debugging and it will work in most stacks.
-------------- AutoScriptEdit by Fred Stauder ----------
-- Put this Script into your Home Stack
-- To use keep mouse down over Button or Field and move mouse up
-- To edit Bkground Script keep mouse down - move to very left of card
-- Card Script - move right
-- Stack Script - move up
set cursor to 4
put char 6 of the target into C6
if C6 is quote then AutoScriptEdit
if C6 is i then AutoScriptEdit
if C6 is quote then exit mousestilldown
if C6 is i then exit mousestilldown
if the mouseV <item 2 of rect of target then edit script of target
if the mouseH < 2 then edit script of this bkgnd
if the mouseH > 510 then edit script of this card
if the mouseV < 2 then edit script of this stack
-- Non-Comercial use only - All Rights Reserved
-- Fred Stauder, Hypercard Editor, (HyperChat) MacTutor March 1988
This second ScriptTip is a convenient method to bypass a card that is not normally important for everyday use, such as an about card. It is also a good place to hold information that the user does not have to see. You can easily set a flag to access the card when you want to get information from it.
------------ HideCard by Fred Stauder ----------
-- This script allows you to hide cards
-- For example an about box card
-- It does not completely hide the card it just passes it
-- Put it in to the Card Script
if the optionkey is down then exit opencard
-- put in any type of flag eg:
-- if FlagUnLock is true then exit opencard
if the number of this card >the number of recent card ¬
then go to next card
if the number of this card <the number of recent card ¬
then go to previous card
-- Non-Comercial use only - All Rights Reserved
-- Fred Stauder, Hypercard Editor, (HyperChat) MacTutor March 1988
Farallons MacRecorder, HyperSound, and SoundEdit
The MacRecorder is a sound digitizer that is slightly larger than a mouse. it draws iss power from the serial port, so there is no power supply needed. It has a built in microphone, mic jack, line jack, and volume control. Using two units you can record in stereo. Beeps sound incredible going from one speaker to the other. The MacRecorder is packaged in a handy bookshelf box containing, a MacRecorder, cables, a great manual which includes theory of sound, and three disks.
Hypersound is a hypercard stack that looks like a tape recorder and best of all acts like one it is a very simple stack and a good example of a clean interface. (see figure 7 next page)
First you check the input level and adjust the volume control on the recorder. Then all you have to do is hit the record button and the sound will be recorded as a snd resource. There is a button that allows you to copy the sound to a stack. You choose the stack, the snd is copied and a button is created that plays the sound. There is a button that launches the second program of the package; SoundEdit.
SoundEdit allows you to edit sounds in a very natural manner(see figure 8), such as copy and paste if you have a color monitor you can take advantage of it by coloring particular bits of the sound waveform.
There are many different effects from echo, to a graphic equaliser filter. Naturally you can record with SoundEdit and you can store sounds in many forms as well as hypercard, including, VideoWorks, JamSession, and StudioSession.
Farallon pioneered the use of Hypercard to demonstrate products. They developed a stack called The PhoneNet Demo Stack which is an interactive stack wich uses sound to hilite the demo. Developers are now seeing the merit in putting help stacks with their products, and also using Hypercard to Demo some of the product functionality without releasing a crippled demo version. This way you can guide your audience to the features without them having to blindly explore on their own.
Two other stacks are included in the MacRecorder package one is called MacRecorder which is a guide and includes some good sound examples.
The second is a stack called MacRecorder Applications and this shows examples of applications that can be made with sound. A good example is a face and as you click on parts of the face, up comes the name in English and French and you here the French word Spoken. Dont get your hopes up too high, nobody yet, has written a script that will allow you to speak into a MacRecorder in English and have the sound come out in French.
If you are planning on doing any serious Hypercard development I would recommend the MacRecorder package from Farallon it is one of the most professional packages I have seen and at under $200 it is great value.
Please send your ScriptTips, Stacks, HyperArticles, Comments, and Ideas to:
Applelink D0280 for fastest turnaround or
|Ecofin Research and Consulting
|Zurich 8002 Switzerland
or to the MacTutor office.