Shortcuts: Quick Run

Did you know there’s a way to speed up Shortcuts shortcuts on iOS? It’s really simple and can make a huge impact. Particularly on more complex shortcuts.

The very simple premise is that when a shortcut is run, iOS steps through each action in the shortcut. As it does this, it displays the shortcut on the screen and scrolls to the action. This graphical interaction consumes resources, and whilst fast, is actually slow enough to affect the performance of the shortcut that’s running. This is particularly evident where you have loops and where you have very long shortcuts. Invariably, the Venn diagram of these shortcuts has quite a significant overlap.

Shortcuts however offers an action step to run another shortcut but not display the shortcut whilst running it. It’s an option on the Run Shortcut action, and I’ve been using it since Shortcuts came out; but apparently this is a better kept secret than I’d imagined, so I’m just outlining it to raise people’s awareness.

To optimise this I created a “Quick Run Shortcut” shortcut. It has just two actions - Set Variable and Run Shortcut. The idea was to keep this as short as possible so that this shortcut would never require the device to scroll when run, and to set the “Show While Running” option to be off. It would have been nice to be able to refer to use the Shortcut Input variable directly in the Run Shortcut action, but unfortunately that isn’t an available option, and I don’t want to have it randomly show in the Share Sheet, so this was, to my mind, the optimal approach.

Now you can make separate launchers based on this that instead of using Set Variable for the input, simply use the Run Shortcut action and the name of the Shortcut. That’s perfect, but it does lead to a rather cluttered set of shortcuts where you are doubling up with a shortcut and its launcher shortcut. Instead I use my generic launcher in combination with, primarily, Launch Center Pro. I create a URL scheme call for a shortcut and pass in the name of the shortcut I want to run as a parameter.

Here’s an example I use from Launch Center Pro to run my ‘Briefing’ shortcut via my ‘Quick Run Shortcut’.

shortcuts://x-callback-url/run-shortcut?name={{Quick Run Shortcut}}&input=text&text={{Briefing}}&x-success={{launch://}}&x-cancel={{launch://}}

The main point is though, if you have a slow running complicated shortcut, try creating another shortcut to run it, and see if that speeds up your use.

Author: Stephen Millard
Tags: | shortcuts |

Buy me a coffeeBuy me a coffee

Related posts that you may also like to read