A Brief(ish) History of the Web Universe - Part IV: New Hope(s)
It's early 1994. AT&T has purchased Go and PenOS (see Part I: The Pre-Web) and now they are pulling the plug. SmartSketch FutureSplash (again, Part I) won't be released. Its makers Jonathan Gay and Charlie Jackson briefly try porting to the desktop, but there they would have to compete with well-funded and mature products and that isn't practical. Keep them in the back of your mind, we'll come back to them.
For the past few years, Tim Berners-Lee's "Web" concept has experienced increasing growth month over month thanks to a number of large number of contributing factors (see Part III: The Early Web). Still, its audience is comparatively almost microscopic by 2016 standards and mainly composed of academics and hard-core internet and markup enthusiasts. But, to put this into perspective: Just having a computer at home remains a pretty novel concept, even in America. Studies reveal that where they do exist they are frequently underused. While it's true that from 1984 to 1994 the percentage of homes with a PC tripled, it is still only 1 in 4 US homes that has a computer. Of those, many don't have modems or any kind of internet access. Only about 2% of Americans have access to the internet from home. Of this, only a small fraction are using the Web.
Note carefully that that 2% represents all internet access - not just the Web. Very many people are getting on the "internet" through an online service. Just a few months ago, America Online began direct mailing disks to people encouraging them to get online. It now has advertisers and 1 million members, many of whom are not the same crowd as the Web right now. The world is confused about the Internet, online services like AOL and the Web, but this isn't all bad news for the Web. It introduces a whole lot of people to the idea of getting "online" and Moore's law continues to lessen the price of computers and more and more of them are coming with increasingly capable modems. Even now, however, the Web itself (including work and home) only accounts for only about 2.5% of Internet traffic.
Given the small size, the number of browsers that have sprung up is truly astonishing, and each has extended Tim's original definition of HTML with their own ideas. A few people, like Dan Connolly, have been actively working on trying to hammer down agreements and a base standard. Over the past year however a new dominant factor has emerged: Mosaic.
Of those that are using the Web at this point, estimates are as high as 97% of them are now using the Mosaic browser (see Part III: The Early Web) which is available on many platforms and comparatively easy to install thanks to the hard work of folks like Marc Andreessen, Eric Bina, Chris Wilson, Jon Mittelhauser and Aleks Totic. It's name has become so synonymous with using the Web that the line between the two has become blurred: Even people who are interested in the Web begin to ask if you're "on Mosaic" instead of "on the Web".
"Web Time..."
The next few months is almost a blur, so much happened so fast. This pace would become known to some as "Web time".
In March 1994, Silicon Graphics, Inc. (SGI) founder Jim Clark begins working on a business venture with Mosaic creator Marc Andreessen. They'll hire up a lot of talent from both SGI and NCSA and they're working on some server products and, more importantly a commercial browser built to kill Mosaic. Initially it is called "MCOM" (Mosaic Communications). Internally, the browser project is called "Mozilla" (a name given to it by another co-founder, Jamie Zawinski, who would go on to write much of the Unix version of their 1.0 browser) or "Mosaic-killer". As you might imagine, the MCOM name was a problem and so "Netscape" was born. Very early Netscape website (while still in the mcom.com domain) even featured a "Mozilla" character originally created by employee Dave Titus.
Two months later in May, NCSA hands off licensing of Mosaic to Spyglass, Inc. - a commercial offshoot of University of Illinois at Urbana-Champaign built to monetize research there. Spyglass would license the Mosaic product for modification and distribution. At least one of those licenses will come back and change things again very soon...
That same month, the first World Wide Web Conference is held. Attended by 380 people from around the world. Unsurprisingly, overwhelmingly made-up of technically enthusiastic academics. Thanks in large part to Dan Connolly's presentation entitled "Interoperability: Why Everyone Wins" it launched the first very serious efforts behind creating an HTML standard. However, by this point, just what the baseline should be is very fuzzy: Almost no-one stuck to Tim's original specifications to begin with and some aspects of it already seem defunct. HTML has been re-spec'ed into an actual implementation of SGML, except still not quite really... Some browsers (even Tim's now) have inline images thanks to hard-pulling/pioneering work by Marc Andreessen. Some have tables, some had forms. Dave Raggett has a proposal called HTML+ which contains a lot of this. Further adding to the challenge, Tim Berners-Lee has also begun talks of starting a consortium modeled after the x-consortium designed to help the Web remain open, competitive and interoperable.
Meanwhile, Sun Microsystem's Green Team (see Part II: Time and Part III: The Early Web) has been given a new lease on life by the success of Mosaic. They imagine a Web in which "write once, run anywhere" applications could be delivered regardless of the user's operating system because of their Oak VM (later "Java") - and their foot in the door will also be a Mosaic competitor: "WebRunner" (soon "HotJava") which the team is getting increasingly excited about.
The summer was abuzz with talks of styling too. With more authors creating content and finding new uses, a typewritten page seemed pretty insufficient. SGML didn't really have a single standard but it had helped create a small group of what appeared to be reasonably successful ideas and from these discussions there came a myriad of proposals.
Two months later, in July 1994, Dan Connolly presents HTML 2.0 at an IETF meeting in Toronto, an IETF Working group is formed. But in October, two key factors emerged: First, an agreement to start the World Wide Web Consortium (W3C) is signed setting up the eventual future question of where the HTML standard will live and what the relevant roles will be. Second, Hakon W Lie proposes "CSS" which will become one of the first targets of the new W3C.
In November 1994, HTML finally received an IETF identifier: RFC-1866.
Money
There was a lot of speculation about how one might make money with the Web, but 1994 put some real ideas to the test.
Ads
On October 27, 1994, HotWired.com launched the first major banner ads, including a campaign that looked like this:
It was the first real, modern(ish) attempt to apply the advertising model that had worked for TV, newspapers, magazines, etc - to the Web. If you're using the Web in 2016 as you're reading this, you're probably aware that this is how the vast majority of Web content is funded, and it's pretty debatable whether the Web would still exist in anything remotely resembling its current form without ads. Why? Because the Web had no payment or compensation model. In fact, not only did it have no concept of how you could monetize, the insecure nature of HTTP, the protocol that made it possible, effectively made things like privacy, which are necessary for transactions, nearly impossible.
Licensing, Commerce and the Netscape Factor
One could reasonably make the case that Netscape changed everything. It was about this same time (late 1994) that Netscape began releasing beta versions of Netscape Navigator. Within just a few months it overtook Mosaic as the dominant browser in 1.0. Very much like all browsers before it, Netscape innovated and added its own tags to HTML which are part of neither HTML 2.0 nor the new HTML 3.0 specifications (notably font
and center
). "What's that" you say, "3.0?! Where did that come from?!". As you might expect, history doesn't stand still - things that weren't included in the pending HTML 2.0 standard are being collated into a possible HTML 3.0 standard. As the now dominant force, however, and with the increasing growth of the community being introduced to HTML without past knowledge and theory - and this is critical: It actually made it possible to do things that everyone actually wanted. Regardless of how it accomplished it, these things made the Web a lot more interesting. A hack that works and can get used, as it turns out, is of considerably more practical value than theoretical purity that doesn't.
As a commercial endeavor, Netscape realizes that they need to make e-commerce possible and the Web commercially viable. As plain-text, HTTP wasn't going to cut it. Netscape/Dr. Taher Elgamal's SSL is the result, but before version 1.0 can ship it's realized that there are serious concerns and so, a lot like it was with HTML, SSL 2.0 is the first one most people hear about. It is released in February 1995 and if you were there, it might have looked something like this:
That same month the HTML 2.0 specifications are revised at IETF in hopes of actually getting something passed. Changes are mostly around MIME, encoding an improved DTD and simple formatting.
By March 1995 Sun was giving some demos to people outside and "Java" was starting to make news. The San Jose Mercury News ran a front-page piece entitled "Why Sun thinks Hot Java will give you a lift". Sun released Java for public download and in short order Sun's T1 line were so saturated that developers weren't able to download. The piece explains that browsers are dumb (not to have, just not especially capable) and in the piece, Marc Andreessen is quoted giving it praise.
Thinking that a browser that viewed HTML was "dumb" wasn't new. As explained in Part I: The Pre-Web, there were plenty of more capable hypermedia systems before HTML. As explained in Part II: Time, Tim didn't expect HTML to be the whole thing he just thought that the "dumb" parts would be the ones that connected everything. As explained in Part III: The Early Web, others like Pei Wei had already shipped a browser capable of doing embedded programs very much like applets. And Midas, developed at Stanford, had sort of pioneered the idea of plugins (it could display postscript). Again, this wasn't shocking, but rather seemed exciting to Tim. So, unbeknownst to developers at Sun, but certainly unsurprisingly: Certain players at Netscape have also been thinking about the need for a less-dumb imperative language in the browser.
Netscape folks from SGI like Jim Clark and Kipp Hickman have been courting an enterprising engineer named Brendan Eich (also an SGI alumnus) with the lure of doing "Scheme in the browser". You might think that this means that Brendan was an advanced Scheme developer, but that's not the case at all. In fact, he had no practical professional experience with Scheme at all. Instead, Brendan was something of a language nerd and saw a lot of promising things in Scheme that were lacking in other languages and he was interested in seeing what he could do. Quietly, and without fanfare, he left MicroUnity for Netscape in April 1995. Netscape who was just releasing Navigator 1.1 which, as noted in Information Today, contained what would be a new bit of DNA:
Netscape Navigator 1.1 includes sophisticated new features such as the Netscape Client Application Programming Interface (NCAPI) for easy integration with third party applications, advanced layout capabilities for more visually compelling pages, dynamic document updating for changing information and enhanced security features.
The plugin architecture, developed in large part by John Giannandrea (now working on Search / Deep AI at Google) spurred a lot of excitement: A number of companies quickly got to work, including Macromedia - the maker of the popular Director software (see Part I: The Pre-Web), Real Networks and Sun.
Unfortunately, by the time Brendan started, Marc Andreessen has also begun talks with Sun to license their Java Virtual Machine (VM) for redistribution within the Navigator browser, for embedding applications. Given this and some unfortunate headcount issues, Brendan is initially placed on the server team.
It's May 1995 before Brendan is moved to the client team and begins work on a project code-named "Mocha". Certain factions within Netscape are scheming for a possible alternative to Java. If your first reaction is "why?" let me explain: People like Brendan and Andreessen realize Java is rather close to C++ and this is very unlike the Web so far which is pretty easy for amateurs and beginners to get started with. Writing code in Java requires a developer with an understanding of compilation, classes, data types, a main method, packages and so on. Microsoft is making a lot of headway in expanding the number of people who can program, by contrast with Visual Basic. "The Web needs something like that", they argued. For that kind of idea to really work, they decided that it would be necessary to be able to code right there in the page. It would have to be interpreted, not compiled. It would have to have simpler qualities. In order to keep the project alive, get funding and not destroy other potentially lucrative avenues with the Sun agreement, they realize that he will have to pretty quickly show that it is possible to do a language in the browser, show that it isn't redundant with Java.
While he hasn't started anything, Brendan has been quietly thinking about this since before he came on: What kind of language would work? Being a language buff, he knows the history of languages and bits about their theory. He is drawn particularly to languages like Self. Most programmers have heard references to Xerox-PARC's Smalltalk as being way ahead of its time and elegant, but certain people at Xerox-PARC went on to work on better models, among them, Self. David Ungar pioneered the idea of reducing the number of concepts and maximizing their utility. Self was prototypal and that was appealing. Brendan was also drawn to aspects of HyperTalk, the programming language available for the wildly successful HyperCard (see Part I: The Pre-Web) for inspiration on how you could put these things together in a way that amateurs could glue things together.
And so, in 10 days in May 1995, Brendan put together just enough: The core language parser, interpreter, decompiler, and minimal standard library core language. He integrated it via Lou Montulli's protocol handler (Lou Montelli was another Netscape founder who also co-authored the Lynx browser). Using these , Brendan created a demo in which you could use it as a protocol in the browser's URL bar. If you've ever done javascript:alert('hello world')
or something you're using a similar idea. Here, however, typing the protocol mocha:
would launch a primitive frameset based console. Using this Brendan was able to give a demo that would both generate enough interest and allay concerns of redundancy with Java. It wouldn't officially become "JavaScript" until Bill Joy of Sun signed the trademark license with Marc, Brendan and Rick Schell (Netscape VP of Engineering) later on December 4, 1995. For convenience, we'll still refer to it as JavaScript.
A few more challenges for JavaScript: First, the Netscape browser (nor really any browser save perhaps Viola) had been written to have an embedded scripting language intertwined in the mix. As a result, Brendan compared trying to shoehorn this in in a rush to juggling with chainsaws. Why the rush? well, that's the second challenge: It would have to ship in the same release as Java (Netscape 2). Here's why: Because while the tech world is abuzz about both Netscape and Sun, yesterday's talk about the rising power that was Microsoft has turned into speculation that Bill Gates has missed the boat. Everyone knows that it's just a matter of time before Microsoft leans in and attempts to stake claim, and the best way to prevent that is to be too good and too well entrenched by the time it arrives. People at Netscape realize that if they can't get a firm grasp on the market, Microsoft will just eat them up. That same month, Bill Gates sends a lengthy internal Memo titled "The Internet Tidal Wave" setting precisely those priorities - and Microsoft licenses Mosaic from SpyGlass and "Internet Explorer" is conceived.
Netscape 2 also shipped with NPAPI - a plugin architecture that used the protocol handler to associate another, helper program for understanding, handling and (potentially) rendering other kinds of non-HTML content.
At the August SIGGRAPH (Special Interest Group on GRAPHics and Interactive Techniques) conference that year Steve Jobs gave the keynote. He had bought Pixar and they were doing incredibly interesting things - including working with Disney to produce the first full-length computer animated feature: Toy Story. But a lot of the talk was about the internet and the Web. James Gosling of Java fame sat on a panel called Set-Top Boxes - The Next Platform" in which he said:
It's madness out there... My personal guess is that there will never be 'intelligent set top boxes'.
Another panel was called "Visualizing the Internet: Putting the User in the Driver’s Seat" and it really centered a lot on "Wow, this WWW thing is really taking off and it kind of looks like shit." Jonathan Gay who opened our piece was there too and heard a lot of people saying that the internet needed a really good vector based animation product. Netscape's NPAPI gave him the tool that he needed and his product was rebranded as "FutureSplash Animator" and the "FutureSplash plugin". Just start removing letters and you might sense where this is evolving before we get there in Part V. Note: If you want to get a jump on it, it turns out that after posting I discovered that my friend Rick Waldron wrote a whole piece on exactly this subject about 16 years ago.
On August 9, 1995, Netscape made an initial public offering and the world, to put it mildly, went nuts.
Special thanks to friends like Brendan Eich, Chris Wilson and Simon St Laurent for helping fill gaps, stay honest and fix typos. Especially Brendan, without whom this post would not have been possible on many levels.