Improving My Master Output Workflow

Workflow recently put out an update that I thought was a game changer with Magic Variables. Well they've managed to do it again. I've been toying with a Master Output which I use to have one option for sharing that I fed four different image related workflows into. I fed them via the url scheme.

I thought I found my solution with the base64 encoding (since images couldn't be passed via the URL scheme), until I discovered that images were suffering from a quality loss. This became apparent to me with a couple of text heavy screenshots. After comparing the original image with the output the latter was clearly blurry.

So I kept experimenting. I tried storing the images in iCloud drive and then recalling them. But with no way to automate removing the file from iCloud drive when I was done with it, I had to manually delete them. What could be automated was storing them in the camera roll and later deleting those at the end. This however resulted in more taps and my ultimate goal with this particular workflow is fewer.

While thinking about other workflow stuff in general it dawned on me there should be a better way to run one workflow from another. I suggested on twitter that it would be nice to simply call one from another, without having to mess with the URL schemes. And boy did they deliver. Now, I'm not saying they got the idea from me. In fact I'm positive they didn't based on the timeline of me tweeting that and when I got the next beta build. But frankly I don't care. I'm just glad it was implemented.

Not only can you now call one from another, but you have two options to run it.

  1. In the foreground, where the second workflow looks like it overlays on top of the first while it goes through it's actions.
  2. In the background (my preferred method) where you see a loading bar as it progresses but you stay in the first. It still does all the actions requiring user interaction, such as choosing from a list.

But the best part, the part that blew me away even more... is you can pass inputs/outputs between the workflows, including files and images.

With that in mind I have redone my image processing workflows. You can get them all below, as well as a master one that just gives you the option to call any of the others.

  1. Combine Images
  2. Crop Photos
  3. Giphy
  4. Screenshot Stitcher (requires another app, LongScreen)

Image Options: This workflow will give you a menu and ask which of the others from above you want to run. This is useful for places like the widget where you may want to save more space.

Output: This is the updated output workflow all of the others would feed into. You may need to select this from the Run Workflow at the end of the above Image ones. I've put some generic sharing options in it. I would encourage you to customize it for your specific use case.