Tim Berners-Lee from http://www.w3.org/People/Berners-Lee/FAQ.html#Examples
When I was designing the Web, I tried to use forms which people would recognize from elsewhere.
What is the history of the //?
I wanted the syntax of the URI to separate the bit which the web browser has to know about (www.example.com) from the rest (the opaque string which is blindly requested by the client from the server). Within the rest of the URI, slashes (/) were the clear choice to separate parts of a hierarchical system, and I wanted to be able to make a link without having to know the name of the service (www.example.com) which was publishing the data. The relative URI syntax is just unix pathname syntax reused without apology. Anyone who had used unix would find it quite obvious. Then I needed an extension to add the service name (hostname). In fact this was similar to the problem Apollo domain system had had when they created a network file system. They had extended the filename syntax to allow //computername/file/path/as/usual. So I just copied Apollo. Apollo was a brand of unix workstation. (The Apollo folks, who invented domain and Apollo's Remote procedure call system later I think went largely to Microsoft, and rumor has it that much of Microsoft's RPC system was).
I have to say that now I regret that the syntax is so clumsy. I would like http://www.example.com/foo/bar/baz to be just written http:com/example/foo/bar/baz where the client would figure out that www.example.com existed and was the server to contact. But it is too late now. It turned out the shorthand "//www.example.com/foo/bar/baz" is rarely used, and so we could dispense with the "//".
What about the "#"?
So, I needed something to separate the document (resource) from the thing (fragment) within that document (or view of that document). In a snail mail address in the US at least, it is common to use the number sign for an apartment number or suite number within a building. So 12 Acacia Av #12 means "The building at 12 Acacia Av, and then within that the unit known numbered 12". It seemed to be a natural character for the task. Now, http://www.example.com/foo#bar means "Within resource http://www.example.com/foo, the particular view of it known as bar".
It turned out later that in fact another hypertext project of some sort in IBM, and Doug Englebart's NLS system had both independently use "#" for this purpose. So there is something to choosing a character for the way people think of it.
Ray Tomlinson, who invented email, tells a similar story of many years earlier choosing the "@" for email - it made linguistic sense, as "at" was the english preposition which typically connects a person and their address. Hence email@example.com and so on.
There is no reason why one should use color, or blue, to signify links: it is just a default. I think the first WWW client (WorldWideWeb I wrote for the NeXT) used just underline to represent link, as it was a spare emphasis form which isn't used much in real documents. Blue came in as browsers went color - I don't remember which was the first to use blue. You can change the defaults in most browsers, and certainly in HTML documents, and of course with CSS style sheets. There are many examples of style sheets which use different colors.
My guess is that blue is the darkest color and so threatens the legibility least. I used green whenever I could in the early WWW design, for nature and because it is supposed to be relaxing. Robert Cailliau made the WWW icon in many colors but chose green as he had always seen W in his head as green.
One of the nicest link renditions was Dave Raggett's "Arena" browser which had a textured parchment background and embossed out the words of the link with a square apparently raised area.
I was born in London, England. My parents met while developing the Ferranti Mark I, the first computer sold commercially, and I grew up playing with five-hole paper tape and building computers out of cardboard boxes. Could that have been an influence? Later on I studied physics as a kind of compromise between mathematics and engineering. As it turned out, it wasn't that compromise, but it was something special in its own right. Nevertheless, afterward I went straight into the IT industry where more things seemed to be happening. So I can't really call myself a physicist. But physicists spend a lot of time trying to relate macroscopic behavior of systems to microscopic laws, and that is the essence of the design of scalable systems. So physics was probably an influence.
I dabbled with a number of programs representing information in a brain-like way. Some of the earlier programs were too abstract and led to hopelessly undebuggable tangles. One more practical program was a hypertext notebook I made for my own personal use when I arrived at CERN. I found I needed it just to keep track of the -- how shall I say -- flexible? creative? -- way new parts of the system, people and modules were added on and connected together. The project I'd worked on just before starting WWW was a real-time remote procedure call, so that gave me some networking background. Image Computer Systems did a lot of work with text processing and communications -- I was a director before coming to CERN.
Start of the web: Influences
Q. Have your first ideas in regard to the Web been influenced by any specific work or published paper like Vanevar Bush´s "As we my think", a publication of Doug Engelbart or Ted Nelson?
A. There wasn't a direct line. I did come across Ted's work while I was working on the WWW -- after my "Enquire" program (1980) but during my reading up on hypertext - probably between March 89 and September 1990. Not sure.. Of course by 1989 there was hypertext as a common word, hypertext help everywhere, so Ted's basic idea had been (sort of) implemented and I came across it though many indirect routes.
I came across Ted's name first of course. Then I ordered "Literary Machines", and I remember I was late paying him as he didn't take credit cards or Swiss cheques - I paid him in August 1992 cash in person in Sausolito.
I came across Vannevar Bush's article first in the documentation of Digital Equipment Corporation's "Memex" project which became "Linkworks" for VMS. I don't remember when that came out. Great paper.
Doug Englebart's work was the closest to the Web design -- when I saw that the first time I was amazed. He had even used the hash sign as a delimiter for the address within a document (I guess like me by analogy with an apartment number). Doug's stuff is unbelievable. You have best to see the video of him demonstrating it or his demo of a recent smalltalk re-implementation. I saw the latter at the Edinburg Hypertext conference ECHT 94.
Q: Any people who personally helped you get to where you are today?
A: I think the list would be too long to mention. Everyone who was fun and encouraging, starting with my parents. On the professional side, here are a few.
The Maths teacher at Emanuel, Frank Grundy, who conveyed the excitement of the subject with a twinkle of his eye, could make numerical approximations in his head faster than we could work it out longhand, and would throw in a teaser question into his conversation to puzzle anyone who thought they had figured the subject out. And Daffy Pennel who also couldn't contain his excitement for Chemistry and anything related to it.
Unlike most people at Oxford I had one tutor for almost all the work. John Moffat has a vary rare talent for being able to understand not only the physics itself, but also my tangled misguided attempts at it, and then showing me in my terms using my strange symbols and vocabulary where I had gone wrong. Many people can only explain the world from their own point of view.
At CERN, I was recruited by Peggie Rimmer who taught me, among other things, how to write a standards document. Ben Segal was a mentor for my RPC project at CERN, and was a sole evangelist for Internet protocols at CERN long before they were adopted. Ben gave me a lot of moral support in the later WWW days too. A few years later, Mike Sendall was my boss who has a great combination of human warmth and technical depth, and actually allowed me unofficially to write the WWW programs. And then everyone across the Internet who thought the Web was a neat idea and worked on it after hours actually built it.
On collaboration and automatability, Sept 95
The web today is a medium for communication between people, using computers as a largely invisible part of the infrastructure. One of the long-term goals of the consortium is "Automatability", the ability for computers to make some sense of the information and so help us in our task. It has been the goal of mankind for so long that machines should help us in more useful ways than they do at present, help us solve some of those human problems. Maybe this is one of the many ideas (like hypertext) which the web's great scale will allow to work where it did not achieve critical mass on a small scale before. So there are groups looking at a web of knowledge representation. It could be that some scientific field will be the first to be sufficiently disciplined to input its data not just as cool hypertext, but in a machine-readable form, allowing programs to wander the globe analyzing and surmising.
The W3 Consortium started to address this goal with its recent workshop on Collaboration on the Web. The ability of machines to process data on the web for scientific purposes such as checking a scientist's private experimental data against public databases, require databases to be available not only in a raw machine-readable form, but also labelled in a machine readable way as to what they are.
The knowledge engineering field has to learn how to be global, and the web has to learn knowledge engineering, but in the end this might be a way in which again the scientific field leads the world into something very powerful, and a new paradigm shift.
Q: How did you come to arrive at the idea of WWW?
A: I arrived at the web because the "Enquire" (E not I) program -- short for Enquire Within Upon Everything, named after a ?Victorian? book of that name full of all sorts of useful advice about anything -- was something I found really useful for keeping track of all the random associations one comes across in Real Life and brains are supposed to be so good at remembering but sometimes mine wouldn't. It was very simple but could track those associations which would sometimes develop into structure as ideas became connected, and different projects become involved with each other.
I was using Enquire myself, and realized that (a) it would fulfill my obligation to the world to describe what I was doing if everyone else could get at the data, and (b) it would make it possible for me to check out the other projects in the lab which I could chose to use or not if only their designers had used Enquire and I had access.
Now, the first version of enquire allowed you to make links between files (on one file system) just as easily as between nodes within one file. (It stored many nodes in one database file). The second version, a port from NORD to PC then VMS, would not allow external links.
This proved to be a debilitating problem. To be constrained into database enclosures was too boring, not powerful enough. The whole point about hypertext was that (unlike most project management and documentation systems) it could model a changing morass of relationships which characterized most real environments I knew (and certainly CERN). Only allowing links within distinct boxes killed that. One had to be able to jump from software documentation to a list of people to a phone book to an organizational chart to whatever .. as you can with the web today. The test rule was that if I persuaded two other projects to use it, and they described their systems with it, and then later at any point a module, person etc., in one project used something from another project, that you would be able to add the link and the two webs would become one with no global change -- no "flag day" involving the merging of two databases into one, no scaling problems as the number of connected things grew. Hence the W3 design.
The same lesson applies now to the webs of trust we will be building with linked certificates.
So the requirement was for "external" links to be just as easy to make as "internal" links. Which meant that links had to be one way.
(There was also a requirement that the web should be really easy to add links to, but though that was true in the prototype we are only now starting to see betas of good commercial web editors now.)