« Core Data Rocks More Harder Every Day | Main | Undelivered Mail Returned to Sender, Fixed! »

June 22, 2005

Too Many Services

Today I came across ACP Web Services on VersionTracker. It promises to “enhance Services menu with 263 additions”. You've got to check out the description. Yow! Where do you even begin?

I make no judgement on the product: there's probably some really cool services in there. But another 263? How am I going to find them or even remember that they're there?

I already have more services than I know what to do with, installed automatically by apps that never even told me they included services. My Services menu is effectively unusable since it's impossible to quickly pick something out. I never even look at it anymore. And now I can add another 263! No thanks.

The thing is, I used to adore Services. I think they're a really clever hack on the pasteboard and allow for (potentially) tremendous integration among apps, just by passing around transformations of common data types.

But menus like these, I just don't want to see.

NeXTstep had a way, in Preferences, to hide or show any of the items in the Services menu. This was really nice. Basically you just could remove the services you never used, or add new ones in a few at a time. It allowed you to cut Services down to a super-streamlined set, tailored exactly to how you use them. Max OS X needs this, too. I'm completely surprised this still isn't in there.

I miss having a sane Services menu. If someone can figure this out, it's a hack I'll gladly pay money for…

Posted by ttalbot at June 22, 2005 8:28 PM

Comments

Ha! I smell a challenge!

Actually the one service I use - CalcService - is one of the few that is manually installed and isn't a freebie provided by an application.

If anyone has a way to cull the services menu I'll gladly pay too! Even if it is a haxie...

Posted by: Jonathan Wight at June 22, 2005 9:27 PM

I'm using ServiceManager to keep my Service menu sane.
http://www.macupdate.com/info.php/id/11777

Posted by: map at June 22, 2005 11:03 PM

Ah! Tremendous! Ask and ye shall receive.

Why have I never heard of ServiceManager? From the developer of QuickSilver no less.

It needs some refinements, and some explanations of why certain items are listed for control and some aren't, but at least I was able to tame about half the menu. It's a start!

Perhaps we can encourage the developer to update it?

Posted by: Terrence Talbot at June 22, 2005 11:26 PM

ICeCoffEE kind of does this for the 'services in contextual menus', if only in services inserted into contextual menus in Cocoa apps. It's been my goal to get the menubar services filtered too, but I haven't had much time to work on it recently other than "help! it broke in 10.4" type of fixes.

Posted by: Nicholas Riley at June 23, 2005 4:27 AM

Three Remarks:

1. I consider Services Menu Manager bad style. It's a hack at best. It won't work for non-admin users and you shouldn't change applications anyway.

2. I recommend using Nicholas Riley's IceCoffee which is quite good at giving you a Services menu in a contextual menu. About two years ago we made that contextual menu kick out the inactive items. You can use IceCoffee's settings to exclude certain services from ever appearing in its menu.

3. I filed a bug with Apple on not being able to manage the Services menu about two years ago. There are functions NS(Set)ShowsServicesMenuItem in Cocoa which apparently did the job back in the Next times but they don't to anything in OSX. Since I filed the report all that happened is that they've updated the documentation to state that these functions don't do anything. I still think that lobbying Apple a bit to revive them would be a good thing as the Services menu is over-cluttered quite quickly these days.

Posted by: ssp at June 23, 2005 5:06 AM

Glad to see I'm not the only one who thinks the Services menu needs help. I agree that modifying plists inside other apps is not a particularly great solution. But now I've gone ahead and done it, so we'll see if this comes back to bite me.

ICeCoffEE seems like a great suggestion: a contextual menu would presumably be as fast, or faster, to access for common services. I'll give it a go.

Maybe this is now unwarranted -- and, if so, please tell me -- but I tend to stay away from APE and SIMBL-type extensions. In the past, as a developer, I've run into difficult debugging situations and just plain weird behavior that went away after removing the extensions. That was some time ago, though, on older versions of OS X, so it's probably worth revisiting.

Posted by: Terrence Talbot at June 23, 2005 6:07 AM

You can manage your services menu with another utility from the same company that provides you with ACP Web Services. The application is called ACP
Service Manager Pro http://www.rixstep.com/4/0/asmx/

Posted by: Steve Jacobs at June 23, 2005 9:44 AM

Yes, I had found Service Manager Pro after posting last night. But that seems to have an even less friendly interface. I think ServiceManager is at least headed in the right direction: a preference pane with checkboxes is a good start.

The more I think about it, though, the less enamored I am of mucking with app plists. This may not have a really good solution unless you can intercept the building of the Services menu itself after the plists have been read and make your changes there.

Posted by: Terrence Talbot at June 23, 2005 9:49 AM

I've been sceptical about the APE stuff as well. But IceCoffee (and at times one or two other things) is well worth the potential trouble and I've been using them (as well as some SIMBL stuff) for a few years now in which I experienced one problem (crashing) that was due to those extensions. As they are loaded on a per-application basis and can be easily deactivated, I don't worry too much about them.

More globally, I still think that Apple should be proving interfaces to adjust the services. As a normal user on a computer you won't even have the access rights to manipulate applications and will remain stuck with the automatically generated services menu.

Posted by: ssp at June 24, 2005 5:42 AM