Spotlight, the Mac OS X file search facility that people either love or loathe, is —by most measures— pretty damn fast. I know, Quicksilver and LaunchBar are faster at what they do, but if you want ‘proper’ search, Spotlight is it. Aiding Spotlight’s speed is a number of heuristics aimed to increase its perceived performance. For instance, it prioritizes files you’ve opened recently. Whether by polling your Recent Items menu or by ordering files in its database by their access date, I don’t know, but it’ll always return something you’ve used recently before the things you haven’t touched in months. If you’ve used QuickTime in the last few days and you type ‘qu’ into your Spotlight search bar, QuickTime player will pop up a lot quicker than, say, Quartz Debugger. Neat!
But there’s a little something else that would speed it up that hasn’t yet made it into Mac OS X (here’s hoping for 10.5). Not literally faster, but the performance would be —at least psychologically— much improved:
When I search for ‘bank’, for instance, I’d much rather see the bookmark I have for my bank’s ridiculous and impossible-to-remember login address than all the emails on my system where someone mentions banks. When I search for ‘Dave’ I’d much rather see Dave’s address card than all the photos on my system tagged with his name, or even all the emails I’ve received from him.
These are preferences I’ve expressed by changing their ordering in my Spotlight preferences. It probably isn’t an order that most people futz with out of the box. But for those of us that do, the order isn’t just aesthetic; it has real semantic weight. Weight Spotlight currently ignores. Although my results are presented in my chosen order in the Spotlight results window, they don’t arrive in that order. And the arrival of results is exactly what we’re looking for: we want a good response time, damn the total turnaround time. This is the root cause of the much-maligned ‘jumpy results window’, of course, but their intentions were good. But search-by-preference… there’s something to think about.