State of macOS automation

I feel like this part of OS has not received fair amount attention both from Apple and App developers in recent years.

I've been into developing actions for Automator for few months and making it work is a pain(sandbox...).

I think it's fair to ask Apple about what is the current state of macOS automation ?


Signs or Automator going away:

  1. Apple eliminated Product Manager of Automation Technologies position
  2. Automator action template still using Objective C with no Swift option. Swift Automation action template available from ex apple employee
  3. Part of fundamentals of developing automator actions are lost and nowhere to be found on apple site(Automator Programming Guide), those include:
    1. AMAccepts identifiers, both standard and Apple defined
    2. Code samples: AutomatorHandsOn DMG, AutoSample DMG,Duplicate Finder Items DMG
    3. Developing custom data types(bundle)
  4. Stardard Xcode Automator UI elements have no documentation(AMPathPopUpButton, AMTokenField)
  5. Some automator classes have no documentation(AMWorkspace)
  6. No Automator sessions at WWDC since position was cancelled
  7. Not all Automator sandbox cases are documented. Standard AMWorkflowController class cannot run workflows in sandboxes environment.
  8. Apps featuring Automator action or scripting friendly are not promoted in AppStore in any way, so there's no easy way to find tools for automation. There are really great apps which have Automator actions bundled and scripting friendly: Panic's Transmit, Pixelmator, OmniOutliner but i believe there's more ?


Anyone with me on this ?

Replies

I have been closely following AppleScript and Apple automation in general since its debut in 1993. Posts like yours have been common ever since, always for reasons similar to those you give. Automation has never been at the top of Apple's list, obviously, but it hasn't gone away yet despite the widespread and longstanding concern that it will. The lack of good, up-to-date documentation is not new, and it is common these days across the board for all Apple technologies. Of course, Apple could dump automation any day now, but history suggests that you should not be overly concerned.

I wouldn't hold my breath waiting for a reply from Apple on here about their current and future plans for automation on the Mac.

There's truth in Your words.

I believe non of those posts received answers 🙂

I just can't get over myself seeing such technology's potential wasted.

Yet it seems i am very few how are thinking this way and leveraging power of automation in macOS.

Even though Automator seems very user friendly, such technology with it's countless possibilities

blows users minds and ends being used mainly by pros.


It seems there's chicken and the egg scenario:

Developers don't develop cause of the reasons above(possibly others),

Apple doesn't update Automator cause it does not receive much interest from developers.


Seems we'll need to put(develop) something on the scales first, to receive Apple's attention...

Honestly, I don't expect to. It would be a miracle 🙂

If they at least read it, or discuss it internally, then this was worth it...

It would be a miracle

I think it’s worthwhile to triage your issues into The Big Picture™ and small scale stuff. I’m not going to wade into the big picture issues because that’s way outside of my area of responsibility. However, I do have a recommendation for the small scale stuff: For things like missing documentation, obsolete sample code, and un-updated Xcode templates, it makes sense to file a bug report for each issue you come across. Many of these are just accidental omissions, and your bug report will help macOS engineering assess the level of interest in this technology.

If you do file any bug reports, please post the numbers, just for the record.

Share and Enjoy

Quinn “The Eskimo!”
Apple Developer Relations, Developer Technical Support, Core OS/Hardware

let myEmail = "eskimo" + "1" + "@apple.com"

After countless responses to my topics i almost considering You as a friend 🙂

Regarding small thing I totally agree. I'll separate issues and post'em shortly.


Thank You Quinn

“I think it's fair to ask Apple about what is the current state of macOS automation?”


As others have said: you can ask, but Apple won’t answer. Certainly not in public. I agree that not communicating with their automation users and developers (especially those of us who understand it better than they do) about its current status and future plans ultimately undermines their ability to deliver customers high-quality software that serves their needs, but that’s standard company policy. Remember, Apple’s a hugely successful consumer product company now, so everything they do is geared to serve that. Their only motive for producing “professional” products is to enable iOS App developers to deliver more consumer software. For B2B, you’re a lot better off with Microsoft.


That said, it’s not hard to make some educated guesses about where Apple is heading. The old Mac Automation team was disbanded because it repeatedly failed to deliver products that created new markets and won new users. So as far as Apple is concerned, that evolutionary path is dead. Yes, I make no bones that this was ultimately human failure, while many of the core ideas and technology are still totally sound and a vast untapped pot of potential gold, but an organization the size of Apple is unlikely to make such fine distinction, for the same reason that all your favorite shows get canceled every time Fox reshuffles its TV executives. Big business managers don’t make their name servicing their predecessor’s works; they do it by eliminating those and replacing them with their own hot new shiny products.


End-user automation now falls under the Siri team’s remit, and with full Marzipan due this year I would be very surprised (and concerned) if Siri Shortcuts is not included in 10.15 as a direct successor and replacement to the old Automator app. I believe the engineer who wrote Automator is now on the Siri team, so I’d hope they’re wise enough to include a shim layer that enables Shortcuts to run Automator Actions as part of its own workflows, allowing macOS Shortcuts users to take advantage of the Automator Actions that do exist today, but again I would hope and expect that this would only be a temporary stopgap until developers port to Shortcuts. Plus a backwards compatibility layer means that the Automator application can be immediately eliminated in 10.15, which is important from a marketing POV as nothing says your new product isn’t ready for use yet (even if true) like having its dead-code-walking predecessor still hanging around.


Siri Shortcuts is far from being a brilliant or complete technology solution, but if it can smash it on the public perception and popular adoption that won’t matter in the slightest: it will still wipe the floor with all its predecessors which, regardless of any technical merit, never built an audience worth a ****.


...


As to other Mac Automation technologies:


* Traditional desktop application automation right now looks pretty boned. It’s unlikely to go away any time soon—it’s already a sunk cost and there are thousands of pro customers who absolutely depend on it, and even Apple’s own products still use Apple event IPC to get stuff done—so no sense pulling the plug as long as they don’t have to. But it’s clear that the AppleScript language is 100% legacy product well into the long tail of its lifecycle now, while Apple’s attempts to create more successful alternatives—Scripting Bridge and JavaScript for Automation—were so poorly implemented and supported they made even AppleScript look good by comparison.


As further indication of their new direction, 10.14 moved the AppleScript and JXA documentation to legacy/retired status, so it’s clear that Apple see no future in those. The SB documentation still remains active, though whether that’s by oversight or intent I can’t tell. If the latter, it suggests Apple envisage Shortcuts developers using SB to control Mac apps via those apps’ existing Apple event APIs, as a quicker cheaper alternative to implementing App Extension APIs from scratch. (In which case they really should’ve kept AppleScript active and show how to call it via the AppleScript-ObjC bridge, which is a far superior solution to struggling with the crapware that is SB.)


* The traditional *nix shell environment is increasingly out of date, partly because newer FOSS releases are often under GPL v3 which Apple does not want to deal with, though probably again primarily because it is not relevant to its consumer business model, and developers who do heavily rely on CLI will tend to install their own tools from current third-party sources like Homebrew or MacPorts. Personally I think Apple should actively deprecate most of their shell tools with a view to removing them entirely in a few years (unused neglected code on macOS just adds cost and risk for no benefit), and bless one of the above package managers for the subset Mac users who do need a full shell.


* Dashboard…yeah. Please just go away already.


* As to NeXTStep-derived Services, these have never received much—or really any—attention. But I can see these merging with Shortcuts.


..


In fact, the real trick to making Shortcuts a popular success on macOS will be going through the *entire* desktop experience, identifying all the current points where end user automation is currently found (e.g. folder actions, Mail rules, Calendar alarms, etc, etc) and replacing that current sprawling mismash of UIs and UXs with a single, standard Shortcuts interface. One of the reasons Automator failed was because it was a standalone app (which almost no-one ever opened), instead of just a humble Cocoa control that App developers could drop into their UIs as a matter of course. There are significant potential wins to be had in simplifying and unifying the macOS experience, making Shortcuts and Siri commands a familiar everyday part of the macOS experience for millions of regular users, not just the subset of gnarly power-users and geeks who traditionally inhabit such spheres and tend to chase the rest away.


And perhaps most importantly, macOS is the natural environment to grow an expert-user community who will feed back into the far larger iOS market and drive Shortcuts adoption there. (Good read here is Bonnie A Nardie’s A Small Matter of Programming, particularly the chapter on collaborative programming which describes how to cultivate bi-directional learning and support between novice users and expert users, and expert users and professional developers, so that each group assists and encourages the others to grow.


...


I’ve a bit more to say on how and where Shortcuts today falls frustratingly short on delivering its full and true potential (and how to solve that), as well as why Apple should write off neither text-based end-user languages nor the core principles and existing (albeit aged and flawed) implementations of Apple event IPC and its user-query powered Apple Event Object Model (a real diamond-in-the-rough). But I think that’ll do for now.

As I mentioned above, I’m going to stay away from the big picture stuff here, but I do want to address one point:

As further indication of their new direction, 10.14 moved the AppleScript and JXA documentation to legacy/retired status, so it’s clear that Apple see no future in those.

You have to be careful about inferring too much from that change. What happened here is that our DevPubs group created a new system for documentation and all of the old documentation is now only available in the archive. Over time Apple will attempt to replace that documentation with new documentation in the new system. Until that happens, however, much of what’s in the archive is still valid.

This affects more than just automation technologies. Much of the documentation for the low-level technologies that I support day-to-day is only available in the archive. For example, yesterday I pointed a developer at the Bonjour Overview document, which is by far the best introduction to Bonjour concepts. The fact that this document is only available in the archive does not imply that Apple sees no future in Bonjour (-:

Share and Enjoy

Quinn “The Eskimo!”
Apple Developer Relations, Developer Technical Support, Core OS/Hardware

let myEmail = "eskimo" + "1" + "@apple.com"

Appreciate the clarification, though I gotta say it sounds like there’s deeper process problems. Sidelining ad-hoc tech notes and crusty old sample codes I can understand, but primary documentation? I trust all the dev teams are having firm words with those responsible, as this is not the right message to be sending about their work. Thanks.

“Seems we'll need to put(develop) something on the scales first, to receive Apple's attention...”


Feel free to drop us a note (github.com/hhas)

eskimo wrote:


You have to be careful about inferring too much from that change. What happened here is that our DevPubs group created a new system for documentation and all of the old documentation is now only available in the archive. Over time Apple will attempt to replace that documentation with new documentation in the new system. Until that happens, however, much of what’s in the archive is still valid.

Developers and users would really appreciate it if Apple did this documentation system upgrade differently than it has been done in the past. Specifically, it would be nice to see the following:

1) Stop deleting documentation. Just because something is old or references an old OS version doesn't mean that it isn't still valid for current systems or for people still using or supporting the older systems.

2) Stop changing URLs. That is almost as bad as outright deletion because it breaks thousands of links across the internet.

3) If you refuse to do #1, and can't do #2, can you at least redirect old URLs to the replacement documents?

4) An index, one that gets updated dynamically.

5) All of the above applied to support.apple.com documents too. As this thread shows, people outside Apple don't share Apple's concept of a clear dichotomy between users and developers.


Does Apple realize how much developers and users rely on things like Google search, the wayback machine, and blatant copyright violations?

Be sure we will.

As we're no longer fighting to overcome sandbox, we decided to distribute it outside AppStore.

It'll take some time as public APIs are not allowing us to achieve what we've envisioned.

We successfully reverse engineered major part of apple's Automator private APIs we need and it

seems it works as intended. We registered enhancement request to make those API's public.

It's all for greater good.

Hope apple won't banish us.

We registered enhancement request to make those API's public.

Thanks. Please post those bug numbers, just for the record.

Share and Enjoy

Quinn “The Eskimo!”
Apple Developer Relations, Developer Technical Support, Core OS/Hardware

let myEmail = "eskimo" + "1" + "@apple.com"

Sure.


Enhancement request is regarding

-[AMWorkflow addVariable:AMVariable]

-[AMWorkflowView editVariable:AMVariable]

AMVariablesRegistry

AMVariable


Bug ID: 47346167