Service Scrubber

June 2nd, 2007

Most of us face the problem of inertia in almost everything we do. We eat the same foods, watch the same television, take the same walks, go to the same parks, talk to the same people, day in and day out.

And in many ways this is good. But the sheer inertia of our habits can prevent us from realizing how much better things could be with just a little tweaking. Walk a slightly different route one day on the way home from work, and lo and behold, a secret urban garden (my gift to WWDC attendees and SF SoMa workers).

When it comes to computers, I consider myself especially sensitive to the frustrating ways that computers do what I don’t want them to, which is why it’s surprising that it’s taken me this long to install and embrace Service Scrubber, from Many Tricks. The software is free but donations are accepted. I donated, and you will too!

Service Scrubber does one thing well: it gives you power over the (quite likely) sprawling System Services menu on your Mac. Not only does it let you show or hide items, it also lets you remove or change keyboard shortcuts assigned to them. Nifty!

The problem with services is they’re installed passively when you install applications on your Mac. If you’re like me and tend to download and lazily keep around a bunch of applications, your menu will be booming with items you don’t really care about. When I first launched Service Scrubber, I got the unenjoyable spinning rainbow cursor, which was a symptom of it digging through my massive 125 long list of installed services. This was the only user-unfriendly experience I met, and it was quickly made up for. From then on I was in control of everything. And loving it. As I disabled services I would never use, I felt the usefulness of my Mac grow greater with each unchecked box.

Using Service Scrubber to clean up your menu is one thing, but even more significant is the ability to reclaim valuable keyboard shortcuts. As I browse the list of services that I am now disabling, I flash back to the dozens of times I’ve accidentally invoked them. “Grr! Why the heck is the JavaBrowser opening? I don’t even like Java!”

My only criticism of the application is a minor usability issue with the list of services. When an application has provided multiple services, they’re collected in a disclosure group named after the application. But when only one service is listed for a particular application, it shows up in the list by service name. It’s hard to tell at a glance which application these services belong to.

Few utilities scream “necessary” as loudly as Service Scrubber, which is why I’m ashamed it’s taken me this long to overcome my own inertia and to install it. Apple should buy Service Scrubber from Many Tricks and make this part of the standard user experience. Without it, Services are terribly broken.

14 Responses to “Service Scrubber”

  1. Corentin Says:

    Service Scrubber is a great app, but it works by modifying the .plist inside the apps (if I’m not mistaking).
    I’ve always been extremely reluctant to use a utility like that that actually alters the apps. I’d much rather have the System provide such management utility without requiring a modification of the application resources. I stillcan’t believe Apple doesn’t provide such utility at the System level :-\

  2. Peter Hosey Says:

    The main problem with Service Scrubber is that—as Corentin pointed out—it works by editing applications’ Info.plist files. If you update an application to a newer version, your changes will be clobbered.

    I greatly prefer Nicholas Riley’s ICeCoffEE. It doesn’t affect the main Services menu (it can’t), but it does put a Services menu in your contextual menu and you can edit it. And it provides that without editing any Info.plist files. It’s a much safer solution, and the contextual menu is much easier to reach than the main, uneditable Services menu.

    Like Service Scrubber, ICeCoffEE is free.

  3. Chucky Says:

    “Service Scrubber is a great app, but it works by modifying the .plist inside the apps (if I’m not mistaking).”

    While I understand your concern in these matters, given that it’s just adjusting a single value in the plist file – about the existence of the service menu item – I really don’t think it’s a problem. It’s difficult to imagine any scenario where this could lead to bad effects.

    The only real issue, I think, is that of app updates overwriting your service preferences.

  4. Corentin Says:

    ICeCoffEE looks like a terrific idea, but it has its own drawbacks. It’s based on ApE and I’ve had nothing but trouble with it :-\

  5. ssp Says:

    I’ll say the two things I always say when this topic comes up

    1. Nicholas Riley’s Icecoffee places a services menu in your contextual menu (or menu bar) and filters the services in there without manipulating the applications. Which has both the advantage of making Services easily accessible and not requiring you to ‘refresh’ the deactivated services after upgrading an application.

    2. The is a function called NSSetShowsServicesMenuItem in Cocoa. Unfortunately it never actually did anything in MacOS X. And recently it has been marked deprecated as well. Perhaps it’s worth to lobby Apple a bit with regard to making this function work properly. As a properly supported way of turning these menu items on and off would certainly be the best solution for everybody.

  6. Steve Nygard Says:

    Regarding the difficulty of seeing which application provides the service when it’s not in a group, there is a preference, Show Sevice providers in “Services Menu” view. This adds “(Provider: appname)” to the end of the service name.

  7. Nicholas Riley Says:

    Corentin wrote:

    ICeCoffEE looks like a terrific idea, but it has its own drawbacks. It’s based on ApE and I’ve had nothing but trouble with it :-\

    Hi,

    If you’re having issues with ICeCoffEE please let me know. I’m not aware of any outstanding bugs that I haven’t fixed or documented. You can email me at icecoffee at sabi.net.

    Also—the odd thing is that NeXTSTEP/OPENSTEP did support editing of the service menu. No idea why we lost it.

    –Nicholas

  8. Chris Says:

    Apple should buy Service Scrubber from Many Tricks and make this part of the standard user experience.

    Sounds like Apple Menu Options. I’d rather have Apple rethink the services UI instead, and really fix it (i.e. figure out a way to avoid invoking user’s desire to edit the thing).

  9. Fred Hamranhansenhansen Says:

    Can I use this tool to change the keyboard shortcut for the Script Editor’s “Get Result of AppleScript” service from “Command+*” to “Command+Shift+8″?

  10. ssp Says:

    Fred, I don’t think you need a tool like this. Just setting up the keyboard equivalent you want in the Keyboard and Mouse control panel should do the trick.

  11. Daniel Jalkut Says:

    Fred: But if the System Preferences trick doesn’t work,then yes Service Scrubber allows this kind of setting to be changed.

  12. Scott Guelich Says:

    My only criticism of the application is a minor usability issue… [W]hen only one service is listed for a particular application, it shows up in the list by service name. It’s hard to tell at a glance which application these services belong to.

    There’s a simple solution for this. Open the app’s Preferences and check: Show service providers in “Services Menu” view.

  13. Michael Barber Says:

    Service Scrubber is great in combination with Devon Technologies’ free HotService. HotService moves the Services menu to the menu bar, instead of leaving it buried under the application’s menu. It sounds like a small change, but it makes services a lot more useful.

    However, by repositioning the menu, it also means that the keyboard shortcuts for services can block the shortcuts for applications — definitely not what you want, with few exceptions. Service Scrubber is pretty much essential for sane keyboard shortcuts, in this set-up.

  14. Jaharmi Says:

    Unfortunately, if you’re editing applications’ Info.plist files, you’re also modifying them in a way that will get wiped out in other situations … as they would on Radmind-managed systems. This is not just a problem for software updates, then.

    Don’t forget that many Macs are used in organizations where some sort of systems management is in effect. (Not all organizations will use management software that uses tripwire the way Radmind does, though … many will instead focus on installer-based technologies.)

    The overridden Info.plist could be captured in a Radmind overload and thus applied in subsequent tripwire/update runs. But to do that in a modular fashion, an admin would probably want to capture one transcript per application (and possibly per version, given the other data in the Info.plist).

Comments are closed.

Follow the Conversation

Stay up-to-date by subscribing to the Comments RSS Feed for this entry.