"コンテキスト"とは何なのか?
大昔にSaaSやSOA等の(当時の)ITの旬の話題のセミナーを聴きに行って、どうも話がわかりにくいなと思った時がありました。その理由を考えたのですが、どうやら講演者がSaaSにおける"サービス"とSOAにおける"サービス"の意味の違いをわからないで話していたことに気づいて納得がいきました。
一般に、英語では、一般名詞に述語として複数の意味をオーバーロードして使うことが多いので注意が必要です。たとえば、"オブジェクト"、"アーキテクチャー"なども多様な意味で使われるので、その場その場で定義を明確にしておくべきです。たとえば、"アーキテクチャー"というと基本思想的な意味で使う場合と詳細設計という意味で使う場合がありますね。
その点で、今、混乱の元になりそうな言葉として"コンテキスト"(context)(または、"コンテクスト")があります。「文脈」と訳すことが多いと思いますが、無条件に「文脈」と訳すと文芸誌に載っているようなわかったようなわからないような文章になってしまうので、場合によって「背景情報」、「状況」などと訳した方がよいと思います。
IT(および関連するビジネス)の世界でコンテキストというと大きく三つの意味があると思います。(言語理論で出てくる”コンテキスト"もありますが(コンテキスト・フリー・グラマー等)、説明省略します)。
第一は、実行中のプログラムの内部状態(レジスター値等)という意味で、「コンテキスト・スイッチ」における"コンテキスト"です。これは、他の意味と間違える可能性はないと思うのでこれ以上は触れません。
第二は、主にビジネや社会評論で出てくる言葉で、Weblio MBA用語集では、「コミュニケーションの拠り所。コンテクストとは「状況や関係」のことであり、コンテントとは「言葉、数字など耳から聞こえる、目で見える情報」を指す。」と書いてあります。
たとえば、アイドル論で「AKBはハイコンテクストであって、"クラスで2~3番目くらい可愛い子を集めている"等々の前提知識があって初めて楽しめるうんぬん」みたいな使われ方がよくあります。ちなみに、"コンテクスト"という表記と"コンテキスト"という表記は両方使われますが、この意味の場合には"コンテクスト"という表記の方が多い気がします。
第三は、「コンテキスト・アウェア・コンピューティング」というコンピューター・サイエンスの分野に由来する"コンテキスト"で、コンピューターが周囲の環境やユーザーの現在の状況を自動的に把握することを指します。コンテキスト・アウェアの一番シンプルな例は、iPhoneで本体を横にすると画面もそれに合わせて自動的に横になる機能です。電話機が今自分が縦に持たれているか横に持たれているか(コンテキスト)を把握して、それに合わせて処理を最適化しているということです。これがさらに進展すると、たとえば、家に近づくと自動的にエアコンのスイッチを入れてくれるスマートホームとか、ユーザーが寝ていると判断した時は緊急の電話しか受けないスマホのように、ユーザーの状況(コンテキスト)に応じた処理が可能になってくるわけです。この意味の"コンテキスト"と先述の第二の意味の"コンテキスト"を混同すると訳がわからなくなってしまうでしょう。
位置情報(ロケーション・アウェア)との関係ですが、ロケーション・アウェアはコンテキスト・アウェアの一部ととらえる人と、ロケーション・アウェアとコンテキスト・アウェアを並列的なものととらえる人がいるようです。
センサー技術の発展と普及により、この意味での"コンテキスト"はますます重要になってくるでしょう。この意味での"コンテキスト"に関して、最近、"Age of Context: Mobile, Sensors, Data and the Future of Privacy"という本のKindle版を読みました(原書は300円とお手頃です)。"Age of Context"(コンテキストの時代)というタイトルだけ見ると社会文化の共通認識がどうしたこうしたという社会論的な本に思えるかもしれませんが、そういう話では全然なく、モバイルとセンサー系アプリケーションのこれからを書いた本です。正直、わりと誰でも知っているような内容を広く浅く書いた入門的な本ですが、知識の整理やビジネス系の人に一から説明するための話の持って行き方としては参考になりました。