Web技術を使うということ

私の高校の後輩(と言っても、だいぶ年齢は離れている)に心理学の研究者がいる。ひょんなことから知り合い、主にFacebookで交流を続けている。

あるとき、ブラウザの不具合を訴えていたので、つい「Chromeを使えばいいのに」と書き込んだら、本当にChromeをメインブラウザにするようになってくれ、それ以降、いろいろとアドバイスをしている。実験結果グラフの表示をどのようにすれば良いか悩んでいるようなことを書き込んでいたときには、Google Charts APIを紹介してあげたりもした*1

すべてWebで

その彼が最近、Web技術を研究に使うことの意味をブログで整理していた。この中でWeb技術を使う利点を以下の3つにまとめている。

1.オープンソース

Javascriptのライブラリはおそらくほとんどのものがオープンソースです。そしてChromeやFirefoxなどのwebブラウザも無料です。もし研究に必要な全ての作業をwebアプリケーションでできるなら、全て無料でやっているということになるでしょう。上記で名前を挙げたソフトのうち、オープンソースなのは、R言語、Prezi、Praatくらいで、あとは有償です。これらをオープンソース(つまり無料)のJavascriptライブラリに置き換えられれば研究費の節約になります。

2.学習時間の節約

上記で示したように、研究の各過程で色々なソフトやプログラム言語を学ぶ必要があります。これをJavascriptに統一することで、学習時間をかなり節約できるかもしれません。

3.過程間でのデータ共有

上記の図は、各過程をつなぐ矢印が単に順序を示すだけではなく、情報のやり取りも示しています。各作業で別々のソフトを使う場合、あるソフトでいったんエクスポートしたものを別のソフトでインポートしなければなりません。しかし、Javascriptをベースにすべての作業を行えば、ある過程の出力を次の過程の入力としてすぐに利用できます。

すべてWebで‐研究のためのWebアプリケーション技術‐ - jnobuyukiのブログ

ここで彼が書いていることは、研究職のツールとしてだけのものではなく、多くのソフトウェア開発に通ずるものだ。

普及するWeb技術

昨今、HTML5が普及するにつれ、WebサイトやWebアプリケーション以外でも、さまざまなソフトウェアがHTML5化されている。以前ならば、WindowsアプリケーションとしてC++やC#などで開発されたようなものでも、HTML5が使われる例も出ているし、組込み機器向けの開発でも、HTML5が使われている。

「HTML5化」と言っても、実態はHTML、CSS、JavaScriptという通常のWeb技術だ。たまたま、HTML5によるWebアプリケーション技術がうまい具合に導入のきっかけになったに過ぎない。もちろん、バズワード化したHTML5を使うことによる宣伝効果を期待することもあるだろうが、技術として評価されなければ、ここまで普及することはない。

Web技術を使う意義

それでは、何故、Web技術を使うのだろう。

彼のまとめられたものと重複するが、Web技術を使う意義を整理してみよう。

開発者の視点

まず、Web技術を用いて開発する側から見ると、彼が書いているようにオープン技術であることにより、安価に利用環境を整えることが期待できる。この安価というのは、オープンソースであることによるソフトウェア環境の整備にコストがかからないということと、技術習得にコストがかからないという意味だ。

仕様が公開されているため、その仕様に沿っていれば、どのような製品でも接続や相互運用が可能である。多くの製品やライブラリが対応し、それを利用したい開発者がさらに増える。そのような好循環を生むのがオープン技術であり、Webの世界では多くの場合オープンソースという形でそれが実現されている。

データ共有についても書かれているが、これもオープン技術による利点だ。JSONなどを使うことで異なるサービス間であっても連携が可能だ。もちろん、プロプライエタリな技術であっても、データ交換のための仕様は公開されていることが多い。だが、各製品が異なった交換フォーマットを持っていたり、ある分野でしか普及していない特殊なフォーマットへの変換で頭を悩ませることも多い。Webという共通言語を持つことにより、見方によってはドグマのようではあるが、すべてのWebがつながることが要求されており、このメリットを開発者は享受できる。

利用者の視点

Web技術を使うことの利点を考える上で、利用者側の利点も忘れることはできない。

利用者(彼の例では、実験結果を見る側になる)は、普段使っているブラウザでその結果を見ることができる。特別なツールを用いることなく、すでに使い方を知っているブラウザで操作できることの意味は大きい。

もちろん、Web技術を用いて作ったものを、Webブラウザではなく表示するということも行われている。たとえば、電子書籍の多くは、Web技術を使って制作されるが、利用者は専用ビューワーを用いる。また、彼の実験結果という利用ケースでも最終的には紙に印刷されているのかもしれない。

しかし、個人的にはそのような非Webのツールやフォーマットではなく、できるだけWebの本質を保持したものを最終形態としても使って欲しいと考える。

WebがWebである本質はリンクの概念である。もともと、ティム・バーナーズ=リーがWebを発明した際にも、文書間の効率的な連携をゴールとしていたが、リンクを実現するためにセマンティック性を持たせたことが、単に機械が保持する文書を人が読むというだけでなく、文書内の特定の位置へのリンクやプログラム通信にも使えるものに、Webを発展させた。

リンクとセマンティック性が検索やソーシャルを通じての爆発的な普及につながったことを考えると、Web技術を技術的な利点だけでなく、このWebの本質を理解し享受できる形で利用してみてはどうだろうかと考える。

レポートや論文へのWebの応用

 レポートや論文は未だに紙ベースが多い。紙が究極の汎用フォーマットであることを考えると、これは必然であろう。しかし、リンクとセマンティック性はレポートや論文などでは極めて価値が高い。すでに、オンラインで公開されているものも多く、リンクなども可能だが、セマンティック性を確保し、引用されやすいように工夫する*2ようにもっと踏み込んでみたら面白いだろう。

また、彼がやっているようなグラフも動的なものにすることが可能だ。この場合は汎用ツールであるブラウザでそれを操作できることの意味は大きい。実際、もともとコンピューターと親和性の高い分野ではすでに多く使われつつある。

 

今回、レポートや論文から考えてみたが、このような「すべてWebで」という考えは、突き詰めると、ここで書いた開発者と利用者それぞれの利点を追求するものになっている。

WebがWebであることの本質と大仰に書いてみたが、これは人によって考えは異なるし、時代とともに変化する。Web技術を使い続けながらも、たまには立ち止まって、Webとはなんだろうと考えてみるのも良いだろう。

*1:すでにD3.jsも使っていた

*2:マイクロデータの積極的な活用など