Since it’s now abundantly clear that Services will be much better in Snow Leopard, and since the guy who asked me to write ThisService in the first place has basically taken the stance that the new version of Automator that will allow for direct Service creation is good enough, I think I need to clarify exactly what will happen.
Here’s where ThisService stands today: ThisService 2.1, with a fixed crasher and some pipeline improvements, sits unreleased on my SSD, waiting for me to finish up its help book and polish the edges. There’s a plan for a future version — whether that’ll be 2.1 or not, I don’t currently know — that will let you set the service as accepting a specific type of input. (The new services system can use data detectors and these context hints to emphasize services that work with dates, addresses, URLs, phone numbers and email addresses.) Once this feature gets in, some people will ask for a way to change this information on existing ThisService services, and I will need to work out whether I’ll want to update the few hosted services with this information.
I’m not entirely sure about anything else beyond that. Services have always supported media beyond just text, and the new Automator unlocks the potential in being able to move files, folders, images, video and audio around. Changing ThisService simply to support creating such services is trivial. The reason I’ve chosen not to for so long is because the kinds of scripts people write using the methods ThisService support is not a natural fit for processing most of these things (besides perhaps files and shell scripts).
What if you make a Ruby script with ImageScience or MojoMagick to do image processing, and it turns out that running it strips embedded metadata? Just returning a pile of rearranged pixels isn’t good enough. ThisService had to come to terms with this problem on the text-only level already by deciding on a manifest text encoding (UTF-8); these other things bring much harder questions.
ThisService will be around for at least the shorter term because the new Automator isn’t a good IDE for creating scripting language services unless that scripting language is AppleScript, and there’s still a need for that. (Also, not everyone will run Snow Leopard in two weeks time.)
So, to recap. Snow Leopard, the new Services architecture and the new Automator are all good and advance the state of Services far more than any single change since their inception in NeXTStep over 20 years ago. These features finally put in place an official way provided by Apple to create Services without necessarily learning about Cocoa, and this is good for Services. There’s still a place for ThisService, and I intend to fill the gaps over time to make sure that it’s the best ThisService it can be. But I couldn’t tell you where exactly ThisService will go beyond those plans. I’m listening.