How to power-up your iOS Shortcuts using Data Jar

Data Jar is a simple and elegant application that does one simple job and it does it very well: storing data.

Currently the app is free and you can tip the developer, which I recommend you to do so, it’s much cheaper than all the subscriptions we see today.

It can be used together with the iOS Shortcuts to store data between calls to your shortcuts, achieving the same as the Toolbox Pro global variables.

Examples on what I have used Data Jar for:

  • To determine the last time a shortcut ran or if it already ran today
  • To store clipboard data and retrieve or edit it later
  • To store Scriptable or Pyto scripts instead of copying and pasting inside the Shortcuts actions everywhere they are used
  • To store my current location, my work location and my home location. I use these to customise my Shortcuts notifications
  • To store the last time I (un)plugged my phone to the charger
  • To store the bluetooth id of some of my devices, together with Toolbox Pro I can determine which device is connected and change the flow of what my shortcut does
  • To store health data that I log using Shortcuts because some iOS Health data logging is still buggy and incomplete
  • Etc.

Data Types

The current version of the app allows for a great variety of data types, they are:

  • Text
  • Number
  • Boolean
  • File
  • List
  • Dictionary

In the set value action below all you have to do is set a path and a value (see the in-app help for details on how to do it).

Data Jar Set Value action on iOS 15 beta (there are many other actions)

Conclusion

Data Jar removes many of the hassles that Shortcuts might have if you do not have experience dealing with files to store, retrieve and update data.

Before Data Jar I was using a combination of the Toolbox Pro global variables and text/CSV files in iCloud using the standard Shortcuts actions.

In iOS 15 (currently in beta) the Shortcuts app has been updated to run faster and I expect that Data Jar will also be receiving an update because of some timeout issues when writing long streams of data. (I had this issue while trying to write a list of 1.000 dictionaries so probably not for the average usage).

Keep coding!

1 Comment

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.