Once upon a time, Mail.app was the email application for an operating system known as NeXTSTEP. (For more on this, see the earlier Hawk Wings post, “Apple Mail: The Early Years“).
Then NeXTSTEP became OpenStep/OPENSTEP and Mail.app went with it. And OPENSTEP begat Rhapsody. And Rhadsody begat OS X. (Full genealogy on Wikipedia).
Steve Jobs, ever the polished salesman (image from Puckman )
Don Yacktman , then a OpenStep developer, wrote an article in 1997 which outlines how bundles or plugins worked in Mail.app and what they did.
He describes plugins like Cryptor (PGP encryption) and URLifier which placed a clickable icon in front of URLs:
Colorizer scanned headers for keywords and patterns and enabled you to modify the summary of messages (what we call the List View) according to the matches.
For example, you could place a big red arrow next to emails from your boss or colour the background of emails from your spouse pink.
Other plugins opened HTML email in the browser of your choice.
But the greatest of them all was EnhanceMail:
It collects a number of cool hacks into a single bundle. In displayed messages, it can turn smilies such as “:-)” into graphic smiley-faces. (There are over a dozen smiley graphics it uses to display the various types of smilies.) It has a wide variety of options for appending signatures (including “rich” signatures with graphics and various fonts) and options for quoting text from the original message. A user can even highlight a passage in a message, hit “Reply”, and only that passage will appear quoted in the response, making it easier to trim down quoted text. It also adds support for X-face graphics and adds an X-Image-Url: header which can be used to supply a better looking mail face picture. (It automatically looks up the images and displays them instead of the xfaces. And it caches them on your hard drive, too.) It adds several other highly useful features as well.
It’s amazing, he says, that in 1997 there were so many great plugins for Mail.app:
That’s a lot of modification for an application that doesn’t have a published API.
Despite this, he regards the design decision by NeXT which allowed Mail.app to load bundles on start-up as a crucial one in the app’s development:
A bundle developer can walk outside of the published API and make changes to applications that the application’s authors never even considered in their wildest dreams. In other words, by loading bundles, applications are throwing the door to future customizations wide open.
Amen to that!
Fulfill your wildest dreams on the Hawk Wings Plugin and Addon List.