In March 2020, due to the global COVID-19 pandemic, grocery shopping got a lot more complicated. While some stores where I live offered pickup or delivery options for groceries, most people had been getting their food by going to the store in person. Almost overnight, we entered a public health emergency which dramatically changed how people interacted with retail stores and especially with grocery stores. While many retail purchases are optional or could at least be deferred, people need to eat and many of us don’t have huge stockpiles in out pantries to rely on for the long term.
Global supply chains were thrown into disarray as panic buying and dramatic shifts in consumption patterns led to the unavailability of certain staples from time to time (for example, wheat flour). Time slots for grocery pickup or delivery also started to be snapped up as people tried to avoid entering the stores themselves. At times, I was ordering groceries about ten days in advance and interweaving orders from different stores to make sure I could still get my orders completed (at least for the most part—substitutions and “out of stock” items were frequent for certain types of products).
Reminder Management Hell
It was difficult to keep track of what I had ordered and when it would be arriving because I was ordering far in advance and using more than one store for my orders. When I would run out of something, I might need to go update a grocery order if I hadn’t thought to include it in my original shopping list for that order. Some stores eventually imposed restrictions on updates, blocking them up to 48 hours before the pickup or delivery. All of this was causing me additional stress and I started using iOS reminders to keep track of the update cutoff for each order and when the order would actually be delivered. This was pretty error-prone because I had to title each reminder by hand and select the proper reminder times. Completing the wrong reminder a couple of times made me want to fix this system because it wasn’t really solving the problem.
Taking a Shortcut
I had previously played with some ideas for iOS Shortcuts for other uses, but I hadn’t been able to get exactly what I wanted because of limitations in third-party app support for Shortcuts and limitations in Shortcuts itself. In this case, I wanted to do something simple to manage my grocery reminders, so I decided to give Shortcuts another shot. I wanted to select a store name and the time slot and have the shortcut generate reminders for me:
- A reminder titled “Update Grocery Order (Store Name)” with a time three days before the order time slot.
- A reminder titled “Groceries Ready (Store Name) @ NN:NN - MM:MM” (where NN:NN and MM:MM are the start and end times for the time slot) with a time four hours before the time slot.
So if I was going to have a delivery from the fictitious “Grocery Mart” between 4:00PM and 5:00PM on April 7, I’d get two reminders:
- “Update Grocery Order (Grocery Mart)” on April 4 at 4:00PM
- “Groceries Ready (Grocery Mart) @ 4:00 - 5:00” on April 7 at noon.
This shortcut worked well for quite a while. Eventually, as the number of COVID-19 cases in my area dropped and people were more prepared and able to go shopping in person again, delivery and pickup time slots opened up dramatically and some of the advanced preparation I had built in to my shortcut was no longer necessary. Since I could now order the day before a time slot again, sometimes my “Update” reminder would no longer make sense. I updated the shortcut to only create its reminders if they are not in the past. This is the version of the shortcut I’m using today.
What Do I Think About Shortcuts?
I think iOS Shortcuts is a huge positive feature for the platform overall. People who have the interest and the motivation can automate or even replace certain things they do as part of their “workflow” on a regular basis and tweak the behaviour to fit exactly with their own preferences. That’s awesome! The specific implementation of Shortcuts in iOS 13, especially when being used on an iPhone with a relatively small screen size, feels complicated and claustrophobic, though, even for someone who writes code for a living. Some of the areas that I think could use improvement are:
- Documentation: What do each of the components do and how do you choose the right one? How do you access data from the output of one component, transform it into a different type (if necessary), and pass it to another component?
- UI Tweaks: There is a lot on the screen at once, especially on an iPhone. It can sometimes feel like you’ll destroy your work if you touch the wrong part of the screen.
- Examples: Show people more examples of what you can do with Shortcuts without having to dig around in the Gallery.
Some of the tweaks that Apple has made for iOS 14 look interesting and I’m looking forward to trying them out once it’s released. For anyone who has an iOS device, I definitely recommend taking a look at what Shortcuts can do and thinking about whether it can help make something more convenient for you.