2005年にMac OS X 10.4 Tigerがリリースされて以来、MacユーザーはAutomatorというシンプルな組み込みの自動化機能を利用できるようになりました。サードパーティの開発者たちは、AutomatorのパワーとシンプルさをiOSでも再現しようと長年努力してきました。
iOS を創作よりも消費に使うことが多い人は、そもそもなぜ iOS を自動化する必要があるのか疑問に思うかもしれません。iOS は簡単ですが、よく考えてみると、複数のアクションをつなげることで簡単にできる共通のタスクがたくさんあるはずです。たとえば、Dock アイコンを 1 回タップするだけで配偶者に電話をかけられたら便利だと思いませんか。カスタム サービスで URL を短縮して Twitter に投稿したり、赤ちゃんの写真をたくさん撮って、一番最近の写真を祖父母にすぐに送りたいと思いませんか。パーティーで飲み過ぎてしまったら、Uber などのサービスを使って 1 回か 2 回タップするだけで車を呼んで家に送ってもらえたら便利だと思いませんか。これらはすべて iOS で自動化できます。Mac の自動化と同じように、
少し考えるだけで共通のタスクを自動化するアイデアがたくさん思いつくはずです。
iOS自動化におけるサードパーティ開発で最も注目すべきものは、Agile TortoiseのGreg Pierce氏が開発したx-callback-urlです。これは、少々不格好ではあるものの、巧妙な標準規格です。iOS 8の拡張性が導入される前は、x-callback-urlはiOSのサンドボックスの壁を越えてアプリが情報をやり取りし、相互に通信する主な手段でした。
この結果、iOS自動化に関する興味深い実験がいくつか生まれました。Agile Tortoise独自のDraftsアプリを使えば、メモを書き留めて他のアプリやサービスと共有するなど、様々な機能を使うことができます。Launch Center Proを使えば、複数のアプリを1か所から起動したり、一部のアプリで特定のアクションを自動実行したりできます。さらに、Editorialという強力なテキストエディターも存在します。これはPythonプログラミング言語でカスタマイズでき、x-callback-urlを使って他の
アプリからのテキストを処理できます。
これらはどれも楽しく、特定の人々(例えばMacStoriesのFederico Viticci氏のように、iOS自動化の実験について長々と記事を書いている人)にとっては便利ですが、一般のユーザーには難しすぎます。何かを成し遂げるには、独自の構文を学ぶか、iOSの多くの制限を回避しなければなりません。
そうした懸念は、iOS で Automator の強力なシンプルさに最も近い機能である DeskConnect の Workflow (App Store で 2.99 ドル) のおかげで、今では意味をなさなくなっているかもしれません。
Workflowが従来のiOS自動化ツールと異なる点は、従来のプログラミングを必要とせず、視覚的にワークフローを作成できることです。アプリのデザインは明るく親しみやすく、プログラミングの基礎を学習したり教えたりするのに最適です。
Workflowの優れた点は、プログラマーでなくても活用できることです。アプリには便利なワークフローが組み込まれており、ダウンロード可能な他のワークフローのギャラリーも提供されています。また、ユーザーはWeb経由でワークフローを共有することもできます。
では、これらのワークフローで何ができるでしょうか?いくつか例を挙げてみましょう。
- 到着予定時刻を誰かに送信する
- Uberの車を呼んで家まで送ってもらいましょう
- 現在再生中の曲の歌詞を取得する
- 最後に撮った写真をDropboxにアップロードする
- URLを短縮する
- 一連の写真からアニメーションGIFを作成する
ワークフローはアイコンとしてホーム画面に配置できるほか、Safari内でアクション拡張機能として利用することもできます。Safari内でワークフローを使用するには:
- ツールバーの共有ボタンをタップします。
- 一番下のアクション行を右にスクロールし、「その他」をタップします。
- ワークフローの実行スイッチを切り替えます。
Safariからワークフローを呼び出すには、「共有」をタップし、「ワークフローを実行」をタップします。アクション拡張機能として指定したワークフローと、アプリのギャラリーから役立つ可能性のある拡張機能が表示されます。
私にとってWorkflowは、Safariの機能を誰でも拡張できるという点だけでも、導入費用に見合う価値がある。ギャラリーからいくつかダウンロードするだけで、Webページ全体をDropboxに保存したり、WebページをPDFとしてエクスポートしたり、Webページからすべての画像を抽出したり、Webページのソースコードを表示したり、Webサイト内を検索したり、さらにはWayback Machineでページの古いバージョンを表示したりできる。Federico Viticciは、
現在のWebページのタイトルとURLをEvernoteのノートに追加するカスタムワークフローを作成しており、ExtraBITSの候補をまとめる際に重宝している。
ワークフローの作成方法は興味深い。まず、いくつかのサンプルがあらかじめインストールされている Workflow ビューから始める。My Workflows ビューで Create Workflow をタップする。ワークフローにアクションを追加するには、さまざまなカテゴリのアクションを一覧表示する Actions ペインに切り替える。必要なアクションが分かっている場合は、特定のアクションを検索することができる。興味深いアクションが見つかったら、それをタップして説明を表示するか、ワークフローにドラッグする。いつでも Play ボタンをタップしてワークフローを実行し、テストすることができる。Workflow ビューでは、ワークフローを Normal または Action Extension として設定することもできる。前者はスタンドアロンのワークフローとして動作し、後者は他のアプリの Share メニューから呼び出すことができる。
ワークフロープログラミングは完全に直線的で、Automatorと同様に、各アクションは上から下へ順番に実行されます。入力を受け取るアクションは、前のアクションから入力を取得します。また、Automatorと同様に、「変数を設定」アクションを使用して前のアクションの出力を保存し、「変数を取得」アクションを使用してその出力を呼び出すことができます。これは多くのプログラマーが慣れているものとは少し異なりますが、Automatorを使い慣れている人なら、概念を理解するのに苦労することはないはずです。
初期リリースとしては当然のことながら、Workflowにはいくつか未熟な点があります。ギャラリーは閲覧のみで、検索機能が切実に必要です。新しいワークフローを探すのに最適な方法は、Tweetbotで他のワークフローを検索するワークフローですが、これは理想的とは程遠いものです。
もう1つの面倒な点は、たとえホーム画面から起動したとしても、Workflow を起動するたびに、各ワークフローのステップを逐一確認しなければならないことです。他のアプリのように、ワークフローが内部のアクションを隠せれば良いのですが、それは iOS の制約なのでしょう。複雑なワークフローを実際に操作してみるとどうなるかを確認するには、Workflow を使って TidBITS Amazon アフィリエイトリンクを作成する方法を説明したビデオをご覧ください。
上記のようなワークフローの作成を始めたばかりですが、既に一つ困った制限に遭遇しています。多くのプログラミングインターフェースと同様に、Workflow には条件が真かどうかをテストし、それに応じて処理を実行する IF 文が備わっています。ところが残念ながら、この文は文字列しか評価できず、先行するアクションが成功したかどうかは評価できません。Evernote ドキュメントが存在するかどうかを確認し、存在する場合はノートを追加し、存在しない場合はノートを作成するワークフローを作成したいのですが、残念ながら現時点ではそれができません。
しかし、先ほども言ったように、Workflowを使いこなすのにプログラマーである必要はありません。ギャラリーにはすでに便利なワークフローが数多く掲載されており、今後もさらに増えていく予定です。2.99ドルでiOSデバイスに常備しておくと便利なツールです。自動化は誰にでも向いているわけではありませんが、デバイスで頻繁に行う繰り返し作業を考えて、Workflowを試してみることをお勧めします。予想以上に時間を節約できるかもしれませんよ!