Smart Folders Suck Ass

Rarely have I seen an interface or feature as useless or just downright broken as Smart Folders in the Mac OS X 10.4 Finder. Thought they might be handy, so I tried to make one. Here's what happened.

My goal was to create a Smart Folder that contained all my Final Cut Pro project files from the past year. In the Finder I clicked "command-f" to perform a search. A new window opened with some default search criteria pre-filled. I set the search location to "Home" and then set the "Kind" to "Others..." Next, I attempted to set up my "Kind" criteria to search for Final Cut Pro project files. Clicking the little arrow next to the text entry field brings up a list of document types. The list would seem to be rather exhaustive. It's huge. But the bad thing is that it seems to continually update, so as you begin to scroll through the list, it keeps jumping back to the top as the list is updated. Type-ahead find is also enabled, but again, even using type-ahead the list still jumps to the top. Too much typing and you'll get the beachball. All this makes the list of document types nearly unusable, or at least unreadable. Unless you know the exact name of the document type you're looking for, you'll be lucky to find it in this horribly broken drop-down. Fortunately I was able to correctly guess that the document type I was looking for was called "Final Cut Pro Project File." After typing this in, I got a list of all the FCP files in my home account. Okay. Great. Halfway to my goal, I saved the Smart Folder to the "Saved Searches" location and added it to my Sidebar (there are only three possible save locations for Smart Folders, by the way: Saved Searches, Desktop and Home).


My New Smart Folder: Let the Ass-Sucking Begin
(click image for larger view)

So, I had a Smart Folder that listed all my FCP files, but I wanted to narrow this a bit to include only those FCP files from the last year. No problem, right? I opened my Smart Folder and clicked the Edit button. Again I was presented with search criteria at the top of my window. For my second set of criteria I selected "Created Within Last 1 Years." At this point the Finder beachballed for about twenty seconds, then restarted. Fortunately — and I use the term loosely — when it came back to life it had actually preserved my Smart Folder and I was able to save it.

So, finally, after much effort, I had my Smart Folder of all FCP documents in my home account, created in the last year. Neat-O! I decided to see what I could do with this list. So I opened up my Smart Folder, and started poking around. The first thing I noticed was that the list was ordered alphabetically. There appeared no obvious way to reorder the list. It was just a flat list of files, and a long one at that. It didn't even show labels.


The Default Smart Folder View: Utterly Useless
(click image for larger view)

Fortunately, as it happens, switching to List view in the Finder window yielded a more useful view of my data, but it took me a bit of time to even realize I could do this.

The View Switch: Good Thing I Remembered This
(click image for larger view)

It's a little confusing that the default view in a Smart Folder is really quite limited in its usefulness. Why do they use the Spotlight view for this? The standard list view is just as user-friendly and a thousand times more useful. It's hard to believe this is an Apple-designed interface.


List View: Finally Something Vaguely Useful
(click image for larger view)

In the end, I'm not sure how useful my Smart Folder will be. Honestly, I've rarely found myself wishing I had this sort of functionality, and the confounding and oftentimes irritating user experience that is Smart Folder configuration doesn't really leave me with much desire to come up with a use for it. Nor does it instill much confidence that this view of my data is accurate. If Smart Folders can cause the Finder to crash, can I really trust them to accurately perform their searches?

Smart Folders are a neat idea. But I really think they're just one more area where Spotlight needs a ton of work before they can really be of much use. I recently read a description of Smart Folders as "underused." Yeah, well, maybe that's less because no one knows about them and more because they just plain ol' suck ass.

Tiger's Inspector: A Persistent Complaint

For those who don't already know, the Inspector is a variation on the "Get Info" window that appears when you select a file and choose "Get Info" from the File menu (or press "command-i"). To call the Inspector, add the "option" key to the Get Info call — in File->Get Info, holding "option" will cause the text to change to "Show Inspector," or you can simply press "command-option-i." The Inspector differs from the Get Info window in that it shows dynamic information based on whatever file you select. That is to say, Get Info will only show you information about the file you just selected, but the Inspector will update the information dynamically as other files are selected. It's unbelievably handy. Or at least it was.

The Inspector: Once Very Handy
(click image for larger view)

There has been a bug in Tiger's Inspector that has persisted right up until the latest 10.4.7 release. In Tiger, the Inspector updates its display to show the information for any given file as normal, but the permissions information — the owner and read/write access of a given file — is not updated and remains the same as the originally selected file. The only way to get an accurate view of the permissions is to close and then reopen the Inspector on the given file, which sort of defeats the whole purpose of the Inspector in the first place. I've written about this bug since the inception of 10.4. I've filed bug reports and feedback to Apple. Yet the bug remains, and it looks like it's here to stay. With Mac OS X 10.5 right around the corner and Tiger in its final stages I hold little hope that this bug will ever get fixed.

Inspector: Incorrect Values
(click image for larger view)

It's a real shame. Permissions inspection has been a remarkably helpful tool for me in the GUI, and I miss it a lot. But it also speaks to Apple's lack of quality control in Tiger, and particularly in the Finder. I've been bitching about the Tiger Finder for over a year now. It was one of the initial impetuses for this blog, in fact. I'm more than a little surprised and disappointed to find that a bug perhaps not of major importance to most users, but still one of significance, particularly to power users and admins — an inaccurate view of data — persists in the Tiger Finder to this day, over one year later. I can only hope things improve in 10.5.


Inspector: How It's Supposed to Look
(click image for larger view)

Strangely, I've heard very few people on the Big Bad Internet weigh in on this issue. I'm curious to know if anyone out there besides me has a problem with this. Am I the only one who uses — or attempts to use — this feature? Am I the only one who's bothered by the broken Inspector? Am I the only one complaining about this?

Feel free to sound off in the comments.

Scripts Part 5: New Spotlight Disabler

Someone recently commented that my script to disable Spotlight was no longer functioning in v. 10.4.5 of Tiger. When I went to check on the functionality of the old script, I realized I'd been working on a new and improved version awhile back, and that I'd intended to post it, but completely forgot to. So I went in and finished up this spiffy new version, and I'm posting it today for anyone who's interested, or for anyone for whom the previous version had stopped working.

This new version comes with the same disclaimers as the other one (which are now listed in the script itself), but gives you a few more options for disabling Spotlight. In particular, you can now choose to disable/enable Spotlight on either a single volume, or an all volumes. The script will also report the Spotlight status of all currently mounted volumes before asking you what you want to do.

Enjoy!

SpotlightEnableDisable Script
See the code

Delayed ACK Startup Item for Intel Macs

MacFixit just reported about troubles the new Intel-based Macs are having with network speeds, particularly AFP connections to, of all things, other Macs. The solution, they report, is to set the delayed_ack property to 0. In order for this change to survive a reboot, however, they recommend editing /etc/rc. The problem with this is that, often, edits made to /etc/rc will be overwritten by future updates to Mac OSX. In my experience, such modifications are better handled with a startup item, which is also a lot easier to add and remove. So I've suggested as much to the fine folks over at MacFixit, and I've even put my money where my mouth is. I'm offering to those who need it this delayedACK Startup Item, hand made by yours truly.

The linked disc image contains the delayedACK Startup Item, and also includes an installer and an uninstaller for the Startup Item.

Enjoy, you lucky Intel Mac owners (of which, alas, I am not one... Yet...)

UPDATE:
A reader called Nubo recently left this comment:

...turning off delayed_ack is not necessarily something that should be left in the startup items forever. Having it on is normally beneficial or at least not severely degrading in normal environments. So this should be reviewed whenever Apple fixes the underlying problem in its implementation, or the actual root cause is found.

Nubo is absolutely right. This startup item should be removed — either by running the included uninstaller or by simply dragging the startup item to the trash — once the problem has been resolved by Apple.

Thanks, Nubo, for pointing this out.

Download the Delayed ACK Startup Item

Re-Binding to a Mac Server

Last semester we had a lot of problems in the lab. Our main problems were due to two things: the migration to Tiger, and problems with our home account server. Our Tiger problems have largely gone away with the latest releases, and we've replaced our home account server with another machine, and, aside from a minor hiccup here and there, things seem to have quieted down. The Macs are running well, and there hasn't been a server disconnect in some time. It's damn nice.

There has been one fairly minor lingering problem, however. For some reason our workstation Macs occasionally and randomly lose their connection to our authentication server — our Mac Server. When this happens, the most notable and problematic symptom is users' inability to log in. Any attempt at login is greeted with the login screen shuffle. You know, that thing where the login window shakes violently at the failed login attempt. This behavior is an indication that the system does not recognize either the user name or the password supplied, which makes sense, because when the binding to the authentication server is broken, for all intents and purposes, the user no longer exists on that system.

I've looked long and hard to find a reason for, and a solution to this problem. I have yet to discover what causes the systems to become unbound from the server (though I'm starting to suspect some DNS funkiness, or anomalies in my LDAP database as the root cause at this point). There is no pattern to it, and there is nothing helpful in the logs. Only a message that the machine is unable to bind to the server — if it happens at boot; nothing about why, and nothing if it happens while the machine is on, which it sometimes does. It's a mystery. And until recently, the only fix I could come up with was to log on to the unbound machine and reset the server in the Directory Access application. Part of my research involved looking for a command-line way to do this so that I wouldn't have to log in and use the GUI every time this happened, as it happens fairly often, and the GUI method is slow and cumbersome, especially when you want to get that machine back online ASAP.

It took me a while, but I have found the magic command, at a site called MacHacks. Boy is it simple. You just have to restart DirectoryService:

sudo killall DirectoryService

This forces the computer to reload all the services listed in the Directory Access app, and rebind to any servers that have been set up for authentication. I've added the command to the crontab and set it to run every 30 minutes. That should alleviate the last of our lab problems.

Hopefully the rest of this semester will be as smooth sailing as the past two weeks. I could use a little less systems related drama right now.