APIとは何ですか?(そして、この強力なツールはどのように機能するのでしょうか?)

APIがソフトウェアシステム間の「目に見えない接続役」として機能し、アプリがすべてを一から作り直すことなくデータや機能を共有できるようにする仕組みをご紹介します。本ブログでは、電源コンセントといった分かりやすい例えや、Google Maps、iMotionsなどの研究プラットフォームといった実例を用いて、APIの仕組みを解説します。そして、APIがいかにして、よりスマートで統合されたリアルタイムのデジタルシステムを実現するのかを明らかにします。

では、APIとは何でしょうか?API(Application Programming Interface)とは、本質的に、あるソフトウェアが他のソフトウェアと通信するためのゲートウェイであり、その通信の方法を定義するものです。これにより、プログラマーは、そのソフトウェアを一から作成することなく、あるソフトウェアに対してコードを記述し、特定の動作を実行させることができます。

例を挙げましょう。スマートフォンのカメラを使うアプリを想像してみてください。そのアプリの開発者は、カメラがスマートフォン上で画像をどのように表示するか、あるいは画像をどのように撮影するかをプログラミングする必要はありませんでした。彼らは、既存のフレームワークにアクセスできるAPIを利用しただけなのです

簡単に言えば、これは電源コンセントのようなものです。つまり、デバイスが既存のインフラにアクセスして利用するための標準化された方法なのです。ヘアドライヤーが動くのにポータブル発電機は必要ありません。コンセントに差し込むだけでいいのです。同じように、開発者は自分のソフトウェアを既存のソフトウェアに「接続」することができます。

APIとは、本質的に、他のソフトウェアにアクセスするための鍵と道しるべを提供するものです。これは、特定のアクションを実行するために必要なプログラミング作業を削減する上で明らかに有益です――毎回一から作り直す必要がなくなるからです――同時に、通信先のソフトウェアを保護する上でも役立ちます。

APIは、あるソフトウェアから別のソフトウェアに対して要求される動作が、あらかじめ定義された動作に限定されるようにするため、悪意のある行為(例えば、パスワードの開示を求めるリクエストなど)が行われるリスクを低減します。

これについては以下で詳しく説明しますが、まずは:

これは人間の行動に関する研究とどう関係しているのでしょうか?

現代の行動研究の大部分は、何らかの形でソフトウェアを活用しています。APIはソフトウェアの機能を強化できるため、その理由と方法を理解することは、行動研究の現場において、使用中のソフトウェアを最大限に活用する機会をもたらします。

例えば、iMotionsは、自動車やシミュレーション機器など、連携機能を持たないデバイスからは自動的にデータを収集しません。ただし、APIを利用することで、それらのデバイスから送信されたデータを受信し、それに応答したり、反応したりすることは可能です。

つまり、例えば、既知の車の速度に対して個人のGSR(皮膚電気反応)がどのように反応するかを測定したり、アイトラッキングを通じてシミュレーターの動きが視覚行動にどのような影響を与えるかを調べたりすることが可能になります。これらはほんの一例に過ぎませんが、可能性は無限大です。

では、APIは実際にはどのように機能するのでしょうか?

APIは、プログラムにとって制御可能かつ安全な方法で、ソフトウェア(またはWeb上のデータ)への扉を開きます。これにより、受信側のソフトウェアにリクエストを送信するコードを入力し、データを取得することが可能になります。

これの具体的な例として、Google Maps APIが挙げられます。ユーザーはまず登録してAPIキーを取得する必要があります。APIキーを取得すれば、ウェブサイトはGoogle Mapsから情報を取得できるようになります。

ユーザーが入力できるリクエストには、あらかじめ定義されたリストがあります。以下のGoogleマップの例では、出発地が左側に表示されており、右側のURLに入力されます。これをWebページ上で(またはWebブラウザに)入力すると、Googleはリクエストを処理し、必要な値を返します。この例では、バンクーバーからサンフランシスコまでの車でのルート案内が返されます。

Google Maps API の簡単な例

以下に、iMotions を使用した別の例を示します。この例では、API を有効化(もちろん無効化も可能です)することができます。これは GUI(グラフィカル・ユーザー・インターフェース)を通じて表示され、ユーザーはどのデバイスが情報を送受信するか、その情報がどこに送信されるか、あるいはどこに保存されるかを選択することができます。

APIとは何ですか? インポート設定の画像

iMotionsのAPIを最大限に活用する

デバイスからデータをデジタル形式で送信できる限り、そのデータは他のデータストリームと共にiMotionsに統合できる可能性が高いです。このAPIはプログラミング言語に依存せず、したがってデバイスにも依存しません。デバイスが(UDPまたはTCP経由で)リクエストを送信できる限り、iMotionsはその情報を受信できます。

ウェビナーをご覧ください:「iMotions API:その概要と、研究効果を最大化するための活用方法」

これにより、これまで別々の環境から得られていたデータが新たな方法で分析できるようになり、人間の行動研究の可能性が飛躍的に広がる。かつては実験室に限定されていた状況を、実環境下で検証できるようになり(その逆も同様である)、新たな研究の可能性が開かれる。

APIとiMotionsを使用することで、さまざまな操作を行うことができます。その一部を以下に示します。

APIの図解例

iMotionsからデータを転送することができるため、データ収集と並行して、リアルタイム分析やカスタマイズされた可視化、その他の処理を行うことが可能です(もちろん、データの送信先によって異なりますが)。

異なるデバイス間のデータを単に同期させるだけでなく、そのデータを利用してiMotions内でイベントをトリガーしたり、データを元のデバイスにフィードバックしたりすることも可能です。

例えば、特定の表情が見られたとき、一定数のGSRピークが検出されたとき、あるいは参加者が特定の方向を見たときに、iMotionsに新しい刺激を提示させるようなコマンドを作成することができます。

iMotionsが実験の次の段階(例えば刺激や指示など)に応答すると同時に、その情報を接続されたデバイス(またはソフトウェア)に継続的にフィードバックします。これにより、デバイス(またはソフトウェア)はiMotionsに対して、どのように応答すべきかを指示し続けることができます。ほんの少しの技術的知識さえあれば、人間の行動研究においてAPIを活用することで、非常に高い柔軟性を容易に実現することができます。

Free 52-page Human Behavior Guide

For Beginners and Intermediates

  • Get accessible and comprehensive walkthrough
  • Valuable human behavior research insight
  • Learn how to take your research to the next level