TweetFollow Us on Twitter

June 93 - BE OUR GUEST

BE OUR GUEST

SYSTEM ENABLERS

C. K. HAUN

[IMAGE 107-108_Guest_col_rev1.GIF]

System 7.1 introducedsystem enablersto Macintosh system software architecture. Since their introduction on some of Apple's new machines, there's been some confusion about what system enablers are for, and developers have expressed interest in writing and using them. This column will shed some light on the subject.

THE BAD NEWS
Even before beginning to describe them, we have to emphasize that system enablers aresystem software,designed and intended solely for the use of Apple Computer. Detailed descriptions of their design and use will not be released. Their functionality and implementationwillchange; any developers who try to decipher enablers and implement their own are warned that they will fail in future system releases. Donot write your own enabler or modify a current one!

Kinda harsh, huh? But we really mean it: the functionality of system enablers makes sense only for system software. Also, modifying or creating an enabler without fully understanding how one works could cause the enabler mechanism to fail silently. This could result in a machine that appears to be working correctly but does not have the full enabler functionality active, causing very hard-to-isolate crashes or other problems.

OK, SO WHAT ARE THEY?
System enablers (which were called "gibblies" in early documentation and system development releases) replace the release strategy that Apple used in the past for minor system changes needed for new hardware. The old strategy was to release a new version of the system software, such as version 6.0.8 or 7.0.1. With enablers, the differences in hardware no longer require a new system release, but instead each new machine has its own enabler (if necessary) to make the system work for that hardware.

This change was made for two reasons:

  • Creating an enabler instead of a whole new system release reduces Apple's quality assurance and testing time. By creating an enabler, we're testing new code only on new machines; past machines aren't affected since the new enabler won't run on those machines. This also reduces your testing time as a third party, since you no longer have to install a new system release on all your older machines and test for compatibility; you know the system changes will affect only the newly released machines.
  • Enablers reduce user confusion and unnecessary upgrades. In the past, every time a machine was released, with its corresponding new software release, users of older machines were unsure whether they needed to upgrade to the new system. Many assumed that since it was newer, it was better. While this has been true occasionally, it usually isn't (upgrading from 7.0 to 7.0.1 on a Macintosh IIcx, for example, gives the user nothing new).

Apple will continue to use system extensions or components when new functionality is being added across the product line, as with QuickTime and Macintosh Easy Open. Enablers just broaden the range of options for enhancing the user's environment.

HOW DO THEY WORK?
Nope, no cheating -- we really won't be describing the internals of enablers. But here are some general rules about their behavior.

An enabler is essentially an extension to the System file; from a programmatic standpoint itis the System file. The Resource Manager was changed slightly to recognize references to the System file (CurResFile(0), for example) as being references to the System fileandthe current enabler. The code or other resources included in the enabler file appear to actually reside in the System file.

Any new machine may have a system enabler. The enabler will contain the system-level code necessary to implement changes required for that machine. A single enabler may be used for a family of machines, or a separate enabler may be created for each new machine.

If there are multiple enablers in a machine's System Folder, the system will use onlyoneof them. The system software (System file plus enabler) is responsible for arbitrating which enabler is used on a specific machine. It looks at the machine type it's currently running on, the machines that the enabler supports, and some enabler-internal applicability flags. Note that this is how the decision is currently made; as enablers are used for more machines and in different situations, more variables may be added to the decision process.

ENABLERS AND REFERENCE RELEASES
A specific enabler may not stay around forever. Apple has announced its intention to have "reference releases" every year to 18 months; these are the system upgrades that all users will be encouraged to install. Some enablers may be rolled into a reference release, so a machine that needed an enabler for System 7.1 may not need one for System 8. This is not a hard and fast rule; some enablers may stay around forever, depending on the functionality they enable.

THE BOTTOM LINE
System enablers make everyone's life easier by encapsulating system changes for new machines in one place. But they are not for non-Apple use, and developers cannot implement them with any hope of long-term success. The safest path to take is not to think of enablers as separate files. An enableristhe system; when you encounter one on a machine, you're looking at the System file. The traditional methods (INITs, cdevs, components, and so on) are still the only supported ways for developers to extend system functionality.

GIBBLY HISTORY

BY CHRIS DEROSSI
When system enablers were being designed, it was clear they were going to be a mechanism for extending the system. Engineers began calling them INITs, since they served much the same purpose. This caused some confusion with people who thought we really were talking about INITs, and issues were raised about possible conflicts with other INITs, loading order, and so on. (These issues don't apply to system enablers at all.)

It was obvious to me that we needed to change the name to differentiate system enablers from other types of system extension mechanisms. We couldn't use the term extension because that was the public name for INITs. We couldn't use addition because that term already referred to things like QuickDraw GX and AOCE.

So, I decided to use a made-up word. I wanted a word that would be memorable and one that would sound funny when used in all seriousness by executives and upper management. Hence the name "gibblies."

The engineering documentation for gibblies states that the singular is "gibbly" and the plural is "gibblies." It also states that the "g" may be pronounced hard or soft depending on the speaker's preference. In practice, the hard form (as in "give") became the one used by those in the know.

There you have it. And, yes, it was very amusing to hear the made-up word being used all over the company in serious conversation.

K. HAUN works in Apple Developer Technical Support, where he is the perennial winner of the coveted "Most Documentation Heaped on the Floor" award. Before coming to Apple he was a commercial developer, writing educational, game, and utility software on Macintosh, IBM, and Apple II platforms. His main focus in DTS is interapplication communication and application toolbox support. He's also single again; please see ad #298700 in the personal ads section of this issue.

We welcome guest columns from readers who have something interesting or useful to say. Send your column idea or draft to AppleLink DEVELOP or to Caroline Rose at Apple Computer, Inc., 20525 Mariani Avenue, M/S 75-2B, Cupertino, CA 95014.*

Thanks to Chris Derossi, Greg Marriott, and Dean Yu for reviewing this column. *

 

Community Search:
MacTech Search:

Software Updates via MacUpdate

Bookends 13.2.5 - Reference management a...
Bookends is a full-featured bibliography/reference and information-management system for students and professionals. Bookends uses the cloud to sync reference libraries on all the Macs you use.... Read more
Quicken 2019 5.11.2 - Complete personal...
Quicken makes managing your money easier than ever. Whether paying bills, upgrading from Windows, enjoying more reliable downloads, or getting expert product help, Quicken's new and improved features... Read more
Dashlane 6.1927.0 - Password manager and...
Dashlane is an award-winning service that revolutionizes the online experience by replacing the drudgery of everyday transactional processes with convenient, automated simplicity - in other words,... Read more
Capo 3.7.4 - Slow down and learn to play...
Capo lets you slow down your favorite songs so you can hear the notes and learn how they are played. With Capo, you can quickly tab out your songs atop a highly-detailed OpenCL-powered spectrogram... Read more
BetterTouchTool 3.153 - Customize multi-...
BetterTouchTool adds many new, fully customizable gestures to the Magic Mouse, Multi-Touch MacBook trackpad, and Magic Trackpad. These gestures are customizable: Magic Mouse: Pinch in / out (zoom)... Read more
calibre 3.46.0 - Complete e-book library...
Calibre is a complete e-book library manager. Organize your collection, convert your books to multiple formats, and sync with all of your devices. Let Calibre be your multi-tasking digital librarian... Read more
Firefox 68.0.1 - Fast, safe Web browser.
Firefox offers a fast, safe Web browsing experience. Browse quickly, securely, and effortlessly. With its industry-leading features, Firefox is the choice of Web development professionals and casual... Read more
Vivaldi 2.6.1566.49 - An advanced browse...
Vivaldi is a browser for our friends. We live in our browsers. Choose one that has the features you need, a style that fits and values you can stand by. From the look and feel, to how you interact... Read more
Daylite 6.7.3.1 - Dynamic business organ...
Daylite helps businesses organize themselves with tools such as shared calendars, contacts, tasks, projects, notes, and more. Enable easy collaboration with features such as task and project... Read more
Vivaldi 2.6.1566.49 - An advanced browse...
Vivaldi is a browser for our friends. We live in our browsers. Choose one that has the features you need, a style that fits and values you can stand by. From the look and feel, to how you interact... Read more

Latest Forum Discussions

See All

Void Tyrant guide - Tips and tricks for...
Void Tyrant continues to get a lot of play in these parts. Probably because the game is just so deep and varied. The next stop on our guide series for Void Tyrant is class-specific guides. First up is the Knight, as it’s the first class anyone has... | Read more »
Summon beasts and battle evil in epic re...
Imagine a tale of conlict between factions of good and evil, where rogueish heroes summon beasts to aid them in them in warfare and courageously battle dragons over fields of scorched earth and brimstone - that's exactly the essence of epic fantasy... | Read more »
Upcoming visual novel Arranged shines a...
If you’re in the market for a new type of visual novel designed to inform and make you think deeply about its subject matter, then Arranged by Kabuk Games could be exactly what you’re looking for. It’s a wholly unique take on marital traditions in... | Read more »
TEPPEN guide - The three best decks in T...
TEPPEN’s unique take on the collectible card game genre is exciting. It’s just over a week old, but that isn’t stopping lots of folks from speculating about the long-term viability of the game, as well as changes and additions that will happen over... | Read more »
Intergalactic puzzler Silly Memory serve...
Recently released matching puzzler Silly Memory is helping its fans with their intergalactic journeys this month with some very special offers on in-app purchases. In case you missed it, Silly Memory is the debut title of French based indie... | Read more »
TEPPEN guide - Tips and tricks for new p...
TEPPEN is a wild game that nobody asked for, but I’m sure glad it exists. Who would’ve thought that a CCG featuring Capcom characters could be so cool and weird? In case you’re not completely sure what TEPPEN is, make sure to check out our review... | Read more »
Dr. Mario World guide - Other games that...
We now live in a post-Dr. Mario World world, and I gotta say, things don’t feel too different. Nintendo continues to squirt out bad games on phones, causing all but the most stalwart fans of mobile games to question why they even bother... | Read more »
Strategy RPG Brown Dust introduces its b...
Epic turn-based RPG Brown Dust is set to turn 500 days old next week, and to celebrate, Neowiz has just unveiled its biggest and most exciting update yet, offering a host of new rewards, increased gacha rates, and a brand new feature that will... | Read more »
Dr. Mario World is yet another disappoin...
As soon as I booted up Dr. Mario World, I knew I wasn’t going to have fun with it. Nintendo’s record on phones thus far has been pretty spotty, with things trending downward as of late. [Read more] | Read more »
Retro Space Shooter P.3 is now available...
Shoot-em-ups tend to be a dime a dozen on the App Store, but every so often you come across one gem that aims to shake up the genre in a unique way. Developer Devjgame’s P.3 is the latest game seeking to do so this, working as a love letter to the... | Read more »

Price Scanner via MacPrices.net

Flash sale! New 11″ 1TB WiFi iPad Pros for th...
Amazon has the 11″ 1TB WiFi iPad Pro on sale today for only $1199.99 including free shipping. Their price is $350 off Apple’s MSRP for this model, and it’s the lowest price ever for a 1TB 11″ iPad... Read more
Weekend Deal: 2018 13″ MacBook Airs starting...
B&H Photo has clearance 2018 13″ MacBook Airs available starting at only $999 with all models now available for $200 off Apple’s original MSRP. Overnight shipping, or expedited shipping, is free... Read more
Apple has clearance 10.5″ iPad Pros available...
Apple has Certified Refurbished 2017 10.5″ iPad Pros available starting at $469. An Apple one-year warranty is included with each iPad, outer shells are new, and shipping is free: – 64GB 10″ iPad Pro... Read more
Apple restocks refurbished iPad mini 4 models...
Apple has restocked Certified Refurbished 32GB iPad mini 4 WiFi models for $229 shipped. That’s $70 off original MSRP for the iPad mini 4. Space Gray, Silver, and Gold colors are available. Read more
Apple, Yet Again, Is Missing An Ultraportable...
EDITORIAL: 07.19.19 Prior to the decision made by Apple earlier this month to retire the thin and light MacBook model with a 12-inch retina display, the Cupertino, California-based company offered,... Read more
Verizon is offering a 50% discount on iPhone...
Verizon is offering 50% discounts on Apple iPhone 8 and iPhone 8 Plus models though July 24th, plus save 50% on activation fees. New line required. The fine print: “New device payment & new... Read more
Get a new 21″ iMac for under $1000 today at t...
B&H Photo has new 21″ Apple iMacs on sale for up to $100 off MSRP with models available starting at $999. These are the same iMacs offered by Apple in their retail and online stores. Shipping is... Read more
Clearance 2017 15″ 2.8GHz Touch Bar MacBook P...
Apple has Certified Refurbished 2017 15″ 2.8GHz Space Gray Touch Bar MacBook Pros available for $1809. Apple’s refurbished price is currently the lowest available for a 15″ MacBook Pro. An standard... Read more
Clearance 12″ 1.2GHz MacBook on sale for $899...
Focus Camera has clearance 12″ 1.2GHz Space Gray MacBooks available for $899.99 shipped. That’s $400 off Apple’s original MSRP. Focus charges sales tax for NY & NJ residents only. Read more
Get a new 2019 13″ 2.4GHz 4-Core MacBook Pro...
B&H Photo has new 2019 13″ 2.4GHz MacBook Pros on sale for up to $150 off Apple’s MSRP. Overnight shipping is free to many addresses in the US: – 2019 13″ 2.4GHz/256GB 6-Core MacBook Pro Silver... Read more

Jobs Board

Best Buy *Apple* Computing Master - Best Bu...
**707083BR** **Job Title:** Best Buy Apple Computing Master **Job Category:** Sales **Location Number:** 000045-Rockford-Store **Job Description:** **What does a Read more
Geek Squad *Apple* Master Consultation Agen...
**702908BR** **Job Title:** Geek Squad Apple Master Consultation Agent **Job Category:** Services/Installation/Repair **Location Number:** 000360-Williston-Store Read more
Best Buy *Apple* Computing Master - Best Bu...
**711023BR** **Job Title:** Best Buy Apple Computing Master **Job Category:** Sales **Location Number:** 000012-St Cloud-Store **Job Description:** **What does a Read more
*Apple* Systems Architect/Engineer, Vice Pre...
…its vision to be the world's most trusted financial group. **Summary:** Apple Systems Architect/Engineer with strong knowledge of products and services related to Read more
Best Buy *Apple* Computing Master - Best Bu...
**696259BR** **Job Title:** Best Buy Apple Computing Master **Job Category:** Store Associates **Location Number:** 001076-Temecula-Store **Job Description:** The Read more
All contents are Copyright 1984-2011 by Xplain Corporation. All rights reserved. Theme designed by Icreon.