Well-connected applications

· technology ·

In a brief exchange with Steve Hodgson (@BestofTimes) on Twitter, I recommended TextSoap — a brilliant utility for munging and cleaning up text in a multitude of different ways. It's not a very glamorous application, and it seems pricey until you actually use it intensively. I've had it a while now, and on most days I use it once or twice, but it really pays its keep when I have big tasks that require a lot of text manipulation.

Yesterday I had to copy a lot of information from PDF files and emails and enter it into forms on a website, many (many) times over. Copying from PDFs resulted in odd problems with the text like line breaks instead of spaces between words, orphaned hyphenation and so forth. Since the forms required strictly ASCII text, I also had to convert curly quotes to straight quotes and accented characters to LaTeX format accents.

That would all have been a huge chore, but for TextSoap. It has a variety of built-in 'cleaners' (for example, straighten or smarten quotes), but you can also build your own cleaning components using regular expressions, and you can chain together the existing cleaners to form custom workflows. So cleaning the text was only a case of a making a few clicks.

However, TextSoap doesn't really do anything you couldn't do with a text editor and good knowledge of regular expressions and scripting languages (it has a 'convert to Markdown' cleaner, for example), albeit that it packages those functions up in a user-friendly way. The real beauty and utility lies in how easy TextSoap makes it to access those functions. You can use the Services menu (which has incidentally become a lot more powerful with Snow Leopard), which also means that you can assign global keyboard shortcuts to your most-used cleaners. You can use the contextual menu or even Automator workflows, and there are specific plugins for text editors like BBEdit. So whichever application you are in (provided it supports Services and/or Applescript), you have easy access to the cleaners.

That — it seems to me — is one of the most powerful things about Mac OS X as a platform, and the thing I miss most when I use other platforms. There is standardisation of a lot of important features^1^, and a lot of different technologies that allow you to connect your applications together in useful ways that save time and effort.

^1^ For example, I love Linux dearly, but it drives me absolutely crazy that there's no standard keyboard shortcut to quit an application.