Soghoian is currently working with (as opposed to for) long-time Mac and iOS software developer Omni Group on Omni Automation, a new cross-platform automation technology.
At the recent Apple University Consortium /dev/world conference in Melbourne, Soghoian said this was a good example of how a single developer could change the direction of a platform.
"I'm a firm believer in paddling out to where the wave is going to be, and then surfing the wave," he said.
|
Omni Automation is built on standards including JavaScript, CSS and HTML5, but is "going to change the way iOS can work", he predicted.
A second demo involved the OmniGraffle graphics app, and showed how any object can be turned into a JavaScript. Objects have properties, and properties can be changed programmatically. So a square can be turned into a circle, stoke and fill colours can be changed, or strokes made thicker or narrower.
The same scripts work on iOS and macOS. This is "very powerful, (and) opens the door to a lot of things", said Soghoian.
Scripts are stored as actions, and shared routines as libraries – "this is standard programming stuff".
Actions and libraries are packaged as plug-ins that the developer or user can install.
"Installing this functionality is very easy," he said. "This works the same on iOS and macOS."
Like AppleScript, Omni Automation provides for communication between applications. "That's where the power of automation really kicks in."
This is achieved via the URL mechanism. To send a script to OmniGraffle, for instance, the URL would be:
omnigraffle:///omnijs-run?script=
followed by an encoded (URL-safe) form of the script.
This is less robust than AppleScript, which can address multiple applications from one script, he said, but the call-and-response architecture allows data to be shared between applications in a similar (though more complicated) way to Apple Events.
Omni Automation is "approved and shipping in the Apple (App) Store" as part of OmniGraffle, said Soghoian.
Other demonstrations included the use of a Web form to drive an OmniGraffle document (eg, to select fill and stroke colours), visualising data by colour-coding areas on a geographical map, and extracting images and notes from a Web catalogue.
The project is "only a small step away from incorporating voice" so a program can tell Siri how it can respond. Then "automation becomes the hands of the (voice) technology... that's when people become very powerful" and accessibility is no longer a separate consideration".
iTWire asked whether the Omni Automation frameworks would be made available to other developers. Soghoian said he could not speak for the company, but noted it had released other frameworks in the past. He expects other developers will think "I want some of that."
There is a fairly widespread belief among long-term Mac users that Apple is downplaying automation. Asked whether Omni Automation was a response to that, Soghoian said "They (Apple) rely on automation", both internally and for products such as Apple Configurator for iOS devices. "It's not part of their message right now. (But) automation is a fundamental truth."
Organisations' top priority is security, but after that they want automation in order to gain speed, accuracy, consistency and scalability, he observed. "Automation is bigger than any corporation."
"Nobody want to go back to doing it by hand, or go shopping for a new solution," said Soghoian. "It's hard to stop a good idea whose time has come."