731 words on Mac OS X 10.5 Leopard
Tthe problem discussed here can be officially worked around in MacOS X.5.2 and above. The Desktop preferences give you an option to turn off menu bar transparency in those versions. Doing so also restores subpixel anti-aliasing for the text in menu names. Thus the discussion is only relevant for historical reasons and those who choose to use the transparent menu bar.
Man and cat have bitched about Mac OS X.5’s menu bar already. But I’m afraid I have to join in. Because, for a change, everybody’s right and I have to agree with them.
As I have read many times by now that OS X.5’s menu bar is transparent, let me just correct this. It may be advertised as transparent. But it is faux-transparent at best. It appears that the menu bar grabs the image of the desktop background behind the menu bar, which it then runs through an elaborate filter that blurs it, lightens it and tries to iron out the worst of contrasts to ensure that the menu bar remains somewhat legible.
However, the menu is not transparent. If it were, Finder icons that are partially beneath the menu bar would be visible. As would be an icon on the desktop that is partially beneath the menu bar, as would be the upper part of en enlarged side-located Dock, and as would be the sliding windows when using F11-Exposé. Yet, none of these is visible, i.e. the menu bar is obviously opaque.
This is a shame for a number of reasons. The first is that the menu bar is an essential part of the Mac GUI. And making it harder to discover und use just seems counterproductive. Having a less than white menu bar, will necessarily affect the contrast of the menu items’ black names to their background. And as desktop backgrounds are essentially unpredictable – all screenshots here come from my standard set of randomly rotating desktop backgrounds – there is just no way Apple’s engineers could come up with one algorithm to rule them all.
And the shame here is that the engineers obviously made and effort to find algorithms that make the implementation of the silly ‘transparent’ menu bar idea less painful. That sounds like hours wasted for nothing. Mere damage control. Throwing good thoughts after the bad idea of some manager or art director.
I guess I’m feeling sorry for the people who had to work hard to make this bearable. Quite likely their skills could have found much better use in other areas of OS X. Its graphics system could do with quite a bit of work still. Particularly if you are using a machine with the crappy Intel graphics chips that Apple didn’t quite ‘craft’ the X.5 graphics engine for.
And let’s just add insult to injury, shall we?
Only recently, after Apple’s release for Safari and the Mac-style font anti-aliasing for Windows, many people started becoming aware of the fact that there are different ways to anti-alias fonts. And many points were made about sub-pixel anti-aliasing and all the goodness that comes with it.
As the variable background of the X.5 menu bar means that characters have to be drawn on a transparent background and then put on the modified desktop menu bar picture, this also means that no sub-pixel anti-aliasing is used. As a consequence you may find that certain glyphs look irregularly rendered or poorly spaced in the menu bar. All this, while the menus themselves and the selected menu items are still rendered properly.
In short: they took the perfectly good Mac menu bar with its well rendered fonts, ruined the working contrast and forced themselves to use inferior anti-aliasing as a consequence. And yes, I do think that someone should be tarred and feathered for that.
sudo defaults write /System/Library/LaunchDaemons/com.apple.WindowServer 'EnvironmentVariables' -dict-add 'CI_NO_BACKGROUND_IMAGE' 1This doesn’t improve the anti-aliasing, but at least it gives you back a proper and solid menu bar.
Wow, the lack of subpixel anti-aliasing is really weird. It should be perfectly doable to draw the text directly to the blurred-picture, preserving the subpixel aliasing. This would be a bit slower than draw-to-transparent-surface-then-blit, since it has to redraw each time you change your desktop picture or start a new app with menus in different places. But that can hardly be a huge performance hit.
It should be noted that this command:
sudo defaults write /System/Library/LaunchDaemons/com.apple.WindowServer ‘EnvironmentVariables’ -dict ‘CINOBACKGROUND_IMAGE’ 1
Produces an extremely bright white, opaque menu bar. The last digit is a variable of opacity between 0 and 1; it appears the consensus is that 0.63 renders the closed shade of ‘Tiger’. I’m using it now and am quite happy with it.
But really, who came up with this idea? Have we heard from Apple on it? And when will it be changed?
Generally a good breakdown, but couldn’t you have a) used text for the final image, or b) resized / formatted the page to exclude scrollbars on the image. The width pretty much guarantees that folks with laptops will not be able to easily see the sudo text string. Or did you really intend that?
According to the Apple Publications Style Guide, page 97, the official version name of [in this case Leopard] is Mac OS X 10.5 (or Mac OS X 10.5.1). Thus, “X.5” doesn’t make much sense. Here is the link to the PDF.
This seems to be a real trend with Apple. If I understand things correctly, they have also abandoned sub-pixel anti-aliasing in the iWork suite, all because of the rare occasion when a user might want to make the font transparent. The consequence is that the rest of the time solid font uses an anti-aliasing method that is sub-optimal for every computer and display that Apple ships. This makes even less sense to me than this menu-bar mess. How can it be a good design decision to use sub-optimal font smoothing in applications where people stare at text or numbers for hours at a time?
You might try substituting .63 for 1 in that defaults write command - it gives an off-white menu bar with a nice gradient that approximates the look of the menu bar on systems which can’t render it “transparent”. [Found this tip somewhere, but I can’t remember where - perhaps macosxhints]
I really have to wonder why the translucent and blurred menus can have sub-pixel anti-aliasing, but the menubar doesn’t. I’m guessing it has to do with the fake transparency, which is weird and sort of pointless. Real translucency would probably be better.
The more I learn about the bizarre effects of the Leopard menubar the more I come to believe that it may be the biggest blunder of the whole 10.5 OS. Which means that Apple will never remove it. Still waiting for the biggest UI disgrace, the moving trashcan in the dock, to be removed, after all.
Thanks for all your comments!
Nathan: Thanks for adding the new values. I was quite happy with any change, so forgot to mention that. No idea who came up with this – and I doubt we’ll ever find out.
Jal-co-za: The sudo command is not an image, it is text which you can copy and paste. I want to have it in a single line, i.e. with the scroll bar, as otherwise people could get the impression that these are several commands and try to issue them one by one.
Gilles: I’m totally aware of that, but I don’t like Apple’s style of writing it with the 10 in there twice. The leading ‘10’ of the version number just seems superfluous. So I’m using a style I like better instead.
Scott: That’s a good point. I can still imagine that you can make a consistency argument for only having a single style of font-rendering in the same application. This can be quite irritating, particularly if you want to represent how something is printed in the end.
(Another Apple example of mixed font rendering is Safari’s text-shadow feature. Once you turn on the shadow on text, the text becomes thinner, which can ruin the look of things for small text when compared to other text without shadows next to it.)
msr: I don’t know this for sure, but my theory is the following: For the menus, the computer first draws the menu itself solidly, and then puts it on screen with a certain degree of transparency. Thus the fonts are rendered normally (closely looking at screenshots confirms this). While for the menu I assume that some component just draws the menu bar’s ‘background’ and then the text is drawn on top of that separately. For this to work the text has to be drawn with a transparent background.
Well done. The subpixel anti-aliasing is interesting to know. Now I know why it looks so crummy. Thanks for the roundup.
I don’t get why the blurring isn’t real time and showing icons under it. This is perfectly possible and works fast in Leopard as the Blurminal SIMBL hack shows
I actually didn’t know what you were referring to when you said X.5. I thought it must be some kind of graphics engine in Leopard. Thankfully, the comments sorted me out.
If you run Leopard on a computer with an old graphics card, the menu bar becomes opaque. This Daring Fireball post says that the value to make the menu bar exactly like this is 0.62, not 0.63.
On my own system, when I compare the .62 menu with an actual non-translucent menu bar (which you force the system to switch to simply by choosing an all-black desktop image) the .62 version is noticeably brighter. I know some dude apparently used a color eye dropper and sampled the “actual values” but my eyes tell me .62 isn’t accurate, and that .5 or .45 is closer.
No sub-pixel anti-aliasing is pretty annoying but at least the fonts in the menubar are large so it’s not so bad. ON the other hand, the fact that Apple is using non sub-pixel font rendering on iWork is ridiculous: with Numbers, the default font at the default zoom level is something like 9 points in size, and without the sub-pixel anti-aliasing looks extremely blurry and hard to read.
For the love of it, I can’t see what you are talking about. Your screenshots certainly show crummy menu items, but I can’t see that on my system: “you may find that certain glyphs look irregularly rendered or poorly spaced in the menu bar”
You may, or may not. ;-) Maybe it’s because I don’t use my Mac with 8x magnification turned on. ;-)
Also I have to say (please shoot me if you have to) that the transparent menu bar shows off my own pictures in a great way. I like it!
Woo! Linked to from Daring Fireball and betalogue! On the up mr sven!
I like the faux-translucent menu, when I think about it, but I have to confess, it’s sufficiently inconsequential that I did not notice that Aperture turns it off until it was pointed out to me. And I use Aperture almost daily. The translucent menu is bit less legible, but the legibility requirements for consistent spatial ui elements are pretty minimal, imo.
Like nearly everyone else, I did not notice the absence of sub-pixel anti-aliasing, and find it difficult to see a difference when you blow it up and stick it right in front of me. Even the guru of typography at daring fireball had to have it pointed out to him before he noticed it.
When the thing people whine about in a user interface has to be pointed out to them, that’s a pretty successful ui. To consider the trivial menu bar issue so serious as to merit tarring and feathering (even metaphorically), suggests you don’t have enough to complain about. I’m pretty sure the hours spent by engineers on the translucent menu bar pales next to the hours spent by mac bloggers whining about it. It really ain’t that big a deal.
« Gilles: I’m totally aware of that, but I don’t like Apple’s style of writing it with the 10 in there twice.[…] » I don’t like the Red/Orange/Green colour coordination on traffic lights, so I’m painting the one on my street Green/Orange/Blue. Only joking. I think the next major version will be named Mac OS XI maybe, and we may also see a Mac OS X 11.0 some day, so the “X” is not redundant. Enough formalism, I enjoy reading your views on the GUI.
It must be that I have an exceptionally good sight but I can’t stand the red and blue blurs that bleed on each the side of the glyphs when using subpixel anti-aliasing. And it’s not a problem with my Macs since I also see it on screenshots that people post, every fortnight or so, on their blogs when complaining about its absence in this or that situation.
I like the new menu bar. I don’t understand what you are whining about, there are apps galore that can solidify the menu bar.
Make Leopard’s Menubar like Tiger’s again! (longer battery life on some laptops is always a big plus, on-top of legibility).
STEP 1: Download OpaqueMenuBar. Unlike most fixes, this will make, as the name says, your menu-bar opaque by tweaking default.write stuff. It’s identical to our terminal command above but it’s a lot eaier.
STEP 2: RESTORE GRADIENT/SHEEN LOOK Download Menu Bar Tint. Set the top and bottom colors to 0% opacity and the middle color to black with between 10 and 15% opacity, depending on your tastes. The result is the burning white menubar now has a very very faint gradient, identical to Tigers’. To hide the dialog, simply click the red close button.
STEP 3: ROUND THOSE CORNERS Download displaperture. Tick only the top two corners, drag the bar all the way to the left and you’re good to go. To hide the dialog, simply click the red close button.
STEP 4: AUTOMATE Stick both Menu bar tint and Displaperture into your Startup items and tick “hide”.
You took the ugly out of the menu-bar.
Coming soon to a blog near you: Restore the classic white neat dock.
by all means, use your own made-up conventions instead of writing in a way that others can make sense of. That’s a great usability tip right there.
I don’t like the colors in sub-pixel antialiasing either. It’s like going back to the Atari 800 years (Atari had that kind of antialiasing on system fonts).
Sub-pixel aliasing works by taking advantage of the position of the colors within a pixel. Thus, if the glyph is on top of a colored background the color will look different and the antialiasing trick won’t work, so they only use it with black/gray/white backgrounds. That’s the only reason for it.
At todays resolution I’m happy enough with normal antialiasing, that the other screenshots show. I dont use macs either. I have no idea what I’m doing here anyway.
By all means, use a perfectly logical convection for a flawed terminology and expect others to make sense of it. That’s a great expectation as to the intelligence of your readers right there.
Oh ess ten ten point five? Ten ten? Seriously?
To my eyes, .63 is still WAY too dark. 0.75 is much more pleasing and Tiger-like…
There’s something wrong here. You’re right, windows and things don’t show up under it… but at the same time, it is actually transparent, because when it actually is rotating between desktop background, the background behind the menubar rotates as well.
Because of this, I think that the things-not-showing-under-menubar bug is nothing more than that, a bug. You have an unexpected use case (things going where the system tries to prevent them going, under the menubar), so it was never tested, and thus not noticed.
I expect the lack of subpixel antialiasing is a bug as well, though I could be wrong.
I bet a good enough hacker (glider, not hax0r), with skills far in superior to mine, could fix both problems, and release a utility that ‘fixed’ the Apple menubar. Then it would be assimilated into OS X 10.5.6, or something.
Dear Sir or Madam 1/4 Life Crisis,
What you are so adeptly observing is that Apple removed the options for any other system font in OS X besides Lucida Grande. Though this is a fine typeface, Apple’s inability to see beyond this narrow font selection has left users of the previous, current and next GUI in one position to cope with increasing complexity on their desktops. Tell Apple you want more font selection in your system fonts, like 1984-1999!
Beware that plist change - it tells OS X you have older video hardware and DEGRADES PERFORMANCE.
It’s very noticable difference when using 16 spaces on a macbook pro and then toggling back and forth between things and the multi-desktop view.
Personally I’d rather suffer transparency than have choppy graphics.