This unexpected journey into the realm of transparent user interfaces has taken me much further than I ever imagined. It's been almost a year now since the first inkling of the idea rattled my brain, which led to the first release of Crystal Clear for ShapeShifter in mid-February.
Thanks to the Cocoa InputManager SetAlphaValue, I was led, Pied-Piper-like, into the enormous and strange world of Objective-C and Cocoa during the summer. I'm finally surfacing from that expedition and have brought a souvenir of my travels into the strange, terrifying, and glorious realm of Cocoa.
Each computer user will have to decide for themselves just how much transparency they can stand while working at their Mac. I was surprised at the amount of loathing that was expressed towards Leopard's newly translucent menubar last month. But I don't think it's indicative of any permanent flaw in the concept. Quite the contrary, in fact: If anything, Leopard's toying with translucency is too much of a baby step, on the one hand, and smacks of me-tooism with Vista, on the other.
Very briefly, the premise I'm proposing is that our computer monitors are essentially glorious light sources, much like the ones that shine through windows in our houses and automobiles. Just as we do with those windows, there are times when we want to bask in the beauty shining through, and other times that we prefer to close the blinds to avoid glare. On the computer, we already know how to close the blinds. I'm suggesting that there's a world of beauty awaiting computer users who can enjoy the light as well.
Based on my experience in building this software, I'd say transparency is quite practical to achieve on the Mac, with the appropriate support and technical leadership from Apple. What you'll find in CrystalClear Interface is flawed in a number of ways, but is still a good demonstration of what's possible. I'll have more to say on this point once I recover from this release, which is already 3 months later than I had planned.
Since this trinket I'm bringing, which I'm calling CrystalClear Interface, is still a work-in-progress, I'll certainly keep tinkering away at it and will post updates for any who want them.
InterfaceBuilder on Leopard with CrystalClear Interface 1.8 and the Eagle Nebula desktop picture (c/o finalfrontier.za.org). Click for larger version.
For now, CrystalClear Interface is available for free, but if I'm able to make the improvements I envision--both in functionality and in stability--I may want to get a little monetary reward for my bauble eventually. That said, if you try CrystalClear Interface now, learn how to use it, and like it, it would be terrific to know of your appreciation by way of a donation (you can use the link on this page for that).
The download package has three documents that give brief explanations of its contents, including a Help document for the new CrystalClear Interface software. What follows are two lists: First, some highlights about the latest, greatest Crystal Clear release, and second, the contents of the download itself. There's a lot here, so pay attention!
First, it's important to understand that Crystal Clear Interface can be used either in conjunction with the Crystal Clear appearance theme for ShapeShifter, or on its own without ShapeShifter running. It's also compatible with numerous ShapeShifter themes besides Crystal Clear. Another confusing point is that I'm releasing here an upgrade to the Crystal Clear ShapeShifter theme as well, though you probably won't want to use it without using CrystalClear Interface.
What Does CrystalClear Interface Do?
Assuming you're already familiar with the appearance theme (if not, there's a Welcome document in the download that covers it), the following is a list of the user-interface customization options that are introduced with Crystal Clear Interface. Many of them have been mentioned in the two preceding articles on this release, which are worth looking at for the screenshots and screen movies if not the words:
- Crystal Clear 1.5 Preview:
Yes! The Term "Opaque Window" Is An Oxymoron (8/6/07) - Update On That Crystal I’ve Been Growing (10/11/07)
- Manages overall window transparency (as SetAlphaValue did), including the ability to customize transparency for windows both globally and on a per-application basis. Also from SetAlphaValue, you can set custom transparency values for individual, named windows, and for unnamed windows of given dimensions.
- Adds separate transparency settings to window backgrounds and background colors of text views of various kinds.
- Replaces the default window "frames" of Mac OS X Aqua with transparent ones that more or less reproduce the look of windows in the ShapeShifter version of Crystal Clear. Non-utility panels have a visually distinct transparent frame.
- Puts a Crystal Clear icon in the main menubar where you can find it. (Many users of SetAlphaValue could never figure out how to find its powerful settings... ) There's also a preference option that lets you move the Crystal Clear menu item from the main menu to the application menu if you need to.
- The Preferences pane has been redesigned with an eye toward expanding the number of settings users can control. Initially, it adds six controls: Three color controls and three optional settings.
- The Color tab lets you customize colors in three parts of the interface. Most significant, you can customize the background color of application windows, using the standard color picker and also including transparency as one variable. With this option, you can restore opaque windows if that's your pleasure. The second control is for the background color of "column view" text areas, such as the ones in iCal, Xcode, Mail, etc. Finally, I added an option that lets you customize the text color in certain menus--namely, the ones that you always wished you could theme when using or designing a "dark" ShapeShifter theme.
- CrystalClear Interface also introduces somewhat superfluous animations that fire when you close windows. An option in another new tab lets you turn the animation mode off if you like.
- Another option, which isdisabled by default, lets you turn on SAM (single application mode). Since SAM is one of the desktop paradigms that I believe are essential to successful adoption of clear interfaces, I'm offering this minimal version as a start. I still use LiteSwitch myself for day-to-day SAMming, because it (a) works with Carbon apps, too, and (b) implements the standard "Shift-when-switching" key that lets you keep two (or more) applications onscreen at the same time when necessary.
- Utility-type panels (such as the color and font panels, and "inspector" panels) are designed with a faux "HUD" look that’s become popular in Apple’s software lately.
- Sheets are designed as a light blue sheet of glass, and "alert" panels appear in a gold color. The structure is in place to allow users to customize the color settings for both of these kinds of window objects.
- To make CrystalClear windows look as much like glass as possible, I was able to persuade a slice of transparent "highlight" glass to affix itself to each one. The effect is really quite cool. The shine resizes itself with its window and disposes of itself when the window is closed. Again, I plan eventually to let users turn the shine on and off, and also to select from a few other shine "styles."
- This version has a routine that changes the background text color from black to white in the HUD-style windows that are by default set in a dark translucent color. Customizing the text color contrast in this way is key to making windows of variable color and transparency readable. I've managed to do the same thing to some other windows (concentrating on those that have transparent backgrounds), but the function is still evolving.
- Besides a link to Preferences, the CrystalClear menu item now also has a selection for turning the Crystal Menubar on and off. (The on-and-off part is still a bit buggy.) This function activates a newer version of the Crystal Menubar, but you can still use the one I released in August instead.
- You can disable CrystalClear Interface on a per-application basis, as you could with SetAlphaValue. Even in this mode, however, you can enjoy a side-benefit of the software: CrystalClear Interface activates the "Opacity" slider everywhere the Color panel is used (well, except for Carbon apps). This means you can get transparent backgrounds in applications like Xcode, Coda, Smultron, etc., that otherwise wouldn't let you!
What's In the Crystal Clear Package?
The Crystal Clear download includes the following files in the main folder:
- Crystal Clear v15.guiKit (Both variants of Crystal Clear for ShapeShifter).
- CrystalClear Interface.mpkg (Installer for CrystalClear Interface).
There are six subfolders in the package:
- docs: Two Welcome documents, one for CrystalClear Interface and one for Crystal Clear for ShapeShifter, and a Help document (which is also included in the software's preferences pane).
- icons: I've updated the Crystal Albook icon set, adding a dozen or so new icons. This folder has a GuiKit file for use with ShapeShifter, and three iContainers for use with CandyBar (they were made with the terrific, new CandyBar 3.0, but I think can be used with previous versions as well).
- menu extras: Here you'll find folders with menu-extra graphics and installation ReadMe files for Chronosync, DropCopy, FastAndSlow, FastScripts Lite, iKey, MainMenu, Sound Source, Yahoo Widget Engine, and YouControl Tunes.
- other extras: This is where you'll find the iCan theme, the updated Growl style, and a folder for the extra SafariStand toolbar graphics.
- pics: Contains full-screen previews for both Crystal Clear and CrystalClear Interface. The pic of Crystal Clear (ShapeShifter) is taken with CrystalClear Interface running on Tiger (Mac OS X 10.4.10). The pics of CrystalClear Interface on its own is taken in Leopard (Mac OS X 10.5.1).
- desktop pics: A Crystal Clear user sent me a terrific batch of desktop pictures with a Cosmos theme, which, given Leopard's default desktop, is quite timely. I've been enjoying using them lately, and in fact they provided the backdrop for some of the pictures I took for the Musings from Mars release article.
Known Issues and Usage Notes
In addition, there are a number of applications that may not work properly with CrystalClear Interface running. On Leopard (Mac OS X 10.5), in particular, I have done less testing than on Tiger. Applications that I've experienced some difficulty with include:
- InterfaceBuilder (Leopard) (better with v. 1.8.1)
- Numbers (actually works now with v. 1.8.1)
- Console (Leopard). It runs fine, but crashes if you close a window showing the tabular log data.
If you need to disable CrystalClear Interface in a particular application, simply select the checkbox at the top of the Preferences window. In this situation, it's a good idea to quit and restart the application afterwards.
On Leopard, there is a bug involving the main menubar, which I'll be working on for a future release. Occasionally, selecting the main menubar will cause the application to crash, but it's a fairly rare occurrence. I also experience an occasional crash when clicking on a window's close button.
The Crystal Menubar loading/unloading mechanism is still buggy. If you find that you've launched more than one menubar, for now you'll have to use ActivityMonitor to quit one of them. In ActivityMonitor, enter "Crystal" in the search field to locate the Menubar applications.
I'll be actively developing CrystalClear Interface for some time, so if you experience a particular bug, please email me a report with as much detail as possible: llscotts at fastmail.fm
To uninstall CrystalClear Interface, delete the folder "CrystalClear" from your /Library/InputManagers folder. Deleting this folder will require you to authenticate as an admin user.
Download CrystalClear Interface 1.8.0 package (12.4 MB)
» Update 01/02/08: Download CrystalClear Interface 1.8.12 (0.8 MB)
Note: Version 1.8.12 consists of an additional round of performance optimizations and bug fixes. Targets include iPhoto, iChat, PhotoBooth, iWeb, and, on Leopard, QuickLook. CrystalBar's launch mechanism still needs work, but it should no longer drop down the screen when you enter full-screen mode in an application.
The thumbnails below link to full-size desktop screenshots on my deviantArt site. Hope you enjoy the surprise!
LICENSE
c 2007, Leland Scott, Musings from Mars
Use of this software is free of charge, but redestribution or modification is prohibited without the author's permission. All rights reserved. The author assumes no responsibility for any damage to your system that may result from the use of this software. Please be sure to read all instructions and information in order to make the most of CrystalClear Interface.
Version History
0.5 | 2/13/07 | First release of Crystal Clear. This version is what became known later as Crystal Clear Dark. The development of Crystal Clear was described in this introductory article on Musings from Mars. A few days earlier, this preview article appeared, with many application screenshots. |
0.6 | 3/2/07 | Introduced a variant called Crystal Clear Lite, which utilizes translucent white menus instead of translucent black ones. The variant also incorporated numerous other improvements and bug fixes to the original release. |
1.0 | 3/26/07 | Crystal Clear 1.0 provided a complete package, with both "Lite" and "Dark" variants included. This release also included an initial set of Crystal icons based on the Albook icon set. |
1.1 | 4/19/07 | Crystal Clear 1.1 has several major new interface elements as well as a newly designed, full set of Crystal Albook icons (version 1.0). |
1.2 | 6/6/07 | Crystal Clear 1.2 introduces a new approach to the system menubar that attempts to solve the problem created by backgrounds in menu extras there. There are many other new interface elements as well as some fixes to earlier ones. This version does not include the Crystal Albook icons, but they can be downloaded separately. See this article for the latest information on Crystal Clear releases. |
1.5 | 9/7/07 | Crystal Clear 1.5 was developed to complement CrystalClear Interface, then in development. |
1.8 | 12/1/07 | CrystalClear Interface was numbered early in development, since it was conceived as an extension of the ShapeShifter theme, CrystalClear. However, things turned out a bit differently. The article on Musings from Mars explains. |
1.8.1 | 12/22/07 | This version adds an option to disable the "window shine", as well as makes a number of improvements to stability and performance, particularly on Mac OS X 10.5 ("Leopard"). |
1.8.12 | 01/02/08 | Additional round of performance optimizations and bug fixes. Targets include iPhoto, iChat, PhotoBooth, iWeb, and, on Leopard, QuickLook. CrystalBar's launch mechanism still needs work, but it should no longer drop down the screen when you enter full-screen mode in an application. |
System Preferences (Desktop Pictures) on Leopard with CrystalClear Interface 1.8 and the Incarnation desktop picture (c/o artofgregmartin.com). Click for larger version.
Time Machine on Leopard with CrystalClear Interface 1.8 and the default Mac OS X 10.5 desktop picture (Warp). Click for larger version.
Automator on Leopard with CrystalClear Interface 1.8 and the Celestia III desktop picture (c/o artofgregmartin.com). Click for larger version.
PathFinder (Spotlight Viewer) on Leopard with CrystalClear Interface 1.8 and the Orion Nebula desktop picture (c/o spacewallpapers.net). Click for larger version.