Tuesday, October 23, 2012

Replacing DragThing (Setting Up a Retina MacBook Pro for Multi-Platform Development, Part 3)

I am a big fan of DragThing.  I've owned a copy since probably Mac OS 8, and it's the first app I install on every new Mac I buy.  It sits unobtrusively at the bottom of my screen, pinned as a drawer...

My Main DragThing Dock, Shown as Drawer

waiting for me to hover, click a tab, or drag a file onto an app icon...

My Main DragThing Dock, Responding to Dragged File

or (maybe most importantly for me) hit the user-defined key chord for a commonly-used app:

DragThing Item Hot Key Editor

But it does cost money, and for my new work PC I didn't want to rack up requests for nonessential utilities.  After all, I use it primarily as an app launcher, and there are other ways to launch apps on OS X.

So I'm trying an experiment.  Rather than pinning the Dock to the right side of my screen, removing almost all the icons, and and setting it to auto-hide, I'm going to try using it.  I find it awkward and obtrusive sitting there at the bottom of my screen with its poorly-defined boundaries, but maybe I'll get used to it.  I can't put anywhere near all my apps in it, but I can add some favorites.  I can't define tabbed layers with app categories that automatically open when a file is dragged onto them, but maybe there are other ways to skin that cat.  It's nice at least that my Downloads folder is more readily accessible (now that downloading to one's desktop is out of fashion), and now when Dock icons bounce it seems like part of my standard UI rather than a weird annoyance from out of nowhere.

So anyway, here is my RMBP Dock, about one month in:

My Retina MacBook Pro's Dock

I've got all the essentials, plus a few non-essentials I'm vaguely afraid to remove or I keep there for completeness or aesthetic reasons.

What I find is that I use the Dock for "in-between" apps--ones I launch semi-frequently that I don't feel warrant their own key chords (more on this next).  For apps that didn't make the cut for the Dock, I'm experimenting with various launchers but will probably stick with QuickSilver because I need it for hot keys and its "power user" features give me feelings of superiority.

Non-Dock App Launching Options in OS X

There are plenty of ways to launch apps in OS X without the Dock.  Here a few.

Option 1: The Finder

The classic way to launch a Mac application is simply to double-click the app's icon in the Finder:

The Applications Folder
The Applications Folder is for You (Kind of)!
The idea of navigating to the app's icon in the Finder isn't as foreign to longtime Mac users as it is to Windows users.  In Classic Mac OS, your hard drive was your own and you were free to put your apps (which were, in general, entirely self-contained) anywhere you saw fit.  There was no off-limits Program Files directory that only installers were allowed to touch.  The application icon was both the representation of the executable file in the filesystem and the default interface for launching the executable.  Things got a bit scarier with the UNIXification of Mac OS, and after some bad app upgrade experiences in the early days of OS X I'm very leery of reorganizing my Applications directory (which is a shame).  But Apple still clearly considers the Finder acceptable interface for launching applications and provides a prominent link to the Applications folder in the Finder's sidebar.

The Finder is my last-resort app launcher because it just takes too many clicks or awkward keystrokes to get from working in an application to selecting an app icon.  With the keyboard, I can Command+Tab to the Finder (minimum two keystrokes), type Command+Shift+A (a very awkward key chord that forces me to leave home row) to open the Applications folder, and then start typing the application name (hoping I don't make any typos).  With luck, I get the correct icon selected and can type Command+O to open it.  This is silly; I might as well use the mouse.  But mousing to a Finder window means first getting (usually) several layers of application windows out of the way (I suppose I could use Exposé) to get to an open Finder window or the desktop, then double-clicking my way to the correct folder.  This is slow and annoying.

Option 2: Spotlight

If an application appears as a hit in a Spotlight search, you can launch it by clicking the appropriate menu item or selecting it with cursor keys and hitting Return.  I really want a solution that's either all mouse or all keyboard, so clicking a menu option that appears after typing isn't great.  And I dislike using the cursor keys because I can't use them reliably without leaving home row.  But Spotlight works okay if the desired application is the top hit: Command+Space to pop up the search box, type the first few characters in the app's name, and hit Return (no cursor keys) to launch the top hit.

Launching Applications from Spotlight

Option 3: Launchpad

With OS X Lion, Apple introduced the iOS- (or maybe System 7.5)-inspired Launchpad app, a secondary interface for app launching.  I can click its icon in the dock or launch it via F4 on the RMBP (no need to hold the "fn" key).

My OS X Launchpad

It's pretty, but it doesn't hold any more icons on a single screen than the Dock, so it doesn't really make more apps accessible graphically.  What's more, even though they're smaller, icons in the Dock are easier targets thanks to Fitts's Law.  Launchpad has a search feature that will narrow down the list of apps as you type, so it's decent for keyboard control, but really no better than Spotlight, which is easier (for me) to access from the keyboard and makes the top hit just as keyboard-accessible.  As in Spotlight, selecting the non-top hit requires use of the cursor keys.

Third-Party App Launching Options

There is no shortage of third-party application launchers for the Mac.  I don't know why this is such a popular category for Mac apps, but it is and has been for decades.  Even back when I first heard about DragThing, there were several full-featured alternatives.  These days, some favorites appear to be:
LaunchBar looks very nice, and if I were a new Mac user in the market for a full-featured, commercial app launcher, I'd give it a serious look.  But the point of my search was to find something free, so I only tried free launchers.  I've installed Alfred, QuickSilver, Namely, and Chuck.  I never got around to trying the last three, not because they're any less compelling than the others, but because I'd already settled into a groove when I first read about them.  Below are my thoughts on the apps I did try.

Chuck

Chuck is a nice, simple, free app available on the Mac App Store.  You can set it to start up at login and summons it with a user-definable hotkey.  It's this:

Chuck Launching Firefox
That's pretty much it.  You pull it up, you type a few characters from the name of your app, and you hit Return to launch your app.  Hitting Command-F instead will reveal the app in the Finder.  There are a few preferences, but basically that's Chuck.  It's lean and mean and nice for what it is.  It offers potentially two advantages over Spotlight for app launching: the list contains just apps, and you can use abbreviations that omit intermediate characters for apps (e.g. "ffx" for Firefox).  Nice app, but I want something a little beefier.

Namely

Namely is... a whole lot like Chuck:

Namely Launching Firefox
Nothing wrong with that; I just don't have much more to say about it.  Good, single-purpose app.  Not quite full-featured enough for my tastes.

Alfred

Alfred is gorgeous.  Behold:

Alfred Launching Apps

Like Chuck and Namely, it's a background app that listens for a user-defined hotkey (by default Option+Space) and displays a floating search box with the top hits for your search.  Hitting Return launches the top hit, and--learn a lesson, Apple--there are keyboard shortcuts for the next six!  There are also all sorts of little goodies, like a built-in calculator:

Alfred as a Calculator
(I recently discovered that Spotlight does this too--cool!)

This would be my ideal app launcher if the PowerPack were free.  The PowerPack has the one DragThing feature I'm most eager to replace: user-assignable hotkeys for applications.  If I were seeking a beautiful, less-is-more app launcher for a new personal Mac, I'd get Alfred and buy the PowerPack.  But this whole experiment is about finding what I can get for free, so...

QuickSilver

I guess QuickSilver was all the rage about six years ago and I missed it because my app-launching needs were taken care of.  In 2007 the main developer, Nicholas Jitkoff, actually ceased development to work on Google Quick Search Box.  He open-sourced the code, but OS upgrades repeatedly broke compatibility and there wasn't much serious development for several years.  But now it's on GitHub with an active developer community, and I read good reviews so I tried it out.

Like Alfred, QuickSilver's primary UI is a floating search window launched with a hotkey.  Here's the default appearance:

QuickSilver Launching Firefox

I've hit Ctrl+Space and typed "f."  Firefox is the top suggestion; others are shown in the list below.  The second pane on the right is the default action.  If I hit Return, the default action will be executed on the selected item.  For applications and files, the default action is "Open"; there are also other types of search results you can configure to appear in the list.

To execute an action other than the default, you can hit Tab to highlight the Action pane and use the cursor keys to highlight another action:

QuickSilver Actions

Some actions take an additional argument:

QuickSilver Arguments

The previous two images hint at the "power user" features that QuickSilver is known for.  It has a plugin system for adding actions of all sorts, in particular app-specific actions that expose functionality of Apple-provided and third-party apps via QuickSilver's interface:

QuickSilver Plugins
More importantly for me on a practical level, though, is the "Triggers" interface:

QuickSilver Custom Triggers
Ah, there they are.  My app hotkeys.  So QuickSilver wins.  Realistically, I will probably rarely, if ever, use more than a few hotkeys and the occasional Ctrl+Space+<app name>+Return.  And I could get the latter effect from Spotlight with a Command+Space.  But QuickSilver provides the best overall package at my at-work price point ($0), so that's what I'll be using most.  I wish it were as pretty as Alfred; I wish it supported keyboard shortcuts for the top several hits; I wish it didn't have a creepy alchemical symbol for a logo; but it gets the job done.

Side Note: Good Software is Worth Money; Good Free Software is a Gift

I want to make it clear that QuickSilver is only my top choice among the free apps I tried.  In general I'm not opposed to paying for good software--at home I'm still using DragThing, and apps like Alfred (with PowerPack) and LaunchPad seem well worth the money.  But it does amaze me how much great freeware there is for the Mac, and QuickSilver is an excellent piece of software.  It has probably hundreds to thousands of hours of development time in it, and it is worth real money.  That the developer chose to give it away for free is charity on his part, and I greatly appreciate it.  Thanks, Nicholas Jitkoff.  And thanks to all the other QuickSilver developers who have taken over the code base.  I'll be discussing other free apps in future posts, some of which are best-in-class and some of which are "best-in-class-for-free."  I want to encourage readers to:
  1. Appreciate and be thankful for the free apps and
  2. Don't snub the commercial ones.  Developers need to eat.

No comments:

Post a Comment