ViolaWWW是第一個支援全球資訊網(WWW)腳本和樣式表的瀏覽器,目前已停止开发。其首次在1991/1992年的UNIX作業系統上发布,並成為受全球資訊網发源组织CERN所推荐的瀏覽器[1],但其最常用瀏覽器的地位最終被Mosaic浏览器取代。
Viola由魏培源在1991年开发,他也是加州伯克利大学的eXperimental Computing Facility(英语:eXperimental Computing Facility)(XCF)研究小组成员之一[1][3]。Viola是一个基于UNIX平台的编程语言,其名称为可视化交互的面向对象语言及应用(Visually Interactive Object-oriented Language and Application)的首字母缩写[4]。
魏培源對於圖形軟體的興趣始於1989年他接觸到的HyperCard,魏培源說:「當時HyperCard非常引人注目,這是一款眾人皆知的超連結程式,但只能在Mac上運作...而當時我甚至連Mac都沒有」。魏培源使用X終端(英语:X terminal)於1990年創造了第一個版本的Viola語言:“我拿到了一本HyperCard手冊看了一下,基本上把這些概念完成了......”[4]
毕业后魏培源与XCF及创业伙伴一起继续开发Viola[4][5]。随后其接受了奥莱利公司的投资,這是一家美国电子出版公司。奥莱利公司使用了其软件以显示旗下网站全球網路導航器[6]。魏培源的主要工作是创建一个适用于互联网的Viola版本:
X Window是一个基于UNIX的操作系统,其内建了TCP/IP协议,所以支持互联网是很合乎常理的,问题是如何通过互联网传输他的Viola页面,他處於網路超文本獨立發明的邊緣。在他看到蒂姆关于万维网的邮件时他解释说,URL非常非常聪明,这正是我所需要的。他向蒂姆发了一封邮件说他正在考慮為X Window編寫一個瀏覽器 。蒂姆在12月9日的www-talk上回覆說:聽起來不錯。四天后,魏培源在www-talk说,他做了一個浏览器。——Gillies和Cailliau[4]
X Window是一个基于UNIX的操作系统,其内建了TCP/IP协议,所以支持互联网是很合乎常理的,问题是如何通过互联网传输他的Viola页面,他處於網路超文本獨立發明的邊緣。在他看到蒂姆关于万维网的邮件时他解释说,URL非常非常聪明,这正是我所需要的。他向蒂姆发了一封邮件说他正在考慮為X Window編寫一個瀏覽器 。蒂姆在12月9日的www-talk上回覆說:聽起來不錯。四天后,魏培源在www-talk说,他做了一個浏览器。
ViolaWWW創建於1992年,是第一個添加擴充功能的瀏覽器,如嵌入式腳本對象、樣式表和表。早期版本在CERN獲得了诸多好评[4]。Ed Kroll还在其1992年很流行的文章全互联网用户目录与指南(英语:Whole Internet User's Guide and Catalog)中強調了该浏览器。
随着ViolaWWW的开发,开始与HyperCard越来越相似:
它有一个收藏夹功能让你可以追踪自己喜欢的页面,还有前进和后退按钮及历史记录功能可以保存你访问过的网站。随着时间的推移它有了显示表格和图形的功能,到了1993年5月它甚至开始可以直接运行程序。——Gillies和Cailliau[4]
它有一个收藏夹功能让你可以追踪自己喜欢的页面,还有前进和后退按钮及历史记录功能可以保存你访问过的网站。随着时间的推移它有了显示表格和图形的功能,到了1993年5月它甚至开始可以直接运行程序。
ViolaWWW基于Viola工具箱,該工具箱是用於开发与支持视觉交互式媒体应用的工具。Viola在X Window下运行,早在1992年就可以用来创建远超HTML 3.0(當時最新版本的HTML)的复杂超媒体应用,包括小程序及其他可交互的内容[7]。
Viola是第一个拥有如下功能的浏览器[8]:
<INSERT SRC="a_quote.html">
<object type="text/html" data="a_quote.html"> <p>如果浏览器不支持对象,本文字将会显示</p> </object>
(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; }
\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 date = new Date(); theTime.innerHTML = date.getHours() + ":" + date.getMinutes() + ":" + date.getSeconds(); setTimeout(showTimeInDoc, 1000); }
<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>
雖然ViolaWWW開啟通往全球資訊網的大門[8],但由於只能侷限在X Window系統上執行,意味著它無法 將全球資訊網帶入主流的Mosaic瀏覽器競爭[9]。除此之外,Mosaic更容易安裝在大多數人使用的電腦上[8]。最初只為UNIX開發的Mosaic,很快被移植到Microsoft Windows這個ViolaWWW從未運行過的平台[10]。