In a release that largely focuses on performance improvements and digital well-being tools to curb notification overload and smartphone addiction, Apple's Siri shortcuts initiative in iOS 12 stands out as one of the most exciting developments in modern iOS history. Perhaps even more impressive than developers' adoption of Siri shortcuts though has been the response to Apple's Shortcuts app, which enables the creation of custom shortcuts that can integrate with apps, system features, and even Siri.
In addition to a thriving community that continues to prove how combining users' imagination with automation can elevate iOS productivity, Apple itself has so far shown a remarkable commitment to the Shortcuts app by listening to the community and ensuring a smooth transition from Workflow. Traditionally, Apple's App Store apps receive major updates then linger for months before the next big set of changes; with Shortcuts, Apple has kept the TestFlight beta channel active, pushing for the same development pace that characterized Workflow before its acquisition.
The result is Shortcuts 2.1, released today on the App Store with a variety of bug fixes, iCloud improvements, and, more importantly, new actions that integrate the app even more deeply with iOS 12. If you're not familiar with the Shortcuts app, I recommending reading the dedicated section from my iOS 12 review first; if you're an existing Shortcuts user and rely on the app for key aspects of your iOS workflow, let's dig in and take a look at what's new.
iCloud and Sharing Improvements
Allow me to dispense with miscellaneous improvements before exploring the new actions available in Shortcuts 2.1. In the transition from Workflow to Shortcuts, Apple abandoned the proprietary Workflow Sync Service in favor of iCloud sync and iCloud-based sharing of shortcuts. While sync worked well1, the ability to sync the order of shortcuts across multiple devices was affected by a bug that caused the user's shortcut order to be reset upon syncing Shortcuts on a different iOS device.
In Shortcuts 2.1, the sync order issue has been fixed and you should be able to have all your shortcuts in the same order across all of your devices where Shortcuts' iCloud sync is enabled.2 I was among the portion of users unable to take advantage of syncing shortcut order, and the app's 2.1 release has completely resolved all of the problems I was running into. Now as soon as I move a shortcut on one device, its position is updated on all other devices in a couple of seconds. This fix has made it possible to rearrange my library of hundreds of shortcuts and tweak the Shortcuts widget to my liking, and I'm glad Apple was able to identify and resolve the problem in their first update to the app. I'd still like the option to maintain separate sets of shortcuts in the widget or action extensions on each device (so I could have certain shortcut widgets on my iPhone and others on the iPad), but fixed sync order will do the job for now.
Fixing issues isn't everything Apple has done in terms of iCloud integration for this Shortcuts update. In Shortcuts 2.1, you can stop sharing a previously-published shortcut by deleting its link and associated data from Apple's servers. The process isn't intuitive but gets the job done: if you want to delist a shortcut, you need to reopen its iCloud.com link in the app (Safari should automatically open icloud.com shortcut URLs in the app thanks to Universal Links) and tap the '...' button in the top right corner of the shortcut popup that appears on screen. This button is available only for shortcuts you previously shared from your iCloud account and is displayed even if you no longer have the original shortcut locally installed in the app (because Shortcuts can match your iCloud account with the public shortcut URL). Tapping the button will reveal two options to copy the iCloud link again or to stop sharing the shortcut altogether. If you stop sharing the shortcut, its uploaded data will be wiped from iCloud's servers and the link will stop working.
While this is an effective solution to quickly erase public records of shortcuts that contain private information or that you simply want to stop sharing for other reasons, the downside of this approach is that you'll have to repeat these steps for every single link that you ever generated from the Shortcuts app. This clunkiness is exacerbated by the fact that Shortcuts doesn't offer a 'Previously Shared' section that lists all the public links ever created by your iCloud account. I hope Apple adds a built-in section to see all the public shortcuts you've shared, as well as easier ways to batch delete them, in a future version of Shortcuts.
Despite the non-ideal approach to deleting shared shortcuts, I'm glad Apple has added new sharing controls and improved iCloud sync in the first update to the Shortcuts app since launch. As someone who needs to sync a few hundred shortcuts across three devices (an iPhone and two iPads), a functioning iCloud order sync means I won't lose my sanity carefully rearranging each shortcut manually anymore.
The first notable addition to Shortcuts in version 2.1 is the inclusion of three new Weather actions that let you retrieve current weather conditions, fetch hourly and daily forecasts, and extract details for specific data points such as highs, lows, humidity, precipitation chance, and more. Shortcuts' new Weather actions expose the same data available in the built-in Weather app for iPhone, but they're also available on iPad (which still doesn't have a native Weather app). Apple's Weather actions can be configured with custom parameters and Magic Variables, they're fully integrated with Shortcuts' Content Graph engine, and they're a fascinating example of how a future Shortcuts API could work for all kinds of iOS apps.
Let's start with the 'Get Current Weather' action. As the name suggests, this action returns weather conditions (a new data type in Shortcuts 2.1) for the selected location. By default, the location will be your device's current one (fetched at runtime via GPS) and weather conditions will be returned as a summary ("Cloudy", "Windy", etc.) plus the current high.
To get the current weather for a different location, you can tap on 'Custom Location' and either type in an address or use a variable for, say, a location or street address previously generated by another action. The ability to customize this field should already give you an idea of how you can chain a variety of actions together and end up with weather conditions as a result. For instance, you can select a contact from your address book, get the street address from their contact card, and use that as the location to get current weather conditions for that particular place. Or you can chain photo selection, location, and weather actions together and, in just a handful of taps, look up the weather conditions for the location where a photo was taken. As long as your shortcut produces a Location or Street Address variable, you'll be able to use it in the Custom Location field of Shortcuts' new Weather actions.
As you can imagine, when Shortcuts doesn't have to fire off GPS to retrieve your current location, the shortcut will run without pausing and weather conditions will be returned instantly. The first weather shortcut I've built uses this technique to quickly display a personalized message for current weather conditions: instead of fetching my current location, the shortcut looks up weather information for my street address then brings up a message that, thanks to Magic Variables extracted from weather conditions, tells me exactly what I want to know about the current weather. Because the message is built with the 'Show Result' action, the shortcut can be executed in the app, widget, or Siri, and it runs in a couple of seconds (rather than almost 10) because GPS isn't involved.
Get the current weather for a specific location provided as a street address. The shortcut can be used in the app, widget, or Siri.
As you can see in the shortcut above, the 'weather conditions' item is an object that contains multiple Magic Variables for each data point supported by Apple's Weather system. Using either the Magic Variables picker or the 'Get Details of Weather Conditions' action, it is possible to fetch individual data points such as temperature, conditions, visibility, sunrise/sunset time, air quality, and more. I'm happy that Apple also made it possible to pick between Celsius and Fahrenheit directly from the Magic Variable selection UI.
The second weather shortcut I created uses the 'Get Weather Forecast' action in lieu of 'Get Current Weather' to return a list of forecasts rather than a single weather conditions item. Shortcuts can fetch both daily and hourly forecast for the location specified in the action. In either case, the result of the 'Get Weather Forecast' action will be a list of items that you can iterate upon (with a 'Repeat for Each' flow) or access individually (using the 'Get Item from List' action). If you select hourly forecasts, you'll have 24 different items for each hour of the upcoming day; for daily forecasts, you'll have a collection of forecasts for the next week.
In my case, I started with a shortcut to display the forecast for the current day and my current location. This shortcut uses the device's sensors to read the current location (therefore it requires a few extra seconds to run), which is then passed as the custom parameter of the location field in the 'Get Weather Forecast' action. You may be wondering why I used an extra 'Get Current Location' action if the weather forecast one already includes a built-in current location option. This was necessary to display a custom response containing the street name and city from the current device location. Thanks to Magic Variables, I can extract these bits from the 'Current Location' variable; I wouldn't have been able to do the same had I stuck with the default option provided by the 'Get Weather Forecast' action. Again, this is another example of the flexibility granted by Shortcuts' variable-based automation system.
Speaking of the custom response message that contains the weather forecast, let's take a look at how it was put together:
Because forecasts are returned as an ordered list of items, we need to "get" a specific item to read its weather conditions; in this case, we're dealing with daily forecasts, which means the first day in the list will give us weather conditions for the current day. Shortcuts knows when an item from a list contains weather data: tapping one of the 'Item from List' Magic Variables in the 'Show Result' action will reveal a menu to pick exactly which weather data point we want to display in the message at the end.
By intermixing arbitrary plain text with variables, locations, and weather conditions, the shortcut can produce a personalized sentence with a forecast for the current day; this sentence can be spoken aloud by Siri on iOS, HomePod, and watchOS, and it can be customized with any data point you want, which wouldn't be possible with the Weather app's standard Siri integration. Of course, you can also run this weather shortcut from the app's widget.
Today Weather Forecast
Display a weather forecast for your current location and the current day.
What if you'd like to read a custom weather forecast for one of the next few days though? This is also possible with Shortcuts and the 'Get Weather Forecast' action as long as you calculate the position of a specific day in the list of daily forecasts provided by the app. My third weather shortcut, called Weather Report, presents me with a list of presets for today, tomorrow, the day after tomorrow, plus "this Saturday" and "this Sunday". The underlying idea is that I usually want to know what the weather is going to be like either in the near future or over the upcoming weekend. My custom presets are actually dates typed in natural language in Shortcuts (one of the best hidden features of the app) and stored in a dictionary that, in addition to storing values for date objects also allows me to choose a day from a list.
After picking which day I want to get the forecast for, the shortcut calculates its "distance" relative to the current day3 and uses that number as the index in the 'Get Item from List' action, which, as you can assume, fetches daily forecasts for the upcoming week. For instance, today has an index of "1", tomorrow has "2", and so forth. At the end, Magic Variables are used again to assemble a custom message that can be displayed as an alert in the app or in the widget. Alas, because this shortcut has a list that requires user interaction, it can't be executed entirely within Siri.
Display a list of forecasts for the next few days, provided by the iOS Weather app. You can pass your street address to quickly return forecasts.
Lastly, hourly forecasts. Just like daily forecasts, they're returned as a list of weather conditions, only instead of being split by day, they're split by hour of the day starting from the current hour. In this case, I built a shortcut that creates a collection of times and weather conditions, then displays them in a list sorted by time.
The trick to creating a list containing both times and weather conditions was to iterate over every hourly forecast then use the Repeat Item Magic Variable to extract two specific data points – the time of the forecast being iterated upon, plus its weather conditions – and join them in the same string of text. By default, if a Repeat loop ends with a 'Text' action, Shortcuts automatically creates a collection of multiple text items at the end of the block, which means all we need to do is put a 'Choose from List' action after the 'End Repeat' step to be presented with a list of times and weather forecasts for each hour. Compact, useful, and fully accessible from the Shortcuts widget.
The addition of Weather actions is a major enhancement that I'm glad is part of the first update to the Shortcuts app after its September launch. In the future, I'd like to see Apple take a similar approach with built-in actions for other system apps. Wouldn't it be nice if you could return specific sets of data from Notes, tabs open in Safari, or specific folders in Files? And wouldn't it be great if, rather than limiting users to pre-assembled shortcuts based on Siri suggestions, developers could offer app shortcuts that can be customized with input variables and return rich data sets that Shortcuts can parse? I'm optimistic that we'll get there eventually. For now, these new Weather actions open up some interesting options for personalized shortcuts and they're a perfect fit for the app.
Speaking of Siri suggestions, one of the complaints I frequently heard about the first version of Shortcuts was the lack of built-in actions for the Clock app. If you wanted to toggle an alarm from a custom shortcut (as was common with many "bedtime" shortcuts I saw), you had to first "produce" the Siri suggestion for the alarm by manually setting it in the Clock app. The process was slow, unintuitive, and an obvious candidate for native actions in the Shortcuts app.
Shortcuts 2.1 comes with three new Clock actions: 'Create Alarm', 'Toggle Alarm', and 'Set Timer'. The first two are pretty self-explanatory: you can either create a new alarm in the Clock app (along with a custom label and repeat schedule) or toggle an existing alarm on or off. I don't need to always wake up at the same time each day, therefore these alarm actions aren't really for me, but I like the idea of being able to programmatically create and set alarms based on other conditions such as, for example, the time of your first calendar event the following day. Because my needs are simple enough, I just created a menu-based shortcut that lets me choose from a list of existing alarms based on when I want to wake up the next morning.
I've found a more interesting use case for the 'Set Timer' action, which can start a timer in the Clock app for any specified number of seconds, minutes, hours, and even days. The shortcut I've created to take advantage of this action is called 'Article Burst' and helps me start a focused writing session by setting a timer for 20 minutes, enabling Do Not Disturb for the same amount of time, and starting my 'Writing' timer in the Toggl app with a native Siri shortcut. At the end of my writing session, I just need to remember to stop my timer in the Toggl app if I'm still working.4 I've been using this shortcut to get serious writing done when I find it difficult to concentrate on a single task, and it's been a great help for me – particularly because it can also be activated via Siri.
Focused Work Session
Start a 20-minute focused work session by setting a timer, enabling Do Not Disturb, and starting time tracking with the Toggl iOS app.
Think about all these different system integrations – a timer in the Clock app, scheduled Do Not Disturb, a shortcut for a third-party app – and consider how easy it is to assemble everything in Shortcuts with drag and drop and a handful of actions. Workflow could have never achieved this level of access to the system, and it's one of the reasons I'm excited to see Apple expand Shortcuts with new capabilities everyone can benefit from.
The last two actions that round out Shortcuts' 2.1 update are 'Measurement' and 'Convert Measurement'. The easiest way to think about these actions is that all the unit conversions you can perform in Siri and Search (with the exception of currencies and Wolfram Alpha calculations) can now be performed inside a shortcut as well. Shortcuts 2.1 lets you enter and convert measurements for the following categories:
- Concentration Mass
- Electric Charge
- Electric Current
- Electric Potential Difference
- Electric Resistance
- Fuel Efficiency
To be honest, I don't even know what most of these mean5, but I think it's great that Shortcuts now lets you enter and convert measurements if you know what you're doing.
The basic idea is simple enough: first, you enter a numeric value with the 'Measurement' action, then you chain it to 'Convert Measurement' and turn it into different unit. This has become a recurring joke on the Connected podcast, but I can never convert to and from Fahrenheit and imperial units such as inches and miles (we use the Metric system in Italy, alongside the majority of people on planet Earth). To fix this, I created two shortcuts that let me convert inches/centimeters and Fahrenheit/Celsius by typing numbers from an interactive widget.
Both shortcuts are based on a list that lets me choose the starting unit for a conversion; after the measurement is converted to the second unit, the result is rounded with the 'Round Number' action before being presented in a 'Show Result' message along with other variables.
Convert between centimeters and inches with a menu that lets you pick a starting unit. The shortcuts supports interactions (including entering numbers) in the widget as well.
Convert between Celsius and Fahrenheit with a menu that lets you pick a starting unit. The shortcuts supports interactions (including entering numbers) in the widget as well.
While I could have used PCalc's excellent native shortcuts to perform these conversions before, I prefer built-in actions that are fully integrated with variables and don't have to write data to the system clipboard as a workaround. The omission of currency conversions is a strange one though, and I hope Apple adds support for those soon.
Shortcuts 2.1 is a solid first update to the app that, surprisingly enough, introduces new system integrations in addition to fixing issues introduced at launch last month. It's too early to tell if we should get used to this faster development pace compared to other Apple apps, but initial signs are encouraging, and I hope that the Shortcuts team will be given the time and resources to continue growing their vision. For once, it's refreshing to see an Apple app with an active TestFight beta testing channel and a substantial update on the App Store a month after launch.
As I wrote last month, Shortcuts is a productivity playground unlike anything we've ever had on iOS; I'm optimistic that we've barely seen the first chapter of Shortcuts as an Apple app, with lots more to come over the next few months.
Shortcuts 2.1 is available on the App Store.
- For context, I've only seen Shortcuts' sync conflict resolution tool come up twice in nearly four months of testing the app, and I have hundreds of shortcuts installed across multiple iOS devices. ↩︎
- You can activate iCloud sync and sync order separately in the Settings app under the Shortcuts app section. ↩︎
- Date calculations: never fun, but effective when done right. ↩︎
- This is where I wish for the ability to run scheduled shortcuts at specific times of the day – in this case, I would set a shortcut to delay an action by 20 minutes so that the Toggl timer can be disabled automatically. I hope this feature is on Apple's list to implement next. ↩︎
- I'm sure a certain snowman is happy about these additions though. ↩︎