How HyperCard obtained its Coloration Again
Many individuals have heard of HyperCard: An offline precursor to the trendy internet, the Mac equal to Visible Primary, the software the primary Wiki and Myst had been made with. Generally it is usually known as the primary widely-used implementation of Hyperlinks (although it didn’t actually get easy-to-use textual content hyperlink assist till the two.x sequence, and even that was extra sophisticated than the hyperlinks we’re used to right now).
Many individuals have additionally heard that HyperCard by no means obtained correct colour assist. However wait ! Myst was a full-color sport! It even performed motion pictures! Certainly one of these must be unsuitable!
As at all times, it’s a matter of nuances. Of platforms. And of ingenious hacks.
Black and White
When HyperCard got here out, Invoice Atkinson deliberately selected a crisp, B/W bitmapped window measurement of 512×342 pixels. It was the perfect they’d on the time, and it meant that everybody, even individuals with small Mac Plus/Basic screens, would be capable to view it. Having the ability to commerce stacks with your pals was an vital a part of the social expertise of HyperCard.
Atkinson invented a intelligent lossless picture compression scheme, referred to as “Wrath of Invoice” or “WOBA” amongst HyperCard reverse-engineerers, that lowered these B/W photos to a sensible measurement by quite a lot of methods, together with run-length-encoding and XORing a row with earlier rows, which meant that even a checkerboard sample compressed into one line of dots XORed repeatedly with a black row.
In 1990, this format was re-engineered barely so a card could possibly be an arbitrary measurement, so long as its width was nonetheless a a number of of 16.
Native colour assist
In 1991 a separate workforce at Apple was tasked to port HyperCard 1.x again to Apple IIGS residence computer systems. As they’d a clean slate to begin from, they built-in assist for native colour. You had been in a position to select from the Apple IIGS’s 16 colour palette by specifying colour numbers, and so they additionally added just a few options that will later make it again into the unique, like radio button teams.
Macintosh HyperCard, then at 2.0, nonetheless had no colour assist. Worse, the syntax launched for the Apple II and the colour file format had been probably not appropriate for Macs, because the IIGS had a really restricted colour set and pixels that had been taller than extensive.
Colorizing HyperCard
After HyperCard had made its manner into the palms of Apple-subsidiary Claris, engineers Eric Carlson and Anup Murarka got here up with an ingenious hack to deliver colour to HyperCard with out having to alter the file format and even contact the engine code:
HyperCard used double-buffered show. That’s, every time it needed to redraw a part of the window, it first painted all the person elements onto one another in a hidden “buffer”, after which copied that buffer to the window on display screen. This meant you by no means obtained the “stacking” impact seen in so many different drawing packages.
This final copying step was achieved utilizing a system name named CopyBits. For those who changed this technique name with your individual routine from a HyperCard plugin, you might test whether or not the vacation spot to be copied to was the present doc’s window, and if it was, combine different drawings in.
Since HyperCard used black outlines and white, they used a “darken” drawing mode to attract their colour on prime of the B/W image. Black would keep black, as it’s the darkest colour, whereas white areas would “present by” the colour overlay. After all this third merging step wasn’t very quick on the {hardware} of the time, however it labored pretty properly.
When it was determined to not launch this hack resulting from considerations in regards to the assist load it could generate, the 2 engineers shortly changed the Claris brand with a “BungDabba Productions” brand and obtained permission to launch it as a free third-party extension.
AddColor, HyperTint and InColor
Quickly different builders created their very own colour overlay plugins. Symplex Methods launched HyperTint (that is what Myst was made with), and Heizer Software program launched InColor. They boasted options like colour transition results, graphical editors, and so on.
Finally, HyperCard correct adopted swimsuit. First shipped as a pre-release to be used with 2.2, the HyperCard Coloration Instruments stack was included in 2.3.
The included AddColor XCMD used the identical strategy as ColorizeHC, however as an alternative of getting to script all the images and drawings you wished on a card, it wrote the listing of things and their colours into ‘HCcd’ and ‘HCbg’ sources with the identical ID numbers as your playing cards and backgrounds, and supplied new, color-specific transition results.
The stack additionally applied an editor interface that supplied a colour and instruments palette that allowed to pick buttons and fields by merely clicking them after which a colour, and even drew its personal “marching ants” choice on prime of the chosen gadgets, in a vogue not dissimilar to how the editors in different HyperCard clones like SuperCard labored, though a separate XFCN named “clicker” had for use to intercept mouse clicks on the cardboard and draw the marching ants.
You had been in a position to set a “depth” for the sides of an object, and other than buttons and fields may additionally add coloured rectangles, PICT recordsdata or sources to a card’s colour overlay. With AddColor 2.0 (included with HyperCard 2.4) you even obtained a PICT editor window with colour paint instruments.
Animation in HyperCard
HyperCard’s animation assist had often restricted itself to altering 32×32 pixel icons (and later arbitrarily-sized PICTs utilizing the “icon ID -1 plus button title” trick), or flipping by playing cards. Given how sluggish the colour overlay carried out on most Macs of the time, these weren’t actually an possibility for fluid animation in colour.
So HyperCard 2.2 bundled ADDmotion II. Not in contrast to the Coloration Instruments, this product from MotionWorks created its personal editor on prime of HyperCard, offering you with a Macromind-Director-style timeline interface and pixel graphic editor. The animations generated had been utterly separate from HyperCard. They had been saved to the stack after which you might use an XCMD to play one inside the cardboard window, protecting the cardboard, after which returning you to HyperCard once more.
So No Launched HyperCard for MacOS ever had Coloration?
Nope. Mainly, each HyperCard model from 2.1 on added just a few new instructions right here and there, however it was the identical HyperCard 2.x.
Basically, the one graphical engine adjustments got here in HyperCard 2.2, which added just a few new button varieties (popup buttons, extra native-looking “commonplace” and “default” buttons) and different seen options to the core engine, and assist for different OSA scripting languages like AppleScript as an alternative of HyperTalk. However colour? Nope.
Some display screen pictures courtesy of @HyperCard, used with permission.