posted by Scot Hacker on Mon 17th Dec 2001 17:34 UTC

"Miscellaneous Moans and Groans"

So, those are my biggest complaints about OS X. But there are other, smaller differences I have to get off my chest.

  • Scripting
  • OS X embraces and enhances the time-honored AppleScript system for automating tasks. AppleScript is a pretty cool language, with one big disadvantage -- you have to learn it, even if you already consider yourself a master in another scripting language.

    BeOS takes a different approach to application scripting. Applications provide whatever array of scriptable "hooks" they deem appropriate, and expose / document them as they see fit. These hooks are addressable by the BeOS interapplication messaging model, the BMessage. BMessages can be sent from within compiled applications, or from scripts. From what kind of scripts? Any kind of scripts! Bash, perl, Python, PHP, REBOL, whatever you like and know. All that's required for any scripting language to talk to any application is a command-line utility called "hey," which is conceptually very similar to the Mac OS "tell" command found in AppleScript.

    As long as your scripting language of choice can invoke "hey," or can otherwise send BMesssages, it can be used to script the behavior of applications running on the system.

    But while the BeOS scripting system is more flexible than Apple's system, the reality is that Apple is much larger, there are more scriptable Mac OS applications out there, and there are far, far more AppleScripts than hey scripts available to make your daily computing life easier and more productive.

    I don't mind AppleScript. I wish the system were open to other languages, but AppleScript does a fine job, and is very powerful.

  • Keyboardability
  • Mac OS has never stood up to other operating systems in the keyboardability department. OS X is a little better than OS 9 in this regard, but still has some puzzling omissions. For example, it is not possible to tab around or arrow-key amongst the buttons in dialog boxes, which means reaching for the mouse. MS Windows dialogs also have a shortcut key for each possible field and button, which makes many tasks much faster. For example, if I'm doing a search and replace in a Windows app, Alt+A is going to activate the Replace All button rather than the default Replace. In OS X, I have to stop and reach for the mouse, which interrupts the workflow and the train of thought.


    I have two problems with OS X dialogs. 1) You can tab through fields with the Tab key, but you can't use the arrow or tab keys to move between buttons. 2) Buttons don't have associated trigger keys, which means you can't activate any but the default button from the keyboard. If I want to Replace All from this BBEdit dialog, I'll have to reach for the mouse.

    For the record, I was never completely happy with BeOS' keyboardability either, and found Linux inconsistent here (Gnome and KDE dialogs behave differently, for example). I've never used an OS that was as keyboardable as Windows, and have never understood why it's so hard for other OSes to catch up with Windows here.

    As with BeOS, Cmd-Tab cycles between open apps rather than toggling between the current and the last-used app (yes, there are third-party solutions for this). The Windows and Linux Alt+Tab method is far more efficient. It just is.

    There is an "Enable full keyboard access" panel in the System Prefs, but it doesn't get you very far. E.g. you can use a hotkey to activate an app's toolbar, but then have to arrow around to get to things. Windows gives us a trigger for each menu and each menu item. Thus, getting a word count in Word for Windows is a quick Alt+T, W. Getting the same in Word for OS X is yet another reach, move, navigate, click -- a mouse-driven workflow interruption that takes a good four to five times longer to accomplish.

    There are other old Mac OS keyboard habits which are retained in OS X, such as Home and End keys moving to the top and bottom of the document rather than start or end of the current line. As a result, the Home and End keys sit unused on the keyboard, because the need to move to the top or bottom of a document is extremely rare. To get to the start or end of the current line in Mac OS, you use the Cmd+right/left arrow shortcuts. These aren't as easy to learn, as intuitive, or as easy to reach.

    The same argument applies to launching files and folders from the Finder with the Enter key. In Mac OS, Enter puts you into rename mode. How often do you want to rename something compared to how often you want to launch it? In Mac OS, you need to hit Cmd-O to "open" a file or folder. Why not have the most-used action be the default for the Enter key, and the less-used action (renaming) be a hotkey? (In BeOS, rename is Alt+E).

    Yes, I know that muscle memory is worth a lot, but user testing should make it easy to see which tasks are performed most often. Common sense dictates mapping the easiest / most plainly marked keys to those tasks. Or am I missing something?

  • Workspaces
  • I'm pretty surprised to see some equivalent of workspaces missing from OS X. In BeOS, you get up to 32 virtual desktops to spread your apps and windows amongst. Each desktop can have a different resolution and color depth, and a different background color or bitmap. Users can toggle through desktops 1-12 with the Alt+Fx keys, and can move windows from one workspace to another by clicking and holding the window's title tab while switching workspaces. BeOS also includes a Workspaces panel that lets you drag apps between workspaces visually, if you prefer. Linux has similar tools, though none I've seen are quite as elegant as those in BeOS.

    After you get used to working in workspaces, it's hard to go back to a single desktop. They're a major usability advantage, have been around in various forms for 15 years, and just make good sense. The only 3rd-party utility I've seen for OS X to replicate this behavior is Space. Space will indeed clear your desktop so you can launch other apps in a clean environment, but that's about it. This should be an OS-level service, and one I hope more OS X users will begin to demand it from Apple.

  • Dotfiles
  • I love the Samba connectivity in OS X, but am frustrated that the Finder creates .dotfiles in every directory it touches on the remote SMB host. This, unfortunately, puts OS X users in the uncomfortable position of not being able to use their Macs on work and school networks without littering the directory listings for others on the same network. And I've seen posts from more than one user complaining that their sysadmins wouldn't allow them to continue using OS X's SMB tools if they couldn't get this fixed. So far, I haven't seen a fix posted anywhere. Let's hope one is forthcoming.

  • Window Positions
  • This is fairly minor, but it seems that some apps remember their window positions when closed and some do not. and Internet Explorer do remember their exact size and position between runs, but Terminal and many others do not. This is another good candidate for consistency in the user experience.

  • Cropping Images
  • Another fairly minor point: In BeOS, the concept of snippets / clippings is extended to images. Launch an image in the built-in ShowImage app, drag out a region of it, and drag it to the desktop -- you get a new image file containing just that selection. I've never seen an easier way to crop images and screenshots in any app, any platform.

    OS X offers something good enough and similar to nearly make up for it though -- Cmd-Shift-4 activates screenshot mode, but gives you a set of cross-hairs. Drag out a selection and that region is saved to the desktop as a new image file. Very nice, but limited to screenshots, rather than all images, as you get with BeOS (of course, one can always take a regional screenshot of a screenshot...)

  • Case (In)sensitivity
  • Open a Terminal and type:
    touch foo
    touch Foo
    The shell returns no errors, so you conclude that OS X is properly case sensitive. But get a directory listing, and you'll find that you've got a "foo," but no "Foo." As it turns out, the problem is in the filesystem, not in the OS -- HFS+ is case-respecting, but case-insensitive. Maybe that's old-hat for old-timers, but to me it seems just plain weird. As if Apple got started on case-sensitivity but never got around to finishing it. Those who want true case sensitivity need to install OS X with UFS, rather than HFS+. I'm sure someone somewhere can provide a whole host of reasons why HFS+ was constructed this way, but I still hope to see true case sensitivity in HFS+ in the future. BeOS (or, rather, BFS) got this one right.
    Table of contents
    1. "Out of the Frying Pan..."
    2. "... And Into the Fire..."
    3. "Smells Like Home Cookin"
    4. "A Lot To Like, First Impressions"
    5. "Networking Nirvana"
    6. "CD Burning, Disk Images"
    7. "Applications"
    8. "iMovie, iDVD"
    9. "Browsers and E-Mail"
    10. "Power Editors"
    11. "Community"
    12. "The Bad and The Ugly"
    13. "File System Shoot-Out"
    14. "Application-Binding Policies"
    15. "Alien Filesystems"
    16. "Miscellaneous Moans and Groans"
    17. "All Told, Life Is Good"
    e p (0)    153 Comment(s)

    Technology White Papers

    See More