新たに登場したiOSアプリ『Workflow』は、自分のやりたいことをしてくれるマイクロアプリを作成できます。これを使えば、家へ帰る道順を知る、最寄りのピザ店を探す、今聴いている曲の歌詞を検索するなど、さまざまなタスクを一瞬で処理できます。何よりとても簡単に使えるのがWorkflowの良いところ。では、このアプリの仕組みと、自分専用のワークフローを作る方法を早速紹介しましょう。
Workflowは、多くの点でMac用のベストアプリの1つ、『Automator』に似ています。Workflowを使えば、iOS上でAutomatorに最も近い機能を実現できますし、しかもジェイルブレイクの必要がないのもうれしいところです。
『Workflow』でできること

名前からもわかるように、このアプリは「ワークフロー」を作成することでタスクを実行します。作成するワークフローは「アクション」と呼ばれる一連の指示から構成されていて、それぞれのアクションはiOSのネイティブアプリに対して特定の動作をするよう命令します。
こうしたWorkflow内のアクションとしては、「カレンダー」からイベントを取得する、ウェブページからデータを抽出する、クリップボード上のコンテンツを持って来る...といったものがあります。
さらにはユーザーに入力を要求し、それに従ってアウトプットを変更するといった操作もできます。Workflowは「Content Graph」という仕組みを用いて、これらのアクションを結びつけます。これによって、「マップ」を「iTunes」に、あるいは「カレンダー」を「Twitter」に、というように、これまでは別個に機能していたアプリを連携させられるわけです。
簡単に言うと、ちょっとした操作で、自分専用の小さなアプリや機能拡張を作れるというのが、Workflowのウリです。こう書くとすごく難しそうですが、ほとんどの設定はドラッグ&ドロップでできるので、誰でも簡単にワークフローが作れるよう工夫されています。
とはいえ、何もわからないまま見よう見まねで操作するのも大変なので、アプリを起動したら、まずは[Gallery]ボタンをタップしてみて下さい。ここには既成のワークフローが並んでいるので、このアプリの仕組みを知るのにうってつけです。気になるワークフローをタップし、さらに[GET WORKFLOW]ボタンをタップしてダウンロードして、それぞれのワークフロー内にどのようなアクションが並んでいるかを見てみましょう。アクションは変更可能ですが、中の仕組みをのぞいて、これらのワークフローが動く仕組みを把握するだけでも十分です。こうしてこのアプリの基本を理解したら、次は自分用のワークフロー作りに着手しましょう。
アクションが機能する仕組み

それぞれのワークフローの基礎になるのがアクションです。個々のアクションを結び合わせてワークフローを作っていきます。アクションの例としては、「このあと予定されている『カレンダー』のイベントを取得する」「電話番号を選ぶ」「『マップ』で開く」「ネットワーク名を取得する」といったものがあります。こうしたワークフローに組み込み可能なアクションとして、150種類近くが用意されています。新たにワークフローを作る時は、そこに入れるアクションを選ぶ必要があります。これらのアクションは、以下のような10のカテゴリーに分かれています。
- Calendar(カレンダー)
- Contacts(連絡先)
- Documents(ドキュメント)
- Maps(マップ)
- Music(ミュージック)
- Photos & Video(写真とビデオ)
- Scripting(スクリプト)
- Sharing(共有)
- Text(テキスト)
- Web(ウェブ)
このほかに「Suggested(おすすめ)」カテゴリーもあって、こちらはこれまでに選ばれたアクションに基づいて、次に必要と思われる項目を推薦してくれます。
OS XのAutomatorや『If This Then That』など、他の自動化ソフトを使い慣れている人なら、このアクションの概念はすぐに理解できるでしょう。まずはワークフローで最初に必要なアクション、(例えば、今日の日付を把握する)を選びます。これに続けて、必要なアクションを足していけばいいのです。これはシンプルで小さなプログラムを組み立てていく方法と似ていると言えるかもしれません。今日の日付が重要な意味を持つなら、次に来るのは日付に関連した事柄でしょう。こうした簡単な仕組みでできているのです。
ワークフローの実行方法

ワークフローを実行するには、3つの方法があります。ホーム画面にアイコンを置く、Workflowのアプリ内で実行する、あるいは「共有」機能拡張を用いる、のどれかです。ホーム画面のアイコンから起動する場合は、該当のアイコンをタップするだけでワークフローが起動します。アプリ内での実行も同様です。
「共有」機能拡張を使う場合は、どのタイプの共有シートに表示させるかを設定できます。選択肢は以下の通りです。
- Contacts(連絡先)
- Dates(日付)
- Email Addresses(メールアドレス)
- Files(ファイル)
- Images(画像)
- Locations(位置情報)
- Maps links(マップのリンク)
- Media(メディア)
- PDFs(PDF)
- Phone numbers(電話番号)
- Rich text(リッチテキスト)
- Text(テキスト)
- URLs(URL)
この場合、作成したワークフローがほかのアプリで共有項目として表示されます。また、ワークフローが表示されるシートを指定することもできます。例えば、リンク共有のワークフローはURLを共有する時だけに表示し、電話番号を共有する時には表示させない、といったことも可能です。これで見た目もすっきりしますし、「共有」機能拡張がごちゃごちゃになることを防げます。
自分のワークフローを作ってみよう

ワークフローの仕組みを理解するには、自分でいくつか作ってみるのが一番です。それでは、違ったタイプのアクションを用いたアプリを実際に作り、ワークフローの全体像をつかんでみましょう。基本的なプロセスはごくシンプルです。
- [My Workflows]タブにある[Create Workflow]ボタンをタップする
- [Actions]タブをタップする
- ワークフローに組み入れたいアクションを選び、タップしたままの状態でワークフローにドラッグする
- 追加したいアクションに関して同じ操作を繰り返す
- 再生ボタンを押してできあがったワークフローをテストする
- 設定アイコンをタップしてワークフローを保存する
- ワークフローに名前をつけ、アイコンを選び、[Normal]にするか[Action Extension](ほかのアプリの共有シートから実行可能なタイプ)にするかを選ぶ
もちろん、作っているワークフローの種類によって多少の違いはありますが、要点はこんなところです。では作成に取りかかりましょう。
PDF形式で保存する

まずは簡単な、「PDF形式で保存する」オプションをiOSに組み込むワークフロー作りから始めましょう。これはURL、テキスト、画像など、表示されている物をPDFファイル化し、好きな場所に保存できるワークフローです。
- 新規ワークフローを作成する
- 設定アイコンをタップし、ワークフローに「Save to PDF」(PDF形式で保存)と名付ける
- 好きなアイコンと色を選び、[Done]ボタンをタップ
- 画面下から[Actions]タブを選ぶ
- [PDF]で検索し、[Make PDF]アクションを選ぶ
- [Make PDF]アクションをタップしたまま、作成中のワークフローにドラッグする
- [Actions]タブに戻り、「Quick Look」(作成したPDFファイルを開き、保存するアクション)を検索し、ワークフローにドラッグ&ドロップで追加する
- [Done]をタップしてワークフローを保存する
あとはできあがったワークフローを試すだけです。『Safari』に切り替え、メニューの共有ボタンをタップし、「Run Workflow」を選びます。さっき作成したばかりの「Print to PDF」オプションを選んで実行しましょう。これで今見ているウェブページがPDFファイルに変換されるはずです。さらに共有ボタンをタップすれば、好きな場所に保存できます。
再生中の曲の歌詞を検索する

楽曲の歌詞が気になるタイプの人なら、音楽アプリで再生中の曲の歌詞を調べることも多いでしょうね。Workflowを使えば、この操作もとても簡単にできます。
- 「Lyrics Search」(歌詞検索)という名前の新規ワークフローを作成する
- [Get Current Song]アクションを組み入れる
- さらに[Text]アクションを追加する
- [Text]ボックスで、[Input]というオプションを選び[lyrics](歌詞)とタイプする
- [URL]アクションを追加し、URLとして
http://www.google.com/search?q=
を入力する。さらにキーボードの上部から[Input]オプションを追加してhttp://www.google.com/search?q=(input)
とする - [Open URL]アクションを追加する
では曲を再生して、このワークフローを試してみましょう。曲のタイトルをキーワードに歌詞を見つけてくれるはずです。
1タップで宅配ピザをオーダー

とにかく今すぐピザが食べたくてたまらなくなった時も、Workflowは手っ取り早く宅配ピザをオーダーするのに役立ちます。
- 「Pizza」(ピザ)という名前の新規ワークフローを作成する
- [Search Local Business]アクションを組み入れ、「Pizza」とタイプする
- [Choose from List]アクションを追加する
- [Call]アクションを追加する
では、再生ボタンを押してワークフローを試してみましょう。近所のピザ屋が表示されるはずです。あとはあなたがオーダーしたい店を選べば、そこに電話をかけてくれます。このワークフローはアレンジ可能で、コーヒーショップやガソリンスタンドなど、ほかの店舗の検索もできますし、[Call]を[Get Directions]アクションに差し替えれば、電話をかけるかわりに、最寄りの店への道順が表示されます。
画像を圧縮して共有する

iOSで撮影された画像は、デフォルトだととてもサイズが大きいのですが、Workflowを使えば簡単にサイズダウンして共有しやすくできます。このワークフローの設定はとても簡単です。
- 「Shrink」(圧縮)という名前の新規ワークフローを作成する
- [Select Photos]アクションを組み入れる
- [Resize Image]アクションを追加し、圧縮後のサイズを選択する。可能な限りサイズを小さくしたいなら、[640 × 480]を選ぶ
- [Quick Look]アクションを追加する
これで終わりです。あとはタップ1回で、写真のライブラリを表示させ、画像を選び、サイズを変更できます。さらにはオプションで、好きな場所で縮小後の画像を共有する機能も追加できます。
今見ているページがあるサイト内の検索

ところでLifehackerを見ていて、このサイト内にあるほかの記事を検索したくなったことはありませんか? デスクトップならGoogleのサイト内検索ですぐに解決するのですが、モバイルで同じことをしようとすると、なかなか面倒です。というわけで、今見ているページのサイト内を検索するワークフローを以下の要領で作成してみましょう:
- 「Site Specific Search」という名前の新規ワークフローを作成する
- [Get URLs from Input]アクションを組み入れる
- [Get Component of URL]アクションを追加し、[Component]の項目で[Host]を選ぶ(これでURLのホストネーム部分だけが取得され、それ以外の部分は無視される)
- [Set Variable]アクションを追加し[Variable]欄に[Host]とタイプする(これで変数にURLが追加される)
- [Ask for Input]アクションを追加する。[Prompt]欄に「Search?」とタイプし、その下の[Input Type]は[Text]を選択する
- [Replace Text]アクションを追加する。[Find Text]の欄は空白にし、[Replace With]には「+」とタイプする
- [Set Variable]アクションを追加し[Search]とタイプする
- [Text]アクションを追加し、
http://www.google.com/search=?q=site:
とタイプする。さらに[Variable...]オプションをタップして[host]を選び、「+」とタイプする。次に[Variable...]オプションをタップして[Search]を選択する。コード部分はhttp://www.google.com/search?q=(host)+(search)
となる - [Open URL]アクションを追加する
では、Safariに切り替えて試してみましょう。今見ているサイトからURLを取得し、ポップアップウィンドウで検索語を入力するよう促し、この言葉を使ってサイト内を検索してくれるはずです。
もちろん、これはほんのはじまりにすぎません。Workflowの魅力は、無限にも思われるその可能性です。基礎を覚えれば、あなたも予想もしなかったようなありとあらゆるタスクをこなすミニアプリを作成できるでしょう。
Thorin Klosowski(原文/訳:長谷 睦/ガリレオ)
Photos by Artit Fongung and Piotr Sikora.