68kMLA Classic Interface
This is a version of the 68kMLA forums for viewing on your favorite old mac. Visitors on modern platforms may prefer the main site.
| Click here to select a new forum. | | Hypercard Programing | Posted by: register on 2021-01-09 16:06:28
Wow, 10 years resurrection!
The whole forum is about resurrection, isn't it?
š
Once more I am happy to notice what a universe of knowledge is here, waiting for new uses.
Cheers
| Posted by: uliwitness on 2021-07-13 15:40:31 BTW -- if anyone has HyperTalk/HyperCard questions, feel free to point me at threads here. I'm working on a HyperCard clone for modern computers in my spare time, so I might know a thing or two that is hard to find out. | Posted by: MrFahrenheit on 2021-07-13 22:12:54
BTW -- if anyone has HyperTalk/HyperCard questions, feel free to point me at threads here. I'm working on a HyperCard clone for modern computers in my spare time, so I might know a thing or two that is hard to find out.
Have you checked out LiveCode? | Posted by: cheesestraws on 2021-07-14 01:55:20
I'm working on a HyperCard clone for modern computers in my spare time, so I might know a thing or two that is hard to find out.
Oooh, I'd like to hear about that... you should create a thread about it š
Have you checked out LiveCode?
What do you think of LiveCode, @MrFahrenheit ? It somehow never clicked with me, despite being very fond of HyperCard itself. But you have more recent and in-depth experience with HC than I do, so I'd like to hear your take. | Posted by: Crutch on 2021-07-14 05:31:45 I would also love to know anyoneās thoughts on LiveCode or similar approaches.
HyperCard always seemed to me to fill an obvious need: give me a tool non-programmers can use to create simple, workable UIs and share them. I really would love to know what tool fills that niche today ⦠if a 15-year-old kid wants to create an experiential app of some sort, whatās the most straightforward way he/she can do it in 2021? Is it really LiveCode? | Posted by: uliwitness on 2021-07-14 08:43:13 Obviously I'm biased, but IMO LiveCode is a valiant effort at creating an accessible open-source programming language, and it can import and run HyperCard stacks, but that is what it is: A programming environment.
It completely misses the point of HyperCard being a software erector set. Something that anyone can build something interactive from without much knowledge, something where you look at someone else's stack and immediately understand how to do the same thing. It makes up its own strange metaphors instead of using metaphors users are already familiar with.
Like, in LiveCode, I frequently grouped a bunch of objects, and suddenly they showed up on all cards. Because some engineer thought "a group of objects is a container for objects. A background is a container for objects. So let's just make the two the same thing, and make groups default to being shared between cards, like backgrounds." LiveCode is full of bizzarre stuff like that. There is a lot of alternative syntax to make LiveCode easier for professionals, confusing beginners when they wonder what the difference between comments starting with -- and comments starting with // is ... In HyperCard, you could think of variables as "everything is a string". In LiveCode, if you use array syntax, you get things like the following:
put "Hey" into foo[1]
put "You" into foo[2]
put foo is "" into message box -- outputs true
put foo[1] is "" into message box -- outputs false
Because despite containing something, the array itself is empty. In HyperCard, there would have been a text representation of all items in "foo" itself, to maintain the illusion that arrays are just strings.
To be fair, they've worked on fixing a lot of things, but they're just so far from what I think HyperCard was all about. | Posted by: cheesestraws on 2021-07-14 08:44:36 This above post is, more eloquently, how I feel about LiveCode when working with it. Agreed. | Posted by: uliwitness on 2021-07-14 08:48:05 Regarding a new HyperCard?
I think Hopscotch and Scratch are completely different but try to scratch the same itch.
Of course, a lot of things one used to use HyperCard for are now included with a modern OS. There is no need for the address book stack, because Address Book is an app that comes with the OS. Keynote/PowerPoint and Excel fulfill a lot of the advanced uses these days I would have used HyperCard for. Like, since people kept abusing Excel as a thing for keeping tables and lists (instead of math spread sheets), maintaining and sorting lists is now actually a feature of Excel.
Does that help? | Posted by: Crutch on 2021-07-15 05:32:25 Thanks, this is interesting perspective.
I think Iām asking a more fundamental question though.
If your 12-year-old said āI have an idea for a simple app/game/thing Iād like to create on [platform of choice], how should I do it?ā ⦠what would you tell them?
In 1991, on a Mac, the answer would have been 100% obvious: use HyperCard! Itās amazing, you can include any graphics or sound you want, you can connect them with buttons, you can create simple logic making it all work with scripting, and you can get arbitrarily fancy down the road if you want. Plus everybody has a copy, so itās easy to share whatever you create.
The loss of a clear obvious answer to that question in 2021, to me, feels like something has been lost. So Iām sure Iām just missing something and thereās a great answer here I am not aware of. | Posted by: NJRoadfan on 2021-07-15 06:12:47 Quite a lot of folks did exactly that in the late 90s-early-00s using...... Macromedia Flash! Like HyperCard, it's now dead too. | Posted by: DracheMitch on 2021-07-15 22:50:05 HyperCard didnāt have sprite animation, though. You could use QuickTime images to fake animation like Myst or Prince Interactive did. Not that Apple ever made making games easy on any of their platforms.
HyperCardās scripting language was used as the basis for AppleScript, which is still (barely) a thing, so thereās that. | Posted by: Crutch on 2021-07-16 04:48:24 Not natively, for sure. It would have been straightforward to implement double-buffered sprite animation with a few XMCDs. I wonder if anybody did. | Posted by: register on 2021-07-16 05:19:01
Wow, 10 years resurrection! š
As members of the 68kMLA we are in the business of resurrection, aren't we?
Edit: I just stumbled upon changes in the visibility of posts in this thread and replied to a post I had already replied to, before. I apologize for repeating myself. Cheers! | Posted by: Crutch on 2021-07-16 11:05:51 Thinking about HyperCard a bit lately thanks to these threads, itās interesting to think of what happened to the genre of āmultimediaā.
In the mid ā90s Iām sure we all thought that by now, weād be reading e-books with embedded videos, hyperlinks, sound clips, 3D-rotatable diagrams, simulations of historic battles, whatever.
That largely seems not to have happened. Sure all that content is readily available ā but itās rarely curated by anyone in practice it seems. Even on Wikipedia, viewing embedded videos feels awkward and there is no real āinteractivityā to speak of. People with serious interest in a topic, I think, tend to read an old-fashioned book about it then maybe follow up with some unguided research online. E-books are just scanned & searchable versions of old-fashioned books you can scroll through on a Kindle or iPad. The notion of creating and accessing an experiential version of a story, history, or encyclopedia (as was briefly in fashion through the CD-ROM boom of the ā90s) seems to have faded away somewhat.
I wonder why that is, or if Iām wrong. | Posted by: MrFahrenheit on 2021-07-16 12:20:06
Oooh, I'd like to hear about that... you should create a thread about it š
What do you think of LiveCode, @MrFahrenheit ? It somehow never clicked with me, despite being very fond of HyperCard itself. But you have more recent and in-depth experience with HC than I do, so I'd like to hear your take.
To be honest, I don't use the LiveCode GUI for programming. I use the Linux server engine, and I generate the code with that. I write CGIs and I code HTML as my app front-end. All of the apps I do with it are web apps. It also supports command-line programming. So, for example, I want to take a massive text file with data, I can write a text document app that loads that file, and processes it, and spits out the result back on the command line.
At work I have coded a 'database' that utilizes text files. There are about a million records. If I want to search for something odd or particular, I can write a program in minutes that loads a batch of whatever type of files I need, processes it, and spits a result back on the terminal command line in a matter of under a minute. If an audit by the government requires finding out all customers who bought an XY widget, or if we need need to know how many VZ widgets we bought from all suppliers between a date range, it can be written and executed in under 15 minutes.
Overall, some customer invoicing, purchase orders, and accounting is done using LiveCode CGIs in a web browser app, and display returned back to the client using HTML generated from templates. The CGI loads a particular template file, populates the data, and draws it on the client screen.
Very powerful. Very fast. Very flexible (using HTML for web apps), all using the exact same engine. | Posted by: MrFahrenheit on 2021-07-16 12:30:50
HyperCard didnāt have sprite animation, though. You could use QuickTime images to fake animation like Myst or Prince Interactive did. Not that Apple ever made making games easy on any of their platforms.
HyperCardās scripting language was used as the basis for AppleScript, which is still (barely) a thing, so thereās that.
You could, however, create a MacroMedia Director 2.0 animation file, and play it back inside HyperCard using a VideoWorks XCMD. Once I found the XCMD inside a Microsoft Works 2.0 tutorial HyperCard stack, I was amused with creating animations within HyperCard. It's not sprite animation, but it's better than HyperCard's tools. | Posted by: MrFahrenheit on 2021-07-16 12:33:09
Thanks, this is interesting perspective.
I think Iām asking a more fundamental question though.
If your 12-year-old said āI have an idea for a simple app/game/thing Iād like to create on [platform of choice], how should I do it?ā ⦠what would you tell them?
In 1991, on a Mac, the answer would have been 100% obvious: use HyperCard! Itās amazing, you can include any graphics or sound you want, you can connect them with buttons, you can create simple logic making it all work with scripting, and you can get arbitrarily fancy down the road if you want. Plus everybody has a copy, so itās easy to share whatever you create.
The loss of a clear obvious answer to that question in 2021, to me, feels like something has been lost. So Iām sure Iām just missing something and thereās a great answer here I am not aware of.
HyperCard was simple AND powerful. The power of poking the code of a cool stack you found, and seeing how they did it, was great. In middle school, I went to the weekly HyperCard club meetings. The teacher would inspire us each week for something new that he taught and left us to our own devices to create and share stuff. HyperCard has never been fully recreated in any product, ever (ease of use, availability [it was free most of the time], and utter simplicity). | Posted by: DracheMitch on 2021-07-16 23:14:02
You could, however, create a MacroMedia Director 2.0 animation file That's what Apple used for their mouse practise thing that came with my IIsi, I remember it being in 2-bit even on my 256 gray screen (all my grandma could afford, even though I wanted a colour Iici). I remember it being about underwater, which felt weird, | Posted by: uliwitness on 2021-08-14 03:01:44
HyperCard didnāt have sprite animation, though. You could use QuickTime images to fake animation like Myst or Prince Interactive did. Not that Apple ever made making games easy on any of their platforms.
HyperCardās scripting language was used as the basis for AppleScript, which is still (barely) a thing, so thereās that. HyperCard had types of animation, but they were a bit limited. The two most common approaches (that were fully supported) were page-flip animations and icon animations.
Page-flip animations:
Drawing each frame on a new page (card) and then just doing "go next" to flip through them (pretty sure that's why it has the "show all cards" command too -- to make it easy to create a flipbook).
Icon animations:
Each button could be assigned an icon. You could then change a button's "icon" property to change that image. If you did that a couple times per second, you could achieve something like Sprite animation. Since the button were "vector objects" floating above the card picture, you could change a button's "location" property to move it around on the card as well.
The downside of this approach was that icons were limited to a size of 32x32 pixels (and of course black and white, like everything in HyperCard).
There was also a third, lesser-known approach, which was the "icon -1 trick":
Icon -1:
HyperCard introduced a trick in one of the 2.x releases: If you set a button's icon ID to -1, and had a PICT resource in your stack's resource fork with the same name as your button, your button would show this PICT resource (in B/W) centered in your button's rectangle, not unlike an icon. Now Quickdraw had no alpha channel, so if you created the PICT resource using Photoshop, it would be an opaque rectangle, but if you used MacDraw II, for instance, you could create a PICT resource with a mask (100% transparent or opaque pixels), just like an icon. Just that PICTs were not limited to 32x32 pixels, but rather could be larger.
So now you could perform the same style of icon-flipping animation by changing your button's name and flipping through PICTs.
Colored animation:
HyperCard had no built-in color, and all color that was added using plugins (like the included AddColor Color Tools) was so slow, that people generally didn't use that for animations. So if people wanted color animations, they usually switched to Director completely, or ran their Director animations, PICS animation files or QuickTime movies using a plugin in HyperCard, drawing over all of HyperCard's graphics until the animation was done. | Posted by: uliwitness on 2021-08-14 03:05:17
That's what Apple used for their mouse practise thing that came with my IIsi, I remember it being in 2-bit even on my 256 gray screen (all my grandma could afford, even though I wanted a colour Iici). I remember it being about underwater, which felt weird, There was a color version of that mouse tutorial, but AFAIR it used the B/W version for everything except 256 colors. (and probably thousands and millions when that became an option). I ran on 16 greys, which was actually good enough to show most color as nice shading, and many apps of the time (and this one) would first switch over to 16 colors (which ruined the nice range of 16 white-to-grey gradients), and then display everything as 1 bit because they didn't have enough color differentiation anymore... | Posted by: Crutch on 2021-08-14 06:57:28 Thatās a nice overview. āPICT resource with a maskā wasnāt really a thing, though. A PICT resource was just a sequence of QuickDraw instructions that were followed to the letter. So if you pasted your PICT from an object-oriented ādrawā program like MacDraw, and those instructions didnāt include whiting out the drawing area, you would get a transparent PICT. (Whereas if you pasted your image from MacPaint, youād get a bitmap inside your PICT, which by definition whites out all the white pixels as part of rendering the bitmap.)
If you pasted a bitmap into MacDraw then copied that into a PICT resource, you would still get an opaque bitmap.
Of course QuickDraw made it possible to draw bitmaps with a mask in general, which one could have accessed in HyperCard via an XCMD. Iām sure someone must have created a way to do this at some point. | | < 2 > |
|