OS X and Consistency
April 19th, 2004 | Published in General | 14 Comments
I love OS X. Really I do. I have dumped the only platform I have known for the past 15 years in favor of it. I think, overall, it is a beautiful top-notch operating system and I wouldn’t have spent $1500 on an iBook if I thought it wasn’t.
I love opening a terminal and having a UNIX commandline. I love that I can run Firefox and Microsoft Office on such a beautiful interface. Everything, including webpages, simply look better on OS X (as long as you’re not using IE 5.2, that is…). Plus you can’t beat running on a UNIX-based kernel for stability. OS X has far more advantages and disadvantages—but you already know that.
However, it’s inconsistency gets to me. I wouldn’t mind if things just worked different on my Mac. I expect that. But when things work differently than Windows and don’t work consistenly, I have a problem with it. That is when it starts to cut into how fast I can work, forcing my former anti-apple-self to rise up to condemn Apple afresh.
Home/End Keys
Of all the wonderful irritations I have noticed, my favorite is the inconsistent Home/End keys. Since I am often using plaintext editors (such as SubEthaEdit, BBEdit, TextEdit, etc.) for coding work, l love my home/end keys. They are a Godsend. It makes editing much quicker! But when there is no standard way of implementing Home/End, then using them begins to become confusing and irritating.
For instance, I’m writing this in TextEdit. If I hit “End” it takes me to the end of this document but doesn’t actually move my cursor there. That ranks up pretty high on the stupid list. If I want to go to the end of the document, then I probably want to type there, too. So in TextEdit, if I want to go to the end or beginning of a line, I have to hit Command-Arrow (the arrow which way I want to go). Okay, no sweat, I can handle that if that’s all I have to remember.
SubEthaEdit uses the same method as TextEdit (unfortunately) except that when you hit End it goes to the end of the exact line but doesn’t follow through to the actual end of the line like TextEdit. Another inconsistency even though they work much alike in every other respect. BBEdit works very similarly to TextEdit’s keybindings.
But then I go into Microsoft Word or Dreamweaver. Wanting to go to the end of a line, I remember that Apple uses this Command-Arrow way of navigating. But when I Command-Arrow, it jumps to the next word, not the end of the sentence. But if you hit “Home” or “End” it goes to the end of a line, like the method I’m used to in Windows. Argh!
But wait… there’s more!
The Mighty Close (or Quit?) Button
I knew when I bought my iBook that the close button is not a quit button. I researched that, and even though abhorred by the concept, I bit (or should I say bought) the bullet. Since I have been a Windows and Linux user and am very used to the way they manage windows, when I click on the “X” and it is the last window of that application, I want it to quit. I don’t want it to stay running without any windows open. I want it gone.
Nope, not on this shiny OS. You have to hit Command-Q to really quit. Or go to App -> Quit. But this disturbing behavior isn’t my main point. I would be okay if this was consistent. For virtually any program the close button just closes the window but leaves the application running, but not always…
When I go to System Preferences, the close button decides to work as a quit button. So does iPhoto—but not iTunes. Calculator and DVD Player quits—but not Font Book. So you never know what will actually quit or what will stay running when you hit the close button. That’s simply poor design and inconsistent. Plus it gives me headaches.
But wait… there’s more!
PgUp/PgDn
Since I’m a web designer, I’m often SSHing (can I use that as a verb?) into servers and making changes. I use PuTTY in Windows (which is a fantastic client that even has mouse support) and it has served me well. Since OS X has a nice (I use that term loosely) terminal built in, I figured that doing SSH logins would be perfect. I was, as usual, dreaming.
Throw your keybindings out the window with Terminal. PgUp, PgDn, Home, or End won’t work correctly in Terminal. They have PgUp/PgDn set to move the buffer up and down. What?! I tried for hours to fix it to no avail. You have to hit Ctrl+PgDn or something to actually make it send a PgDn. Same with home or end.
So I downloaded iTerm, and I must say it works much better. It even has tabs built-in!
If you hit PgDn in Microsoft Word, it moves your cursor a page down for you. That makes sense. In TextEdit, it moves the page down but doesn’t move your cursor. So if you want to begin typing on that page, you have to do a mouse click otherwise TextEdit will bring you back to where you started your PgUp/PgDn adventure. BBEdit (again, unfortunately) works the same as TextEdit.
Dreamweaver (in “code” mode) works much like Microsoft Word in respect to the Home/End keys, but works like TextEdit with PgUp/PgDn. When you hit PgDn, it doesn’t move your cursor with you. But in “design” mode it moves the cursor for you!
This has to be the reason why Mac people are often portrayed as insane—things like this drive them mad, I am sure of it. I’m nearly there myself.
Conclusion
It is strange that Windows is more consistent than OS X in this regard. I never had a problem with this in Windows—Home always went to the beginning of a line, End to the end, PgDn went to the next page and moved the cursor there, and PgUp likewise but reverse. I would think that something like this would be consistent in OS X as well, if not (somehow) work more consistent! There can always be exceptions if a certain program must work differently, but this does not seem to be the case with the above examples. It is simply bad design. With OS X, it seems to be a rule that keybindings be different in each program instead of an exception—which does not go along with Apple’s user-friendly reputation.
April 21st, 2004 at 6:54 am (#)
I feel your pain. However, I’d like to point out some consistency that is present in the “close button != quit” part.
The HIG states that when the window of a single window application is closed, the app should quit. This means System Preferences, iPhoto, Calculator, etc. When the last window of a multiple document application is closed, the application should remain open. This means iTunes, Font Book, etc.
This aspect of the HIG hasn’t confused me, but I can understand where you’re coming from.
Another inconsistency that has been talked about is the metal interface. Apple either stretches or ignores their own rules in the HIG on this one. Meh.
April 21st, 2004 at 11:53 am (#)
I got another one for you. Command-H vs. Minimize Button. Minimize removes your window from the screen, and puts a handy icon in the dock. Ok, fair enough. But Command-H removes your window from the screen without putting an icon in the dock. If your like me, sometimes using minimize and sometimes using command-h, you end up poking around the dock, wondering what happened to your damn window, then realizing that I hid the window so its not in the dock!
I guess some people would suggest that I just use minimize, but it seems to me that these two functions are functionally equivalent, and so should have the same behavior.
April 21st, 2004 at 7:27 pm (#)
Sorry. I quite hate computers that lack a mouse. Trying to use OS X with that little area you use to move the cursor is very irratating. I get really frustrated with iBooks and OS X’s “cute” little navbar at the bottom.
April 21st, 2004 at 10:08 pm (#)
I’d have to disagree with you, Mike. Then again, I’ve come from using OS 7-9, in which there was only the Hide command. With OS X’s introduction of the dock, I feel a functional difference between the commands. More often than not, I prefer the Hide command.
Dante, if you’re referring to the lack of a scroll wheel and second button, I’m totally with you on that. Apple’s rationale when they first started making Macs made a lot of sense, but things have changed a lot, and it’s just odd nowadays to see one button and no scroll wheel.
April 30th, 2004 at 5:36 pm (#)
The inconsistencies with the home, end, page up, and page down keys are because SubEthaEdit and TextEdit both use the Cocoa framework while BBEdit and Dreamweaver use the Carbon text manager (MS Word has its own manager I believe). You’ll see inconsistencies until most developers actually start migrating from “old” Carbon to the Cocoa framework. Text in Cocoa is far superior, but I agree that it should move the cursor instead of just the view – what’s up with that? By the way, command-arrow is end of line and option-arrow is next word in Cocoa applications in Mac OS X. I believe Word uses both option- and command-arrow for next word. I think the way Terminal implements the page up/page down keys makes sense, but it should definitely make it easier to figure out how to send the keys through.
Concerning the Dock, I’ve gotten used to it and it works for me. One thing I did, however, was to make the icon of hidden applications transparent, which solves the ‘where did my minimized window go?’ problem.
Lack of a mouse? Don’t all laptops lack a mouse until you plug one in?
May 3rd, 2004 at 2:04 pm (#)
Per the close window: iTunes is a single-window program, and it still doesn’t quit when you hit the red button. I guess Apple didn’t follow their own guidelines.
May 4th, 2004 at 2:11 pm (#)
iTunes is a multiple window program. Double click a playlist to open it in its own window. Also, use the window menu to open the Equalizer.
As to your other comments: The terminal can be annoying when SSH’ing, or Telneting into applications that have their own key designations. Particularily on laptops…and Particularily with “F Keys.” As, you mention the same applies to pgUp pgDn home end. The inconsistent behavour is because of the reasons stated above, Some apps use the Cocoa Framework, but others use the Carbon Framework (which allowed developers to get quick releases of applications out for OS X when the switch happened). That is not to say that the implemention in Cocoa is perfect, but it is different than what you are used to certainly.
As to the using the “close window” button to quit an application. Regardless of the HIG, I for one dislike having to use a mouse to exit my application, I much prefer the command-q method. These keystrokes will be so familiar in a short amount of time that you’ll wonder how you ever got along “clicking-to-quit.”
July 10th, 2005 at 3:54 pm (#)
If I only have a single window open in the application then isn’t it a single window application (at that given moment)?
In the System Preferences program, if you click “About System Preferences” another window opens up and you can switch back and forth between it and the main window. (Same for Help) However, closing the main window while these windows are open still quits the application.
Just admit it (all you mac-fans), Apple’s UI is inconsistent and limited compared to Windows XP.
January 21st, 2006 at 10:54 am (#)
you dont need sshing, just change the following keys in terminal: [page down] and [page up] to _send string_ ^[[6~ and ^[[5~, to emulate page down/page up keys in a xterm.
January 24th, 2006 at 8:35 pm (#)
Been using OSX on a powerbook since october, and for the most part, I think it’s great.
In regards to the close button issue: if there is only one window left in the multi-window application, then that should quit the app.
February 6th, 2006 at 9:07 pm (#)
BBEdit has long been my favorite editor for web development, but recently I started using the text editor in Dreamweaver, because I was getting so infuriated by the home/end functionality in BBEdit (Dreamweaver takes you to the beggining and end of line with those keys). At my last job I was forced to use a Windows machine and got used to the consistend home/end functionality on that OS. I kept instinctively pushing home in BBEdit and finding myself 200 lines away from where I was a second ago.
Well, I finally got fed up and googled “bbedit home end keys” and found this page. If anyone else has been in the same boat as me, I wanted to share that I found that the home/end key behavior is a preference in good old BBEdit. You can change it to go to the beginning and end of line under Preferences > Editing: Keyboard > “Home” and “End” keys. My love for BBEdit has been reignited! :-D
February 14th, 2006 at 9:25 pm (#)
[…] arround in Terminal, etc. Saw this article and suddenly, I was no longer alone… Permalink […]
November 14th, 2006 at 7:16 am (#)
I totally agree about the home/end keys! Such a pain. I did some research and found out that for most programs, the problem is easy to fix.
I posted about how to “fix” the home/end keys on my blog and even made a script you can run to fix it for you.
http://www.starryhope.com/tech/apple/2006/keyfixer/
June 11th, 2008 at 11:28 am (#)
i just don’t like the way program close even if it’s consistent
the minimize also confuses me
dock runs out of space
even had to download 3rd party programs for:
-maximize windows
-controlling boot sound
-raising mouse trackspeed
.. i’ll just stick to bootcamp