Having fun with the Shortcuts app

I switched to iPhone a few years back so that I could share my location more easily with my girlfriend and my mom, but I've never really liked it. For all the claims—and I say this knowing it's true in many cases—of Apple's UX superiority to make interfaces that users "just get", I've found a lot of iPhone UX to be too hidden in the name of elegance and impossible to debug when things go wrong in the name of "magic". That combined with Apple's walled garden approach to product ecosystems has made me a real curmudgeon of an iOS user. However, over Christmas I messed around with the Shortcuts app and I've been so impressed by the power it puts in users hands.

my "stay connected" shortcut

I'm a bad texter, and I've got a lot of contacts in my phone that I no longer need. This shortcut lets me build the habit of remembering to text people by prompting me with a random contact when I press it. I'm given the option to either text them, view their contact entry, or delete them. I can also plug this into an Automation so that if I open my phone in the evening it automatically prompts me, reducing the friction I feel with reaching out to people just a little bit more.

a "can I ride?" shortcut for my stepdad

Here's an automation I made with my stepdad to check the weather every evening and set his alarm if the weather will be suitable for a motorcycle ride the next day. The logic is straightforward, but as will be a theme for the next few shortcuts, the power is in how it lets non-programmers connect applications that normally don't talk to each other.

a cough logger automation

I noticed that there was a "sound recognition" trigger available in the Automations triggers section, and after scrolling through decided that recognizing "coughing" was the most useful sounding one. But what should the phone do when someone coughs? My mom has had a persistent cough for years, befuddling her doctors, and I thought it might be interesting to log those somehow to get more data on how her coughs fluctuate day-to-day.

It proved dead simple thanks to a connection to the iOS Health app, which has a "cough" logging action available to Shortcuts. Here's the shortcut, which obviously requires turning on the Sound Recognition feature that is off by default, and requires a lot of trust towards Apple that I don't have, so this shortcut will remain a proof-of-concept for the time being. But again, this app with this user interface is much closer to something that mom could discover, build, and debug for herself than any script written in a programming language.

a "read me a few pages" shortcut

I've wanted this for so long. I like listening to audio books while I run or commute, but I own a ton of physical books that will never be made into audiobooks for one reason or another. I wish I could scan a few pages of my books, extract the text out of them, and convert them to audio automatically to create little on-the-fly audiobook snippets of my books as I need them.

This shortcut does that with images from your camera roll! It's absurd to me that this takes just 4 (very powerful) little blocks in the Shortcut. What's more is that I just had to extend the already impressive "turn text into audio" example shortcut to accomplish it.

I wish I could improve the audio output by piping it through something like Eleven Labs instead of the default text-to-speech service, but there are enough options for pitch, rate, and voice to make the audio bearable to me for now. And I can't get over how great it is to have a default text-to-speech service on-device.

what's the use?

These examples could each be a little weekend demo project for a new developer, learning how to connect APIs together into a user interface or chron-based automation. Or, I could explain the gist to my stepdad while we sit on the couch, AirDrop him my proof-of-concept Shortcut, and let him have at it. He got stuck at a couple points and messaged me back his work-in-progress shortcut to edit further. This is the first time anyone in my family has made anything resembling software with me.

I think these kinds of things make me remember that one way software tools can be great is if they let users solve their own problems. I don't love the Apple UX mythology, or their magic walled garden, or "no-code programming" tools, but the Shortcuts app let me solve several software problems for myself and my family over the course of a lazy evening, and that's worth celebrating and learning from.