Apology: this article is way too long. I apologize for the bloat, but I haven’t the time to pare it down. Oh, and check out this link if you find Adobe’s UI glitches to be funny, rather than infuriating and tragic.
Just before daringfireball pointed me to this discussion of Adobe’s growing lack of Mac-likeness which — given my rants — you might think I’d be very sympathetic to, I was reading this thread on the Cheetah 3d forums in which someone points out that Blender is not very Mac-like. Gruber quotes himself pointing out that the accusation of being “un-Mac-like” is usually an inspecific “I don’t like it”. And I think Gruber is right in general and wrong about not being right in the case of the linked article. What Merlin Mann seems to be arguing is that a “Mac-like” program needs to be a simple single-purpose tool or feel as much like one as possible. OK, I’d buy that if perhaps he could come up with better examples than iPhone Twitter clients (or Acorn).
It’s this kind of opinionated bullshit that makes Windows users point at Mac users and laugh.
Yes, an app with a single text entry field and a single button is easier to use than Photoshop, unless you actually want to do something that Photoshop does that your fabulous app doesn’t which includes — roll drums — pretty much every single thing Photoshop does. If you compare an app like Photoshop to an app like Final Cut Pro, say, and complain that Photoshop is not Mac-like compared to FCP — OK, that’s at least some kind of legitimate debate. But no-one does that, because by any such metric, FCP isn’t “mac-like” either.
I hate a lot of the decisions Adobe has been making UI-wise too, but I don’t make stupid complaints about “clutter” or “confusing menus” unless I can think of a way to reduce the clutter or make the menus less confusing.
Ignoring iPhone Twitter clients for the moment, in the two linked threads two programs — Cheetah 3D and Acorn — are described by Mac-users as “mac-like” as compared to Blender and Photoshop. What do these comparisons have in common? What can we infer about being “mac-like” from these apparently reasonable comparisons?
Respect Good Design, Recognize and Avoid Bad Design
Cornerstone is a subversion client I use almost every day. I love it — it’s easy-to-use and beautiful. The website is beautiful (not very well-organized, but beautiful). It’s a freaking svn client, why should I care? TortoiseSVN under Windows (which I also use every day) is also fabulous (and free). I like it. It has features I wish Cornerstone had. But I don’t love it.
This is Photoline’s current About Box. This is a program someone is trying to sell to designers. (Incidentally, this design features Photoline’s old icon (it’s the cartoony camera et al above the heading “PhotoLine” — the new icon is an Adobe-“inspired” abstract circle with the letters “PL” inside it which is, if anything, uglier. The website is equally beautiful. Just for comparison, let’s take a look at the Pixelmator website as of today.
Lovely. And Pixelmator’s UI isn’t too ugly either. Now, it’s not like Pixelmator is a more capable program than Photoline, or even easier to use. It’s just that Pixelmator’s website and application are designed by someone without a tin eye. Speaking of tin eyes, have you tried tineye.com? If you can’t take decent photos yourself and don’t know anyone who can, stock photography is not expensive. Indeed, I’d recommend using good stock photography over using your own photographs because it will liberate your design decisions.
Native Cocoa UI
Macheads are extremely pro-Cocoa. If an app isn’t built with Cocoa it’s important to go to ridiculous lengths to make it look like it is. In the case of Photoshop criticism, I think this is a legitimate beef. Photoshop started life as a native Mac app, then got ported to Windows, IRIX, and possibly some other platforms. Adobe has written at least one platform-abstraction layer in the course of porting their various mainline apps, and for a while they seemed to be doing quite a good job. But it’s been nearly ten years since OS X shipped, and there’s no excuse for Adobe’s apps not to be running a platform-native UI in some shape or form (and this applies to the Windows versions too). This doesn’t necessarily mean Cocoa — it’s perfectly possible to wrap a 32-bit Carbon UI around a 64-bit faceless backend (and has been since 10.4), but Adobe has done neither — and instead has wrapped Photoshop in a kludgy 32-bit Carbon UI. CS5 promises to be Cocoa-native, so let’s hold our breath and see, since it will also be the first new version of Photoshop to offer new functionality rather than merely compatibility as a key selling point.
In Blender’s case the comparison is less justified. There simply isn’t any such thing as a decent full-featured 3d app* that is actually “Mac-like” either superficially (OS X native windows and widgets with a decent UI design) or at a deeper level (consistent layout and organization, adherence to UI standards). Cheetah 3d is about as Mac-like as 3d apps (that run on the Mac) get — but that’s not saying much. As of Cheetah 3d 4.7 there’s no “duplicate” command in the edit menu, and if you copy and paste an object to get around this, you end up with the original selected. Not correctly implementing edit functions is a violation of every set of UI guidelines there has ever been for the Mac, but C3d gets worse. You can perform multiple selections, but most operations either don’t work at all on multiple selections or do not behave as expected (e.g. only affecting one of the selected items). C3d’s menus aren’t terribly huge — which is lucky, because they’re terribly organized. (Maybe the order makes sense in German — which is an explanation, but not an excuse.)
Blender’s real problem is that its UI is horribly disorganized and implemented using a cross-platform OpenGL-based library of their own devising. There’s no defending some of Blender’s UI decisions (its confirmation dialogs, for example, are a disaster) — but the developers at least recognize this and are addressing it. Cheetah 3d’s UI design has problems that show no sign of going away, because it simply doesn’t get criticized enough. Its superficial “Mac-likeness” gets it a free pass. Who cares if copy and paste don’t work properly if you have a nice Cocoa toolbar?
* MoI (Moment of Inspiration), Sketchup, and Silo (modulo bugs and lack of support) are both pretty Mac-like, but are very much not full-featured. MoI is also Windows only, unfortunately.
Consistent and Attractive Layout
As Gruber points out in his earlier article, “There are still fundamental norms and conventions which all Mac software should adhere to, but there no longer exists a single, simple, overall design style or philosophy that defines Mac-likeness.” You can decide to be “a fine example of a Carbon app*” (e.g. TextWrangler), “kind of like iTunes” (e.g. Cornerstone), “kind of like iPhoto in full-screen mode” (e.g. Pixelmator), or even “totally unique but internally consistent” (e.g. Silo) — but pick one, be consistent, and follow the really important global rules (like command-C for copy, and command-W for close).
In other words, while there may be no “single, simple, overall design style or philosophy”, there are several “simple, overall design style or philosophies” to choose from — pick one and stick to it.
* Actually, it took me quite a while to think of any decent Carbon apps on the Mac, and Textwrangler is chosen somewhat advisedly. I don’t despise it the way (say) the folks at Rixstep do, but it’s certainly a bit clunky compared to its more modern brethren (Coda, Espresso, Textmate). Functionality does, however, justify a bit of cruft. And Textwrangler is free.
As Few Windows As Possible
One of the key things Mac-like programs do — and do well — is not have too many Windows, especially floating windows. Photoshop is, of course, a grotesque joke in this department. Heck, it’s often hard to even figure out which floating window you need to pick from its Window menu to adjust a particular setting. (I was trying to find the brush compositing setting when I was highlighting the menu image above and eventually gave up and created a new layer.) Again, here the original comparison works for Acorn (two windows) vs. Photoshop (good grief I have no clue how many) and not so much for Cheetah 3d (one window for everything, which is annoying if you use more than one monitor) vs. Blender (one window for everything, which is annoying…).
One of the odd things about Mac-likeness is how many Mac-like apps follow the “all in one Window” mantra, and then insist on using Apple’s font and color picker palettes. Not only do these palettes not fit in with any UI convention on the Mac whatsoever, they tend to add multiple non-decision-actions to common processes (like picking a font or font-size or changing a color). Pretty much every “Mac-like” program suffers from Apple font- and color-picker disease.
To be Mac-like an app needs to feel “light and responsive” not “slow and bloated”. Now, to be fair, Adobe’s apps have been launching slowly for an awfully long time — in fact I don’t think Photoshop 1.0 (a.k.a. “Barneyscan”) launched fast on the high end Macs of its day — but one of the things that makes Adobe’s current lineup feel bloated is that they’re just not that responsive when they’re up and running. (Photoshop CS4, in particular, takes 15s to launch and then runs like a dog on my work PC — and all I’m doing with it is editing web UI graphics, which weren’t challenging for Photoshop 4.0.)
Another aspect of feeling “light and responsive” is how you implement a core Mac concept from the very beginning: direct manipulation. Above, you’ll see Photoshop’s current radial blur dialog. The bit at the bottom-right “Blur Center” is as interactive as it gets. If you want to set the center of the effect, you click in a white square box (regardless of the aspect ratio of the image) and hope you roughly hit the right spot — but you’ll need to click OK, wait, and then if necessary undo and do over to see the result. As far as I can recall, this dialog has made it through to us from version 1.0 pretty much unchanged — and it’s quite a popular filter. (I think it’s even in some versions of After Effects!) None of Photoshop’s competitors have such an atrocious dialog.
When we compare Blender’s agility to Cheetah 3d’s, things are, again, less clear. Blender is smaller than Cheetah 3d, launches just as fast or even faster, and its user interface is actually less modal and more responsive than Cheetah 3d’s.
(Adobe’s Acrobat is a brilliantly named application — what says “light and responsive” better than “acrobat”? But it’s such a terrible application that it’s devalued the word “acrobat” rather than making people love the application. This is an important reminder that the key to creating Great Stuff isn’t emphasizing style over substance, but style and substance.)
Short, Clever, Memorable, Evocative, and Non-Literal Name
Guess which of the following apps are “Mac-like”: Word, Pages, Powerpoint, Keynote, Pagemaker, Freehand, Illustrator, Textmate, Photoline, Photoshop, Blender, Acorn, Pixelmator, Paintshop Pro, Final Cut Pro, Cheetah 3d, Coda, Espresso, Eclipse, Komodo, MonoDevelop, CSS Edit, Transmit, Garage Band, iPhoto, Picasa, Xcode, InDesign, Fireworks, Director, Flash, Unity. I’d argue that to be truly Mac-like an app needs to have a well-chosen, short, ideally non-literal or not-quite-literal name. CSS Edit is a very “mac-like” program in terms of having an attractive and usable UI, laser-like focus on doing one thing well, and lightweight feel — but its name is not quite right (although short and literal beats long and literal or short and wrong). But the developer clearly gets it, because Espresso is just the right kind of name for a Mac app.
There are definite no-nos when naming apps. It’s OK to be literal if you can get a one or perhaps two syllable word that just cuts to the chase, such as Word or Pages. Keynote squeaks by. (Persuasion wasn’t bad either — better than Powerpoint.) But if you end up calling your program HTMLcruncher — no, bzzzzzt, wrong. Also, adding “Pro” to an app name just plain sucks unless you have a non-Pro version that isn’t crippleware. It’s barely excusable for Final Cut Express. It’s OK to stick an “i” in front of an app name if (a) you’re Apple, and (b) the thing after the “i” is absolutely on the money. Even so, Garage Band is a better name than iTunes or iPhoto.
Going back to our original comparison here, Acorn wins over Photoshop (which wasn’t a particularly great name even when the product was launched, although it’s better than Barneyscan. Photoshop’s original competitors were called Digital Darkroom, ImageStudio, and ColorStudio, so it wins in that company, I guess). But I’d have to say Blender is a better name than Cheetah 3d. It’s even a better name than Cheetah.
Just as having a well-chosen name helps you be more Mac-like in a peculiar but significant way, having the right icon is crucial. Here’s a hint: a rectangle with some letters in it is not a great icon design. OK, Adobe has a buttload of apps to install on your hard disk, and coming up with a visual style that is consistent, attractive, and yet gives each app its own identity would be hard. But it’s not impossible — Apple has managed it with… basically all of its major apps. Personally, I think Adobe’s best icon idea was Illustrator’s Venus, subtly updated to show off Illustrator’s increasing functionality over time (more in the splash screen than the icon itself). Adobe’s real problem is that it has too many apps that are essentially the same thing folded differently — what icon would you give Fireworks to say “it’s like 43% of Photoshop with some tacked-on Web-specific functionality, with an unreadable UI, randomly disorganized”? Hmm… something colorful exploding is probably perfect!
But again, let’s return to our original comparison. Acorn’s icon is beautiful. (Acorn’s icon is its best feature!) Photoshop has an icon that I’m willing to bet was designed by a committee. The best thing you can say about the CS4 icons is that well, they don’t completely suck. At least you can recognize them and they’re not horribly ugly. But Blender has a pretty nice icon, and Cheetah 3d’s is, well, meh.
This is not superficial stuff. To make a program that’s “ugly but good” — like Blender or Photoshop — Mac-like involves eliminating (at best) or reducing the proliferation (at minimum) of floating windows and palettes (Blender’s there, Photoshop is as far from this as it’s possible to be); streamlining, simplifying, and organizing your user interface (Blender is in the process of doing this, Photoshop has been sitting on its ass here for nearly twenty years); making your user experience as lightweight and responsive as possible (Blender is fine here, Photoshop’s torpid bloat seems to be a result of deep architectural problems — its launch time is more comparable to an OS than an app), and having a great icon and a good name (Blender’s name and icon are Just Fine. Obviously, it would be stupid to rename Photoshop when its name has become a verb in common use, but its icon could easily be fixed).
Blender’s not mac-like, but most of its worst issues are either intrinsic to being a full-featured 3d app, or in the process of being addressed, and it has no fundamental, unfixable problems. Photoshop is a horrible mess. Its functionality is indispensable, but unless, as Merlin Mann suggests, they simple start over from scratch, Photoshop isn’t going to be fixed. The best we can hope for is some incremental UI improvements, adherence to platform standards unless there’s a darn good reason (and Adobe has shown no sign of having any such darn good reasons), optimization, and a visit from the Icon Fairy.
Perhaps the real takeaway point is that programs already considered “Mac-like” — such as Cheetah 3d, Acorn, and Cornerstone, can always become more Mac-like. iTunes 9 is a pretty fine example.