Episode 9 of Automators is all about Scriptable, a great app released for iOS 12 which allows you to control your device with JavaScript. We were fortunate enough to have the developer of Scriptable, Simon B. Støvring come on the podcast to tell us about the app and some of the things it can do.

I’m going to use this article to give you a quick overview of Scriptable - if I wanted to detail everything you’d probably end up reading a 10,000 word post and this is supposed to be a blog post to accompany a podcast! So, let’s get started.

Scriptable is a framework which lets you control your device by writing scripts - much like Shortcuts it doesn’t do anything itself directly, but instead it enables you to write code which can do anything from check if Slack is down by reading a webpage, to manipulate your contacts, read an API key from your keychain, and even more.
Scriptable includes several example scripts:

  • ASCIIwwdc: This gets the transcript for any WWDC video
  • Countdown to Midnight
  • Import Selected File to Bear
  • Is Slack Down?
  • Latest News on MacStories
  • Reminders Due Today
  • Vue JSON
  • Watchlist: Manages a list of films you'd like to watch, which you share to it from the IMDB app
  • What is shared: A script which shows you how to interpret the sharesheet from various apps on iOS
  • Comic in Siri

Inside the app there’s documentation which tells you what you can do directly with the device, this includes:

  • Alert
  • Calendar
  • Contacts
  • Device
  • Dictation
  • Document Picker
  • Mail
  • Message
  • Photos
  • Reminders
  • Safari

… and much more! All of these are on top of what is regularly available in JavaScript - just like Drafts, Scriptable uses ES6 JavaScript, this is the most recent version and you can find a very comprehensive guide, plus tutorials on the Mozilla Developer site</a

. We also mentioned the CodeAcademy JavaScript course</a

which is good place to start learning JavaScript.

Another app we mentioned during the show was Pythonista which is a powerful scripting app for iOS - as you might guess from the name it’s Python based rather than JavaScript.

Every Scriptable script can be added to Siri right from it’s settings page, this is also where you can add it to Launch Center Pro, copy the URL scheme, say what the script can accept as input, or specify the script should always run in the app - listen to the chapter at 17:59 to find out why you might need to do this!

Towards the end of the show Simon mentioned some of the things he was working on and while he couldn’t make any promises when we recorded, Scriptable has been updated today</a

! The update includes, auto complete, interactive tables, the ability to evaluate JavaScript in a WebView, a new contacts bridge, and more.

Even if you don’t know JavaScript and have no intention of learning it I highly recommend you download the app and try the example scripts - and don’t forget to check out the Scriptable category in the forums</a

for more example scripts too.

Thank you very much to Simon for coming on the show, and thank you to Omni Group - makers of OmniFocus - for sponsoring it!

Episode 9: Scriptable with Simon B. Støvring</a

Chapter List

01:37: Pythonista

02:08: The origin of Scriptable

03:41: Pre-Launch Jitters

08:06: Example Scripts

11:08: System Integration

12:30: Early Feedback on Scriptable

13:36: Scriptable vs Shortcuts

16:22: Rose’s Good Morning with Scriptable

17:51: Launch Center Pro

17:59: Always Run in Scriptable?

20:18: URL Schemes

21:36: Nerds will not be stopped!

22:24: What can Scriptable do?

28: Sponsor: OmniFocus

29:55: Learning JavaScript

33:51: What is JSON?

35:36: Comic in Siri Script

40:26: What’s next for Scriptable?

43:36: Find us