One of OS X's most-touted new features is Spotlight, the system-wide tool designed to help stop your data from playing hide-and-seek. Spotlight resides in the top right corner of the menu bar, and also functions in many programs, including Mail, the Finder, and Address Book. Third-parties can tap into an API to include the power of Spotlight in their applications.
In theory, Spotlight is brilliant. After some time to index the hard drives in the machine, Spotlight can help you find the oldest, obscurest information buried in the confines of today's huge hard drives. That's the theory, anyway. Despite that, and after having used it for a couple of months now (I had a seed key for testing the developer builds), I'm still undecided about the helpfulness of Spotlight.
There are some things it does well -- it clearly makes it much easier to find the proverbial needle in the haystack that is your hard drive. It makes it really simple to look at all the cool things in the System folder. Select that folder in the Finder, then run a Finder search on kind:images within that folder, for instance. It will theoretically help me find long-lost documents as long as I can remember some snippet of text that was in them. All of these are good things, and for these, I'm thankful.
However, from my perspective, Spotlight has a number of issues that very much give it the feeling of a "version 0.95 release." Read on to see the things that make me question Spotlight's completeness...
SPOTLIGHT QUESTIONS IN GENERAL
- Why don't the Page Up and Page Down keys work in the Spotlight Results window to page through results? If you click on a result in the panel, you can then use the keys as expected ... but the thumb doesn't move. Similarly, my scroll wheel won't work there until I click on a result (and still, the scroll thumb stays locked to the top of the window).
- Why can't I see the Spotlight Results window as a selectable desination with Command-Tab? Instead, I have to move my hands and hit Command-Option to bring the Results window to the foreground.
- Why can't I see the path to an item in the Spotlight Results window without using the Get Info or Reveal in Finder contextual menu items? If I want to see the path for more than one or two items, this gets really tedious very quickly. Finding duplicates, for instance, should be simple ... and it is. But deciding which duplicate to remove is way too hard.
- Why isn't there a good interface for creating AND, OR, and NOT searches. I should be able to simply do something like (kind:document AND date newer than yesterday) NOT (author:robg). This should work anywhere there's a Spotlight search bar, from the menu bar to the Finder's toolbar to the Spotlight Results window. Instead, it works in certain places, and with a syntax only a programmer could love, using things like || and !=. Really simple, eh?
- If I want to use the "icon view" in the Spotlight Results window with a kind:images search, the Group By setting must be set to "kind." But I'm already doing a "kind" search, so really, I should be able to set the icon view on any grouping, as all of the matches are guaranteed to be images.
- Why isn't there an easy-to-use method of adding folders to Spotlight's search domain? There's a Privacy tab in the Spotlight Preferences pane that lets you exclude folders, but not add folders. Did you even know there's a large list of folders that Spotlight won't search? You can add some of these back in, if you want, but it's a bit of work.
- Why can't I use the Spotlight Results window to create a Smart Folder from my search criteria? If I've run what seems to be a useful search and sort, there should be a one-button method to turn that search into a Smart Folder.
- Why can I only save Smart Folders on the desktop, in my home folder, or in the Saved Searches folder? Why not anywhere I want them? Once it's saved, sure, I can move it around. Which begs the question even more -- why can't I just save it elsewhere in the first place? The Smart Folder Save dialog is decidedly non-standard -- even Command-D doesn't work to switch to the desktop.
- How do you exit the Smart Folder interface? In one sense, a Smart Folder is just a folder, so it makes sense there's no Exit or Cancel button (why would you need one on a normal folder?). On the other hand, it's not really a folder, it's an interface to a system function, much like any System Preferences panel or program in the Utilities folder: it lets you create a tool (a new saved search) which can then be saved by clicking a button. You clearly don't need a Save button on a normal folder, so Apple's already treating a Smart Folder differently. How about a Cancel button right next to Save? Without it, you're left on your own to figure out you can either use the Back button, or just click on another folder to get out.
- Why doesn't the Finder's Command-F default to a simple "Find by name contains," since that's what I want to do 99% of the time? I realize this may not be what everyone wants to do, so why not instead give us a way to set up our own default search for Command-F? Luckily, there's a hint on how to work around this problem. It's not ideal, but it works.
Why does Spotlight take over things it really shouldn't? For instance, the new System Preferences panel is exceedingly awful to use. In 10.3, you could simply type a few letters at the start of any individual pane's name, and it would highlight, and a tap on the space bar would bring it up. In 10.4, the Spotlight search field takes over your typing, and so you get a series of "possibilities" before you get the individual pane you want -- and you end up typing many more letters before you can hit Return to launch the highlighted pane.
Luckily, the 10.3 System Preferences application runs in 10.4 (a hint on this is upcoming, but basically, if you have the old one, just run it), so you can get the old behavior back. You'll also get the customizable toolbar at the top of the window back, which also vanished (why, Apple, would you take away such a useful feature??). You can see just how much more efficient one can be with the old application versus the new application in these two videos:
Full-size versions New Preferences
Scaled down New Preferences
In each case, I completed the same task: open the Energy Saver pane, return to the full list (via Command-L), open QuickTime, return to the full list, and finally, open the International pane and return to the full list. This took 17 seconds using 10.4's System Preferences application; only nine seconds using 10.3's version. Why do we take one step backwards for each two steps forward? Spotlight should be there for those new to the Mac who need the help, I agree, but there should be a way to not have to use it if you know what you're doing.
Apple states that Spotlight lets you (emphasis added) "instantly find anything anywhere on your Mac." After using it for a while, I think I must have a different definition of "instantly" than does Apple. Here are a few examples of why I say that...
According to Spotlight, I have over 100,000 images on my machine (a Dual G5 2.0GHz with 2.5GB of RAM) that it has indexed. That may sound like a lot, but on the scale of a typical database, it's really not all that many. So how "instantly" can I find all of these pictures using Spotlight's find kind:images criteria?
The answer, it seems, is "it depends." I haven't quite figured out what it depends on, but there seems to be an element of randomness in the results. In no case, though, would I describe the process as instant. The first time I tried it (after Spotlight was done indexing, of course), it took one minute and 11 seconds (that's time to completion; there is, of course, an "in progress" display as the match proceeds). Subsequent runs, even a few seconds or minutes later, would take from 20 to 30 seconds. I then worked on other stuff for a few hours, and tried again. It took 40-ish seconds that time. I put the machine to sleep, returned the next day, and tried once more ... 30ish seconds that time. While the low of 20 seconds may not seem bad, none of these times are quick, especially when compared to searching any sort of traditional database.
I could understand this slowness (perhaps) if I were doing a truly random search, like trying to find the word "fiddle" within every document on the hard drive. But this particular search should be really, really fast -- the kind tag means that Spotlight doesn't need to consider a file's contents, only its type. And since it's already created an index on kind, the only thing it should have to do is a match on "kind equals image" within the index. That should be brutally fast.
The only explanation I can come up with is that the loading of the preview images for the found files is what's taking all the time -- I think this makes sense to me, but if it's really the cause, it seems there should be a better way to handle this.
I could put up with this initial slowness if a subsequent identical search were lightning-fast. But it's not -- as noted above, subsequent searches are faster, but still not "instant." It seems that recent query results should be cached somewhere for re-use. The system could then just check the cache's timestamp against the index's timestamp to see if the index has been updated since the query last ran. If it hasn't, then the display should be truly instant -- just load the cache. Perhaps there's some technical reason this isn't possible, as it seems like an obvious solution to me.
- Switching the Group By setting in the Spotlight Results window takes anywhere from three to 30+ seconds to redisplay the results -- it's especially bad with large lists, and usually brings the spinning beachball into view. I hate the beachball, and Spotlight is really good at bringing it out of its hiding place.
- My machine has 1,710 movies on it. Displaying that result in the Finder is relatively speedy -- about five seconds to run a kind:movies query. But if I then add a condition of Last modified is this month, it takes a full 30 seconds (!) to narrow the list from 1,710 to 36. If I save the search and reopen it, the results are still there (I'm not sure if this holds true as time passes, though). But if I open it, delete the "date" condition, then close the Smart Folder (without saving my changes), and simply re-open the unmodified Smart Folder, it takes close to the original 30 seconds again to repopulate the results -- even if I do all of this within seconds of viewing the original list of 36 matches. This seems like the same lack-of-caching issue as in item #1 above.
I don't necessarily hate Spotlight. As I noted at the start, I love some of the things it can do. They are truly amazing. I just hope that "version 1.0" of Spotlight, whenever it comes out, addresses some of the glaring omissions and performance issues that I've run into with the current release. If it does, Spotlight really will begin to fulfill its promise as a revolutionary technology.