Skip to content

Ten Years for Web 2.0 Evolution

2005 October 14
by Coach Wei

It has been almost 10 years since the first day that I started working on Web 2.0.

 

In 1996, I enrolled at the Massachusetts Institute of Technology to pursue graduate coursework in Information Technology.  The first time I seriously played with the World Wide Web was August 1996. While amazed by the potential of the Web, I was fairly unhappy about it being slow, unreliable and very limited functionality. Of course, the slow MIT machines didn’t help either.  Back in my mind, there has been a question from day one: Why can’t the Web be like the desktop, with all the amazing functionality and performance right at my finger tip?

 

In pursuing my Masters’ Degree at MIT in Information Technology, I took various courses focusing on software development related to the World Wide Web (the “Web”), and Java technology.  In 1996, Java was a fairly new technology for writing Web applications.

 

From 1996 to 1997, I took two classes in computer-aided engineering (MIT Courses 1.124 and 1.125).  In these classes, I built a Web-based, distributed, interactive application that allowed for the rendering of three-dimensional graphical environments through the user’s Web browser (together with four team mates).  We called this project the “The Virtual Museum of Science.” This project was developed using JavaScript, Netscape plugin and VRML.

 

In fall 1997,  in a Computer Graphics class (MIT course 6.837), along with a fellow MIT student, I undertook a development project for a product that would allow for the presentation and transmission of complex graphics (i.e., real time dynamic 3D scenes and rich graphical user interface) from a server to a client site (i.e., a desktop computer) via the Web.  The challenge was to present and deliver rich information (i.e., complex graphical material) to the user in the Web environment.  A second challenge of this a project was to address the poor user interface associated with the Web applications.  In order to meet these challenges, I developed a software package we called “Arch.”:

The Arch project had two main components.  First, the Arch software required a program to work in the browser to interpret and render complex three-dimensional graphical information transmitted from the server.  I was able to accomplish this by using then-new “Java applet” technology on the client site.  The three-dimensional Java applet was called “The Third Dimension,” and was designed to load small plain text three-dimensional graphical scene description files from the server, interpret them, and apply sophisticated “ray tracing” algorithms to generate photo realistic three-dimensional scenes in real time.  Arch’s second component involved the delivery of a rich user experience in navigation.  The program that I developed to address this second requirement was called “SiteOrganizer,” which is also a Java applet that runs inside a Web browser as a “thin and rich” client.  SiteOrganizer interprets and processes a server-generated descriptive text file, and builds a rich graphical user interface (“GUI”).

 

When we completed the Arch project, we succeeded in showing that simple text files could be loaded from the Web server to the Web browser, and then processed on the client side to generate complex graphical scenes and user interfaces in the browser using a thin client program, leveraging the client-side processing power to dramatically lower bandwidth requirements and enhance user experience.

 

During my tenure at MIT (I graduated in May, 1998), I had access to and worked on MIT’s “Athena” computer system.  The Athena computer system is designed so students can access existing software applications remotely (i.e., applications residing on any MIT UNIX computer can be accessed from any other MIT UNIX workstation).

In 1997, I began exploring whether there might a way to deliver the benefits of Athena to users from a browser using  the web-based approaches that I had explored with Arch and Virtual Museum (for example, making Athena work on the Web.)  Specifically, I set out to attempt to give users the ability to use server-based rich applications from remote locations through a Web browser.  The benefit to the user was that he or she could use a complex application from any computer anywhere over the Web as if that rich application software was installed on the user’s computer, without installing any software on the local computer.

 

In order to determine whether my idea was technologically feasible, there were three problems I had to address.  First, I had to determine how to capture the original graphical user interface (sometimes called “screen scraping”) of the existing application.  Second, I had to assess the feasibility of transmitting such captured complex GUI data over the Web quickly.  Third, I had to determine how to render the GUI at the client machines through a Web browser without installing software on the client machine.

 

 The screen scraping problem was a known problem that others had begun to solve in various ways, such as the MIT Athena system itself.  I was confident in the feasibility of developing a satisfactory screen scraping solution.  The second problem – complex GUI data transmission over the Web – I had previously addressed with the Arch project.  For that project, we were able to transmit complex data over the Web by describing the information in plain text files (we used Virtual Reality Modeling Language (“VRML”) as the transmission medium), and were able to do so at a satisfactory rate.  It was the third problem – displaying the captured GUI at the client machines using a standard browser without requiring the installation of client software – that required additional experimentation.

 

In early 1998 (a few months before I graduated), I started writing software code in JavaScript/DHTML in an effort to find a solution to the third problem.  Over the course of the next two years, in my spare time, I developed a JavaScript Library that I hoped would solve the third problem.  By early 2000, I created a demonstration based on the developed JavaScript/DHTML code.  The demonstration showed that a complex GUI similar to an existing Windows application (I used a word processing application in the demo) could be rendered on the client site through a Web browser without installing any software on the desktop. 

The JavaScript library composed of 3000 lines of source code, essentially is a rich client toolkit that delivers a rich graphical user interface in a browser environment with asynchronous communication capability.  It actually worked on Netscape 4.x, Internet Explorer 4.x and 5.x. Amazing.

 

(In year 2005, it is interesting to find out that what I wrote between 1998 to 2000 is called “Ajax” today).

 

So far all the fun stuff. I wrote some code, spent lots of nights debugging and cursing the Netscape team and Internet Explorer team. But it was fun. The next five years turned out to be really hard.

 

In 2000, I started a software company with the goal of bringing Web 2.0 to reality.  The company was called “NexaWave Technologies”  and the product was to be called “NexaWeb”. The Word Processor demo actually caught people’s attention. Dave Winer actually put this into his blog(http://archive.scripting.com/2000/11/06) – I really don’t know how he found out about us. In 2001, we renamed the company to “Nexaweb”.

 

James Margaris, Barry Gilbane and a few other people joined me in my pursuit.

We worked days and nights, some time with pay. Search for a few years trying to figure out what technology to use and how to fit with  enterprise environment. After many many architectural and technological changes, we landed our first customer in late 2002, and raised our first round of financing in May 2003.  Nexaweb subsequently landed many big enterprise customers deploying business critical applications over the Internet using its technology.

 

By 2005, Web 2.0 and Rich Internet Application are becoming fairly well known now. Ajax is having a tremendous amount of momentum. The Web is shifting – finally.

 

It only took 10 years – and it is still in the beginning.

Comments are closed.