スマートフォンは常時携帯しているものなので、ライフログを採取するのに便利です。ライフログというと、電話やメールのログはもちろんのこと、GPS(全地球測位システム)を活かした行動履歴などを記録している人も少なくないでしょう。また、毎日の食事や風景の写真をTwitterやFacebookにアップロードしている人も多いと思います。ビジネス関連では、さまざまな文書、例えば営業の記録などをEvernoteにアップロードしている人もいるでしょう。

 常時携帯しているスマートフォンを使えば、クラウドコンピューティングの形態で提供されているWebサービスを活用して、日々の記録を簡単に収集できます。今回はAndroidアプリでクラウドサービスを利用するときの基礎知識を説明します。

情報収集に便利なEvernote

 資料集めのために、EvernoteにWebページそのものをクリップしたり、後で読もうとWebページのURLをクリップしている人は多いでしょう。URLやテキスト情報だけでなく、画像ファイルや音声/動画ファイルも添付できるので、Android携帯にとてもマッチしたクラウドサービスだといえるでしょう。

 データの作成は、ノートブックに新たにノートを作成していくスタイルです。ノートブックをフォルダ、ノートをファイルに見立てることができるでしょう。データを分類するために、タグを付けてノートを管理できます。タグや作成日、タイトルを用いて、ノートを検索したり並び替えたりすることが可能です。ノートを作成した場所の情報、具体的には緯度や経度も記録できます。

ローカルAPIとクラウドAPI

 Evernoteのサービスを開発者の立場から見てみましょう。多くのWebサービスでは、開発者用にAPI(アプリケーション・プログラミング・インタフェース)が公開されています。Evernoteの場合は、開発者が自作のアプリにEvernoteの機能を組み込むために、ローカルAPIとクラウドAPIの二種類を提供しています。

 ローカルAPIは、パソコンやAndroid端末などのローカル環境にインストールしたEvernoteクライアントを利用するためのAPIです。Evernote for WindowsやEvernote for Mac、Evernote for AndroidなどがEvernoteクライアントです。特に、Evernote for Androidはよくできたアプリだと思います。ローカルAPIは、これらのクライアントアプリの機能を利用します。

 これに対してクラウドAPIは、Webサービスを直接呼び出すAPIです。Evernoteのサービスのすべての機能を利用できます。クラウドAPIを使うと、Evernote for Androidのようなアプリを作ることが可能です。開発言語については、Objective-C、Java、PHP、Ruby、Python、Perl、C#、C++、ActionScriptと幅広く対応しているようです。

 これらのAPI の使い分けについては、Evernote の代表的な機能を使うだけのアプリならローカルAPI、本格的なクライアントアプリを作るならクラウドAPIということになるでしょう。

 Android端末でEvernoteのローカルAPIを使うには、Evernote for Androidが必要です。それでは、無理してアプリを作らなくても、便利なEvernote for Androidをそのまま使えば良いじゃないかと思われるかもしれません。しかし、Evernote for Androidはさまざまなデータを記録、照会できる汎用アプリです。たとえば、毎日のウォーキングの記録をつけるとか食事の記録をつけるといったように、特定の用途に絞って使う場合には、専用のインタフェースを準備した方が便利です。