86
iOS と macOS の自動化: 将来はどうなるのでしょうか?

コンピュータの素晴らしい点の一つは、人間なら退屈でたまらないような反復的なタスクをこなせる機械であることです。パワーユーザーはユーティリティやスクリプト言語を活用することで、膨大な作業時間を省き、驚くほどの生産性を実現できます。

しかし、昨年、macOSとiOSの両方で生産性を向上させるツールの将来に疑問を投げかける2つの出来事がありました。長年Automationプロダクトマネージャーを務めてきたサル・ソゴイアン氏がAppleでの職を解かれ、AppleはiOSの主要自動化アプリであるWorkflowを買収しました。

つまり、Appleの左手は自動化ツールをスワイプで消し、右手はそれを取得する、というわけです。ちょっと混乱しますよね?Appleプラットフォームにおける生産性向上技術の未来は不安定ですが、私はその未来が明るいと確信しています。

macOS: 次は何が起こるでしょうか?

AppleScriptは数十年前から存在しており、すぐに消え去るとは考えていません。とはいえ、AppleScriptは明らかにメンテナンスモードに入っているニッチな言語です。これは、他のどのスクリプト言語よりもAppleScriptを使い慣れている私から言わせてもらえば当然のことです。AppleScriptの将来は、JavaScriptやPythonといった他のスクリプト言語、あるいはSwiftをベースにした軽量なスクリプト言語にかかっているのかもしれません。

オートメーター りんご
AppleのAutomator

現在、JavaScriptを使ってMacアプリを制御できますが、この方法には限界があります。Soghoian氏をコンサルタントとして雇用したOmni Groupは、JavaScriptで内部的にスクリプト化可能なアプリをmacOSとiOSの両方で出荷し始めています。これは素晴らしいことですが、Appleが既存のものを超えた、システム全体でアプリを制御する方法を採用してくれることが理想です。それが実現するかどうかは分かりませんが、AppleScriptとAutomator(そして言うまでもなく、ターミナルやAutomatorからアクセスできるUnixシェルのスクリプトサポートも充実しています)のおかげで、macOSにはすでに強力な自動化ツールが備わっています。

これはAppleだけの特権です。生産性向上に役立つ自動化機能を備えたサードパーティ製アプリは、ついつい見落としがちです。TextExpanderはキー入力を驚くほど複雑な出力に変換できます。Hazelはファイルやフォルダを監視し、無数の方法で操作できます。

それから、ここ数年Macで使ってきた中で最も印象的な自動化ツールの一つが、Keyboard Maestroです。名前からするとキーボードショートカットユーティリティのように聞こえますが、それだけではありません。Keyboard Maestroを使えば、ウィンドウの開閉、メニュー項目の選択、アプリのインターフェースの特定の部分をクリックするといった、AppleScriptを使っても難しい、あるいは不可能な操作をすべて自動化できます。

Apple が OS X が登場した最初の 10 年間に構築した既存のインフラストラクチャと、サードパーティ製アプリの継続的な堅牢性により、パワー ユーザーは macOS でタスクを自動化するオプションに限りなく気づくでしょう。

iOS: ワークフローはどこへ向かうのか?

iOSにはシステム全体をカバーする自動化システムがないため、独自の代替手段を組み込んだiOSアプリが数多く存在します。Omni Groupが最近JavaScriptを採用したのに加え、テキストエディタのEditorialと1Writerは、それぞれPythonとJavaScriptスクリプトで実行されるマクロシステムを備えています。iOSにはアプリケーション間通信システムがないため、アプリは互いにエンコードされたURLを送信することで通信を行っています。例えば、JavaScriptスクリプトやその他のデータをomnigraffle:URL経由でOmniGraffleに渡すことができます。

これらすべてを最もうまく統合しているアプリがWorkflowです。Workflowは現在Appleの傘下にあります。Workflowは基本的にはiOS版Automatorですが、多くの点でAutomatorよりも分かりやすく使いやすいと言えるでしょう。Workflowの制限は主にOSの制約によるものです。だからこそ、WorkflowがApple傘下になった今、Workflowの機能がApple以外のアプリに許される範囲を超えて拡張される可能性を少し期待しています。少なくとも今のところは、それは実現していません。

Workflowを使えば、iPhoneやiPad上で、複数のアプリ間での複雑なインタラクションを段階的に構築できます。iOSに組み込まれた共有拡張機能を活用することで、作業中のアプリを離れることなくWorkflowアイテムを実行できます。また、iOS 10で導入されたウィジェット機能により、通知センターのToday画面内でWorkflowアイテムを実行することも可能になりました。

AppleワークフローiOSアイコン りんご

AppleのiOS向けワークフロー

iPadからブログに画像を投稿したい時は、写真アプリで画像を選択し、共有アイコンをタップして「ワークフロー」をタップし、作成したワークフロー項目を実行します。すると、画像のサイズが自動的に調整され、オプションで透かしが追加され、JPEGとして保存され、PanicのTransmitアプリを使ってFTP経由でサーバーにアップロードされ、ブログ投稿に画像を挿入するために必要なHTMLコードがクリップボードにコピーされます。このワークフローを少し時間をかけて構築することで、複雑で複数のステップが必要で、失敗しやすいプロセスが、わずか数タップで完了します。

iOSの自動化は現状かなり良いですが、さらに改善の余地があります。残念ながら、iOSの多くの側面と同様に、改善への最も簡単な方法はAppleが積極的に受け入れることです。AppleがWorkflowを買収してただ廃止するとは到底考えられません。アプリが現在もアップデートされ、ユーザーサポートも継続しているという事実は、Appleが問題ない可能性を示唆しています。iOSのパワーユーザーをサポートするためにAppleが取れる最善策は、Workflowを積極的に受け入れ、その力をプラットフォームの隅々まで広げることでしょう。

しかし、たとえAppleがそうしなくても、サードパーティのアプリ開発者はプラットフォームを可能な限り前進させようとします。Omni GroupによるJavaScript自動化への取り組みは、他のアプリ開発者からも注目されています。URLエンコードされたJavaScriptスクリプトをアプリ間のインタラクションの基盤として活用しようという草の根運動を阻むものは何もありません。しかし、iOSパワーユーザーの時間を節約する最善の方法をAppleが公式に承認し、支援してくれれば、間違いなく役立つでしょう。