1212 words on Software
If you are into efficient computer usage, these are exciting days. Of course you'll already be using a Mac and adore its recently achieved capabilities of doing things on the command line if you wish. But there is also this new trend that glorified launcher applications have become very popular.
The tools I have in mind are LaunchBar, which has been around for a while and Quicksilver which is the new kid on the block (and perhaps as an honorary mention, Butler). Both tools have a simple aim: to make it easy to access commonly used items on you computers with just a few keystrokes. They aim to be sleek both in the way you use them and in the way they look. Both do fairly well at this.
They have more in common: they offer several ways of accessing them via a menu item or the keyboard. They both seem to default to Command-Space as a default keyboard shortcut for this, despite this keyboard-equivalent already 'belonging' to the input menu and Control-space probably being a better choice, particularly when considering that the Control key is kind of a spare key to the discerning Mac user that can be used for 'extras'.
Quicksilver seems to take a more general approach than LaunchBar does, by letting you use little 'actions' on the item you selected before – yet LaunchBar seems to automatically 'do the right thing' for me in most cases anyway and I'd rarely need those extra actions offered by Quicksilver. While I like that feature of Quicksilver conceptually, LaunchBar seems to 'just work' which is of value as well.
So I am really torn as far as my verdict is concerned. In fact, my history with LaunchBar is a long one: I first tried it a year or two ago. I liked it, but thought it was too expensive. Eventually, I convinced myself I don't need it. Only recently, LaunchBar was brought to my attention again in a comment here, pointing out that it now integrated with the address book now and could display telephone numbers. That made me curious again and I was at the verge of registering it, but postponed that until after my return from the U.S. Which was, when I first became aware of Quicksilver, which I immediately liked for its flexibility. But then (thanks to the competition?) the LaunchBar people put out their new beta version which even better integrates more applications and which addressed a thing I had grown to love in Omniweb: the ability to just type 'g yadda' to search Google, 'qlc yadda' to search these pages &c. I can have this in Safari as well as a side effect of the wonderful PithHelmet, but having it as a part of the 'universal command line' is just much better. – Compare »Control-Space G Space yadda« with »'switch to Safari' G Space yadda«: It's modeless.
I love seeing those two applications evolve and hopefully the competition make them evolve even quicker. I am not sure who'll come out best. It really is a close call now. For me the deciding factor will be the openness of the systems. They should offer easy ways to amend items to their respective databases: via an API for direct support by applications or via plugins or via scripts. And in the best of all worlds those 'or's are not exclusive – thus being able to have all the flexibility when needed and still all the speed when possible.
The first idea I had was integration with Bibdesk. Not only is it open source but also Michael, its author, seems to like the idea and wants to support it. I actually could imagine two levels of support: At first just being able to type, say 'bib chern' and then the launcher application will switch to Bibdesk and only display entries matching 'chern' – just like typing 'chern' into the filter field. I think this could even made work in the current implementation of the LaunchBar beta if BibDesk supported an AppleScript command for this.
The second step, however, would be much more interesting: Being able to browse my bibliography right from the launcher. And maybe even the launcher using Bibdesk's services to insert citation snippets right away if you're currently editing text. To achieve this, I guess there needs to be a well-defined API for applications to communicate with the launcher. Most application of a remotely database type would benefit from being included in this scheme. Let's hope the programmers come up with something like this – and perhaps even agree on the same API as that would make it much more attractive for application developers to add launcher application support.
The question I keep asking myself is where this takes us UI-wise? In a way it seems ironic. There have been punch cards, then there have been command line and finally the Mac with its GUI, getting rid of the command line for good. But as systems grew more complex, we started being overwhelmed by the GUI as it has to actually show us all the options and can become very crowded that way. In addition in GUIs there is very little 'blind' operating – you always have to get feedback from the machine. Often to the point where you could work much faster if you didn't actually have to do all those mouse journeys. Can this mean that the step to do is backwards to the command line? Not quite.
These modern 'launcher' applications try to give us the best of both worlds: The visual feedback in the form of icons and selection lists that give us the possible options and the 'do as I say' power of the command line. But that power is just there to limit our choices and make the gazillions of possible actions manageable rather than to force us into adhering to strict syntax conventions. In addition using these launchers can be done without taking the hands off the keyboard and they have this cool way of adapting themselves to my habits.
To sum up: I think these launchers are a good idea. They may help us tame the numerous options that modern computers give us – options so numerous that the classical GUI methods can be too inefficient to manage them. The thing I'd like to see for the future is tighter integration with applications – both as far as database entries and as manipulating data (think of Services) are concerned.
While this seems to become a hype slowly, perhaps this really could become a step forward in how we use computers. Or it could at least be 'THE done right', in a way that people actually want to use it at least.
Interesting additions for LaunchBar's SearchTemplates by at Bill Bumgarner's. Let me add a couple to search the mathematics arXiv using the handy front end:
Wow, gotta love the web… tonight I rediscovered QuickSilver, via bsag’s post that she’s writing the manual… then the new LaunchBar 4 beta… and then happened across an old comment of mine, on your site as a result of an completely unrelated Google search (“oh yeah, what was that about, again…”)… and THEN what do I see, almost a mirror image of my own thoughts on this very subject!… so I guess I have to agree with what you’re saying! ; )
FWIW Your thoughts on the state of UIs, and the role of these types of CLI/GUI hybrids is just what I’ve been thinking; there is, I believe, a place for both, GUIs are very well suited to general purpose interactions, and tend toward supporting feature discoverability (but haven’t proven to be the Holy Grail in this dept., when your observe newbies!), but they do buckle a bit under increased complexity, and become less efficient.
Quite obviously the power in these ‘new’ hybrid CLIs is in the level of ‘intelligence’ they introduce, moving toward the ‘assistive’ interface; I think many of us have considered how a user’s functional intentions might be more directly addressed… you linked to THE, Robb Beal had his ‘Simpleton’ proposal (BTW I see what he’s trying to do with Spring, but it doesn’t really work for me), and I’m reminded of Microsoft’s demos of their earlier UI work that they bundled in (conceptually) with .Net, I think they were coming from the web service angle, but they were relying on natural language processing, which seems a bit fraught, at least for the moment.
Anyway, I’m not meaning to write an essay here!…
I have to admit I skimmed over QS when it was in early beta; I recall seeing it, but not really getting it, from the description: “Quicksilver is an evolving structure for manipulating any form of data.”, I thought it was some sort of file editor… maybe XML or something…!
As for LaunchBar, it struck me as fairly interesting, but for the price, I didn’t jump. It’s only been the later versions, with their increased support for application data (Address Book, bookmarks, history etc.) that it’s been of more interest (although I think I overlooked this a bit, in earlier versions.)
Anyway, it’s late (!), so a few quick comments;
One thing that sounds really interest is QS’ support for System Services… that seems a very suitable way to support extensible application integration, basically for free.
It also supports AppleScript for functionality; again, good choice, I think.
In my search for these sorts of functionality, I’ve been using a bunch of individual apps to get a number of these features, but I’m running out of keyboard shortcuts!
I’ve used a number of apps for web searches, and have become ‘search string’ mad ; )
While OmniWeb have had them for ages, OW5 has certainly made dealing with, and adding searches a lot easier. In Safari I use Saft to get search shortcuts (maybe you do too; PithHelmet doesn’t have that feature?!) As a nice extra, Saft adds the shortcuts to the contextual menu, so you can control click on a phrase, and search via a range of search engines (e.g. select a reference to a particular app, and find it at MacUpdate.)
Outside of the browser, my favourite is Chercher, a really nice way to bring up a floating search box, with whatever search strings you’ve entered.
BuddyPop allows you to quckly search the address book, again, via an on-call floating window.
There are a few others that I use, but they don’t really offer similar functionality to QS and LB.
On the one hand, there’s something to be said for a tool for a specific task, and there are aspects of these little apps, that I prefer over their more sophisticated competition, but there’s the rub… QS and LB are more sophisticated, show a lot of promise, and offer some levels of customisation, and extensibility.
Anyway, that’s enough for now! You said it all fare better, and more succinctly than I! : )
Marc, thanks for your detailed comment. I’ll add a few ‘counter’ comments:
I wrote up a some stuff about Launchbar a few days ago but I didn’t have the courage to add my penny, I will comment, though.
I’ve been using Launchbar for a quite a while, mainly to forego alot of mousing around and to eleviate mild RSI. I think it’s one of the few applications that transcends the geek-normal person barrier.
On Friday I convinced a friend to check it out. This guy is a Mac archetype, his desktop and hard drive is completely disorganised, his applications are everywhere and he still uses Explorer. “Tabs! Who cares about tabs. Standards, what’s that?” I’ll never convince him to try Safari, nor will he switch to Mail from Eudora, he doesn’t even use a spam filter -“I don’t care, I just delete the stuff.”
Anyway, Launchbar is the one thing we can both look at in awe and wonder. The really cool thing was the way he picked up the nuance and control within a couple of minutes. He may not use wildcard filtering, but at least he can filter in his own simpler way. There’s very few examples which work like this, although a recent one is Unison. Those MP3 previews always give a good reaction.
On the services and application integration. I love that idea, especially the Bibdesk stuff, removing step B from A > B > C is always cool, and since reference managing is an everyday task I’d love it. I just have to switch over to Bibdesk, currently on Endnote and hating it.
g: I really thought I was ahead of the curve with this post. But it sat on my hard drive for a few days before being posted because I was quite busy. Now man and dog have written about launchers, so it’s (or doesn’t look) quite as original anymore. A bit redundant even.
I don’t know Endnote. Bibdesk works quite well for me (mainly using BibTeX references which are copied straight fromt the web and linking local / internet PDF files to them if possible. I can send you a modified copy of Bibdesk with the changes I described – but I haven’t heard back from Michael yet on whether I seriously broke things I didn’t see…
Oh, and I tend to consider myself a Mac archetype…
Re PithHelmet, I’d (pretty obviously) not thought of using the transmorgifier in that way; I’ve clearly not really gotten it’s significance. I use the simpler Saft for search shortcuts… more suitable to the user, in this case. ; )
When I was talking about the System Services feature of Quicksilver, I hadn’t tried it, now that I have, I see where you’re coming from.
Now, as you say, if I could call up Quicksilver, and have it operate on the currently selected text (most services operate on text, not files), that would be interesting, especially as you’d expect it to filter out irrelevant, file-oriented actions. Coupled with the (unfortunately kinda ugly) AtYourService, and/or AppleScript, you’d have a very powerful set of tools, literally at your fingertips.
BTW AtYourService, and ICeCoffEE give a nice, kind of approximation of this, in that you can have your Services menu added to your contextual menus, and AtYourService allows you to add AppleScripts, web service URLs etc. to the services menu.
Overall, like you, I’m not wholly convinced about Quicksilver just yet, although I think it’s prettier to look at that LaunchBar, I think I tend to prefer LB’s ‘single selection mode’, rather that QS’ type-tab-type-select model… I can definitely see how that’s useful when dealing with files, moving/copying etc., and it’s nice how it comes up with the file if you’ve already selected it, but I’m just not sure I feel as comfortable with this method when calling up an app, for instance, but we’ll see I guess.
On the one hand I can see the value in being able to string together commands (e.g. to open a particular file, with a particular app), but I can often do that quicker just via the Finder…
As for the post being redundant, I know what you mean, but no way yours was the post that got me in first!
Not sure if you’re interested, but re other tools I mentioned, I’d have say that the freeware X-Tunes is a nice way control iTunes; yes it’s a one trick pony, but because of that it presents a more task appropriate UI
BTW - I like your ‘universal command-line’ moniker, pithier than hybrid CLI/GUI… ; )
AddYourService looks like a good idea. It also looks rather expensive for an almost-trivial tool. Should I consider this very useful at some stage, I’ll consider writing my own as programming a Service is rather easy (and running a Unix command as a service iirc can be done without any programming needed).
On the other hand, the Services menu is quite crowded already - that and UI consistency were the main reasons for removing the inactive items from the menu in IceCoffee, Adding more items to it may be a bit too much. Sadly I couldn’t figure out how to remove the items I don’t want from allServices menu in the system.
I agree that XTunes is nice. I use it very rarely but it can come very handy when quickly wanting to know the name of the current song. It was also the first app I knew to use transparent-bezel-fading eye candy (which we subsequently included in UnicodeChecker as well :)