On Quicksilver
Quicksilver is basically a launcher application for Mac OS X, which I have now been using for about a month, and I want to describe some aspects of my experience with it.
There are a couple of reasons that I began using Quicksilver. To go way back to the beginning, I used Xkeys for a number of years to trigger a set of simple Applescripts with my keyboard's function keys. (Toggle iTunes playing, toggle Quicktime playing, and hide all but the Finder) It worked ok, but I was never very happy with the way that it used a few percent of the cpu listening for key presses, and after it processed a key press it would leave my GUI in an odd state where no visible window had focus. I began hearing about Quicksilver, but dismissed it because it seemed unrelated to what I really wanted, namely mapping my function keys to functions. Then, during the last school year I began working with a another Mac user in my computer science class who would now and again extoll the virtues of Quicksilver (it's users tend to be fanatics in my experience) and lament that I didn't use it. I didn't react well to this, and was leaning more and more towards not using the software out of spite for everyone who told me I should, but when I realized that this was how I was thinking, I decided to break out of such nonsensical behavior and objectively try the software out. Around the same time I learned about Quicksilver's 'triggers' feature, which I realized might be a viable alternative to Xkeys.
So I downloaded and installed Quicksilver. My initial reaction wasn't too favorable; it insisted on using an idiotic rotating cube interface for it's setup, like the Mac OS setup process. It works well for the OS setup, I think, because it's the only thing on the screen, and it makes the otherwise boring process a little more visually interesting. In the case of Quicksilver, it looks to me like cheap gimmickry to try to impress me when it was placed in the already populated environment of the Finder and all of my other open apps. I was also very annoyed when the setup phase hung while trying to download and install plugins, forcing me to kill it and start over.
Having gotten past the setup, I was ready to set the software up in earnest by tweaking the preferences to suit me. One immediate thing to notice is that there are a lot of available plugins for the program. I installed all the ones that looked useful to me. Ignoring the vast majority, as they are for interfacing with other programs that I don't have. I have to say that handling of plugins is really the most elegant part of Quicksilver in my opinion: When you request a list of available plugins, the program retrieves a list (from a remote, centralized server, I assume) and shows them to you each with a check box by it. You simply check the checkbox and the plugin downloads and installs automatically, and since most plugins I've seen are very small, on the order of tens to a few hundred of kilobytes, the process is very smooth and fast.
The next step was to head over to the Triggers tab of the preferences. This was where things got really ugly. Triggers are incredibly useful and powerful, but the preferences pane for them is rather broken. When you press the plus button below the trigger list you get a standard Quicksilver 3-panel interface to specify the action the trigger will take. In each pane you type a few characters and Quicksilver gives a list of its guesses of items that match. The totally natural thing for any computer user to do is pick an item from the list and hit enter to close that list and go on to setting the other two arguments of the action, but pressing enter doesn't do just that, instead it completely finalizes the action, leaving you with an action that had only one or two of its parameters set. Creating a new group does something really weird; it creates the group all right, but then puts you in an editing mode for the name of the previously selected trigger, not the brand-new group. If you can stand adding a new trigger it will work like a dream thereafter; you just define the hot-key and then anytime you want press the hot-key and the action runs instantly. (And does so without the funny window defocusing behavior of Xkeys, thankfully. That was what sold me on this program.)
Ok, so Quicksilver is configured just the way you want, what's it like to use? As mentioned above, the triggers are great, and I depend upon them. The main program interface is rather more touch-and-go. The program's motto, as found on the developer's site is, "Act without doing," which is a great idea: If I want to convert some images from jpegs to pngs, I don't want to have to plan out opening each one in an application like Preview, selecting File>Export, export to a png. . . instead I want to be able to tell the computer: "See these jpegs I selected? Save a copy of each as a png." This is very much what Quicksilver tries to do: You press a hot-key to invoke its interface, type a few letters to indicate a target, hit tab, type a few letters to specify an action to perform on that target, and then press enter. (There may also be a third phase of specifying an extra piece of information for the task, or only the first phase may be needed.) At each step Quicksilver tries to guess what you mean based on history information about which items and actions you've referred to using the given letter combination before. in general it works well, but it fails often enough—about one time in 20 in my experience—that I'm greatly slowed down because I cannot trust it. A few examples:
Sometimes Quicksilver interprets search strings crazily. Suppose I have a folder containing some files:
- A History of Mankind.pages
- cheese making.txt
- good_books.txt
- toyMonkey.gif
- notes.doc
If I want to open notes.txt (assuming that I've told Quicksilver to catalogue this folder) I might type 'NOT' and it would almost certainly show up first or near the top of the list. But sometimes I've seen things happen like this: I want to open toyMonkey.gif, so I type TOYM, but the only result I get is A History of Mankind.pages with its non-contiguous 't', 'o', 'y', and 'm' underlined to show that those are the letters that match. The problem is, toyMonkey.gif will be treated as not having matched at all, so I can't correct Quicksilver about what I meant.
- Sometimes when I enter a string for a Safari bookmark ('DAR' for Daring Fireball does this often) quickly, Quicksilver will set off an alert noise at me and use the 'Large Text' action to display the URL of the bookmark in huge letters across the screen. I've never been able to tell what the difference is on the occasions when it does this, but it's never what I've wanted.
Some other problems I've had have included drawers and sheets sticking open in the preferences, and the way that the program may silently crash as often as several times a day.
My final conclusions are that Quicksilver is in fact a solid program, but it's bugginess makes it untrustworthy, slows down its use, and prevents it from being truly great. I use it every day, but only for a small set of certain tasks that I know I can get it to do without failing, or without failing harmfully. I'm hoping that since it has gone open source, especially with people like Ankur Kothari working to improve it, bugs will fade away and let the true usefulness of the application shine through.