ViolaWWW は1990年代初期に開発されたWebブラウザであり、Mosaic が登場するまでは最も人気のあるブラウザであった(ただし、当時の World Wide Web 利用者は限られている)。

## 歴史

Gillies と Cailliau の著書 How the Web was Bornでは、ViolaWWW の開発の経緯が詳しく描かれている。ViolaWWW を考案したのは、当時カリフォルニア大学バークレー校の学生だった魏培源 である。(以下、ページ数の付記された記述は同書に基づく)

彼は、1989年に HyperCard と出会い、グラフィカルなソフトウェアに興味を持つようになった。しかし、彼は Macintosh を持っておらず、HyperCard は Macintosh でしか動作しなかった(p.213)。アクセスできるものとしてはX端末しかなかったため、そこで動作する Viola の最初バージョンを開発した(1990年)。これは、HyperCard のマニュアルを参考にして、そのコンセプトを X Window System 上に実装したものであった(p.213)。

1991年、Viola 0.8 をリリースし、卒業後も "Berkeley's Experimental Computing Facility" で働きながらさらに Viola の開発を進めた(p.213)。

Pei Wei の次の目標はインターネット上で Viola を動作させることだった。問題は Viola のページをどうやってインターネット上で転送するかだった。そんなとき、彼はティム・バーナーズ=リーの World Wide Web に関する電子メールを読んだ。URL が必要としていたものであることを悟り、バーナーズ=リーに対して X 版のブラウザを開発するつもりであることを知らせた。バーナーズ=リーはこれを歓迎する返事をし、その4日後に Pei Wei はブラウザ ViolaWWW が完成したことを公表した(p.214)

ViolaWWW は World Wide Web の扉を開いたと言えるが、X Window 上でしか動作しないため、NCSA Mosaic には対抗できなかった。World Wide Web の爆発的な普及に貢献したのは Mosaic であった。

## 先進性

1992年に開発された ViolaWWW は、スクリプト埋め込み、スタイルシート、表のレンダリングといった先進的な機能を備えていた。

- クライアント側での文書挿入。いわゆるフレームや JavaScript によるシンジケーションに相当する。

| Viola での文書埋め込み | object タグを使った手法 |
| --- | --- |
| ``` <INSERT SRC="a_quote.html"> ``` | ``` <object type="text/html" data="a_quote.html"> <p>This text will appear  for browsers that don't  support OBJECTs</p> </object> ``` |

- 単純なスタイルシート機構。フォント種類、色、位置合わせなどの情報を文書に挿入できる。1998年に開発された CSS よりも前に Viola にはその機能が備わっていた。

| Viola でのスタイルシート | CSS スタイルシート |
| --- | --- |
| ```  (BODY,INPUT,P   FGColor=black                   BGColor=grey70                   BDColor=grey70                   align=left   (H1             FGColor=white                   BGColor=red                   BDColor=black                   align=center ``` | ```  body, input, p {    color: black;   background-color: #707070;   text-align: left; }   h1 {   color: white;   background-color: red;   border: solid 1px black;   text-align: center; } ``` |

- サイドバーパネルを使って、メタ情報を表示する。洗練された機能とは言い難いが、最近のブラウザにも類似の機能を持つものがある。
- HTML文書からアクセス可能なスクリプト言語。JavaScriptなどの先駆けと言える。

|  | ViolaWWW の場合 | JavaScript の場合 |
| --- | --- | --- |
| スクリプト | ``` \class {txtDisp}  \name {showTime}  \script { switch (arg[0]) {    case "tick":      set("content"), date());      after(1000, self(), "tick");      return; break;    case "init":      after(1000, self(), "tick");      break;    }    usual();  }  \width {100}  \height {50} \ ``` | ``` function showTimeInDoc() {   var theTime =     document.     getElementById('theTime');   var tDate = new Date();   theTime.innerHTML=     tDate.getHours()     + ":" + tDate.getMinutes()     + ":" + tDate.getSeconds();   setTimeout("showTimeInDoc()",     1000); } ``` |
| Webページへのスクリプト埋め込み | ``` <HTML>  <HEAD> </HEAD> <BODY> <P>And, the time now is:  <LINK REL="viola"  HREF="showTime.v">  </BODY> </HTML> ``` | ``` <html>   <head>   <script type="text/javascript"      src="showTime.js">   </script>   </head>   <body onload="showTimeInDoc()">     <p id="theTime"> </p>   </body> </html> ``` |

## マイクロソフト対Eolasの裁判と既知の発明としてのViolaWWW

1999年、Eolas Technologies とカリフォルニア大学は、マイクロソフトが同社の特許を侵害しているとして訴えた。その特許とは、Webブラウザに他のソフトウェアをシームレスに組み込む方法を示したものである。2003年には Eolas 側の訴えが認められ、マイクロソフトに5億2,100万ドルの賠償支払いが命じられた。

マイクロソフトは控訴し、その特許が申請される以前に、ViolaWWW が既に同様の技術を実装していたことを示した。また、マイクロソフトは Eolas 側が特許申請の際に意図的に ViolaWWW に関する知識を秘匿したと示唆している。これによって、2005年2月に下級審への差し戻しが行われ、2007年8月に和解が成立した。和解条件の詳細は明らかにされていない。