Tuesday, December 17, 2019

Toolbox Pro

Federico Viticci:

When I covered the updated Shortcuts app in my iOS and iPadOS 13 review earlier this year, I argued how, thanks to parameters, Shortcuts actions provided by third-party apps could become native features of the Shortcuts app.

With his debut app Toolbox Pro, released today on the App Store, developer Alex Hay has taken this idea to its logical conclusion: Toolbox Pro is a new kind of “headless” app – a utility whose sole purpose is to complement and extend Apple’s Shortcuts app with over 50 new actions, providing a native implementation of functionalities that Apple hasn’t brought to Shortcuts yet. After having used Toolbox Pro for the past couple of months, not only is the app a clever idea well suited for Shortcuts’ parameter framework, but it’s also a must-have for anyone who relies on Shortcuts on a daily basis.

It sounds like the equivalent of AppleScript’s Standard Additions.

See also: MusicBot.

1 Comment RSS · Twitter

Standard Additions.osax is a code-injected in-process plug-in (EUWWWW, Evil and Wrong). I believe you mean System Events.app. That’s an example what AppleScripters call “Scriptable Faceless Background Apps”. SE has no GUI, just an Apple event API exposing access to a hodge-podge of system services.

[Sidenote: SFBA architecture was largely obsoleted when macOS 10.10 (belatedly) introduced native AppleScript library support and fully integrated AppleScript-ObjC bridging. Then again, this is AppleScript we’re talking about—where slow/ancient/unreliable/insecure crap endures far beyond where it needed killed by fire.]

Much as I want to applaud Shortcuts as massively overdue fresh air after the stagnant weeds and slow rot of the Sal Soghoian era, it does pain me greatly that a lot of this nuts-n-bolts stuff is really bad reinventing of really basic wheels. (And I cut my teeth on AppleScript so know “really bad”.)

Shortcuts is a programming language that didn’t quite realize it’s a programming language. Hence the great sturm und drang over what should be tuppenny-halfpiece stuff. The right move would be to rebuild the Shortcuts engine as a Lisp-y interpreter[1], where all behaviors are plugins and Text/Voice/Graphical interfaces are just “skins” on top. Much more flexible, much more scalable (down as well as up), and much less prone to “clever” workarounds[2] for artifically-imposed limitations.

Alas, like AppleScript before it, Shortcuts’ high-level strengths are matched by its low-level weaknesses. And, again like AppleScript, I am not optimistic of fundamental improvement—hope I’m wrong, but suspect I’m right.


[1] I actually did some speculative work to this end. Got a nibble of interest from Ari, but nothing since. I’m pretty much done now.

[2] Might seem a good idea at the time but eventually it all turns into a giant ball of mud.

Leave a Comment