TECH: Siri Shortcuts in iOS 12 Overview

Shortcuts

When Apple acquired Workflow last year, I outlined three possible scenarios for the app: a grace period leading to its eventual discontinuation; keeping the status quo and leaving Workflow untouched for a few years; or, in the most positive outcome, a complete overhaul of Workflow, relaunched as a new app with more powerful integrations.

I had no idea that even the best possible scenario would turn out to be not optimistic enough.

Workflow is reborn in iOS 12 as Shortcuts, a new app available for free on the App Store.20 The Shortcuts app is, effectively, a brand new version of Workflow that keeps compatibility with your existing workflows and makes them easier to run thanks to deeper integration with iOS, an intuitive design, and new actions. If you were a heavy Workflow user before, Shortcuts is a dream come true. The app represents Apple’s renewed commitment to user automation, modernized for the age of apps and centered around the belief that automation can empower everyone, not just programmers.

But simply comparing Shortcuts to Workflow doesn’t tell the whole story. Aside from the app’s own capabilities, Shortcuts epitomizes a vision for automation that goes beyond stringing together series of actions. It’s an all-encompassing plan that aims to give any app the ability to work directly with Siri; it’s the idea that proactive assistance can also be a form of automation to help users get things done more easily and quickly.

Shortcuts stands out in iOS 12 for two reasons: in a less sprawling release than last year’s iOS 11, Shortcuts feels like an outlier – the only major new feature with ramifications that permeate the OS, entangled with every app; technically, it’s also an App Store download, which means it won’t be pre-installed on iOS 12. This unique combination of factors – an App Store app by Apple that may as well define an entire release – makes Shortcuts an exception from the company’s usual iOS approach.

I debated the inclusion of Shortcuts in this review for a long time; ultimately, I believe it’s essential to cover the app because, the way I see it, the acquisition of Workflow was a building block for bolder plans. The power of Shortcuts ripples through the entire Apple ecosystem, and it represents one of Apple’s most ambitious software bets in years.

System Shortcuts

In iOS 12, there’s a difference between Shortcuts and shortcuts (lowercase) suggested by the system. Even without the Shortcuts app installed, iOS 12 can suggest relevant app shortcuts as search results or special notifications on the lock screen. You don’t need to assemble these shortcuts yourself as they’re not “workflows” in the traditional sense: they’re standalone system or app actions that can be activated via touch or invoked via voice.

System shortcuts are automatically suggested by iOS 12; they fall under the domain of Siri Suggestions (hence why they’re also referred to as “Siri shortcuts”), an existing iOS feature that can now leverage signals such as your location, time of day, and motion (walking, driving, etc.) to build patterns of actions that you regularly perform and might find useful again. These suggestions are generated using machine learning and Siri’s intelligence on-device, and they range from opening a specific piece of content in an app to activating a system feature or performing an action in a third-party app. Essentially, a shortcut is a convenient way to reopen or interact with a key feature of an app that the user has previously seen or completed.

Examples of shortcuts surfaced in Search by iOS 12. Shortcuts are indicated by the arrow glyph.

Examples of shortcuts surfaced in Search by iOS 12. Shortcuts are indicated by the arrow glyph.

As you start using iOS 12, and even before installing third-party apps updated with shortcuts support, you’ll begin to notice shortcut suggestions when you pull down on the home screen to open Search; the ones iOS 12 thinks are more important or urgent (based on an invisible “confidence threshold”) will also be pushed to the lock screen so you can’t miss them.

Shortcuts suggested on the lock screen are the ones iOS 12 thinks are more important for the user.

Shortcuts suggested on the lock screen are the ones iOS 12 thinks are more important for the user.

The system starts simple and grows more timely and accurate the more you use an iOS device in your daily life. If someone calls you and you miss it, for instance, you’ll see a shortcut to call them back; tap the shortcut, and it’ll expand into a small card with a ‘Call Back’ button to initiate a phone or FaceTime call. Or perhaps you have a calendar event about a call to a specific contact or business; when the event is due, you’ll see a shortcut to call in without having to open the Calendar app and copy the phone number. Or maybe you have an iMessage group thread that you frequently dip in and out of; jumping to that thread with one tap from Spotlight can also be a system shortcut in iOS 12.

In my tests with iOS 12 for the past three months, even before I started experimenting with compatible third-party apps, I was offered all kinds of shortcuts by the system – some more timely than others, but generally in line with my habits and routine. Some examples:

  • When you copy a link to the clipboard, iOS 12 offers a shortcut in Search to instantly open the link in Safari;
  • The Photos app can provide shortcuts to reopen your recent photos, jump to the All Photos view, or open a specific album that you’ve recently viewed;
  • Both Podcasts and Music support a vast array of shortcuts to play or resume albums, songs, episodes, playlists, or podcast stations;
  • On my girlfriend’s birthday, iOS 12 suggested a shortcut to call her and wish her happy birthday. Of course, because I live with my girlfriend, calling her on the phone would have been weird, but I look forward to Siri offering birthday reminders for people with whom I don’t share an apartment;
  • If an important event, either fetched from the Calendar or recognized in Messages, is coming up soon, you’ll see a shortcut to enable Do Not Disturb for the duration of the event. iOS 12 can also suggest setting an early alarm if a calendar event will occur first thing in the morning;
  • Notes can suggest individual notes you frequently open as shortcuts;
  • Mail supports shortcuts to open specific mailboxes or run a search you previously performed in the app;
  • Safari can suggest frequently visited websites as quick launchers at different times throughout the day.

These are only some of the shortcuts from Apple apps and system features that iOS 12 suggested on my iPhone and iPad between June and September. Apple has done an admirable job in bringing shortcut support to nearly every built-in iOS app – there are dozens of other native first-party shortcuts that I haven’t mentioned here, many of which I probably still haven’t discovered myself. As I noted above, while not all of these shortcuts were surfaced at the best possible time during the day, the system correctly picked up on activities I had previously performed on my devices. Because these shortcuts require no user setup and have zero learning curve, I believe that a vast portion of new iOS 12 users will be pleasantly surprised by this deeper built-in intelligence.

The ability for the system to recognize and infer app-based shortcuts is built atop two existing technologies that iOS developers should already be familiar with – NSUserActivity and SiriKit. It’s important to know what these APIs can accomplish as they enable third-party apps to provide different types of shortcuts.

Two Kinds of App Shortcuts

In Apple’s parlance, shortcuts are “donated” by apps to the system after the user performs an action in an app. At a basic level, apps provide iOS 12 with a list of shortcuts they support; the system then uses Siri to predict relevant shortcuts fetched from this continuously-changing data pool. This approach means developers have to do the work beforehand of understanding which actions or pieces of content their users might find useful again in the future. Developers should refrain from marking every single action or screen in their apps as a possible shortcut; Apple recommends offering only the most relevant ones as potential shortcut candidates to the system.

Some examples of shortcuts donated by apps to iOS 12.

Some examples of shortcuts donated by apps to iOS 12.

Additionally, there are two types of app shortcuts. Basic shortcuts that open a specific piece of content or resume an activity inside an app are in the first group. These simpler shortcuts are based on NSUserActivity, an API that Apple first introduced in iOS 9 to let third-party apps hand off user activities to other devices as well as offer search results in Spotlight. The same API, with minimal tweaks on developers’ side, is used in iOS 12 to provide users with app-based shortcuts.

In my tests with third-party apps updated for iOS 12, this type of shortcut has turned out to be the more widely adopted one as it’s fairly easy to implement. If an app already supports NSUserActivity for Search or Handoff, all a developer needs to do is understand which activities could be relevant to the user as shortcuts and make them eligible for iOS 12’s suggestions.

Drafts 5, the note-taking app by Greg Pierce21, offers shortcuts in iOS 12 to capture the contents of the system clipboard or reopen an existing workspace. When opened from Search, these shortcuts don’t show a custom interface; they appear as tiny bubbles featuring the name and icon of the app, plus a label and glyph that indicate they will launch Drafts.

A shortcut to reopen a workspace in Drafts.

A shortcut to reopen a workspace in Drafts.

Reminder, a Reminders client by Mark DiFranco, supports activity-based shortcuts to reopen task lists you previously used in the app. Similarly, the email client Airmail has been updated with shortcuts to open an account’s inbox or a specific folder; SnipNotes can donate shortcuts to reopen individual notes or categories of notes; Secrets, a password manager, can reopen logins or other secure items you previously viewed in the app.

A collection of shortcuts based on the NSUserActivity API.

A collection of shortcuts based on the NSUserActivity API.

I expect developer adoption of shortcuts based on NSUserActivity to be massive. Especially for apps that do not require execution of background tasks, NSUserActivity should be enough to let users save time when reopening sections of apps or activities they performed before.

According to Apple, while NSUserActivity enables basic integrations between apps and suggested shortcuts, SiriKit Intents offer the best experience for users who want to accomplish more with shortcuts. This is not a new API either, but the way it’s surfaced throughout iOS 12 is.

SiriKit Intents have been around since iOS 10 as a way for developers to integrate their apps natively with the Siri voice experience and perform actions inline with the assistant. Apple introduced SiriKit as a domain-based API designed for specific kinds of apps, and slightly improved it last year with the addition of visual code, list, and note-taking domains. Apps that leverage the existing SiriKit framework include task managers such as Things and Todoist, messaging apps like WhatsApp, and utilities such as DEVONthink and AnyList.

Just as it was becoming clear that Apple’s narrow approach couldn’t scale to thousands of apps that can’t be categorized in specific domains, the company is turning SiriKit on its head. In iOS 12, developers can create custom SiriKit intentsbased on built-in semantic templates; furthermore, intents can break out of the Siri UI and work as shortcuts in places like Search, the lock screen, and even the Siri face in watchOS 5. Apple’s strategy isn’t surprising: if iOS apps can have the ability to perform tasks with custom interfaces and responses outside the main app environment (as is currently possible with SiriKit Intents in iOS 11), why not expand the same functionality to other types of proactive assistance? With shortcuts, any essential, repeatable feature of an app can become an action that can be executed from anywhere on iOS without launching the main app.

Some examples of native app shortcuts based on intents. These shortcuts can display custom interfaces in Search, the lock screen, Siri, and the Shortcuts app.

Some examples of native app shortcuts based on intents. These shortcuts can display custom interfaces in Search, the lock screen, Siri, and the Shortcuts app.

For example, iOS 12 may learn that on the way back home from work on Thursdays, you like to order pizza and have it delivered at 8 PM. Or that on an average workday around 1 PM, you view your ‘Office’ project in Things. These are repeatable actions that developers can turn into shortcuts with custom interfaces using the same underlying Intents UI technology first launched two years ago. In iOS 12, these shortcuts can load their own UIs and/or execute app actions in the background without leaving the context in which the shortcut is running.

Developers who have shied away from integrating with SiriKit so far should probably reconsider and look into custom intents in iOS 12. This new feature allows any app to offer custom views and responses that are used when the intent is invoked as a shortcut either from Search or Siri.

Developers can create custom intents in Xcode using semantic templates. (Screenshot: James Thomson)

Developers can create custom intents in Xcode using semantic templates. (Screenshot: James Thomson)

To create a custom intent, developers can choose from building blocks that include verbs such as “start” or “order” and other templates; these semantic elements define the response associated with the shortcut when it’s invoked via voice using Siri. Furthermore, developers can also design a custom interface for the snippet that is presented every time the shortcut runs; this UI is used whether the shortcut was activated from Search, the lock screen, or as a Siri command.

The same shortcut from CARROT Weather activated in Search (left) and Siri. The custom UI is the same, but Siri includes a verbal response too.

The same shortcut from CARROT Weather activated in Search (left) and Siri. The custom UI is the same, but Siri includes a verbal response too.

A great example of shortcuts based on custom SiriKit intents is Scriptable, an app by Simon Støvring I’ve been testing this summer. Scriptable is a JavaScript IDE that lets you create scripts which perform native actions integrated with iOS frameworks such as Reminders or the clipboard – it’s kind of like Pythonista, but for JavaScript automation.

On iOS 12, Scriptable offers a shortcuts module that lets you display custom data and views inside a typical SiriKit response snippet. Because Scriptable donates scripts you create to the system, the app’s scripts will show up as suggested shortcuts in Search after you’ve run them a few times inside the app. When a script from Scriptable is predicted as a shortcut in the Search screen (or if you search for it by name), you can tap to run it without opening the app. The shortcut pops up as a floating card with a Run button that, when pressed, loads the intent’s custom response into the card itself, with an animated checkmark at the bottom that indicates the shortcut was executed successfully.

Executing a shortcut from the Scriptable app.

Executing a shortcut from the Scriptable app.

Several things have occurred behind the scenes here. Scriptable donated a script as a shortcut, which at some point was deemed appropriate to suggest in Search. Because the shortcut was based on an Intents UI extension, not only was iOS 12 able to execute code from the Scriptable app inside the shortcut, but it also presented a custom interface created by the user in a script.

There are other examples of SiriKit-based shortcuts with custom interfaces I want to highlight. CARROT Weather, the powerful and malevolent weather app, can bring up summary cards for daily and weekly forecasts. These shortcuts carry the same UI of the main CARROT app, and they’re fully accessible from Search even though they need to load data from remote weather stations. Daily Dictionary, a new “word of the day” app developed and curated by Benjamin Mayo, offers a shortcut to view the day’s word selection in an information-rich card; LookUp takes a similar, albeit more visual approach with its word of the day choice, which brings up a definition accompanied by a beautiful illustration.

More examples of shortcuts with custom UIs.

More examples of shortcuts with custom UIs.

It’s also possible for developers to keep custom interfaces to a minimum and ship custom intents that only perform tasks in the background. James Thomson’s PCalc, for instance, has received extensive support for iOS 12 with shortcuts that can perform advanced calculations without opening the PCalc app or showing a calculator UI.

By embedding the full PCalc engine into the SiriKit extension, PCalc's shortcuts can complete actions by operating on the contents of the system clipboard. Pictured above: converting centimeters to inches.

By embedding the full PCalc engine into the SiriKit extension, PCalc’s shortcuts can complete actions by operating on the contents of the system clipboard. Pictured above: converting centimeters to inches.

These updated apps explain why I believe intent-based shortcuts are the most exciting developer feature in iOS 12: the combination of Siri intelligence with background execution of tasks enables users to effortlessly perform app actions at an appropriate time or location. The fact that Siri’s integration with apps can extend beyond manual voice activation and become something that is proactively suggested feeds into the idea that iOS apps can be providers of features throughout the entire system. This is a concept Apple has been refining for years with widgets, extensions, and classic SiriKit intents; shortcuts are the next logical step to turn apps into features that are personalized to the individual user and intelligently recommended by Siri.

Even though the opposite may seem true, the shortcut features I’ve described so far do constitute a form of automation. Suggested shortcuts can be considered system automations – actions to trigger a specific function that are conveniently presented to anticipate users’ needs. Some old-school power users may disagree with me on this, but I consider Apple’s Proactive technologies – whether in surfacing a calendar event in an email message or ordering coffee while driving to work – a new kind of automation. Only time and developer adoption will tell if Apple’s gamble is successful, particularly for SiriKit-powered shortcuts that require more work from developers. Conceptually speaking though, I see suggested shortcuts as an effortless solution to get users accustomed to the idea of pre-packaged actions that are automaticallysurfaced by the OS.

The line between system and user automation gets blurry once we start considering a deeper layer of Apple’s shortcuts initiative: the ability for users to create custom phrases to launch shortcuts with their voice via Siri.

Add to Siri

In iOS 12, users can define their own phrases for launching specific shortcuts via voice. Think of it as the voice equivalent of triggering an action on the Mac using a keyboard shortcut with apps such as Alfred or Keyboard Maestro – only instead of defining a combination of keys that run an action when pressed, you record a sequence of words that, when spoken to Siri, will activate a pre-defined shortcut anywhere in the system.

There are three ways to create a custom phrase for a suggested shortcut. The first method involves visiting the shortcut management screen located in Settings ⇾ Siri & Search. At the top of the screen, you’ll find up to three suggestions for relevant shortcuts; tap ‘All Shortcuts’ and you’ll be taken to a page listing all the shortcuts available for apps currently installed on your device. The Settings app automatically suggests recently used app shortcuts as well as other shortcuts that were previously donated by apps.

Tapping on the ‘+’ button next to a shortcut brings up a native ‘Add to Siri’ UI that all apps have to use to let you record personalized shortcut phrases. This screen features the name and icon of the app that donated the shortcut alongside a title and description for the shortcut. Moreover, developers can include a phrase suggestion for the selected shortcut to give users an idea for a potential phrase; however, it is always up to the user to decide what they want to record. Developers – even Apple – cannotpre-populate your personalized shortcut list with phrases they’ve chosen; you always have to create a phrase for each shortcut yourself.

Upon tapping the record button, Siri will start listening for a phrase you speak into the microphone and transcribe what it hears. Once it’s recognized the phrase, it’ll stop listening and load a confirmation screen displaying the phrase it heard; at this point, you can either save the personalized shortcut, or tap an ‘Edit’ button to choose between alternative transcriptions. With my Italian accent, for example, a “Show me weight” phrase offered “Show my wait” as an alternative.22

As an Italian using his devices in English, the accent struggle is real.

As an Italian using his devices in English, the accent struggle is real.

Once given a custom phrase, user-configured shortcuts can be viewed in Settings ⇾ Siri & Search ⇾ My Shortcuts. In this list, you can tap on a shortcut to delete it or re-record the phrase if you want to change its voice trigger.

Nice.

Nice.

The second way to save custom Siri shortcut phrases (as well as to see all shortcuts available for an app) is to visit an app’s configuration screen in the system’s Settings app. In this screen, tap ‘Siri & Search’, then ‘Shortcuts’, and you’ll be presented with a page containing your personalized shortcuts, suggested shortcuts, and shortcuts recently donated by the app. Functionally, adding and managing shortcut phrases works just like in Settings’ main Siri section, but this method has the advantage of coalescing all types of app shortcuts into one screen.

Shortcuts for an app can also be accessed from its native configuration screen in Settings.

Shortcuts for an app can also be accessed from its native configuration screen in Settings.

Finally, you can save shortcut phrases inside apps. In iOS 12, third-party developers can embed messages and buttons to bring up the Siri UI to record a shortcut phrase for an associated screen or action. While many developers have opted to use plain ‘Add to Siri’ text buttons, I’ve seen apps (such as Mayo’s Daily Dictionary) adopt Apple’s official (and nicer) Siri button (which can be black or white). Developers can also display already-recorded shortcut phrases in their apps’ UIs and allow users to delete or re-record a phrase using the system’s native Siri screen.

Daily Dictionary (left) uses Apple's official 'Add to Siri' button. Other apps I tested opted for custom buttons and a 'Siri Shortcuts' section in their settings.

Daily Dictionary (left) uses Apple’s official ‘Add to Siri’ button. Other apps I tested opted for custom buttons and a ‘Siri Shortcuts’ section in their settings.

When a shortcut runs in the context of Siri after being triggered by a custom phrase, it behaves similarly to how it’d work in Search or the lock screen, and consistently with regular SiriKit intents. If a shortcut needs to open an app, after hearing a custom phrase the assistant will launch the app into the activity paired with the shortcut. Drafts’ ‘Search draft list’ shortcut, for example, instantly takes you out of Siri and loads the Drafts app in search mode.

However, if a shortcut needs to show you a custom UI or voice response, it’ll run inline within Siri and display its own interface and response without leaving the assistant. The aforementioned Scriptable app can show its custom UI in Siri just like it can when running in Search; if you program a custom voice response in a script, Siri will display the visual shortcut and speak the response too. Similarly, CARROT Weather can provide Siri with a visual forecast plus a (user-customizable) spoken summary; SnipNotes lets Siri read entire notes and uses the visual intent as a tappable button to open an individual note in the app.

Examples of how much apps can customize their intents' interfaces in Siri. Yes, the one on the right is a video player inside Siri. HomeCam displays a live video feed of a HomeKit camera; the picture of my dogs is presented via JavaScript through Scriptable. Crazy stuff.

Examples of how much apps can customize their intents’ interfaces in Siri. Yes, the one on the right is a video player inside Siri. HomeCam displays a live video feed of a HomeKit camera; the picture of my dogs is presented via JavaScript through Scriptable. Crazy stuff.

There are a few implementation details worth noting about shortcuts that leverage Intents UI extensions. Most notably, custom interfaces can only receive touch events to launch the activity associated with the shortcut in the main app. For instance, you can tap on the shortcut’s snippet for a Drafts note to view the item in the app. However, this also means that visual shortcuts aren’t fully interactive. James Thomson23 won’t be able to build a calculator shortcut that lets you perform operations with a full-blown calculator UI inside Siri. Content displayed inside visual intents can be animated24, but it’s never interactive.

Developers can include buttons outside the intent’s interface to initiate specific actions or confirm the execution of a shortcut. For example, a food delivery app could embed an ‘Order’ button at the bottom of an Intents UI-based shortcut and perhaps ‘Yes’ and ‘No’ buttons to confirm that the user wants to have food delivered to their house. WaterMinder, a hydration utility, has adopted these confirmation buttons in its shortcuts to log new water entries to iOS’ HealthKit database; after asking users to confirm the shortcut they’ve invoked with a custom phrase, WaterMinder can even update the intent’s UI once the ‘Yes’ button has been tapped and the entry recorded.

WaterMinder's shortcut includes buttons to confirm the execution of the action, which saves data into the HealthKit database.

WaterMinder’s shortcut includes buttons to confirm the execution of the action, which saves data into the HealthKit database.

Also, a note on syncing custom phrases and apps relying on custom intents. Custom phrases sync between your devices with iCloud, but you have to ensure the same app is installed everywhere for an associated shortcut to work properly on multiple devices. For instance, if you’re using an iPad and invoke a shortcut that was created on iPhone, Siri will give you an error if you don’t have the same app installed. But if you do, the shortcut will launch correctly without having to set it up from scratch.25

As for apps using the new custom intent API: as I mentioned above, they can provide shortcuts with custom responses that are spoken aloud by Siri. This also allows custom responses to be read aloud by Siri on HomePod, Apple Watch, and CarPlay rather than falling back to the iPhone. And as I’ll explain shortly, custom responses are one of the core features behind integration between Siri and the new Shortcuts app.


It’s entirely up to developers to understand the types of shortcuts they want to donate from their apps to iOS 12 and, if necessary, design their Siri intent UIs and responses accordingly. This is not a trivial amount of work, especially for apps that want to go beyond basic launcher shortcuts. But because custom intents and shortcuts are opening up Siri to, effectively, any kind of iOS app regardless of its domain, I’m optimistic that developer adoption is going to be fast-paced and diverse.

The more I think about it, the more I see custom shortcut phrases as the next big step in making Siri a more personal assistant that is unique to each user. As would happen with an actual assistant, shortcut phrases allow users to form their own language over time, creating a personalized set of instructions that only their assistant can interpret and act upon. It’s the equivalent of jargon in a group of friends, but applied to Siri and app actions. The potential accessibility perks are tremendous too: Apple now enables everyone to create custom Siri phrases that can be however long or short they want; this removes the need to find actions nested in apps, multiple levels deep into their navigation.

Apple has been smart in reframing iOS automation around Siri and voice: as I noted above, custom phrases aren’t too dissimilar from keyboard shortcuts. However, spoken phrases are easier to remember – they don’t feel like dark magic to regular users who have never bothered with automation before, and, most of all, they are natively supported across the entire spectrum of Apple products, from iPhones and AirPods to HomePods and Watches.26

I strongly believe that personalized phrases are the first step towards changing the fundamental Siri experience, which is evolving into a personal command log – from one Siri to a million Siris, each uniquely tailored to the user who customized it. Furthermore, custom phrases bring us to the final and most powerful layer of Apple’s automation and Siri strategy in iOS 12: the brand new Shortcuts app.


The Shortcuts App

With the Shortcuts app, the best timeline scenario I imagined last year is coming true: Shortcuts is the new version of Workflow, redesigned and updated for iOS 12. The Shortcuts app aims to keep near-perfect compatibility with your existing workflows, and uses iCloud sync to make them available across devices, replacing the old proprietary Workflow Sync service. Shortcuts isn’t a “spiritual successor” to Workflow, like Apple Music might have been for Beats Music; Shortcuts is a continuation of the same app based on the same design, automation model, and integration with iOS features. Rather than calling it Workflow 2.0, Apple has taken the app we know and love, renamed it Shortcuts, and relaunched it as an advanced take on iOS 12’s shortcut system.

In this review, I won’t go over every single detail of the Shortcuts app for a simple reason: there are four years of Workflow coverage on MacStories that explain features and use cases that are still valid for the Shortcuts app today. If you want to know what Shortcuts can do and download practical examples I put together in the past, you can start here and spend a few days catching up. Allow me, however, to offer a brief recap and go over some of the key similarities between Workflow and Shortcuts.

The main idea behind Shortcuts is that you can assemble custom shortcuts to automate and speed up tedious tasks that you perform on a regular basis. This is done by chaining together a series of visual steps that pass data to each other and execute a sequence of actions from top to bottom. The design of Shortcuts is heavily inspired by Apple’s automation app for the Mac, Automator. Like its muse, Shortcuts doesn’t require any programming knowledge: you don’t write code or scripts to make these actions run; you add them via drag & drop from a built-in editor that contains pre-assembled actions.

The Shortcuts editor on iPad.

The Shortcuts editor on iPad.

There are similarities with programming languages in Shortcuts, which is why people often refer to it as “visual programming”. To pass an item – which can be some text, an image, a document, etc. – between actions, you use variables. A variable is a piece of content that can change dynamically every time a shortcut runs. However, the Workflow team had a fantastic idea years ago: unlike traditional programming languages such as Python or Swift, users don’t even have to create and manage variables themselves thanks to a feature called Magic Variables. With Magic Variables, Shortcuts automatically generates variables for the result of each step, and the user can pick them, rename them, and use them with a visual editor.

Picking Magic Variables in Shortcuts.

Picking Magic Variables in Shortcuts.

Other traditional programming concepts have been implemented in a similar vein: conditional statements and loops are visually indented in the editor and you can define conditions or repetitions with a visual menu; the classic print or console.logfunctions to display a result message have been replaced by native alerts that pop up in the middle of the screen. While you may be dealing with classic programming techniques when creating a shortcut, you never notice because of the app’s visual, user-friendly approach.

This is largely made possible by two other fundamental concepts of Workflow that are at the center of Shortcuts as well: the Content Graph and integration with iOS frameworks. The former is a powerful engine that, behind the scenes, manages variables to ensure they can be passed from one action to another without producing errors. It is a unique spin on the idea of type coercion that, however, is completely abstracted from the user. The Content Graph is one of the most powerful proprietary Workflow technologies that Apple acquired alongside the app.

Integration with iOS and apps has always been Workflow’s most impressive trait, and it’s been further enhanced for the new app. Shortcuts has actions that integrate with native iOS features such as Reminders, Calendar, Apple Music, and Maps; it supports Quick Look and can import documents from Files; if you’re an advanced user, Shortcuts can make HTTP requests and leverage iOS’ built-in (Cocoa-flavored) regular expression engine.

In addition to what you can do inside Shortcuts with iOS integrations, the app extends its reach throughout the entire system: you can run shortcuts as widgets; you can summon a shortcut from the share sheet with an action extension; and in iOS 12, you can even use your custom shortcuts running inside Siri. Deep, secure, and visual integration with iOS made Workflow stand out from other automation utilities years ago, and this aspect is stronger than ever in Shortcuts.

Shortcut settings are still largely the same.

Shortcut settings are still largely the same.

Applying these concepts when assembling a custom shortcut yields unadulterated freedom to create visual automations for anything on iOS. Perhaps you want to rotate and resize multiple photos in a row; or maybe you want to perform a mail merge to send emails to a few dozen contacts; perhaps you want to pass a series of tasks to the Things app or turn a selection from Safari into a note in Drafts. All of this is possible with Shortcuts. The app’s automations are easy to build, they can save you time and provide consistent results, and they can be integrated with the system or even with each other. Your imagination’s the limit.

As I mentioned above, if you never used Workflow before, I strongly recommend catching up here to learn the fundamentals of features that I can’t cover in-depth in this review. It’s fine – I’ll wait. Fortunately, links to old workflows I shared on MacStories (and Club MacStories) still work today and allow you to import legacy workflows into the Shortcuts app. And if you’d rather listen than read, I suggest downloading the Workflow series we recorded on the Canvas podcast last year.

Now, let’s have a closer look at the new Shortcuts app and what it enables in iOS 12.

What’s New in Shortcuts

Shortcuts takes Workflow’s grid-based design and refreshes it with an aesthetic that’s more in line with other Apple UIs. The app is still organized in two main tabs: the Library, which features a colorful grid of your shortcuts, and the Gallery, which contains over 300 examples of shortcuts created by Apple ready to download and use. Apple has done an outstanding job picking useful examples for a variety of tasks and organizing them in a gallery that can be browsed and searched.

The main library view of Shortcuts.

The main library view of Shortcuts.

The Shortcuts gallery.

The Shortcuts gallery.

Once you’ve found a shortcut you’re interested in, you can preview the actions inside it or add it to your library. As was the case with Workflow post-acquisition, shortcuts featured in the gallery are Apple-made only and users can’t submit theirs. I hope that showcasing user-generated shortcuts in the public gallery will eventually come back as I think there’s real value in featuring examples created by the community.

The gallery lets you preview actions contained in a shortcut as well as the system frameworks it uses.

The gallery lets you preview actions contained in a shortcut as well as the system frameworks it uses.

The most visible change in the Library view pertains to how shortcuts can be run and edited. In Shortcuts, tapping a shortcut in the grid starts running it immediately without opening the editor. If a shortcut displays custom interfaces such as lists or keyboard input, those elements will be shown without leaving the main view.

If you run a shortcut from the library, actions that require interaction or display interfaces will come up in the middle of the screen.

If you run a shortcut from the library, actions that require interaction or display interfaces will come up in the middle of the screen.

I believe Apple made this change for two reasons. First, it speeds up how you can run a shortcut as you don’t have to be taken into the editor anymore. Second, and perhaps more importantly, this design obviates the need to look at a shortcut while it’s executing, with actions running from top to bottom, which can be intimidating for first-time users who have never dabbled in automation before. Even though it takes some time to adjust to the new activation method, I think it was the right choice. If you want to open the shortcut editor, you’ll have to tap on the three-dot button at the top right of each shortcut.

You can still re-arrange shortcuts with drag and drop in the library, but the app now uses haptic feedback while you’re moving items across the grid, which is a nice touch. Also, both on the iPhone and iPad, you can rearrange multiple shortcuts at once via drag and drop.27 As someone who recently reorganized a library of almost 400 shortcuts, I can confirm that this addition is very much welcome.

Aside from a refreshed design, there are no functional changes in Shortcuts’ action extension and widget. Existing limitations still apply: the widget can only display a subset of interactive elements and the action extension isn’t well suited for intensive tasks given its memory constraints.

The Shortcuts widget and action extension.

The Shortcuts widget and action extension.

The shortcut editor still looks and behaves like Workflow’s, with some exceptions. Action steps and variables are presented just like in Workflow, with customizable fields, sub-menus, and Magic Variables that can be configured exactly like in the old app. Unlike Workflow, the editor’s appearance is now white with more colorful icons and an overall iOS 11-ified design. The Settings screen for an individual shortcut is also untouched, save for the new ‘Add to Siri’ button that lets you record a phrase to trigger a shortcut from Siri.

It's amazing how little has changed between Workflow and Shortcuts.

It’s amazing how little has changed between Workflow and Shortcuts.

The biggest difference is in how you add actions from the editor. On iPhone, the old sidebar (a swipeable page on the left side) is gone, leaving room for a Maps-inspired bottom panel that contains a search bar and the action library. By default, the panel is collapsed so that you only see the search bar when you’re editing actions. When you tap into the search box, or if you swipe up on the panel, the list of actions comes up, allowing you to view search results, browse categories of actions, and drag and drop an action into the editor.

The action library is now a bottom panel on iPhone.

The action library is now a bottom panel on iPhone.

On iPad, the app still features a sidebar when used in a regular size class; in compact mode (i.e. Slide Over), it follows the same bottom-panel approach of the iPhone version.

On iPad, the action library is a sidebar while in a regular size class.

On iPad, the action library is a sidebar while in a regular size class.

To add an action to a shortcut, you can still drag it from the action library and drop it at a specific point in the editor. The interaction has been polished and enhanced for Shortcuts, which is best showcased on iPad:

Replay

On iPhone, the Taptic Engine perfectly complements the gesture: when you hold an action, you feel a first haptic tap that suggests you’ve picked up an item; as you do this, the action panel collapses, allowing you to drag the action across the editor. When the action enters the editor, you feel a second tap and the action expands into the full cell. At this point, every time you “cross” another action with the one you’re dragging, you’ll feel a series of taps that indicate you’re scrubbing through a list of actions. This has become one of my favorite uses of the Taptic Engine on iOS. I sometimes drag actions around the Shortcuts editor just to fiddle with the Taptic Engine and its haptic feedback.

As you play around with the new action library, you’ll notice that it is now organized in three main sections: at the top, Favorite actions, Siri Suggestions, and Scripting; Content Types, which includes most of the app’s native iOS integrations; and Apps, for actions belonging to third-party and other Apple apps.

While most of these are familiar names and actions that were already supported in Workflow, there are some notable new entries that reveal Apple’s bigger ambitions for Shortcuts as an iOS automation layer and Siri companion. Let’s go through them all.

Siri Suggestions

The most prominent new category of actions in the Shortcuts app is where things get really interesting and, in a way, quite meta.

In Shortcuts, you can create custom shortcuts (i.e. workflows) that include app-based Siri shortcuts as actions. Essentially, the native shortcuts I covered above – the ones that are suggested in Search and that you can manage from Settings – can be treated as steps of a longer and more complex shortcut. So, yes: you can put a shortcut inside a custom shortcut and run it as a shortcut in Siri. The joke writes itself.

A custom shortcut that includes native shortcuts from Overcast 5. These actions execute inside the Shortcuts app.

A custom shortcut that includes native shortcuts from Overcast 5. These actions execute inside the Shortcuts app.

There are two ways to find these shortcuts from the editor: in the Siri Suggestions category of the library, you’ll see a subset of shortcuts that have been recently donated by an app; in the app’s individual entry under the Apps category, you’ll find a list of all available shortcuts. Essentially, the Siri Suggestions category is there to provide a collection of app shortcuts consistent with iOS 12’s Settings.

Siri suggestions include the same app shortcuts that are surfaced in Settings. As you can see, the Overcast entry includes the same set of shortcuts you can find in Settings, plus the legacy 'Add to Overcast' action.

Siri suggestions include the same app shortcuts that are surfaced in Settings. As you can see, the Overcast entry includes the same set of shortcuts you can find in Settings, plus the legacy ‘Add to Overcast’ action.

Despite confusion arising from the fact that everything is called a shortcut28, this concept is a powerful one. In addition to letting developers integrate with the Shortcuts app using URL schemes and x-callback-url (which are not going away), iOS 12 also lets them provide native app actions that can be executed inside a custom shortcut with or without showing an interface.

Once again: the same shortcuts you can run in Siri, the lock screen, or Search can be used as standalone actions in the Shortcuts app. This opens the door to a new kind of native automation that entirely abstracts URL schemes, and which instead leverages user activities and SiriKit as modules for the Shortcuts app. As you can imagine though, there are some limitations to this approach.

When they’re part of a custom shortcut, Siri suggestions can behave in a few different ways. Those based on NSUserActivity that launch apps into specific screens will leave the Shortcuts app. If they use SiriKit intents, they can execute app actions in the background or bring up a custom UI when a shortcut is running. However, unlike other Shortcuts actions, Siri suggestions cannot receive input and set output. They can’t be modified with variables and they do not produce any result other than performing the action they’ve already been assigned. They just execute as standalone, immutable entities.

App shortcuts can become actions in the Shortcuts app. However, they can't be modified with variables and parameters.

App shortcuts can become actions in the Shortcuts app. However, they can’t be modified with variables and parameters.

The native shortcuts you see in the Shortcuts app are the same kind you see in Settings; just like you can’t edit them there, you can’t make changes to them in Shortcuts.

Given these limitations, why would you want to have a Siri suggestion in a custom shortcut? It depends on the context in which you’re running a shortcut and what you’re hoping to accomplish. If you’ve put together a shortcut that you’re always going to run inside the Shortcuts app, perhaps you’ll find it useful to have a Siri suggestion that loads a custom UI as a step in the middle of it. The Scriptable app, for instance, can display script results with a native interface while a shortcut is executing; LookUp can bring up a modal card for its word of the day; PCalc can show the result of a calculation executed in the background.

Or perhaps you’ve created a long shortcut and want to launch an app at the end of it as a final step. Siri suggestions that take you into specific app screens are great when they’re placed at the end of a series of actions as they can suggest that the shortcut is done and you’re now leaving the app. Examples may include launching your favorite podcast app into a specific playlist, loading directions in a navigation app, or opening a note.

After triggering a HomeKit scene and starting music playback, this shortcut uses a native GoodTask shortcut to open a specific project in a different app. Coffee, Metallica, and going through my task manager is my kind of morning.

After triggering a HomeKit scene and starting music playback, this shortcut uses a native GoodTask shortcut to open a specific project in a different app. Coffee, Metallica, and going through my task manager is my kind of morning.

My favorite kind, however, are third-party Siri suggestions that kick off an action in the background without interrupting you with a UI or forcing you to exit the Shortcuts app. These are made possible by SiriKit intents and disabling the ‘Show When Run’ toggle in the action. With these shortcuts, you can perform background tasks such as starting audio playback, copying text from an app to the clipboard, or triggering a home automation command. For instance, I’ve enjoyed the ability to perform unit and currency conversions based on a number contained in the system clipboard with PCalc, as well as log shots of espresso in HealthKit’s Caffeine category using Joe Cieplinski’s RECaf app.

These native app shortcuts run in the background. The RECaf one logs caffeine intake into the main app, as well as HealthKit; the PCalc and Text Case shortcuts act on the contents of the system clipboard and return data without leaving Shortcuts.

These native app shortcuts run in the background. The RECaf one logs caffeine intake into the main app, as well as HealthKit; the PCalc and Text Case shortcuts act on the contents of the system clipboard and return data without leaving Shortcuts.

Running native shortcuts from the library results in...interesting layouts on the largest iPad Pro.

Running native shortcuts from the library results in…interesting layouts on the largest iPad Pro.

This flavor of Siri suggestions represents Apple’s first step towards a native automation framework for third-party apps that replaces URL schemes with a secure extension model. Apple is not labeling it as such, and rightfully so: with Siri suggestions in Shortcuts, you’re just executing a pre-packaged item without the ability to control the flow of arguments going into the shortcut or the results coming out of it.29 It’s easy, however, to imagine where things may go from here.

Right now, Siri suggestions cannot be customized by the user. In the future, the same SiriKit framework could let users create their own app shortcuts that support custom parameters and data fields to read content from an app, save data into it, and execute arbitrary tasks in the background – all without having to launch an app with a URL scheme. Part of this is already happening now, but the shortcut is defined by the developer and controlled by iOS. If the same system could be opened to user customization with variables and inputs/outputs, Apple could end up with a powerful automation stack free of the security concerns and inelegance of URL schemes. Consequently, power users would be able to program Siri and apps however they wanted instead of being limited to developer-defined shortcuts.

Looking ahead to Shortcuts’ future, I think it’s clear that Apple would prefer to go down this road rather than support URL schemes forever. I believe a native automation framework will be one of the next big steps for Shortcuts as far as integration with third-party apps goes. For now, Siri suggestions in Shortcuts can be a convenient way to extend your custom shortcuts with basic app integrations, especially when it comes to performing specific actions in the background.


%d bloggers like this: