Many people are surprised to hear me say that I don’t think OS X has a well-designed GUI. As one of my professors puts it (I paraphrase):
Criticism is good. Criticism leads to change. Criticism makes things better.
In this post, I will try to do my part in making OS X better. The following is a list of GUI inconsistencies that bother me on a regular basis with OS X Leopard.
1. Maximize button. Why does the green maximize button (+) have so many different behaviors? Window buttons should be unified, have a consistent feel across different applications. How window buttons behave should not be up to developers. Instead, developers should adhere to a set of standards and a standardized windowing API.
To demonstrate, I have compiled a few before-and-after screenshots.
It is very frustrating when the user is unsure of how a standard window button is going to behave.
To put this into perspective, imagine getting into a car and being unsure of whether the button for rolling down the windows is actually going to roll down the windows, turn on the windshield wipers, or maybe even turn on the headlights. You simply expect a button that is in every car (especially a line from one manufacturer) to behave in exactly the same way (I know car analogies are very fickle especially because different manufacturers use different way of turning on the headlights for example — and I don’t agree with this either, ahem, VW — but every time I do get into a VW, the headlight switch always turns on the headlights!).
Anyway, I don’t care exactly WHAT behavior they assign to the little green button, but it needs to be consistent across the entire UI. Period.
2. Key Bindings. Along the lines of consistency, OS X should have a set of standard key bindings for moving to the end of a line, beginning of a line, page up, page down, etc. Ever tried to move the end of a line in TextWrangler? Word? Terminal? Adium? That’s right, all four applications have different key bindings: Cmd-RightArrow for TextWrangler, END for Word, and Ctrl-E for Terminal. I have no idea how to do it in Adium.
To this day, I still don’t know how to jump between words on a line (Ctrl-Arrow on Windows/Linux) because not only does every application use a different combination of modifier keys – between Command, Control, Alt, Option, Shift and Fn, I don’t even know where to begin! It feels like I’m performing finger gymnastics every time I try to jump between words.
Again, this goes back to a basic design principle: consistency. Unify and standardize behavior for all applications, and discourage developers from being cute (here’s looking at you Microsoft). Also, the Terminal app may be a special case, but again users like having options.
While I’m talking about Terminal, I would also like to see it unified with *nix terminals, where a mouse selection copies the selection to the buffer and the middle button pastes it.
3. Alt-Tabbing/Minimized Windows. This has been a sticking point since I first got OS X. I work with lots of open applications at the same time, as most developers do. Try this: minimize all windows of an application, switch to another app, and then try Command-Tabbing back to one of the other windows. I Cmd-Tab to my app, but it seems like nothing happens. That’s because the windows are still minimized and you have switched to the application, but not to a particular window. I am stuck moving my hand to the mouse.
This is not intuitive, and is a direct result of Apple’s insistence of distinguishing applications from application windows. It’s bad design, in my opinion. Maybe Apple can take a page from the world of Linux development and make things configurable, for example allowing users to either have a One-App-One-Window paradigm, or a One-App-Many-Windows paradigm. But I won’t hold my breath — sometimes, it seems configurability goes against the very grain of Apple’s existence. Also, I’ve tried Witch. While it does switch to separate windows, it’s cumbersome to use and has some quirky UI bugs.
As a result, I simply resort to not minimizing or maximizing my windows. That means I never, ever use the green or yellow buttons, basically making them pointless. This is a shame because I think the Traffic Light scheme can really work well for OS X if it exhibited correct behavior.
4. Crashes. Sure, OS X doesn’t crash as often, but it does crash.
What was I doing in Safari to make it crash? Nothing. It quite conveniently crashed as I was making screenshots for the maximize button-point. It had one page open. I don’t even use Safari, so that was the ONLY page I ever opened since the machine was rebooted. It simply stopped responding (Beach Ball of Death), kicked up my fan to 6000 rpm, and upped the temperature to 80 degrees Celcius.
To be fair, crashes are inevitable on any computer and os, and OS X really does have fewer of them. But it’s not immune. I guess you can write this off as an annoyance at Apple fanboys and their superiority complex. =P