Note: Some of these questions are now answered in much more depth in my
book, * Weaving the Web.
*Adults, see also: the main FAQ.

Doing a report? Want to figure out how the web works?

I have put here some answers to questions that children of various ages (6-96) have asked.

If you need the answers for a school project or just because you're interested, then feel free to quote them from here. In your report, please say where you got them from.

This is just one page for kids of all ages so some you might feel the answers are too simple and some too complicated. I hope you find it useful, anyway.

- Where were you when you invented the WWW?
- What made you think of the WWW?
- What happens when I click on a link?
- Did you invent the Internet?
- Just like that?
- Why do you keep saying everything is so simple?
- Can you tell me more about your personal life?
- I need a primary source for a project on you
- I'm interested in math more than what's at school - what is fun?
- Was the WWW a good thing or a bad thing?

I was working in a physics laboratory called CERN. (CERN is in Geneva, Switzerland. Switzerland is near the middle of Europe.)

At CERN, people study *High Energy Physics*. That is the physics of
really really small particles - particles much smaller than atoms. It turns
out that if you want to investigate really really small things, you need huge
machines called accelerators to smash particles together really hard. Then
you have huge gadgets (about the size of a house) which detects what happens,
and what bits fly off, so you can figure out whether you managed to make any
new types of particle.

CERN is a big place - a few thousand people work there. Many of them are scientists whose jobs are at universities in different places in the world, and they come to CERN because they need to use the huge accelerators at CERN.

Well, I found it frustrating that in those days, there was different information on different computers, but you had to log on to different computers to get at it. Also, sometimes you had to learn a different program on each computer. So finding out how things worked was really difficult. Often it was just easier to go and ask people when they were having coffee.

Because people at CERN came from universities all over the world, they brought with them all types of computers. Not just Unix, Mac and PC: there were all kinds of big mainframe computer and medium sized computers running all sorts of software.

I actually wrote some programs to take information from one system and convert it so it could be inserted into another system. More than once. And when you are a programmer, and you solve one problem and then you solve one that's very similar, you often think, "Isn't there a better way? Can't we just fix this problem for good?" That became "Can't we convert every information system so that it looks like part of some imaginary information system which everyone can read?" And that became the WWW.

Actually, it was a grown up who asked this very reasonable question. When you understand this, then you will understand the difference between the Internet and the Web. And you will realize that it is all quite simple! :-)

(You can skip the bits in small type)

When you are reading a web page, the computer isn't showing you everything
about the link. Behind the underlined or colored bit of text which you click
on is an invisible thing like *http://www.w3.org/*. Its called a URL.
This is the name of the web page to which the link goes. (The web page you
are reading has this one:
*http://www.w3.org/People/Berners-Lee/kids*). Behind each link, hidden
from you, is the URL of the other web page, the one you'd get to if you
followed the link.

When you click on a link, your computer takes this URL. It wants to get a
copy of the web page. There are a few different ways of doing this. The one
I'm going to tell you about is just used for URLs which start*http:
.*

(This whole recipe I'm going to tell you, which your computer uses
for getting web pages, is called the *HyperText Transfer
Protocol*. That's what HTTP stands for. There are other
protocols. But this is the most common one. )

If the URL starts with *http:*, then the computer takes the next
bit of the URL, between the // and the /. It might be *www.w3.org* for
example. This is the name of the web server. However, It can't communicate
with the web server until it knows its computer number, because the Internet
actually works with numbers.

(A computer number is actually called its Internet Protocol
Address, or IP Address. It is normally written as four numbers with dots,
like *192.168.0.1*)

So there will two stages to this - first, finding out the number of the web server, and then asking the web for a copy of the web page.

Your computer makes up a packet of information. An Internet packet is a message, a bit like a short email or a long text message. The packet starts off with the number of the computer the packet is going to, and then the number of the the computer which sent it, and then it has what the packet is about, and then whatever it is one computer is sending to the other.

Now all over the Internet there are special computers whose job is to keep
a list of computer names and numbers. When your computer is set up, it is set
up to know the internet number of one of these. Your computer sends off the
packet to it, saying it wants to know the number of *www.w3.org*.

(A computer which can look up computer names -- domain names as they are called -- is called the Domain Name Service (DNS) server in the network preferences if you really want to know. When a DNS server looks up a computer name, it either knows it because it has it in a list, or it just asks another DNS server which knows more names.)

How does the packet get there? Simple. Your computer sends it down the ethernet connection or phone line from your computer, or it transmits it by radio to a base station which sends it down some wire. Whatever that wire goes through, eventually it connects to some other computer (maybe one in the cable company, or phone company).

The Internet is a net -- really shaped like real net like a fishing net -- of computers all connected together by various cables. Each computer, when it gets a packet, looks at it and sees what computer number it is being sent to. It then just passes it on to the next computer in the net, in the general direction toward its destination. Pretty simple? yes, well, it is simple. The packet gets passed on until it gets to its destination. Typically, a packet might be passed on by more than 10 computers before it arrives.

(This way of getting a packet to its destination is called the Internet Protocol(IP))

In this case, the destination was the name server. The name server looks up the number of the computer www.w3.org from its name.

Of course the name server knows the number of your computer, because that was in the packet too. So it sends a reply packet to tell you computer the number it needed.

Ok. Your computer now knows the number of the web server,
*www.w3.org*. So it goes back to the URL -- remember the thing which
started with *http:*? Lets say the URL behind the link was
*http://www.w3.org/People/Berners-Lee/FAQ.html* . It has used the
www.w3.org bit to find the number of the web server which has a copy of the
page. Now it send off a request to that server asking it for the web page. It
sends the whole URL, and the server sends back a copy.

The only problem is that the web page won't fit in a packet. Packets can only be around 512 bytes - about long enough for a text message of 500 characters. Even the request that your computer sends off can be longer than will fit in a packet. So what happens is the computer just breaks the message into parts, and sends each part in a packet. I told you this isn't rocket science. It just like a television series coming in installments. It also puts in each packet a packet number so that the other computer can make sure its got all the parts and got them in right order.

(This method of splitting message sup into packets and putting them back together again has a name, which you don't have to remember. It is Transmission Control Protocol, or TCP. So that's what people mean when they talk about TCP/IP.)

So your computer gets back a bunch of packets with bits of the web page in them. It puts them in order and displays them on your screen. There are special codes (called HTML tags) which tell it when to do things like headings and bold and italics and ... oh, of course... links. Yes, every time it finds the HTML tag for a link, it displays the text specially (like blue and underlined) and makes a note of the URL of the linked page. Because at any time, you could click on the link, and it'll be doing this stuff all over again.

@@@ This really needs lots of nice diagrams @@@

No, no, no!

When I was doing the WWW, most of the bits I needed were already done.

Vint Cerf and people he worked with had figured out the Internet Protocol, and also the Transmission Control Protocol.

Paul Mockapetris and friends had figured out the Domain Name System.

People had already used TCP/IP and DNS to make email, and other cool things. So I could email other people who maybe would like to help work on making the WWW.

I didn't invent the hypertext link either. The idea of jumping from one document to another had been thought about lots of people, including Vanevar Bush in 1945, and by Ted Nelson (who actually invented the word hypertext). Bush did it before computers really existed. Ted thought of a system but didn't use the internet. Doug Engelbart in the 1960's made a great system just like WWW except that it just ran on one [big] computer, as the internet hadn't been invented yet. Lots of hypertext systems had been made which just worked on one computer, and didn't link all the way across the world.

I just had to take the hypertext idea and connect it to the TCP and DNS ideas and -- ta-da! -- the World Wide Web.

No, actually the inventing it was easy. The amazing thing which makes it work is that so many people actually have made web servers, and that they all work the same way, on the Internet. They all use HTTP.

So the difficult bit was persuading people to join in. And getting them to agree to all use the same sort of HTTP, and URLs, and HTML. I'm still doing that sort of thing. The World Wide Web Consortium (W3C) is like a club of people and companies who feel the Web is important, and keeping it working is important, and making it even better and even more powerful is important. I am the director of W3C (I started it) but thousands of people are now working on all kinds of wonderful things.

Well, because it is basically.

No, honestly...

I want you to know that you too can make new programs which create new fun ways of using computers and using the Internet.

I want you to realize that, if you can imagine a computer doing something, you can program a computer to do that.

Unbounded opportunity... limited only by your imagination.

And a couple of laws of physics.

Of course, what happens with computers is that you have a basic simple idea and then you have to add things on to it for practical reasons. So real-world computer programs can end up with a lot of stuff in them. If they are good, they are still simple inside.

I grew up in south-west London. I wasn't very good at sports. When I was 11 I went to a school which was between two railway tracks, so I saw lots of trains and started train-spotting. I also had a model railway in my bedroom. It was a long thin layout with a 4-track station in the middle, and on each side pairs of tracks going off into tunnels to actually loop back to each other.

I made some electronic gadgets to control the trains. The I ended up getting more interested in electronics than trains. Later on, when I was in college I made computer out of an old television set. I bought the television from a repair shop down the road for �5 (about $7).

My mother and father were both working with the very early computers when they met. Later on, my mother taught maths in school. They taught me that maths is a lot of fun. (In England, mathematics is "maths", in the USA, "math").

When I went to Oxford University, I studied physics. I thought that science might be more practical than maths, halfway between math and electronics. In fact it turned out to be very special subject all of itself, and fascinating for all that.

No, I don't want to - sorry. I like to keep work and personal life separate. What is on the web on this page and my home page is all there is. Please do not email me asking for more information for school projects, etc. Look -- if you had written a program like WorldWideWeb -- which you well might --- would you want everyone to know what you had for breakfast? No, you see? Ok. Thank you for your understanding.

I'm sorry, I don't have time to talk to everyone individually. Please use these web pages.

Some kids find solving math problems is fun, and like the power of having new techniques, and imaging new math concepts. If you are one of those, and you are wondering what bits of math might be fun to follow up on your own or with friends or friendly adults, here is an attempt to explain some paths which connect together. Some of it is easy, some hard, but honestly which is which for you depends on what your mind happens to grasp, and how well it is explained! These are some of the bits I found interesting. This is NOT an explanation - you will need books and people for that . It is just a sort of list of places you might want to go.

**Vectors** are fun. Vectors are quantities with direction,
like not just how fast something goes but which direction it is going in.
They can be written as three numbers instead of one. *(The examples in
this FAQ will only work is your browser supports MathML, which is rare. If
your browser supports MathML, the following will be vertical, not
horizonal.)*

$\left(\begin{array}{c}10\\ 2\\ 4\end{array}\right)$

Vectors are fun partly because they are very visual. When you write equations using vectors, you define shapes in 3D, and how things move, and so on.

When you've done a bit of **algebra**, then simultaneous
equations are good thing to play with. You don't have to do complicated ones,
just look at "linear" equations where you have say 3 equations and 3
variables, say x, y and z.

$\begin{array}{c}x+y=3\\ x-y=1\\ 3y-z=0\end{array}$

Because you've done vectors, you can visualize each equation as a plane in 3d, and the equations together define a point with a given x, y and z.

Once you've got the hang of that, look at
**transformations** where a set of linear equations define a new
(x', y', z') in terms of any original point (x, y, z).

$\begin{array}{c}x+y=x\text{'}\\ x-y=y\text{'}\\ 3y-z=z\text{'}\end{array}$

Two neat things. One is these transformations actually correspond to 3-d transformations such as squashing space or rotating it, or squishing it sideways. This is quite visual, and thinking of the 3-d transformation is sometimes a quick way of doing things with the equations.

Second neat thing: because you've used stacks of 3 numbers as vectors to
represent points, you'll be happy representing the numbers in the equations
in a 3x3 block called a **matrix**. This way you can write the
transformation as a thing called matrix multiplication. You learn how to
multiply matrices.

$\left(\begin{array}{c}x\text{'}\\ y\text{'}\\ z\text{'}\end{array}\right)=\left(\begin{array}{ccc}1& 1& 0\\ 1& -1& 0\\ 0& 3& -1\end{array}\right)\left(\begin{array}{c}x\\ y\\ z\end{array}\right)$

or just

**x**' = **M** **x**

where the bold letters stand for vectors and matrices. Suddenly all kinds
of things fall into place. To make a combined transformation, you just
multiply two matrices together. You naturally start wondering about how to
*undo* a transformation, which is finding the *inverse*
transformation, which is finding the inverse of a matrix. And then you
realize that this is just the same problem as solving the linear equations
you had earlier. So any time you can see how to solve the equations, you can
find the inverse matrix. Also, there is a way of working out the inverse of a
3x3 matrix, so you can always solve 3x3 equations (when a solution exists).
It is this way everything fits together which makes math fun and powerful.

Another branch you might be interested in is **calculus**.
This is about things changing and moving, to its very connected to physics,
skiing, driving cars, flying planes, and so on. So it can also be fun to
visualize. When you study calculus, you start off by thinking about how (say)
the speed of a ball changes in a particular millisecond, and how its position
changes. There is a lot of calculus where you know, say, how something's
speed changes with time, and you want to figure out where it gets to. How
fast a function changes is another function. Finding it is called
*differentiating* the first function. The inverse is called
*integrating*. Some people find learning and puzzling out how to
differentiate and integrate all kinds of functions interesting.

But if you have done vectors and matrices then you can connect that to the ideas of calculus, and you have new powerful mental tools. You can now write equations about the force on something and its acceleration as vectors.

**f** = m **a**

says the force (a vector) on something is equal to the acceleration (how much its velocity is changing, another vector) times the mass of the thing. You can figure out how things like spaceships move in 3d space with time.

From there, you can think about values (like density, or pressure, or
temperature) which have a single (non vector) value, but a different value in
each place. You can think about how those values change with place. How does
the pressure in a swimming pool change with depth? Why? Things which have
values all over the place are called *fields*. Think
of the pool being filled with little numbers showing the pressure at that
place.

Then you can just put what you know about vectors together with what you
know about fields, and think of values which are different in different
places and times, and also have direction. They are vectors. Imagine a
swimming pool full of little arrows, each arrow showing (by size and
direction) how fast and which way the water is moving there. Imagine what
happens when someone dives in. These are called **vector
fields**. It turns out that when you do calculus with vector fields,
you have really neat little results about how stuff swirls around, about how
it squashes (or doesn't), and so on. When you connect how things change with
position with how they change with time, then you can show waves happen. And
just as it seems that the equations are getting complicated again, then
suddenly get simple. It turns out that the differentiation in space can be
written as a single "vector operator", called *dell* and written$\nabla $

This makes all the equations writable in much less space (without even any x's and y's and z's).

One of the significant equations which you get from look the physics of all this is the wave equation, which tell you about sound waves in a swimming pool and even Maxwell's Equations which show that light waves follow from the properties of electricity and magnetism.

Another branch of this which connects to matrices is the eigenvector
concept. For any transformation, it turns out there are some vectors which
end up being stretched or shrunk but not changed in direction. These are
called **eigenvectors**. It turns out that for lots of
interesting problems, the eigenvectors are at right angles to each other,
just like the x y and z axes. In fact, if you turn the problem around in your
mind, and use the eigenvectors as the axes, then suddenly the problem becomes
really simple. The complicated equations untangle and turn into a set of
unconnected simple equations. Eigenvectors are finding out how complicated
things (like a car suspension) behave. It also turns out that quantum
mechanics says that the same equations are used to find out how atoms behave.
Also, it turns out that when search engines like Google look at a mass of web
links around a topic, the eigenvectors of the link matrix correspond to
things the web pages are about, and finding them allows one to find the most
relevant page for that topic. So eigenvectors are a really useful concept.

I guess I've used physics as the hook for most of this math, and that is one reason why it is interesting personally for me. If that doesn't interest you so much, then maybe the math of prime numbers will. Check out modulo arithmentic, Euler's theorem, and work your way to the RSA algorithm for public key cryptography. There are lots of other areas of math of course. And lots of books on each. And web sites, I'm sure. But there are some of my suggestions if you are looking for a map of things to look for. The main thing is, to have fun.

Some people point out that the Web can be used for all the wrong things. For downloading pictures of horrible, gruesome, violent or obscene things, or ways of making bombs which terrorists could use.

Other people say how their lives have been saved because they found out about the disease they had on the Web, and figured out how to cure it.

I think the main thing to remember is that any really powerful thing can be used for good or evil. Dynamite can be used to build tunnels or to make missiles. Engines can be put in ambulances or tanks. Nuclear power can be used for bombs or for electrical power.

So what is made of the Web is up to us. You, me, and everyone else.

Here is my hope.

The Web is a tool for communicating.

With the Web, you can find out what other people mean. You can find out where they are coming from.

The Web can help people understand each other.

Think about most of the bad things that have happened between people in your life. Maybe most of them come down to one person not understanding another. Even wars.

Let's use the web to create neat new exciting things.

Let's use the Web to help people understand each other.

TimBL