Quicksilver meet the holy wars…

Was just chatting with Howard, who has literally written the book on Quicksilver, and was trying to figure out why he finds so much more utility out of Quicksilver’s keyboard triggers than I do…  I find myself using the "Command Mode" in most of my interactions with Quicksilver, but Howard makes extensive use of keyboard triggers.  We were chatting back and forth about this, and I struck upon a minor epiphany:

Quicksilver’s command mode is somewhat analogous to the command mode in my editor of choice, Vi.  Keyboard triggers, however, are much more like the meta-keystrokes of the Emacs editor, which is Howard’s favorite editor.  My brain is happy to deal with the notion of different modes for different contexts, where as the Emacs user is much more comfortable remembering a multitude of various keyboard combinations to get their work done.

It’s pretty cool that Quicksilver is this flexible, and in fact it one-ups both of the editors by allowing you to seamlessly choose whichever method appeals to you on a task-by-task basis, and furthermore it’s not mutually exclusive.  I do use a few triggers for some common searches (like IMDb, Wikipedia, etc) but setting up those triggers doesn’t prevent me from executing those searches in command mode.  And in this way, allowing you to choose the solution to a problem from a whole menu of methods (commands, keyboard triggers, mouse triggers, gestures, etc), Quicksilver is also analogous to a combatant in another holy war, Perl.  Perl provides many different ways to express oneself, and generally grants the programmer flexibility in expression.

Another way that Quicksilver is like Perl is that it is very tolerant of ambiguities and tries to resolve them as best as it can.  Type "adress book" into the command window of Quicksilver and there’s a good chance that even though "address" is misspelled Address Book will at least be among the top choices of Nouns/Subjects.  Quicksilver’s stated purpose is to allow the user to "Act Without Doing".  While that motto is a little too metaphysical for me, I think that philosophy is what drove this tolerance programmed into QS.

Myself and many other programmers are frustrated by Perl’s anything-goes philosophy, claiming that by being so permissive it makes reading the Perl code of someone who has a different style than you (or even reading your own code fro a few years ago) a difficult challenge at times.  If I were to try to continue to stretch this analogy, I would say that the Quicksilver version of this gripe is that, as a user, you end up growing so dependent on your specific usage patterns that if you work on a machine with QS configured differently, not installed at all, or science-forbid, a windows box, it can be rather frustrating.  You constantly attempt to invoke Quicksilver and fail, or even worse, learn that your carefully selected keyboard triggers vary drastically from your friends.

I have grown to really love Quicksilver, and I urge all Mac users to give it a swing!  They’ve done a great job of pushing most of the really geeky features under the surface a bit, and it tends to be as complicated as you choose.  I used it for a few years in straight command mode and found it to be super empowering, but over the past year or so (mostly due to prodding from Howard), I have found myself slowly expanding my horizons, and playing with more and more features of this amazingly deep tool.  Not all of the features I play with stick, but when one does, it suddenly feels like your old method of doing something was so antiquated.  For more information:

Update: Here is Howard’s take on this subject.