App of the Week: TextSoap 8

Hands on: TextSoap 8 cleans up your text for online and publishers


By William Gallagher of AppleInsider

TextSoap 8 is supremely handy, easy to start. and hard to master —but so very powerful for writers of all ability levels.

From 1998 to around 2004, every website editor at BBC Worldwide in the UK had an extra button in their copy of Microsoft Word. When you clicked it, Word would ready your text to go into websites without any of the usual problems of the time. Smart quotes, the 66 and 99 marks, used to break the sites, for instance, so they were changed to plain ones. The BBC system had problems with dashes and certain types of parentheses too, plus a constant difficulty with the British pound symbol.

This Word button handled four or five such common issues but it was the quote marks it was known for. So much so that since it was changing smart quotes into dumb ones, it could’ve been called the Dumber. Instead, since “thick” is British slang for stupid, it was called Thickify. It made smart things more thick.

I know all this because I wrote Thickify. It was the single most successful piece of work I ever did at the BBC and hardly anyone who used it had any idea that it was mine or that it was a Word macro. They believed that it was part of Microsoft Word and when they’d upgrade that word processor, they would actually shout at IT people for apparently removing their big button.

A dozen BBC websites used it. Probably twenty editors, news editors or assistant editors used it. So did most of the writers on each of these sites. To this day I am proud of that work —and yet I see it was total rubbish compared to TextSoap 8.4.7.

TextSoap is the same idea and it does the same things. However, where my Thickify for BBC fixed four or five problems, TextSoap 8 does more than a hundred.

Paste some text into this Mac app and it will remove extra spaces, it will take out extra returns, it can remove every tab and so on. If you paste in the HTML source code from a web page, it will extract all the actual text from it.

Better and better

You don’t have to paste text into the app, though. Instead, you can call up TextSoap’s features from within practically any Mac app. Just select some text then click on the app’s name in the menu bar. Choose the little-used Services item from the menu that drops down and then TextSoap does its work.

In the background, it’s taking that selected text and putting it into its own app before cleaning it up and pasting it back.


It puts that text into its Clipboard Workspace but it’s also possible to open or create documents in TextSoap. It’s oddly resistant to closing them again, though.

We’d run it from the Services menu a few times and would sometimes find that it had opened new documents for each occasion. So we’d close them but the next time we’d run TextSoap, it would occasionally reopen a dozen. It’s probably something to do with macOS’s way of making apps reopen the last documents you were working on, but still we had positively chosen to close them.


When we’d run it from within another app like Pages or Word or Ulysses, though, we wouldn’t notice the documents at all because we stay in that app as it works.

Still, there’s a reason that macOS Services menu is so little used. You forget that it’s there and also to choose it you have to take your hands off the keyboard and use the mouse or trackpad. Since we’re doing this to speed up preparing text that we’ve typed, it would be great if you could just use a keyboard shortcut —and you can.

At the foot of the Services menu there is Services Preferences option. Choose that and you’re taken to the right section of System Preferences. It’s the Keyboard pane and Shortcuts/Services will already be highlighted.

If you’ve not been in this before or haven’t looked at Services on the Mac, your head will jerk back at the sheer number of options. Every app you’ve ever installed can provide a Service and so many do that your list is going to be long.


However, scroll on down and you will reach one called Clean with TextSoap 8. It will also say “none” next to it. Click on that to record a new keystroke that will open the Service for you.

After that, using TextSoap is a matter of selecting some text, pressing that button and taking your hands off the keyboard while it works. Depending on how much text you’ve selected, you may have to wait a while but it’s going to be enough time to flex your fingers, not enough time to get a coffee.

Takes all sorts

Perhaps it’s just because we are more habitually used to clicking on menubar items, we use Services only when we remember. The rest of the time, we click on TextSoap’s menubar app.

This does also have the advantage that where Services shows you only one or two TextSoap cleaners, the menubar app lists about 20 by default. So we can go directly to Straighten Quotes if we know that’s all we want.

There is more, though

If this all you use TextSoap for then you’re in good company: this is chiefly how we’ve used it for years.

However, it is preposterously more powerful and has practically a ludicrous number of options that we’ve explored from time to time.

They’re all to do with creating what TextSoap calls your own cleaners. The built-in option that straightens or thickifies smart quotes is a cleaner. The one that removes double spaces after a sentence is another.

While most of the time you’ll use one called Scrub which is actually a collection of many routines, each time you run TextSoap you are choosing a cleaner to work on your selected text.

It’s just that you can make your own. You have to open the main app, you can’t do this from the menubar version. Choose File, New, Custom Cleaner.

This gets you an editor window that’s divided into three key areas. Down the left there is a list of actions or existing cleaners that you can use. Each one comes with a detailed explanation of what it does and the only reason you’ll take a long time to get through this is that there are so many.

Then the greater part of the editor window has two sections arranged horizontally. At the top there is a Properties window and then underneath is an Actions one.

Or that’s the theory. We spent a frustratingly long time trying to understand how this section worked because we didn’t have that Actions part. It turned out that this was because we also didn’t have the very latest version of the software: while TextSoap has had this particular feature for some years, it somehow wasn’t displaying in our copy. Not until we updated.

When we did, this suddenly because much more familiar territory. If you’ve ever used Workflow, Automator or Keyboard Maestro then you’ll recognize the idea. You have a pot of actions to choose from and you drag in the ones you want into the order you want them to work.

Then you can edit them to make an action be more specific.

For instance, we created a cleaner called The Ize Have It where words written with the British English ending -ise were changed to the US English -ize.

We dragged in a Find and Replace action, then entered a pair of words like “equalise” and “equalize” and from now on this cleaner will make that swap. It was a bit tedious because we had to do a different Find and Replace for each pair of words. It would be better if you could load in a spreadsheet of them.

Still, no matter how many pairs of words we add, we’re adding them to one cleaner. Which means, every time we want to check and fix this problem, we run that and it’s done.

Worth the effort

TextSoap is worth putting some effort in to create your own cleaners because the time you spend now is saved later. You do it once and this tool is available forever.

It could be friendlier but really for the giant majority of times we use it, TextSoap is quite clear. We’d just like it to have some up to date documentation for those times we want to go further.

TextSoap 8.4.7 costs $65 direct from the developer. It’s also available as part of the Setapp subscription service.

There is a trial version available from the developer’s site which also points out that TextSoap has been around for 20 years. I could’ve just told the BBC to buy TextSoap version 1.0.


How to: use Scribble on Apple Watch to text without voice


By Michael Potuck of 9to5Mac

You’ve probably seen or used the Scribble feature on Apple Watch to send a message discreetly. But do you know about the slick Digital Crown predictive text feature to become an efficient and fast scribbler? Follow along for more…

While Scribbling out letters can work for succinct texts, it’s not the best fit for medium or longer texts. Luckily Apple built a predictive text feature that’s activated by turning the Digital Crown when scribbling.

How to use scribble on Apple Watch to text without voice

1 Open Messages on Apple Watch and tap on a conversation
2 Tap on Scribble
3 Scribble a letter or two and then turn the Digital Crown to get suggestions
4 Let go on the word you’d like to use and Messages will select it and add a space after the word

This takes a little getting used to, but can become quite efficient and handy once you’ve got some muscle memory for it.

You can even use the Digital Crown auto-suggestions to pull up an emoji

Apple notes in a support document that you can currently scribble in the following languages:
• English (Australia, Canada, the United Kingdom, and the United States)
• French (France and Canada)
• German*
• Italian
• Spanish
• Simplified Chinese
• Traditional Chinese

Have you tried Scribbling on your Apple Watch? Tell us about it in the comments below!

App of the Week: Workflow

Workflow 1.7.8 Adds ‘Mask Image’ Action, Things Automation Support, PDF Text Extraction, and More



In the first update since November 2017, Apple today released version 1.7.8 of Workflow, the powerful iOS automation app they acquired last year. The latest version, which is now available on the App Store, introduces a brand new Mask Image action, adds support for Things’ automation features, and improves the ability to extract text from PDFs using the company’s PDFKit framework, launched in iOS 11. While the unassuming version number may suggest a relatively minor update, Workflow 1.7.8 actually comes with a variety of noteworthy changes for heavy users of the app.

First up is the ability to open specific workflows without running them. While Workflow previously supported URL schemes to either open the app or run an existing workflow, it didn’t support opening an individual workflow without starting it. In Workflow 1.7.8, you can now use the workflow://open-workflow?name=WorkflowName URL scheme to create launchers that open existing workflows in the app.

These new URLs are ideal for apps such as Launcher or Launch Center Pro, and I recommend them to create shortcuts for workflows you’re frequently editing, or which you want to run only after dropping content into the workflow editor (a feature that was added in version 1.7.7). Speaking of drag and drop: if you’re dragging an item and want to use it as input for a workflow, you no longer need to wait for the workflow to spring-load after hovering over it in the main My Workflows view. Just pick up a file and drop it over a workflow to run it – it’s faster and feels nicer than the old implementation.

The new Mask Image action is a feature Workflow users have been requesting for several years now; thankfully, Apple’s implementation doesn’t disappoint, and is poised to dramatically simplify image editing workflows that relied on tedious workarounds to mask images. Workflow’s native Mask Image action applies a mask to an image passed as input, cutting it into any shape you want. By default, the action offers three built-in presets: rounded rectangle (with a customizable Corner Radius value), ellipse, and icon.

In addition, you can also provide your own custom alpha mask through an image variable: in my early tests with this feature, I had fun using random images from my photo library as masks and understanding how Workflow treated their brightness as a custom alpha mask. According to the app’s documentation, darker colors in the alpha mask become transparent and lighter colors remain opaque; the mask is also resized to match the dimensions of the source image if necessary.

For the past couple of years, here at MacStories we’ve used our own workflows to mask images in the shape of iOS app icons or rounded profile pictures to be used for interviewees in our newsletters. These workflows required us to make our own squircle alpha masks from scratch and use a handful of actions and calculations with the Overlay Image action to fake the ability to mask an image because Workflow didn’t officially support it. We can throw all those workflows away with the new Mask Image action. Turning square artwork returned by the iTunes API (also natively supported in Workflow) into an app icon shape is now as easy as using Mask Image: Icon – that’s it.

Here’s a three-action workflow I made to search the App Store, pick a result (from a rich list), and generate an iOS icon for the selected app. No more third-party mask images, no more Overlay Image coordinates to be used. You can now create similar workflows for cropping a profile picture to a circle or putting iOS screenshots into device frames. I’ve been waiting for this action, and I’m happy with Apple’s solution.

In a surprise move, Workflow 1.7.8 extends its existing Things integration by supporting the more powerful automation features Cultured Code recently brought to its task manager. The Add Things To-Do action has been updated in this release with new fields based on Things 3.4’s URL scheme: you can assign a task to a project or area, specify a heading, enter dates, reminders, and deadlines, and even specify notes and tags. When saving a task in Things, you can choose to show the task editor in Things and manually confirm the new item, or immediately return to Workflow, receiving the task’s ID as input text.


There’s a common thread between the Mask Image and Add Things To-Do actions: both obviate the need for complex workarounds – whether they involve image overlays or URL schemes – because they’re based on visual automation and magic variables. The complexity of the underlying automation is completely abstracted as the user shouldn’t have to worry about the details of what goes on under the hood. Both actions make automation more intuitive and accessible, which is exactly what Workflow always set out to achieve.

To give you a practical example, here’s what my Things action looked like before today’s update, and how Apple made it obsolete with an enhanced built-in action that exposes no URL scheme and doesn’t require any date formatting:

Thanks to native Things support, I’ve already updated my Things Linked workflow (previously detailed here), and I plan to update other workflows previously shared with Club MacStories members as well.

There are a couple of features missing from Apple’s Things action I should point out: the reveal option to show a newly created task in Things doesn’t seem to be supported yet, and I couldn’t find an option to specify checklist items within the task either. The action also doesn’t integrate with Things’ more advanced JSON capabilities, but that’s to be expected given the developer nature of the functionality. Overall, I’m thrilled to see Apple rolling out initial support for Things automation in Workflow as I didn’t imagine it would happen so soon.

Lastly, besides dozens of welcome fixes and smaller enhancements (such as the ability to reorder items in dictionaries – finally), Workflow 1.7.8 features a substantially improved PDF-to-text coercion engine, built on top of the PDFKit APIs for iOS 11. In my initial tests with the update, Workflow appears to be extremely accurate in extracting text from PDFs now, correctly preserving line breaks and special characters, and going as far as splitting PDF pages as individual text items in the output – features all made possible by Apple’s PDFKit.

Perhaps even more impressively, the performance of Workflow’s PDF-to-text conversion is astounding: Apple’s iOS Security Guide, a 78-page PDF document, is converted to plain text in 1 second by Workflow on a 2017 iPad Pro. I’m going to have fun thinking of how Workflow can now fit in my paperless workflows and DEVONthink usage. In the meantime, here’s a workflow I made to pick a PDF with an iOS 11 file picker (which supports both iCloud Drive and third-party locations), extract its text, and merge multiple pages into a single plain text block.

As I wrote when Workflow 1.7.7 was released four months ago, I appreciate the fact that, despite an unclear big picture, Apple is still listening to the Workflow community and updating the app with fixes and important new features, such as today’s Mask Image and Things actions. The company clearly knows that thousands of users depend on Workflow to make their iOS devices more efficient and productive; as we near the first anniversary of the acquisition with no updates on a possible Workflow 2.0, it’s good to see that Apple is still putting in the effort to keep the app alive with new functionalities and native iOS integrations.

You can download Workflow 1.7.8 from the App Store and read the release notes here.

Do you have a favorite Workflow automation? Tell us about it in the comments below!