Update 2020-02-01: It looks like Tesla have deprecated their authentication endpoint so these shortcuts won’t work for new users. I’m working to update the shortcuts to support Tesla’s new authentication flow. Existing users who have already generated token information can continue to use them until their access token expires.
Scriptable popped up on my radar not long after the release of iOS 14 due to its rich support for widgets. Scripts have complete control over the widget’s appearance and can present whatever information you’d like. Scriptable even refreshes widgets in the background so they can be kept up-to-date.
I recently purchased a Tesla Model 3 and have been tinkering with the Tesla API in Shortcuts. (Although this is Tesla’s API, it’s not officially available to third-parties. The Tesla community has been reverse-engineering and documenting it for years). This was also a good opportunity to learn more about Scriptable.
Tesla’s API requires an access token for authentication. One of the shortcutsgenerates this token using your Tesla login credentials, then saves it to iCloud Drive for all shortcuts to reference. Your password is not saved at any point and is only used to create the token with Tesla’s API.
One notable feature of both the shortcuts and scripts is that, where necessary, it automatically converts distance and temperature based on your car’s preferred units of measurement. Tesla’s API uses miles and Celsius, an oddly British combination of metric and imperial, so any conversion is done for kilometers and Fahrenheit automatically.
I plan to spend more time with Scriptable and have set up a GitHub repository for my scripts.
Update 2020-12-20: I’ve updated all of the Tesla shortcuts to resolve an issue where they may try to look for a “Tesla Auth” shortcut. This was the original name for the Tesla Settings shortcut before release. The shortcuts had been updated but, for some reason, Shortcuts would override that.
I’ve since recreated the Tesla Settings shortcut and updated the rest to use this. If you’ve tried using these shortcuts, I recommend deleting them and downloading them again. You won’t need to generate a new access token if you already have one as these shortcuts will use the existing information.
There’s been a lotoftalk recently about the rumor that the next iPhone might ship without a charger in the box:
According to well-connected analyst Ming-chi Kuo, Apple is planning to stop including a power adapter and EarPods in the box with 2020 models, and will even remove the power adapter from the new iPhone SE’s packaging later this year.
To me, the scale of the e-waste problem outweighs the potential frustration that Apple is getting one over on consumers by making them buy a charger separately.
I agree with Bohn here and my opinion is that Apple is driven more by the environmental impact these chargers have than trying to nickel-and-dime their customers (the ludicrously priced $699 Mac Pro wheels kit is a topic for another time). Sure, saving a couple bucks on each iPhone is a nice bonus but this is a company that manufactures $1,000+ phones which sell like hot cakes—no matter what price Apple sells iPhones for, people will buy them.
While the cost of producing and including these power adapters is likely insignificant to Apple, the carbon footprint required and the eventual e-waste they generate is something I suspect they’re taking seriously.
Almost every electronic device that is capable of charging comes with a USB charger that we usually just toss into a drawer, only to dig them out when someone drops by and has forgotten their own. I checked my stash of power adapters earlier today and have no less than a dozen different USB chargers not currently in use, most of which are manufactured by Apple. That isn’t even taking into account the ten or so adapters I dropped off at an e-waste facility last year.
The market for chargers from companies like Anker is massive. You can buy more powerful and versatile power adapters from third-party companies than what Apple provides.
The reaction across the internet has been quite critical of Apple. The thought of not including a power adapter seems to be a particularly hot topic among us nerds (let’s face it, no-one else really cares). I understand why though. I bought a Nintendo 3DS Lite several years ago and vividly remember finding out that a power adapter was not provided once I got it home. Since the 3DS charger was a proprietary connector, I had to go back to the store to pick up a charger.
So how would Apple actually do this? Based on the reaction to the rumor, simply announcing that “no adapter in the box, starting at $799” is going to ruffle some feathers. One possible way Apple could spin handle this is to, well, include a power adapter, but not in the box.
One way I can think of is for Apple to announce that the iPhone 12 comes with a separate USB-C power adapter included in the price. However, customers can opt to skip the power adapter and save $29 (the retail cost of a USB-C adapter). Apple could even make it the default so that every iPhone they sell, it’s “discounted” because the power adapter isn’t provided. Still need a power adapter? Sure, you just pay full price.
Apple could then argue that they aren’t dropping the power adapter for cost reasons since “the cost of the iPhone includes the adapter”, so it becomes less of a cost-cutting measure and more an incentive for customers to help the environment. Win-win, right?
It’s also worth noting that Apple’s iPhone Upgrade Program and most phone recycling services only require the device—power adapters, earphones, and cables are kept by the owners. We’re already accumulating perfectly functional power adapters, do we really need to get them every time we upgrade our phones?
Some of the more interesting features of iOS, iPadOS, macOS, watchOS, and tvOS aren’t shown during the keynote, but they are briefly referenced in summary slides. After the keynote is finished, I like to dig through the information on Apple’s website and developer documentation to see what else of note is coming.
There’s going to be a lot more we’ll find out over the coming days as WWDC continues. For now, here’s a list of some features either not covered or only hinted at during the keynote.
iOS and iPadOS will support system-wide default browser and email apps.
VoiceOver supports text recognition and can detect text within images.
Apple demonstrated smart Widget stacks but iOS 14 will let you create custom stacks using the widgets of your choice.
Translations can be performed completely offline—no internet connection required.
Even more privacy and control over the data shared with apps. You can share an approximate location—not an exact one—when an app asks you for your location. You can also restrict photo sharing so that apps can’t have full access to your photo library, only part of it.
Family Sharing will extend purchased app sharing to subscriptions from participating developers.
Maps will show the location of speed and red-light cameras and warn you along your route.
CarKey will continue to function for up to five hours after an iPhone has run out of battery. This is the same behavior that Express Transit uses on supported phones.
Reminders can be assigned to shared list participants.
Messages supports up to nine pinned conversations.
Weather is getting much more granular information, likely leveraging their acquisition of Dark Sky. There’s a lot more precipitation information, and the app and its widget will display severe weather warnings.
FaceTime video quality on supported devices is increased to 1080p
FaceTime will also detect if a participant of a group call is using sign language and increase the size of their video.
Camera and Photos
QuickTake will be available on iPhone XR, iPhone XS, and iPhone XS Max.
Exposure compensation can be locked for the duration of a camera session but you can continue to set exposure and focus lock for individual photos.
Apple is finally making better use of the volume buttons with the Camera app. Volume Up can be used to take burst photos, Volume Down can be used for QuickTake video.
All devices can now toggle the video resolution settings directly from the Camera app.
Photos can have captions to add some descriptive information.
Apple Watch will support spoken translations on the fly.
Dictation is going to be handled on the watch directly and should result in quicker and more accurate voice recognition.
The Shortcuts app is getting a redesign. iPadOS will see it include the new sidebar that many of Apple’s apps are getting.
Folder support is coming to iOS 14 and iPadOS 14. Finally.
Shortcuts are finally/again on the Apple Watch. Before it was acquired and relaunched as Shortcuts, Workflow had a pretty great Apple Watch app and complication. Good to see this return.
For anyone wanting to escape the misery machine of Facebook and permanently delete their Instagram account, I’ve created a couple of shortcuts so you can migrate your photos to either a Micro.blog-hosted site or a site that runs on WordPress.
Both shortcuts use a copy of your Instagram archive to upload photos and create the appropriate posts. The date for each post is set to the original upload date. The post itself includes the original caption and, if available, location name. You can choose whether to remove hashtags or keep them in the post. The WordPress shortcut has an additional option to convert hashtags to regular tags instead.
I’ve added some safeguards to both shortcuts to prevent a migration from going awry and to give those with lots of photos the option to migrate incrementally rather than all at once.
The shortcuts can be stopped and resumed without losing progress or duplicating what’s already been uploaded—especially useful if Shortcuts crashes for any reason. This is done by creating temporary files for each post and then deleting the file when the post has been created.
It’s also possible to incrementally migrate photos so you don’t have to commit to doing them all at once. Both shortcuts migrate photos in batches, such as five photos at a time. You can specify how many photos to migrate per batch. When a batch is done, the shortcut needs to be run again to continue with a new batch.
Although I’ve tested both of these shortcuts with Micro.blog-hosted and WordPress-powered sites, I encourage anyone using them to start with some small batches first to make sure everything looks ok. Instagram captions can contain @mentions and hashtags anywhere so the lack of consistent formatting means everyone can write captions differently. If you’ve done anything special with how you’ve written them, you may need to make some adjustments.
Shortcuts has gained plenty of features and functionality over the years, especially after Apple’s acquisition of Workflow, but how shortcuts are created and organized has remained almost unchanged since the app first launched back in 2015.
As a result, creating shortcuts like Mocktail is a painstaking and frustrating process. The app simply hasn’t scaled with the increasingly complex uses for shortcuts and the interface is still skewed towards simple shortcuts made up of only a few actions.
After spending what felt like an eternity updating Mocktail, I’ve come up with a wishlist of ten improvements I’d love to see in Shortcuts.
Shortcuts desperately needs a way to copy and paste actions across shortcuts—it’s almost criminal that it doesn’t have it already. There’s simply no way to reuse a set of actions from one shortcut in another or even just duplicate actions within the composer.
As I rewrote parts of Mocktail, I made use of a separate iPad to view a set of actions I had created in another shortcut, then manually add them to the shortcut I was working on.
Backup and versioning
There’s no way to easily back up shortcuts, which feels like a regression and something that was possible with Workflow (i.e., saving workflows as files). iCloud syncing helps keep devices in sync but it’s not a backup tool. I often duplicate shortcuts at various stages of development (Mocktail 1, Mocktail 2, Mocktail 3, etc.), all of which clutter the app.
One workaround is to create a shortcut that contains the Get My Shortcuts and the Get Link to File actions to create an iCloud link for every shortcut. This is time consuming as a new iCloud link is generated every time it’s run and the more shortcuts you have, the longer it takes.
A feature I’d really like to see is a macOS Time Machine approach to backups that supports versioning. I’ve lost count of how many times I’ve started to make changes to a shortcut, only to realize I want to revert some of my changes. I can’t do that and, unless I’ve duplicated the shortcut at a specific point in time, it’s too late. Being able to create a snapshot of a shortcut—or more easily back it up without the need to create an iCloud link—is something that’s sorely needed.
Share shortcuts as files
As I mentioned above, Workflow previously supported sharing workflows as files. I used this extensively and it made hosting my workflows on GitHub possible—I didn’t have to rely on web links to share them. This also made it easy to back up workflows. At one time, I had a very simple workflow that would create a timestamped folder of all my workflows on iCloud Drive.
Shortcuts, however, cannot be shared as files and the only option is to create iCloud links. I understand the security concerns here and, honestly, I don’t see this feature ever returning. Nonetheless, it still something I wish it supported… again.
Revamped organization of shortcuts
Despite Shortcuts and Workflow improving significantly over the years, the way shortcuts are organized has barely changed. The most notable improvements I can think of were the addition of search and the ability to tap the Shortcuts button to jump to either the top or bottom of the list.
No way of grouping or organizing shortcuts is a significant user experience problem, one that gets worse the longer you use the app. Many of us seasoned Shortcuts users can easily have over 100 shortcuts, especially if you’re duplicating because there’s no versioning or backup support. Some form of navigable grouping, whether through folders or tags, for example, would improve things significantly.
Shortcuts technically supports this in some fashion as a shortcut can run another shortcut within itself by using the Run Shortcut action. But to do this, another shortcut has to exist. This is problematic for two reasons:
You can’t share just the main shortcut, you have to also share any other shortcuts it references or else it won’t work.
It’s not something that scales well. The more shortcuts you create like this, the more cluttered Shortcuts becomes (there’s a theme about organization developing here).
I have a few shortcuts for image manipulation and each one runs additional shortcuts to resize and optimize the images (using TinyPNG) passed to it. I’d much rather have a subroutine for optimizing images with TinyPNG than a normal shortcut that isn’t used independently.
Subroutines could be mini-shortcuts that don’t exist within the standard set of shortcuts, instead they could be accessed like actions. Sharing a shortcut should also include a full copy of the subroutine. This type of reuse would, I think, be highly useful.
There are times during shortcut development that I’d like to stop or pause a shortcut at a particular place. I currently do this with the Show Alert action but would prefer an option to do this without having to tap cancel.
Beyond this, having the ability to pause a shortcut, see what the input and output of the previous action, and even changing subsequent actions before resuming would rapidly speed up my work.
Sometimes I just need a shortcut for a one-off task or I want to try something out. This slowly results in a litter of untitled shortcuts that are either empty or were needed only once. Although Shortcuts does provide an option to either save or delete shortcuts that haven’t yet been named, I wish there was a sandbox for these quick one-off needs instead of creating a new shortcut first. Once I’m finished, I could then choose to save the shortcut or just clear the sandbox.
Improved dictionary support
Dictionary support is pretty good in Shortcuts but it’s hindered by limited functionality and a lack of flexibility. I’d like to see things like:
a collapsible tree view for nested dictionaries.
the ability to copy and paste keys and values.
an option to populate or load a dictionary from a JSON file.
Exit to home screen
The Exit Shortcut action is limited to stopping the current shortcut and then dismissing it. This is fine but sometimes I run a shortcut and would prefer an option to exit the app entirely and return to the Home screen.
Don’t show in Widget by default
Oh boy, do I hate this behavior. I’ve stopped using the Widget entirely because it’s full of duplicate shortcuts. Perhaps this wouldn’t be so bad if there was a better way to back up and version shortcuts?
One of my favorite features of Workflow was its ability to share workflows as files. It was this functionality that made it possible for me to start Workflow Directory and create my own GitHub repository of workflows. Unfortunately, Shortcuts doesn’t support this functionality and I suspect it never will again.
Although it’s possible to jump through some hoops to import workflow or shortcut files, lack of file support makes it impossible to maintain my GitHub repository. Instead, I’ve started the long overdue process of creating iCloud links to my shortcuts and publishing them here instead.
All of my shortcuts are being made available on my site and can be found at a dedicated Shortcuts page. Although I’ve written about some of them in more detail, there are plenty of shortcuts I’ve never blogged about. I will publish any shortcuts I think are useful and continue to write about some of them in more detail.
I’m also using this opportunity to clean up my shortcuts, fix any broken ones, and remove any that are no longer functional. I’ve already gone through my blog posts to update them all with iCloud links and have identified a few that rely on APIs or functionality that’s no longer available (e.g., all my IFTTT-based workflows can’t be used anymore).
I’ve been having some troublesome sync issues with Shortcuts since upgrading to iOS 13. None of my devices would stay in sync and shortcuts I’d delete would reappear moments later. In some cases, shortcuts would even be duplicated.
A helpful tip on the Shortcuts subreddit has provided a simple solution for my syncing woes: delete the app and reinstall it. I did this on each of my devices and now shortcuts sync perfectly.
My iPhone photography workflow includes sharing some of the photos I’ve taken to Instagram. I usually include relevant hashtags to increase discoverability and have a collection of frequently used hashtag sets—different hashtags for the same topic—that I can choose from. I also include a five-dot prefix (each dot on a separate line) to separate the photo’s caption text and hashtags. This is a commonly used method for hiding hashtags “below the fold” so they’re only visible when tapping the more button.
I’ve used a few different methods for managing my hashtag collection and wanted to share my experiences with each.
iOS text replacement
iOS has built-in text substitution that can be used to replace a shortcut with a longer piece of text. For example, a shortcut of ,,iphone could be replaced with #shotoniphone #iphonexs #iphonephotography.
Text replacement is a good option if you occasionally use hashtag sets. You can easily add them to an Instagram caption without leaving the app. It’s basic organization and need for you to remember what shortcuts you’ve created isn’t well suited for more frequent users or those with a larger collection.
Copied is a clipboard manager app for iOS and was the first standalone app I used for managing hashtag sets. Each set can be saved a separate clipping and accessed directly from Instagram using Copied’s custom keyboard.
Clippings can be organized into lists and the custom keyboard also includes a built-in search, both of which make Copied useful if you have a lot of hashtag sets.
The popular iOS photo editor has built-in support for hashtag set management. Darkroom makes it easy to manage and create new hashtag sets and provides some useful ways of accessing them.
Hashtag sets can be selected and copied to the clipboard—along with an optional five-dot prefix—as part of the photo export flow so that you can switch to Instagram and simply paste the hashtags in. You can also use Darkroom’s Today View widget to select and copy hashtag sets to the clipboard.
The app also supports Siri shortcuts for quick access to hashtag sets. You can select which hashtag sets to include and then record a phrase to use with Siri. Once invoked, the hashtag sets are copied to the clipboard.
My preferred method for managing hashtag sets nowadays is, unsurprisingly, with a shortcut. I created Instagram Hashtag Sets to manage my hashtag collection and use them whenever I post a photo to Instagram. The shortcut is more flexible than other methods I’ve tried and also includes some additional functionality.
It can be run as a normal shortcut or from the Share Sheet, the Shortcuts Widget, the Home screen, or as a Siri Shortcut. I primarily use the Share Sheet by selecting the caption text I’ve specified and tapping Share; the shortcut includes the caption text when it copies hashtags to the clipboard to make it easier to simply paste it over the existing text.
The shortcut contains a dictionary of my hashtag sets, each of which is an array of hashtags. When run, it displays a list of these hashtag sets for you to select from. All of the chosen hashtags are copied to the clipboard, after which it switches back to Instagram and displays a notification. The shortcut also includes support for a five-dot prefix and includes this if the option is enabled.
Instagram limits the number of hashtags per photo to 30. The shortcut counts how many hashtags have been included across all hashtag sets and allows you to deselect individual hashtags if there are more than 30. The shortcut also repeats the check until there are 30 or fewer hashtags.
Shortcuts no longer supports shortcut file imports. Any links to shortcuts in this post have been updated to use iCloud links.