Springy Services (SpringyCM life after death)
Dragan, posted Oct 4th 2009 at 9:25PM
In the previous blog post I explained in detail the full life cycle of the Springy contextual menu plug-in. The reason it will start dying slowly and finally pass away with support for Leopard is Apple’s decision to kill contextual menu plug-ins (together with other means of loading arbitrary code into 64-bit Cocoa applications) in Snow Leopard. This effectively prevents Finder in Snow Leopard (which is a full 64-bit Cocoa application) from using third party contextual menu plug-ins.
Apple suggests using of system Services Menu as a replacement for CM plug-ins, so I decided to go that route and not to try to invent some unsupported way of loading CM code into Finder, which could break with every OS update. Services Menu has undergone complete overhaul in Snow Leopard. It’s much more configurable now and more pleasant to use. Also, the OS provides Services Menu items on more places, not only in the standard, well known, Services Menu.
Springy will become so-called “services provider” application in version 1.6. It will offer its services not only to Finder, but also to every (Cocoa) application which can provide file names list in the pasteboard for Services system to use. I didn’t check it myself, but this people will enable using of Springy commands from other file managers (like Path Finder and ForkLift), even from other applications, such as Apple Mail for example, where you’ll be able to invoke Springy commands on e-mail message attachments.
Now, the time has come for small show-off. The following shots show different ways Springy commands will be invoked:
This one shows Springy commands in the Services Menu in Finder:
Here, you see Springy commands in the menu of the Action button in Finder:
And off course, Snow Leopard provides showing for Services Menu items in a contextual menu, so you can see it here:
When any of these actions is selected, Springy application will start, but not in its normal mode (window which shows the contents of an archive), but in “services provider mode”, with the UI similar to that of CM plug-in:
Upon finishing a task, Springy application will automatically terminate, unless some other processing is ongoing or there is at least one open archive with window showing its contents.
As you can see, you’ll be able to use Springy application in “services provider mode” just like old SpringyCM plug-in. But you can also find its command elsewhere in the system, and all this flexibility is provided by the OS.
Unfortunately, like stated here, there will be no more possibility to browse archive contents using hierarchical contextual menu. Implementing this would require much more dynamic nature of the Services Menu architecture. I’ve already filled a bug report/request for Apple to provide such architecture, hopefully they will listen. Some users have already said to me that while they found CM-browsing of archives very impressive, they personally did not find it as fundamental as the other functionality that Springy will continue to be able to provide in Snow Leopard. I hope most users feel the same way, but I’m pretty sure some will be very disappointed by this. I myself, am very disappointed and I really hope something will change in that regard very soon.
One unanswered question is when Springy 1.6, with all this goodies, will be publicly available? My intention is to release it at the very beginning of November. The only thing preventing me of doing it sooner is fixing some bugs and improving some aspects of reading and extracting of 7Z archives. Yes, in version 1.6 Springy will finally offer some kind of support for 7Z archives! In the beginning, this support will include only opening/browsing/extracting files from 7Z archives, but during 1.6.x development cycle all other operations on 7Z archives should be in place for users to try them out.
I hope you all are looking forward to release of Springy 1.6, especially those who have already switched to Snow Leopard.