え、なにを今更!?って感じですが。
iPhone(iOS)とAndroidを比較する際、「AndroidはiPhoneと違いインテントがある」ということがよく言われます。この「インテント」とは一言で言ってデータをさまざまなアプリ間で受渡していく仕組みなのですが、うまく使うとシンプルな単機能アプリの組み合わせで複雑な仕事をこなしたり、既存のアプリケーションを簡単なアプリケーションで拡張したりすることができるのです。
たとえば、ブラウザでページを開いている時にメニューから「ページを共有」を選ぶだけで、URL情報を他アプリへ受け渡すことができます。
このとき送り先としてリストに出てくるアプリケーションは、その情報(URL文字列)を受け取ることができる、と登録されたアプリケーション群。つまり写真を「共有」すれば画像データを受け取るアプリケーションがリストに出てきます。なかなかこれが使ってみるとかゆいところに手が届くのです。
で、送り先としてTwitterクライアントを指定すると…
このように見ていたウェブページのURLが発言欄に書き込まれた状態でTwitterクライアントが起動します。ここでちょっと面白いのが、このときTwitterクライアントはあくまでも「ブラウザから呼び出された」というステータスであり、電話の「戻る」ボタンを押すと先ほどブラウズしていたウェブブラウザの画面に「戻って」くるところ。各アプリケーションのパーツが有機的に融合してひとつの系として動いているような感覚です。これほんとよく出来ていると思います。
しかしよく見てみると、Twitterクライアントに渡るのはあくまでも「URL情報の文字列」だけです。発言欄にはURLが書き込まれているだけですよね。これだとちょっと不便は不便。見ていたページのページタイトルも貼れたらなあ…、とか、短縮URLに出来たらなあ…とかちょっとした不満も出てきます。
URLを短縮URLサービスに渡して短くする…というのは、場合によってはTwitterクライアントに機能として搭載されていたりしますが(今回例示しているtwiccaではボタンひとつでできます)、こういう場合、ブラウザかTwitterクライアントを機能アップして対応することを考えるのが普通のパターンかと思います。
が、Androidの「インテント」という仕組みだと、もっと簡単に解決できる。
そう、「インテントで文字列を受け取って、ページタイトルを付加した短縮URL文字列をインテントで渡す」単機能アプリケーションを作ればいいだけなのです。すごいぞインテント。
そういう単機能アプリ欲しいなあ、と思ったら案の定ありました。名前はそのものずばり「URLを短くして共有する」。
インストールすると、ブラウザで「ページを共有」した時の送り先アプリケーションに「URLを短くして共有する」が出てきます。これはブラウザのプラグインなどといった特定のアプリケーションに依存したシステムではなく「文字列」を対象としたOSが提供する汎用の仕組みなので、他のアプリケーションからも同様に使えるのがポイント。
で、URLをこのアプリケーションに渡すと、URLを短縮しページタイトルを追加した文字列を生成した上で
さらにそれを受け取れるアプリケーションをインテントで起動します。
無事Twitterの発言欄へ希望の文字列を貼れました。
インテントのスゴいところは、こういうアプリケーション間のスムースな連携がOSレベルで提供されていること。今回はURL文字列を例にあげましたが、たとえば「撮影した写真をリサイズしてレタッチしてからTwitterへ投稿する」とかも「写真を撮るアプリ」「リサイズするアプリ」「レタッチするアプリ」「Twitterへ投稿するアプリ」を自然に連携させて行うことができるのです。ひとつのアプリケーションにいろいろな機能を詰め込むことなく非常に複雑なアクションを自然にこなすことができる。
正直、一般的なPC初心者にとって「単機能ツールを組み合わせてやりたい仕事を完遂する」というツールボックス的考え方ははっきり言って超わかりにくいと思います。(これは過去コンピュータスクールの講師などを経験した上での実感です)が、一方コンピュータ的なロジックに慣れたデジタルネイティブ世代にとっては超便利で超つかいやすい。よって人によっては好き嫌いがあると思います。もちろん私は大好きです。
しかしほんとあらためてAndroidって面白いOSだなあと思うのでした。