[comp.sys.mac] HYPERCARD

peter@yetti.UUCP (Runge) (08/12/87)

In article <1947@batcomputer.tn.cornell.edu> chow@tcgould.tn.cornell.edu (Christopher Chow) writes:
>
>I stumbled upon the following on Delphi recently:
>
>
>MacWorld Expo/Boston Daily Summary Report / Preview
>
>Sunday, August 9, 1987
>RUMORED: HyperCard (sometimes called WildCard), will SHIP at the show.  This is
>a new product from Bill Atkinson that Apple is expected to bundle with every
>Mac sold.  We did notice that in the show guide, the following appeared in the
>description for Bantam Electronic Publishing, booth 657:
>
>  * THE COMPLETE HYPERCARD HANDBOOK by Danny Goodman.  A comprehensive guide to
>using and programming HyperCard.  Includes the only documentation available on
>HyperTalk, the program generating language for HyperCard.
>
I assume that Hypercard has been announced at the show by now, and that I
won't be stepping on any Apple corns if I post a few comments.
Having spent the last two days happily immersed in HyperCard, experimenting 
and building small examples, I can say that Goodman's book, at least the
draft I'm using, while well-intentioned, is not really up to the splendid
conception of the product itself.  Luckily the on-line help is really
nicely done, and as usual, you learn a lot by studying other people's
working scripts, especially as the system is designed to be re-constructable
in di Sessa's sense, so that rather than typing code, you are modifying
the results of cutting and pasting from an (already) rich assortment
of usable stuff.  I certainly hope the nifty (and complicated looking) examples
at the end of the Hypercard User's Guide will be on the disks.  Otherwise
almost instantly, someone will be bugging the Net to see if those stacks
have been posted.

I understand that HyperCard is being bundled with new Macs -- very clever!
Remember what MacPaint did to convince people to buy Macs in '84? However,
now there's a large crowd of existing Mac owners, and I don't see how it
will be possible to keep them from getting their hands on
HyperCard even if Apple decides to try to charge them for it. 
It's hard to imagine that anyone with a MacPlus or better would want to do
without it.  So I hope Apple will not try to stem the tide, and just let it
all flow out to a world thirsty for hypertext.  

>  * BUSINESS CLASS by Danny Goodman.  HyperCard stackware
>
I can think of at least 3 good reasons why HyperCard businessware won't
amount to much (for one, too many will wait for IBM to announce that
hypertext products will be available under the Presentation Manager in
'89 :-); for the other 2? well, of course, that would cost you!), and
the predictable pooh-poohing from "industry watchers" can be discounted.
It's those of us in the educational market who are going to have the
real fun with this product, and that's going to make the market for
"the rest of them" and sell a lot of Mac hardware to boot. 

The question now is -- what happens to Intermedia, and Boxer? and
in  general, all those neat systems running on Suns,
Apollos, RTs, Symbolics etc., which are unaffordable for most individual users,
and for most schools too, (particularly when it comes to equipping labs for
undergraduates)? Are they still interesting? Is the extra power of those
systems worth the enormously greater cost? 

And should one shed a tear for the authors of Course Builder ($299 US)
and Owl/Guide ($335)?? (see August Byte, page 263) It must be painful
to be wiped out by software that's not only better but (almost) free.
                        Peter Roosen-Runge
			...!mnetor!yetti!peter
	          or    CS100006@YUSOL  (NetNorth; BITNET)

		        Dept. of Computer Science, York University
                        4700 Keele St., North York (really Toronto), 
                        Ontario M3J 1P3


"Who is it that speaks? It is the Logos that speaks.  It is the universe
that speaks and we are the machines to translate the universe."
            Alfred Tomatis, 1978, quoted in MUSICWORKS 35
-- 
                        Peter Roosen-Runge
			...!utzoo!yetti!peter
	          or    CS100006@YUSOL  (NetNorth; BITNET)

		        Dept. of Computer Science, York University
                        4700 Keele St., North York (really Toronto), 
                        Ontario M3J 1P3



"Who is it that speaks? It is the Logos that speaks.  It is the universe
that speaks and we are the machines to translate the universe."
            Alfred Tomatis, 1978, quoted in MUSICWORKS 35

korn@cory.Berkeley.EDU (Peter "Arrgh" Korn) (08/12/87)

Imagine if you will a window that looks kinda like a finder window--it's
filled with icons.  One of these icons is a mini-phone book.  You open
it (single click), and are looking at a record in database; fields for
area code, state, and cities that share that area code.  You choose 'find'
and search for 'Pouhkeepsie', and in less than 1 second see a new record,
with '914' as the area code, 'New York' as the state, and a whole bunch
of cities in the cities field ('Poughkeepsie' is hilited).  You then click
on the phone book icon in the upper right hand corner of this window, and
are now looking at you phone list, with the first friend of yours who
lives in Poughkeepsie's phone number and address in the fields of this 
window.  Click in the 'dial' box, and you're dialing his/her number from
your modem.  Click on 'b-day song', and your mac will play the 'snd ' resource
that you recorded with SoundCap's digitizer (you'll have to manually mve
the phone pickup close to your mac's sound output).

Sound like a program you might want?  How much would you pay for such a thing?
But wait, there's more.  The program allows you to add new 'cards' at will,
and can handle an unlimited number of them.  Now how much would you pay for
such a thing?  But wait, there's more.  You can graphically edit any card
with editing tools far more powerful than those in MacPaint.  Now how much
would you pay?  But wait, there's more.  You can have the program plays
sounds you digitize with SoundCap at the touch of a button.  Now how much
would you pay?  But wait, there's more.  You can use the built-in pascal-like
programming language to make a card do most anything you wait, including
creating you own custom pull-down/tear-off menus.  Now how much would you
pay?  $395?  $595?  $895?  $1,495?        But if you act after August 15th,
you can have all this free with purchase of any macintosh.  All other macintosh
owners can purchase it at the introductory price of $49.95.  All purchases
bewteen now and eternity come with 3 disks filled with pre-written 'cards'
(stackware), including a notebook, calendar reminder, area-code lookup, and
much much more.



And I'll bet you thought that the reason all those third-party developers
were getting angry at Apple was because of 4th dimension...


Disclaimer:  All comments about pricing, third-party ire, and availability
	     are all based on rumor or conjecture.  The features I described
	     are all features I saw in the prewritten stackware that was
	     running on the machine I saw HyperCard running on, or were
	     things I felt I could fairly easily add to the program (take
	     me 1-4 hours).
--
Peter "Arrgh" Korn
korn@ucbvax.Berkeley.EDU
{decvax,dual,hplabs,sdcsvax,ulysses}!ucbvax!korn 

sysop@stech.UUCP (Jan Harrington) (08/18/87)

I made a quick telephone survey of the Apple dealers in the Boston area.
Though Apple insisted that Hypercard would be available this week, most
dealers are saying "two weeks".  One dealer did say that he expected it
Friday or Monday.  In other words, it seems to be "in the mail" ...

Jan Harrington, sysop
Scholastech Telecommunications
seismo!husc6!amcad!stech!sysop

dtw@f.gp.cs.cmu.edu (Duane Williams) (08/29/87)

The most striking thing about HyperCard is its non-standard user interface.
By encouraging people to develop applications with HyperCard, which allows
the programmer to paint the screen to look however he likes, Apple is
effectively abandoning the User Interface Guidelines, which, in my
estimation, is one of the major contributors to the success of the Mac.  I
am not too surprised to see this from Atkinson, who also wrote the non-
standard MacPaint.  I guess he just doesn't understand the value of a
standard user interface.

It is very annoying that the print stack command from the File menu doesn't
let one specify the range of cards to be printed.  It is very annoying that
HyperCard does autosaves--another non-standard "feature".  Why aren't there
Save and SaveAs items in the File menu?  I've already destroyed and had to
restore several stacks while demoing HyperCard because of the non-standard
autosave "feature".  It is also annoying that HyperCard doesn't have a way
to easily create new menus--at least there's no hint in the Help stack about
how to do it.

I suspect that the reason people are so awed by HyperCard is that they
simply haven't seen a program like this before--which is not to say that
there haven't been programs like this before.  Once they get over the
initial "surprise" they are going to find out that it really isn't so great.

Duane Williams
dtw@me.ri.cmu.edu

dtw@f.gp.cs.cmu.edu (Duane Williams) (08/30/87)

In my previous post, I complained about the fact that HyperCard applications
(at least those released by Apple as examples) don't have a standard Mac
interface.  Now I want to say how I think HyperCard should have been.

As I already mentioned, there should be a convenient way to create menus for
a stack of cards.  It should be possible to create them in response to the
startup message to a stack.  It should be possible to replace any of the
existing HyperCard menus or individual items.  It appears that one can
already handle menu selections by trapping the domenu message with a
handler.  Applications designers should be discouraged from hiding the menu
bar, except during startup screens.

Commands that are currently accessible only through menu selections should
be made available as functions, e.g. newcard.

HyperCard needs windows!  Each stack should be represented in its own
standard Mac window (i.e., resizeable, moveable, scrollable, etc.).  The
user should be able to open and work with several stacks at the same time.
This would be especially nice on a large screen display.  Designing the
contents of the window could work just the way laying out backgrounds and
cards on the full screen does now, but the design would be done inside a
window.

The effect of the above suggestions would be to make it possible, indeed
to encourage, HyperCard applications that looked like, and worked like,
standard Macintosh applications.  I don't see that much, if anything, would
be lost in the ease with which HyperCard applications could be built.  I
can't imagine why Apple didn't do it this way.

Duane Williams
dtw@me.ri.cmu.edu

sho@tybalt.caltech.edu.UUCP (08/31/87)

Could you imagine a CD-ROM disk similar to Microsoft's Bookshelf which
stored information as hypercard stacks?  You could have a dictionary
from which you could cross-reference to a thesaurus.  Books like the
Chicago Manual of Style could be done in a big information tree like
the Hypercard help.  Other references like the rumored atlas stack
could also be included.  You could have an Encyclopedia complete with
pictures.  It seems to me the only problems which would arise would
come in interfacing these stacks to other programs.  I have no idea
what the internal representation of Hypercard stacks is, so I don't
know how difficult it would be to modify spelling checkers to look up
their words in Hypercard stacks, etc.  The possibilities are scary.

Also, could you imagine these works on a color version of Hypercard?
It's not the flasiness of color that I am drooling over, but the added
clarity one can achieve in digitized pictures by using more grey
scales or shades of color.  

On a side note, what kind of stacks are people working on?  I myself
chose a rather boring idea for a first stack.  I wrote a simple thing
to keep track of my records and CD's.  Haven't thought of what do
next, though.  I'm rather interested in how diverse people's stacks
will be.  After all, the power, diversity, and sheer number of stacks
floating around is what will eventually determine the usefulness of
Hypercard.

						-Sho

graifer@net1.UUCP (08/31/87)

In article <3840@cit-vax.Caltech.Edu> sho@tybalt.caltech.edu.UUCP (Sho Kuwamoto) writes:
>...
>On a side note, what kind of stacks are people working on?  I myself
>...
>						-Sho


How will HyperCard react to a really large stack?  Most of the the examples
distributed are fairly small (except for the help stack).

I have a database that doesn't have the connectivity I would like that I
thought about doing in HyperCard.  My friends and I have been doing blind
beer tastings once a month since 1982.  The database has about 400 beers, 
and the ratings file is getting large: (~60 meetings X ~10 people X ~15
beers = ~9000 records).  Is HyperCard going to choke completely if I try
to put this up?  I would like to be able to ask questings like: How has
a particular beer's rating been affected by the rating/characteristics
of the previous beer that meeting?

Anybody seen a ~10K stack on plus?

Thanks for all your advice in advance...
                              Dan Graifer
                              graifer@net1.UCSD.EDU
Disclaimer: Nobody ever listens to me anyways; Why should they start now?

donahue@artecon.artecon.UUCP (Brian D. Donahue) (08/31/87)

In article <3766@sdcsvax.UCSD.EDU> graifer@net1.UUCP (Dan Graifer) writes:
>How will HyperCard react to a really large stack?  Most of the the examples
>distributed are fairly small (except for the help stack).
>
>I have a database that doesn't have the connectivity I would like that I
>thought about doing in HyperCard.  My friends and I have been doing blind
>beer tastings once a month since 1982.  The database has about 400 beers, 
>and the ratings file is getting large: (~60 meetings X ~10 people X ~15
>beers = ~9000 records).


Is that ~15 beers per person?   Yeah, count me in.. :)

I know nothing about Hypercard, but the club sounds like a damn good idear.


-Brian				seismo!esosun!artecon!donahue

beloin@batcomputer.tn.cornell.edu (Ron Beloin) (08/31/87)

In article <3766@sdcsvax.UCSD.EDU> graifer@net1.UUCP (Dan Graifer) writes:
>
>How will HyperCard react to a really large stack?  Most of the the examples
>distributed are fairly small (except for the help stack).

The Point Foundation (Whole Earth Catalog folks) are putting the
entire catalog into HyperCard. Someone told me that at the Expo
they had about 17Meg completed, although I don't know if that was
many stacks or one stack. Apple no doubt sees this product as a
gateway into the optical disk world (or a similar product, at least)
so my first guess is that it won't choke on a large stack. For
complex searches, you'll have to write the scripts yourself, or
find some written.
Sorry this is all speculation. Perhaps someone has a definitive answer.
 Ron Beloin, Ecosystems Research Center, Corson Hall, Cornell, Ithaca,NY 14853
 >> opinions << BITNET:BELOIN@CRNLTHRY; INTERNET:beloin@tcgould.tn.cornell.edu
 >> are mine << UUCP:{cmcl2,shasta,uw-beaver,rochester}!cornell!tcgould!beloin

t-jacobs@utah-cs.UUCP (Tony Jacobs) (08/31/87)

I friend here at the U transfered a database of about 1000 records of about
1K per record without too much trouble.  If you want more info, I can put
you in touch with him.

sac@well.UUCP (Steve Cisler) (09/01/87)

The stackware I have been working on for about 15 hours is a simple
full text database that can be used to store downloads from Usenet or
any ascii files up to 32K.  I am working on a way of automatically linking
cards with just one button.
By the way, it will be public domain.

emv@pepe.UUCP (09/01/87)

Summary:
Expires:
Sender:
Followup-To:
Keywords:

In article <99@f.gp.cs.cmu.edu> dtw@f.gp.cs.cmu.edu (Duane Williams) writes:
% 
% In my previous post, I complained about the fact that HyperCard applications
% (at least those released by Apple as examples) don't have a standard Mac
% interface.  Now I want to say how I think HyperCard should have been.
% .....
% Commands that are currently accessible only through menu selections should
% be made available as functions, e.g. newcard.

Menu selections are accessible via the command doMenu.  For instance, here's
the script to my "New Card" button:

on mouseUp
   doMenu "New Card"
end mouseUp

By the way, this also works for bringing up DA's - try doMenu "Control Panel"
to see what I mean.  Spaces and dots are significant.  I couldn't find any
way to type an apple in Chicago, so I couldn't try the double-apple DA.

What happens if menu names collide, is there any way to handle it?  More
experimenting seems to be in order.

Edward Vielmetti, U-Michigan Workstation Group, uunet!umix!emv

roberts@cognos.uucp (Robert Stanley) (09/03/87)

In article <3766@sdcsvax.UCSD.EDU> graifer@net1.UUCP (Dan Graifer) writes:

>How will HyperCard react to a really large stack?  Most of the the examples
>distributed are fairly small (except for the help stack).

The quoted limits for a stack are 16 million cards or 500 megabytes.  Obviously
what you are doing will decide which limit you hit first.  Of course, I don't
have any 500 megabyte drives on my system, and havent found a way to split a
stack across multiple disks.  These limits are supposed to allow for the CD-ROM
world in the near future, when these numbers will start to be practical.

> (~60 meetings X ~10 people X ~15 beers = ~9000 records).  Is HyperCard going
> to choke completely if I try to put this up?

If you really want to prove the point, write a stack script that creates n
cards, where n is a suitable integer.  You can easily have the script fill in
a few fields with random words, which you can use to test retrieval.  9,000
sounds like an awfully small number to me - I have Excel databases with more
entries than that running on the Lisa.  The biggest stack (in terms of numbers
of cards) that I have created is about 28,000, but the links were very simple.
Worked fine for what I wanted, which was creating and testing a set of patterns
and their permutations.  The most complex card I have created is one with just
over 300 buttons, but these are split between card and background, and only 
some are active (on top) at any one time, controlled by scripts.

As far as calculation is concerned, you can lock the displayed card on screen
and have a script retrieve all sorts of other cards in the background, perform
calculations (or whatever) and return the answer to the displayed card.  In
other words, you don't see a display of all the intermediate steps (cards), and
this can significantly improve speed.  The most complex I have built to date
has to look at only four or five other cards, and it seems that timing is more
sensitive to what you do with the card than the time taken to retrieve it.  I
have not yet done any timing tests to discover if absolute linking (by card id)
is faster than symbolic linking (by card name) or if card ordering is of any
great importance.  Observation tends to suggest that links are being prefetched
in some way for the currently displayed card.

>Anybody seen a ~10K stack on plus?

I built a stack with a lot of imported bit-maps (paint images) which tops 5
megabytes, in a few hundred cards (I am not on my mac right now and don't have
the exact stats to hand).  This does quite complex retrieval via scripts in
well under 5 seconds per card fetch.  Using a standard Mac Plus with a 20 meg
HD-20 (non-SCSI).

Someone asked what we were doing with stacks.  Well, for fun I am creating a
periodic table that works, but for real I am modeling and prototyping some
interactive interfaces for one of my colleagues.  I am also investigating
the practicality of building a computer-based training tool in it - the issues
here are those of capturing and analyzing user input.  Anyone know the limit
on script sizes?  I don't have the magic book yet.

-- 
Robert Stanley           Cognos Incorporated     S-mail: P.O. Box 9707
Voice: (613) 738-1440 (Research: there are 2!)           3755 Riverside Drive 
  FAX: (613) 738-0002    Compuserve: 76174,3024          Ottawa, Ontario 
 uucp: decvax!utzoo!dciem!nrcaer!cognos!roberts          CANADA  K1G 3Z4

lsr@apple.UUCP (Larry Rosenstein) (09/09/87)

In article <708@umix.cc.umich.edu> emv@umix.cc.umich.edu (Edward Vielmetti) writes:
>
>By the way, this also works for bringing up DA's - try doMenu "Control Panel"
>to see what I mean.  Spaces and dots are significant.  I couldn't find any
>way to type an apple in Chicago, so I couldn't try the double-apple DA.

You can get an apple character with the call numtochar(20).  Therefore, the
statement domenu numtochar(20) & numtochar(20) will try to run the menu
command consisting of 2 apples.

-- 
Larry Rosenstein

Object Specialist
Apple Computer

AppleLink: Rosenstein1
UUCP:  {sun, voder, nsc, mtxinu, dual}!apple!lsr
CSNET: lsr@Apple.com

woody@tybalt.caltech.edu (William Edward Woody) (09/11/87)

In article <1218@elrond.CalComp.COM> anson@elrond.UUCP (Ed Anson) writes:
>When I dial a number, the Mac's speaker makes the right beeping
>noises, which is fun for awhile.  Now, can someone tell me how to connect
>it to my telephone so it will really dial a number for me?  I seem to recall
>that there is a gizmo to do the trick, but I can't remember its name or
>where to get it.
>-- 
>=====================================================================
>   Ed Anson,    Calcomp Display Products Division,    Hudson NH 03051
>   (603) 885-8712,      anson@elrond.CalComp.COM


    If you have touch tone on your telephone, simply holding the handset near
the Mac II speaker (on the lower right hand side of the front of the machine)
will dial your telephone for you.  I discovered this one last night when
my telephone (which normally lives next to the Mac II) was not properly
on the handset.

    This makes additional insentive not to play with Hypercard's dialing
ability without checking that the phone is definitely on the handset.
(I accidently called my girlfriend long distance.  Oh, well.  I did want
to talk to her, anyways!!!   ;-)
    - William Edward Woody                      Mac >> IBM && /|\ && ][n

_____UNTIL 1 SEPTEMBER 1987_____           ______AFTER 1 SEPTEMBER 1987_____
    woody@tybalt.caltech.edu                       Net Address Unknown
    woody@juliet.caltech.edu                    (I hope I get net access!)

        1-54 Lloyd House                            8038 N. Mariposa
        Pasadena, CA 93710                          Fresno, CA 93710
____________________________________________________________________________

keith@apple.UUCP (Keith Rollin) (09/11/87)

>How will HyperCard react to a really large stack?  Most of the the examples
>distributed are fairly small (except for the help stack).
>
>I have a database that doesn't have the connectivity I would like that I
>thought about doing in HyperCard.  My friends and I have been doing blind
>beer tastings once a month since 1982.  The database has about 400 beers, 
>and the ratings file is getting large: (~60 meetings X ~10 people X ~15
>beers = ~9000 records).  Is HyperCard going to choke completely if I try
>to put this up?  I would like to be able to ask questings like: How has
>a particular beer's rating been affected by the rating/characteristics
>of the previous beer that meeting?
>
>Anybody seen a ~10K stack on plus?

10K is nothing to Hypercard. Stack limits are 32K per card, with enough cards
to fill up a 4 gig file. the largest files I have personally seen are over
600K (and performance is pleasingly fast!).

Keith Rollin
Apple Computer.

Usual Apple Disclaimer applies: I just read this cause I don't want to
    do the dishes at home.

jww@sdcsvax.UCSD.EDU (Joel West) (09/12/87)

Borland's SideKick also once came with an adapter that hooks between
the handset of a phone and its cord.  It plugs into the back
of the Mac and provides a tiny speaker so you can hear what's
going on.
-- 
	Joel West  (c/o UCSD)
	Palomar Software, Inc., P.O. Box 2635, Vista, CA  92083
	{ucbvax,ihnp4}!sdcsvax!jww 	jww@sdcsvax.ucsd.edu
   or	ihnp4!crash!palomar!joel	joel@palomar.cts.com

dlt@csun.UUCP (09/17/87)

I was playing around (er ... *developing*) with an existing stack and
went in to Protect Stack and set the user level to "Typing."  Well, it
now seems that I can't get back to anything that will let me set the
user level to scripting once again.  Did I blow it???  I tried entering
the command "set userlevel to 5" in the message box (which seems to be
accepted) but I still don't have sctipting priviledges.  Is there any
recourse?  (If it's in "The Complete HYPERCARD Handbook," I've not
found it.)

Any help will be appreciated.

-- 
Dave Thompson		     uucp:   {ihnp4|hplabs|psivax}!csun!dlt
CSUN Computer Center         phone:  (818) 885-2790
18111 Nordhoff Street, Northridge, CA 91330

kateley@apple.UUCP (Jim Kateley) (09/17/87)

munch...

Hold down the command (open-apple, or cloverleaf, etc) key, and pull
down the file menu.  When you do this, you have access to the 
"protect Stack..." menu item.  Select it and re-set the user
level back to scripting.


-- 

Jim Kateley
Applelink: kateley1
UUCP: {sun, voder, nsc} apple!kateley
CSNET: kateley@apple.COM

Disclaimer: All the usual stuff, I speak for myself, etc...

Remember: When you smile :-), the world smiles with you,
          When you frown :-(, the world thinks you are hung over...

chuq%plaid@Sun.COM (Chuq Von Rospach) (10/12/87)

[Warning: Hypercard is addictive. Warning: Hypercard is addictive.  Warning:]

I want to thank everyone for their ideas and feedback on my previous
questions. I now have radio buttons up and working, and also have a
heterogenous stack with linked lists in it working. If there is interest,
I'll post the code that handles linked lists (it can probably be cleaned up
pretty well, but it works). The stack I'm working on is shaping up better
than I'd hoped! I wasn't sure Hypercard could handle what I want it to do
(I'm building a stack that will handle my book collection, all my review
copy information, books received for OtherRealms and a full review Index,
plus report generation facilities for various things to interface to
ReadySetGo for layout into OtherRealms) but I'm now sure that I'm STILL
underestimating what it'll do when I figure it out.

People should be warned. Hypercard IS addictive. For the first time, I can
simply point and push buttons and get the mac to do what I want it to do --
without having to hassle trying to write the code or understand Inside Mac.
Whew. I've even figured out a way where I can (I think) write Rogue in
Hypercard. It wouldn't be neat, it wouldn't be fast, but by damn it would
work. I think. (No, I'm not planning on it).

Anyway, I've got (of course) a few more questions. My thanks in advance to
the group mind!

(1) Is there any way to realiably and completely trap out cloverleaf
    commands? I want to keep the user from doing things like creating 
    new cards, deleting things, or using the clover-{1,2,3,4} keys because
    it really hoses out the linked lists (and EVERYTHING in this stack is
    linked). I've got buttons on the various backgrounds to do the
    equivalents, and the menubar is hidden, but if the user types %N it'll
    create a card that won't get linked in to any of the lists and get lost.
    God forbid they delete a card when I'm not looking, and
    First/Next/Prev/Last have little usefullness when you're talking about
    lists of lists. I've tried trapping newCard at the stack level to see if
    commandKey is down, but if they have quick fingers this isn't reliable.
    I still need things like New Card, but under program control. I suppose
    I can set global flags and refuse the newcard if the flag isn't set, but
    trying to do that for everything I wnat to control on the menu seems
    grotty. Since I want to release this thing to the Real World, I want to
    monkey proof it as much as possible.

(2) Hypercard seems pretty weak with invisible toys. Say I create a button
    or a field and make it invisible. How do I get HC to let me select it?
    It disappears, and HC doesn't seem to want to let me play with it unless
    I use the message box to make it visible again -- which is very tough if
    you forget the name you gave it....

One suggestion for a future enhancement. When you're in button or field
mode, and a new menubar item, either "Button" or "field" (or, if possible,
leave them both up all the time!). the items under the menu will be the
appropriate card/background items of that type for the current
card/background. Why? two reasons. First, you can then select fields or
backgrounds off the menu, even if they are invisible, obscured, hidden, or
hiding. Second, if you're editing a script, you can click the menu and
refresh your memory of exactly what you called the silly thing you're trying
to stuff a value into.

I hope the next release of HC has strong script editing facilities. This
area is still a bit weak, which I find disappointing. But the thing is so
neat! Like, wow! 

chuq
Chuq Von Rospach					chuq@sun.COM
Editor, OtherRealms					Delphi: CHUQ

Bye bye life!  Bye bye happiness! Hello, loneliness, I think I'm gonna die.

beloin@batcomputer.tn.cornell.edu (Ron Beloin) (10/12/87)

In article <30594@sun.uucp> chuq%plaid@Sun.COM (Chuq Von Rospach) writes:
>[Warning: Hypercard is addictive. Warning: Hypercard is addictive.  Warning:]
no argument with that!
>
>(1) Is there any way to realiably and completely trap out cloverleaf
>    commands? I want to keep the user from doing things like creating 
>    new cards, deleting things, or using the clover-{1,2,3,4} keys because
>    it really hoses out the linked lists (and EVERYTHING in this stack is
>    linked). I've got buttons on the various backgrounds to do the
>    equivalents, and the menubar is hidden, but if the user types %N it'll
>    create a card that won't get linked in to any of the lists and get lost.
>    God forbid they delete a card when I'm not looking, and
>    First/Next/Prev/Last have little usefullness when you're talking about
>    lists of lists. I've tried trapping newCard at the stack level to see if
>    commandKey is down, but if they have quick fingers this isn't reliable.
>    I still need things like New Card, but under program control. I suppose
>    I can set global flags and refuse the newcard if the flag isn't set, but
>    trying to do that for everything I wnat to control on the menu seems
>    grotty. Since I want to release this thing to the Real World, I want to
>    monkey proof it as much as possible.

I put the follwing script into a card and it succeeded in doing what
you want (if I understand what you want correctly):

on idle
  if the commandkey is down then deadkey
end idle

on deadkey
  answer "Command-key items are not available" with "OK"
end deadkey

on domenu
  -- do not pass file
  -- do not pass edit
  -- do not pass go  :-)
  -- etc.
end domenu

note that to edit this script, you have to type
 "edit the script of this card" into the msgbox (or blind
typing works also)
 I haven't tried this at the background or stack level.

--ron.
 Ron Beloin, Ecosystems Research Center, Corson Hall, Cornell, Ithaca,NY 14853
 >> opinions << BITNET:BELOIN@CRNLTHRY; INTERNET:beloin@tcgould.tn.cornell.edu
 >> are mine << UUCP:{cmcl2,shasta,uw-beaver,rochester}!cornell!tcgould!beloin

paulm@nikhefk.UUCP (Paul Molenaar) (10/13/87)

In article <30594@sun.uucp> chuq%plaid@Sun.COM (Chuq Von Rospach) writes:
>(2) Hypercard seems pretty weak with invisible toys. Say I create a button
>    or a field and make it invisible. How do I get HC to let me select it?
>    It disappears, and HC doesn't seem to want to let me play with it unless
>    I use the message box to make it visible again -- which is very tough if
>    you forget the name you gave it....
>
I might be mistaken (will check just after I log off... HC hates the
Switcher) but typing 

Show all card fields

in the message box might do the trick. I recall reading something about
that in the Help Stack.

	Paul Molenaar

	"Just checking the walls"
		-Basil Fawlty-

paulm@nikhefk.UUCP (Paul Molenaar) (10/13/87)

In article <253@nikhefk.UUCP> paulm@nikhefk.UUCP (Paul Molenaar) writes:
>I might be mistaken (will check just after I log off... HC hates the
>Switcher) but typing 
>
>Show all card fields
>
>in the message box might do the trick. I recall reading something about
>that in the Help Stack.
>
>	Paul Molenaar
>

I was wrong, sorry. I couldn't find a way of showing al card fields.

But I do have another question for the HyperCard public (let's hear
it for a comp.lang.hypercard section! [no moderation plz. Do that in
a comp.lang.hypercard.binaries section ;)])

I added my own cursor to a stack (in fact, I ripped another program :)
and succeeded in bringing it on the screen with 'set cursor to 260' (260
being the id of this cursor). What I would like is that cursor being
shown when the user moves the mousepointer over an information button.
Like: 'if the mouseH > 28 and the mouseV > 36 and the mouseH < 121 and
the mouseV < 130 then set cursor to 260'. This works only partly, as
HyperCard steals the idle time in which I perform this operation. The
cursor is switched between the browse tool and my custom cursor.

Anyone any idea to prevent HyperCard from changing the cursor?


        Paul Molenaar

	"Just checking the walls"
		- Basil Fawlty -
-- 
        Paul Molenaar

	"Just checking the walls"
		- Basil Fawlty -

kent@decwrl.dec.com (Christopher A. Kent) (10/13/87)

If you hold down the option and command keys at the same time, HC will show
you (i.e., highlight) all the items on the card, visible or not.
-- 
Chris Kent	Western Research Laboratory	Digital Equipment Corporation
kent@decwrl.dec.com	decwrl!kent			(415) 853-6639

kateley@apple.UUCP (Jim Kateley) (10/15/87)

In article <255@nikhefk.UUCP> paulm@nikhefk.UUCP (Paul Molenaar) writes:
>...
>Anyone any idea to prevent HyperCard from changing the cursor?
>...
>
>        Paul Molenaar
>
>	"Just checking the walls"
>		- Basil Fawlty -

Yes!  Don't figure out coordinates, let HC do the work for you.

In the button script, try:

on mouseWithin
	set the cursor to XXX
end mouseWithin

or, this might work (don't have HC in front of me to try it with :-()

on mouseEnter
	set the cursor to XXX
end mouseEnter

See page 6-1 of the HC Script language guide for the complete def. of
these system messages.

BTW, would anyone be interested in a little
"game" you could play with people with these commands?  As soon as I get
it working I'll post it....:-)

-- 

Jim Kateley
Applelink: kateley1
UUCP: {sun, voder, nsc}!apple!kateley
CSNET: kateley@apple.COM

Disclaimer:  There are no good disclaimers left...

Remember:
When you smile :-), the world smiles with you,
When you frown :-(, the : and - keys think they are getting picked on

ack@caldwr.caldwr.gov (David Ackerman) (10/15/87)

All this discussion about the difficulty of manipulating stacks while you
develop them got me to thinking: why not a "HyperWorkshop" or some such
application? The basic problem seems to be this: by trying to make your
stack as monkey-proof as possible, you end up getting in your own way. An
invisible button, restricting user access to most menu actions, intercepting
command-key events...all these will make your stack less vulnerable to
tampering, but will also get in the way as you are working on it. One
solution to this would be an enhanced version of Hypercard that would
*always* show buttons, fields, etc. One problem this might present is
if it could mess with stacks that were password protected. 

If the multi-access problems were solved, you could run "HyperWorkshop"
in one window to hack on a stack, while running Hypercard with that very
stack in another window to test it.

Hey Apple, how about putting the source for Hypercard on comp.sources.mac?
I'm sure someone could write such a beastie in a matter of months.
( very large :^) )


David Ackerman                            
California Department of Water Resources     ucdavis.edu!caldwr!ack  (Internet)
"It's the water, and a lot more..."       ...!ucbvax!ucdavis!caldwr!ack  (UUCP)

         The opinions expressed above are mine, not those of the State
         of California or the California Department of Water Resources.

afoster@ogcvax.UUCP (Allan Foster) (10/19/87)

In article <apple.6478> kateley@apple.UUCP (Jim Kateley) writes:
>In article <255@nikhefk.UUCP> paulm@nikhefk.UUCP (Paul Molenaar) writes:
>>...
>>Anyone any idea to prevent HyperCard from changing the cursor?
>>...
>>
>>        Paul Molenaar
>>
>>	"Just checking the walls"
>>		- Basil Fawlty -
>
>Yes!  Don't figure out coordinates, let HC do the work for you.
>
>In the button script, try:
>
>on mouseWithin
>	set the cursor to XXX
>end mouseWithin
>
>or, this might work (don't have HC in front of me to try it with :-()
>
>on mouseEnter
>	set the cursor to XXX
>end mouseEnter
>
>See page 6-1 of the HC Script language guide for the complete def. of
>these system messages.
>
Very nice except for one problem,  it does not WORK!!!!  Hypercard
resets the cursor to the current cursor that it thinks it should
have whenever it regains control.  The effect of this script
would be to flash to cursor XX and then back to the pointer,

Sorry,  but you have to write a script like this to follow the cursor

on mouseenter
	put the rect of me into myrect
	set the cursor to XX
	repeat until notin(the mouseloc,myrect)
        end repeat
end mouseenter

function inrect p,r
	if first item of p < first item of r 
	  or first item of p > third item of r
	  or second item of p < second item of r
	  or second item of p > fourth item of r
	  then return true
	  else return false
end inrect

I know it is a gross way to do it but it is is the only way!

Allan Foster

afoster!ogcvax

ronquillo@sjs.sj.ate.slb.com (Omy, Product Marketing - St. Etienne, France) (12/20/88)

I am interested in a good example of Hypercard application.

Is there anybody out there who is using extensively this software?

Any replies appreciated.
omy RONQUILLO (RONQUILLO@SESCA1.sdr.slb.com)