Waffle is a weblog.
The author of Waffle, some guy in Sweden, also occasionally writes stmts.net.

ThisService 3.0. Finally.

It may be the case that this incarnation of waffle isn’t the right place to put this, but it will have to do for now.

Four years in the making — or rather, about three months of spread-out hard-fought effort and a lot of hemming and hawing — ThisService 3 is finally ready.

I think it’s safe to say that this upgrade is as big of a difference between two versions that I’ve ever done for any of my apps or utilities. While not everything, short of “Retina” support, is timely, everything is new.

  • Test your service before ThisService finishes creating the actual service! No more going back and forth, making up fun suffixes and having to bulldoze a dozen failed tries when everything is done. Click the button, fill out input, click test and see the output. It even warns you if you’re in danger of running over the service timeout (which you can customize, by the way). And you can keep going back and forth since the service script is refreshed from its location just before every test run.

  • Support for the Snow Leopard services architecture with all the trimmings. You want to narrow your service to only appear for dates or URLs under seven words and written in Polish? Sure thing, with input rules. Only Devanagari script languages? Writing systems are also an input rule. Only from inside TextEdit, Coda and SubEthaEdit? Application filter creates a white list of apps (as long as they’ve got a bundle ID). Finish off by setting a service icon and you’ll surely be the envy of other services. Also, you won’t have to stumble into System Preferences to enable each service manually any longer; sorry about that.

  • Services that don’t take input nor produce output. You’ll have to handle the GUI part yourself, but such a fourth service breed now exists.

  • The service skeleton’s engine now pumps input and output in a way that is more conducive to streaming data (reading one line, printing one line) without filling up buffers. This has been improved since the previously available public beta; recreate your services.

  • Pack Up has been simplified. If you want an instruction, you have to provide it. There still is a template, but it’s moved to the web (and is still customized for the particular service name) and you have to make a decision whether you link to that, copy that text or write something yourself.

  • Support for Mac OS X 10.4 Tiger and 10.5 Leopard has been dropped. It’s enough that this version supports three OS versions, two of which I don’t run myself; I don’t need another architecture as well. The source code will be available shortly and it will probably not be a rough job for someone on PowerPC and a late version of Xcode 3 to download and compile it, but at least the burden is then on them to support it.

There is so much more to talk about. My Quixotic struggle with the new help bundle format to get anything to show up, properly index and work, in that order. The many variations of the application icon where what worked visually didn’t work well as an icon in terms of filling up too little of the box. Grappling with how to present all these optional things in the UI and avoiding both clicking cramps and the tax form esthetic. The many blind alleys to provide special JavaScript services, reorient the whole app towards service projects (“Xservice”), something to ease presenting a GUI from no-input-no-output services and so on.

Maybe I’ll write all of that or some of that up one day, but this will have to do for now. ThisService 3. Finally.


  1. Congratulations and thanks for the new version!

    By ssp · 2012.07.30 10:23

  2. Oh no, thank you.

    By Jesper · 2012.07.30 20:41

Sorry, the comment form is closed at this time.