Bear with me here. Apple Shortcuts (free on the App Store) is extraordinary and you shouldn’t sleep on it. In fact, you should use it and explore it as it’s amazing. I would go even further and say it could be a great place to learn to code!
Apple Shortcuts on iPhone is a lot like Microsoft Flow, except for your phone. Shortcuts let you string together Actions (ahem, functions) into multi-step tasks (ahem, functions that call functions). There’s a rich and growing gallery of shortcuts that you can copy into your local (to your phone) library. You can then name them and invoke your Shortcuts with Siri.
Here’s a few links to Shortcuts that (assuming you are reading this from your iPhone) you can add to your library with a click!
Once you have a shortcut you can invoke it as an item/icon on your springboard/home screen, you can have Siri run it with your voice, or invoke it via a “share sheet” that is available in all apps.
It would be reasonable to think this was a simple macro system with a few basic building blocks, but I don’t think Apple’s team gets enough credit. This is a complete development environment on your phone.
It pauses any music that may be playing, turns down your brightness and volume, turns on Do Not Disturb, and sends a message to the contact of your choosing letting them know you’re being pulled over and what your current location is. It then opens your front camera and starts a video recording so you have a video record of being pulled over.
Once you stop the recording it sends a copy of the video to a contact you specify, puts volume and brightness back to where they were, turns off Do Not Disturb, and gives you the option to send to iCloud Drive or Dropbox!
You could then record a Siri shortcut and just say “Hey Siri, I’m being pulled over” and all this happens automatically, hands free.
Take a look at the Laundry Timer app here. It’s a very classic “take input and do a thing” program. You can build and extend workflows like this and the data from one flows through to the next one.
Note the Shortcut above. The “Adjust Date” action pops up a Date and is used as a Diff(erence) against the “Current Date” action, then used again in the Add New Reminder as an input to “Add New Reminder.” These contextual variables flow through and are easily accessible in this genius UI. It really is near-perfect. Try it.
At this point you may be thinking, um, OK, that’s cute, but where’s the learn to code revolution here? It’s not that open-ended of a system, what can I really do?
Like many connected cars, my car has a kind of REST API that its app uses to do things like heat up the climate system. Here I can literally POST (like Curl, but on your iPhone!) to an endpoint and pass in a FORM and parse the resulting JSON. Wow! Drink that in. You can write complex functions with iOS Shortcuts. Really.
How hard would it be to – right now as I make this blog post – write a method to have Siri retrieve my blood sugar and announce it to me when I say “Siri what’s my blood sugar?” Let’s see!
I make a URL object with my REST API that returns my sugar as JSON, it gets passed into Get Contents of URL. That makes a Dictionary from the Input, then gets the value of “sgv” (serum glucose value) and then the result of that is used to make a string with the Text action.
Now I have Siri SAY it. I can “debug” by running the Shortcut with the play button.
Then I can Add it to Siri and record my phrase. Here’s me saying “what’s my blood sugar” and she’s telling me. Yes, I know. I had a cookie. I deserved it.