.. or "Macs from a Windows perspective"
A Mini-series of Indeterminate Length
I’ve had my Macbook Pro for almost two weeks now and I think I’ve had enough experience with it that I can make some fairly decent comparisons between OSX and Windows XP, from the viewpoint of someone who has just recently switched. In terms of know-how, I have a small bit of experience with Linux (I dual-booted the TabletPC with Debian for a little while last year) and my Windows knowledge spans a 12-year saga. My only Mac experience prior to this laptop was limited to a 3-week internship back in college (I was using OS9 on a G4). This series of entries will be devoted to the various differences and interesting issues I’ve encountered as I slowly transition my workflow and codebase on to the new system. As much as possible, I’ve decided to keep this series layman-friendly, except for those few occasions where a visit to the commandline is unavoidable.
So let’s get started!
1. Ye Olde Apple Key. It’s interesting the difference that one key on a keyboard can make. On a Mac, the Apple key is in the same place as the Windows key on a PC, but it does a heck of a lot more. Most Windows users will be familiar with basic text-editing keyboard shortcuts like Ctrl + Z, Ctrl + X, Ctrl + C, Ctrl + V. Replace the "Ctrl" with "Command" (which is the correct term for the Apple key), and you’ve got your Undo, Cut, Copy and Paste, respectively. Where this gets interesting is when you delve a little deeper. In Windows, we type Alt + Tab to switch to a different running application. In OSX, we type Command + Tab*; we can also do Command + ~ to cycle between windows within the current application.
Being a grizzled Windows veteran, one of the first keyboard shortcuts I tried to look for was the one to force the shutdown of errant applications. On Windows, you would normally do Ctrl + Shift + Esc to get a list of all your currently running applications, from which you would choose the one to stop. On MacOS, you would do Command + Alt + Esc. Interestingly enough, for all MacOS’s vaunted stability, I still do have to use this Force Quit dialog every now and then, particularly during those times when Firefox goes nuts. (Windows users, you’ll be happy to know that Firefox is an unstable resource hog on OSX as well.) Check out this guide for more Mac keyboard shortcuts.
2. Maximize/Minimize. One of the most frustrating things for me during my first few days with the Macbook was double-clicking the title bar of an application and expecting it to maximize, i.e., fill up the entire screen. On OSX, this same action minimizes the window, which is the absolute opposite of what I wanted it to do. The curious thing is that there really isn’t a "maximize" command for Mac apps; at least, not exactly. There’s a little green (+) icon at the top left of each window which is I guess what you would call a "smart-maximize" button. All it does is resize the current window so that you can view as much of it as your screen will allow (it’s a bit hard to explain, but suffice to say that it doesn’t give you fullscreen view either).
Other applications have a Zoom command in their menu bar, which will give you a close-to-fullscreen view, but not all of them. In other words, it’s very difficult to give full focus to a single application, unless you’re willing to manually drag the resize handle at the bottom right of each window. This took a lot of getting used to, particularly when all you wanna do is concentrate on one thing. Check out this discussion on mimicking the Windows maximize functionality with a custom keyboard shortcut.
3. Folder Structure. If you’re an advanced Windows user, one of the most disconcerting things you will be faced with upon entering OSX-land is the folder structure at the root. On Windows, you’d have something like:
- Documents & Settings
- Program Files
- Temp
- Windows
On Mac OSX, you have a slightly more complex structure:
- Applications
- bin
- etc
- Library
- private
- sbin
- System
- tmp
- Users
- usr
- var
*nix users will be right at home with this, because it’s text-book BSD (only the folders with capitalized first letters are OSX-specific). The folder "/Users" fulfills the same role as "/home" in any *nix system.
So whenever you install an application, these are placed in /Applications and are represented as icons (although in reality they are complex directories). The cool thing about it is that all you have to do to uninstall any app is to drag its icon to the Trash, and the entire directory structure it represents is immediately removed. Contrast that to the Windows approach that involves either running the application’s specific uninstaller, or going to Add/Remove Programs in the Control Panel to remove it from there. Simply deleting the application’s folder in File Explorer doesn’t cut it, because Windows programs are notorious for dropping bits of themselves all over the file-system (not to mention the Registry). On OSX, each application gets one sub-folder, and that’s it. If it needs to add a file outside of /Applications, it asks for root-user permission first.
4. Installing Applications. This is the part of OSX that confused the living crap out of me before I realized that I was overthinking the process. Most applications you download for Macs are contained in single DMGs which are the equivalent of ISO files in Windows. DMG stands for "Disk iMaGe", which basically means that OSX treats it like a CD or a USB memory stick that you have just inserted (the correct term is "mounted").
Once you’ve mounted your DMG, you will typically see a window with two over-sized icons. One of the icons represents the application itself, while the other icon represents your Applications folder. Now, originally, I thought this was some kind of visual instruction, i.e., I was supposed to copy something from the DMG into my Applications folder. That was actually the correct interpretation, but I didn’t understand that the only action required was to drag the first icon onto the second icon.
So in reality, what I was seeing in that window was the application’s codebase and a symbolic link to my Applications folder. Dragging the app to the folder was the graphical representation of installing the item. For small applications like Skype, the installation "process" was done as soon as you dragged the icon over. For larger ones, a progress bar would appear as the files were copied (I typically only saw a progress bar for Photoshop-sized applications; everything else completed in about 2-3 seconds).
5. Launching Applications. Most people will already have seen that MacOS’s standard method for launching applications is a thin strip of icons at the bottom of their screen. This is called the Dock, and it’s what Windows was trying to duplicate with their "Quick Launch Bar". Like the Quick Launch Bar, none of the applications you install will get placed on the Dock unless you specifically say so (i.e., you actually drag their icon onto it), so it will never get over-crowded.
The Dock is a very cute feature — I confess that it took me awhile to get tired of the magnifying animation as you moved over the various icons — but it’s certainly not the most efficient way to launch applications. After my first three days, I had changed my Dock’s default position to "hidden" and was launching all my apps using Quicksilver, which was a heck of a lot more efficient. Quicksilver is an application launcher, meaning it allows you to type the name of the app you want to run, instead of looking for it on the Dock and clicking on it. Why is this faster? Because Quicksilver learns what your favorite apps are, and can usually figure out what you mean within two or three letters.
On my machine, I can invoke Quicksilver’s little launch bar by typing Ctrl + Spacebar, type "PH," hit Enter, and instantly launch Photoshop. The entire series of keystrokes takes about 1 second to do, which is significantly faster than hunting around for the Photoshop icon on the Dock (or even worse, from the Applications folder).
Where Quicksilver really shines is in the various other tasks it can be taught to do. Right out of the box, it can be taught to run your email application whenever you hit Ctrl + Spacebar then type out an email address. Likewise, entering a valid url will load the address into your default browser. Or entering the first few letters of a video on your hard drive even. (Type "HOU" to get a list of House episodes, for example.)
After some fiddling, I got it to do site-specific searches as well. For example, to do a search on en.wikipedia.org, I hit Ctrl + Spacebar, type "wiki", then type the search term. To do an Amazon search, I type "amaz"; to do a Thesaurus.com search, I type "thes". The great thing is that you can configure it to use the search box of practically any site you want; the sky is literally the limit.
Quicksilver is, unfortunately, not a built-in application on OSX, but it’s free to download and is easily the best in its class. You can grab it here. (For Windows users, a number of decent clones are available. I used both Launchy and Colibri extensively on the TabletPC, and they were both pretty good.)
6. Closing Applications. Another curious difference between Windows and MacOS is the fact that clicking the (x) on an application window doesn’t actually close the application. This is the same behaviour that mobile users experience on PocketPC devices, and can be a bit annoying if you don’t notice that it’s still running on the Dock. The only way to really kill an application in MacOS is to hit the keystroke Command + Q, or look for the Quit entry on the menu bar.
Next up: Expose, the Dashboard, Spotlight and other cool productivity tools.