WEBVTT - What was Gopher?

0:00:04.200 --> 0:00:07.240
<v Speaker 1>Get in text with technology with tech Stuff from how

0:00:07.280 --> 0:00:14.080
<v Speaker 1>stuff works dot com. Hey there, and welcome to text Stuff.

0:00:14.120 --> 0:00:17.920
<v Speaker 1>I'm your host Jonathan Strickland, senior writer for how stuff

0:00:17.960 --> 0:00:21.480
<v Speaker 1>works dot com. And today's episode comes to us courtesy

0:00:21.600 --> 0:00:26.759
<v Speaker 1>of a little listener mail. And you guys have been

0:00:27.080 --> 0:00:30.320
<v Speaker 1>crushing it, sending tons of suggestions my way, and I

0:00:30.360 --> 0:00:32.680
<v Speaker 1>just want to say I really appreciate it. So remember,

0:00:33.000 --> 0:00:35.360
<v Speaker 1>if you have a suggestion for a topic I should cover,

0:00:35.640 --> 0:00:38.559
<v Speaker 1>send me the message. The emails tech Stuff at how

0:00:38.680 --> 0:00:42.159
<v Speaker 1>stuff works dot com. But this week's listener mail episode

0:00:42.200 --> 0:00:45.760
<v Speaker 1>comes to us from Ryan, who says, please do an

0:00:45.800 --> 0:00:49.280
<v Speaker 1>episode about the Gopher protocol, such a different approach to

0:00:49.400 --> 0:00:52.959
<v Speaker 1>utilizing the Internet that no one knows today. And so

0:00:53.560 --> 0:00:56.600
<v Speaker 1>today we're gonna walk back in Internet history and learn

0:00:56.720 --> 0:01:00.160
<v Speaker 1>all about the Gopher protocol. But first it kind of

0:01:00.640 --> 0:01:04.760
<v Speaker 1>benefits us to remember what exactly the Internet is. And

0:01:05.040 --> 0:01:08.399
<v Speaker 1>trust me, this is important in the grand scheme of things.

0:01:08.440 --> 0:01:11.240
<v Speaker 1>But I'll be nice and high level and brief about it.

0:01:11.280 --> 0:01:13.520
<v Speaker 1>So when you get down to it, the Internet is

0:01:13.600 --> 0:01:16.119
<v Speaker 1>essentially just a bunch of computing devices that are all

0:01:16.120 --> 0:01:18.760
<v Speaker 1>connected to each other, and that's it. Really. There's a

0:01:18.760 --> 0:01:21.160
<v Speaker 1>lot of infrastructure there that allows this to happen. But

0:01:21.319 --> 0:01:24.120
<v Speaker 1>ultimately it's a bunch of computers that are talking to

0:01:24.160 --> 0:01:27.240
<v Speaker 1>each other. It's a network of networks using various types

0:01:27.240 --> 0:01:31.720
<v Speaker 1>of connections and protocols to send and receive communications. But

0:01:32.040 --> 0:01:34.800
<v Speaker 1>when you just break it down to its simplest of terms,

0:01:35.080 --> 0:01:39.120
<v Speaker 1>you're really talking about a bunch of interconnected machines. Now,

0:01:39.200 --> 0:01:44.680
<v Speaker 1>broadly speaking, we can classify most of these machines as

0:01:44.720 --> 0:01:48.960
<v Speaker 1>either servers or clients. Now there are other machines as well,

0:01:49.280 --> 0:01:52.720
<v Speaker 1>like routers and switches and stuff, but I'm mostly talking

0:01:52.760 --> 0:01:55.560
<v Speaker 1>about the devices that are directly communicating with each other

0:01:55.720 --> 0:01:59.920
<v Speaker 1>rather than the ones that facilitate that communication. So as

0:02:00.000 --> 0:02:02.640
<v Speaker 1>a server, well, it does exactly what it sounds like.

0:02:02.680 --> 0:02:08.560
<v Speaker 1>It does. It serves information. Clients request information. So your

0:02:08.600 --> 0:02:11.480
<v Speaker 1>smartphone or your computer or your tablet that you use

0:02:11.560 --> 0:02:14.560
<v Speaker 1>to serve the Internet or read email or whatever it

0:02:14.639 --> 0:02:17.880
<v Speaker 1>is you do online, that is a client. The servers

0:02:17.919 --> 0:02:21.320
<v Speaker 1>are the machines that contain all the information you're looking

0:02:21.360 --> 0:02:24.880
<v Speaker 1>at and serve it up to you. And the Internet

0:02:25.120 --> 0:02:28.079
<v Speaker 1>is older than the World Wide Web. A lot of people,

0:02:28.560 --> 0:02:31.880
<v Speaker 1>probably not as many today as we're around. For like

0:02:31.919 --> 0:02:34.520
<v Speaker 1>the late nineties, but a lot of people would equate

0:02:34.560 --> 0:02:37.040
<v Speaker 1>the World Wide Web with the Internet, like the two

0:02:37.080 --> 0:02:39.880
<v Speaker 1>are synonymous, and that's not really true. The Web is

0:02:39.880 --> 0:02:42.560
<v Speaker 1>really just a layer on top of the Internet. It's

0:02:42.680 --> 0:02:45.160
<v Speaker 1>it's an interface that makes it easy to access and

0:02:45.240 --> 0:02:49.680
<v Speaker 1>interact with information. But it's just one part of the Internet.

0:02:49.720 --> 0:02:52.320
<v Speaker 1>And before it came along, people were facing a bit

0:02:52.360 --> 0:02:58.000
<v Speaker 1>of a challenge. So imagine you've got this network of networks.

0:02:58.160 --> 0:03:03.760
<v Speaker 1>Information is on thousands of servers around the world. You

0:03:04.400 --> 0:03:07.840
<v Speaker 1>want to get access to some specific information, like a

0:03:07.960 --> 0:03:12.000
<v Speaker 1>very particular file. There's one file that you want to get,

0:03:12.040 --> 0:03:16.040
<v Speaker 1>But how do you track down that file? How do

0:03:16.080 --> 0:03:20.120
<v Speaker 1>you know which computer out there in this vast network

0:03:20.160 --> 0:03:23.000
<v Speaker 1>of networks, How do you know which one actually holds

0:03:23.040 --> 0:03:27.040
<v Speaker 1>the file you want. You can't just scream out, hey,

0:03:27.040 --> 0:03:29.520
<v Speaker 1>I need this one text file. You've got to know

0:03:29.600 --> 0:03:32.120
<v Speaker 1>where it is in order to retrieve it. So the

0:03:32.160 --> 0:03:35.480
<v Speaker 1>way this would work normally is that you'd send a

0:03:35.520 --> 0:03:39.559
<v Speaker 1>message from your computer across the network to the specific

0:03:39.680 --> 0:03:44.600
<v Speaker 1>server in question. So ideally you would know what computer

0:03:45.080 --> 0:03:49.080
<v Speaker 1>hosts your file, and you would use some method of

0:03:49.280 --> 0:03:53.000
<v Speaker 1>connecting to that server. Maybe you're using tell neet, maybe

0:03:53.000 --> 0:03:57.120
<v Speaker 1>you're using FTP file transfer protocol, but you're using something

0:03:57.160 --> 0:04:00.280
<v Speaker 1>to send a message to that server, and in return,

0:04:00.360 --> 0:04:03.320
<v Speaker 1>the server responds to you, and then you request access

0:04:03.320 --> 0:04:06.600
<v Speaker 1>to that file. It's really just that the message you

0:04:06.640 --> 0:04:10.120
<v Speaker 1>send is just a request for information stored on that server.

0:04:11.040 --> 0:04:14.960
<v Speaker 1>And if you have access authorized access to the information.

0:04:15.040 --> 0:04:16.919
<v Speaker 1>In other words, if it's not protected by like a

0:04:16.960 --> 0:04:20.239
<v Speaker 1>password or something that you don't have, the server would

0:04:20.240 --> 0:04:24.520
<v Speaker 1>send that information back across the internet to you. But

0:04:24.600 --> 0:04:27.880
<v Speaker 1>what happens if you don't know which computer holds the

0:04:27.920 --> 0:04:31.360
<v Speaker 1>information you want? How do you get access to it?

0:04:32.520 --> 0:04:33.960
<v Speaker 1>Back in the old days, this would be kind of

0:04:33.960 --> 0:04:37.920
<v Speaker 1>like picking up a telephone to call somebody. Let's say

0:04:37.920 --> 0:04:40.640
<v Speaker 1>you're trying to call me, only you don't have my

0:04:40.680 --> 0:04:42.760
<v Speaker 1>phone number. I never gave it to you. I'm not

0:04:42.880 --> 0:04:45.400
<v Speaker 1>listed anywhere, So how do you call me? There are

0:04:45.480 --> 0:04:49.000
<v Speaker 1>millions of phone numbers out there. If you knew my

0:04:49.040 --> 0:04:51.039
<v Speaker 1>phone number, everything would be just fine because you could

0:04:51.080 --> 0:04:53.240
<v Speaker 1>just dial it directly. But since you don't know my

0:04:53.400 --> 0:04:56.640
<v Speaker 1>number and there's no directory to consult, you're faced with

0:04:56.680 --> 0:04:58.880
<v Speaker 1>a nearly impossible task. What do you do? Just start

0:04:58.960 --> 0:05:02.360
<v Speaker 1>randomly hitting button until the right person picks up. Well,

0:05:02.360 --> 0:05:06.120
<v Speaker 1>that was the problem facing the Internet. It arose because

0:05:06.480 --> 0:05:09.160
<v Speaker 1>the network became more complicated. Just as in the old

0:05:09.240 --> 0:05:13.040
<v Speaker 1>days you might have very few telephones in a single town.

0:05:13.480 --> 0:05:16.039
<v Speaker 1>Like I'm talking the real old days. When telephones first

0:05:16.040 --> 0:05:18.680
<v Speaker 1>became popular, you didn't need to worry about phone numbers.

0:05:18.720 --> 0:05:21.680
<v Speaker 1>Maybe three people in town had a phone. These days

0:05:22.000 --> 0:05:24.440
<v Speaker 1>you gotta worry about it because millions of people iPhones. Well,

0:05:24.480 --> 0:05:27.400
<v Speaker 1>same thing was true with the network of networks. As

0:05:27.440 --> 0:05:30.680
<v Speaker 1>more computers came online, as more systems joined the Internet,

0:05:31.279 --> 0:05:34.560
<v Speaker 1>it became more difficult to track very specific stuff down.

0:05:35.839 --> 0:05:40.040
<v Speaker 1>So before the Internet, there was a sort of a precursor,

0:05:40.360 --> 0:05:45.000
<v Speaker 1>not really the Internet. Before there was an Internet, but

0:05:45.240 --> 0:05:49.200
<v Speaker 1>it was a system of networked computers called ARPA Net

0:05:50.040 --> 0:05:52.880
<v Speaker 1>now the ARPA Net. That was a project from the

0:05:52.920 --> 0:05:57.200
<v Speaker 1>Department of Defense in the United States, and it was

0:05:57.279 --> 0:06:00.800
<v Speaker 1>something that that required a bunch of computers scientists to

0:06:00.880 --> 0:06:06.040
<v Speaker 1>sit down and work out protocols. Uh. It was essentially

0:06:06.080 --> 0:06:10.000
<v Speaker 1>a big, but relatively simple network of computers. Now I

0:06:10.160 --> 0:06:13.480
<v Speaker 1>say simple because if you look at the Internet by

0:06:13.520 --> 0:06:17.560
<v Speaker 1>comparison as a network of networks, it is far more

0:06:17.680 --> 0:06:21.840
<v Speaker 1>complex than what Urbanet was. But I am not casting

0:06:21.839 --> 0:06:26.960
<v Speaker 1>aspersions on our bonnet. It was still incredibly sophisticated, particularly

0:06:27.080 --> 0:06:31.960
<v Speaker 1>for its time. It allowed people working on different computers

0:06:32.000 --> 0:06:36.120
<v Speaker 1>that used different operating systems, different languages, the ability to

0:06:36.160 --> 0:06:41.400
<v Speaker 1>communicate with each other. And that's phenomenal because usually you

0:06:41.400 --> 0:06:43.240
<v Speaker 1>know this, these are like computers that if you were

0:06:43.240 --> 0:06:45.359
<v Speaker 1>to connect directly to one another, they would not be

0:06:45.400 --> 0:06:48.640
<v Speaker 1>able to communicate with each other. They were fundamentally different.

0:06:48.960 --> 0:06:51.760
<v Speaker 1>So the designers of the Urbanet had to figure out

0:06:51.839 --> 0:06:55.000
<v Speaker 1>a set of rules that all these different types of

0:06:55.000 --> 0:06:59.280
<v Speaker 1>computers could follow in order to exchange information with one another.

0:07:00.120 --> 0:07:02.880
<v Speaker 1>So that that required a lot of work to create

0:07:02.920 --> 0:07:05.960
<v Speaker 1>these protocols or sets of rules to facilitate communication. And

0:07:06.000 --> 0:07:09.159
<v Speaker 1>I've talked about ARBONETT before. If you want to hear

0:07:09.240 --> 0:07:11.400
<v Speaker 1>a lot more about it, you can track down the

0:07:11.440 --> 0:07:15.040
<v Speaker 1>classic episode. It originally published in two thousand and twelve.

0:07:15.560 --> 0:07:19.480
<v Speaker 1>It was titled Happy Fathers of the Internet Day and

0:07:19.480 --> 0:07:22.600
<v Speaker 1>then it Chris Pallette and I talked a lot about

0:07:22.680 --> 0:07:27.120
<v Speaker 1>the people who designed the various protocols that allow Internet

0:07:27.120 --> 0:07:31.720
<v Speaker 1>communication to happen. Well. Anyway, two of the protocols in

0:07:31.800 --> 0:07:36.120
<v Speaker 1>question during the days of Arbonet were the Transmission Control

0:07:36.200 --> 0:07:41.600
<v Speaker 1>Protocol or TCP developed in ninety and the Internet Protocol

0:07:41.800 --> 0:07:45.520
<v Speaker 1>or i P, in ninety eight. These are almost always

0:07:45.560 --> 0:07:48.520
<v Speaker 1>grouped together whenever anyone talks about Internet protocols, they'll say

0:07:48.560 --> 0:07:52.080
<v Speaker 1>t C P i P, But they're technically two different

0:07:52.080 --> 0:07:57.520
<v Speaker 1>sets of rules that together uh end up guiding the

0:07:57.560 --> 0:08:01.000
<v Speaker 1>computers on how to communicate across this network of networks.

0:08:01.040 --> 0:08:04.160
<v Speaker 1>These are the rules that gave Arponette that ability to

0:08:04.320 --> 0:08:09.680
<v Speaker 1>create global communication across various different computers. The two protocols

0:08:09.680 --> 0:08:14.800
<v Speaker 1>were officially adopted by Arpanett in Night three, So while

0:08:14.800 --> 0:08:18.320
<v Speaker 1>they were developed in the seventies, it wasn't officially adopted

0:08:18.720 --> 0:08:21.840
<v Speaker 1>until Night three. Now, they were being used before that,

0:08:22.120 --> 0:08:26.720
<v Speaker 1>but you know, Arpanet was a government thing, and just

0:08:27.320 --> 0:08:32.360
<v Speaker 1>like you would suspect it moves super fast because it's government. Well,

0:08:32.400 --> 0:08:36.920
<v Speaker 1>the following year a lot of things happen. We got

0:08:36.960 --> 0:08:41.839
<v Speaker 1>that really killer Apple Mac commercial that was like the

0:08:42.000 --> 0:08:45.439
<v Speaker 1>Orwellian nineteen eighty four that was phenomenal. But also Sun

0:08:45.559 --> 0:08:51.320
<v Speaker 1>micro Systems unveiled a system called the Network Filing System

0:08:51.520 --> 0:08:55.559
<v Speaker 1>or NFS that was sort of like a file directory

0:08:55.679 --> 0:08:59.480
<v Speaker 1>and storage system for networked computers running on a heterogeneous

0:09:00.280 --> 0:09:03.760
<v Speaker 1>Unix environment. So you had to have a bunch of

0:09:03.760 --> 0:09:08.760
<v Speaker 1>computers running the same Unix implementation essentially, or same version

0:09:08.800 --> 0:09:11.360
<v Speaker 1>I guess I should say not implementation, but the same

0:09:11.520 --> 0:09:14.839
<v Speaker 1>version of Unix across all these different machines. And it

0:09:14.920 --> 0:09:18.000
<v Speaker 1>was kind of like your basic file management system you'd

0:09:18.000 --> 0:09:20.680
<v Speaker 1>have on a personal computer. So if you've ever used

0:09:20.679 --> 0:09:24.640
<v Speaker 1>a computer that had a variation of this, like Windows

0:09:24.679 --> 0:09:29.320
<v Speaker 1>file Explorer is a good example. You typically have a

0:09:29.400 --> 0:09:33.040
<v Speaker 1>hierarchy of files. You'll have like a top level selection

0:09:33.080 --> 0:09:35.360
<v Speaker 1>of files. If you go into one of those, you

0:09:35.440 --> 0:09:40.040
<v Speaker 1>might see folders, like subfolders underneath that main heading. Go

0:09:40.080 --> 0:09:42.840
<v Speaker 1>into that one, you'll see more subfolders, maybe some files,

0:09:42.880 --> 0:09:45.560
<v Speaker 1>that kind of stuff. Well, it was essentially that, but

0:09:45.840 --> 0:09:48.400
<v Speaker 1>for an entire network of computers. So you can share

0:09:48.440 --> 0:09:53.400
<v Speaker 1>information between different computers on the system by saving files

0:09:53.480 --> 0:09:57.320
<v Speaker 1>to this network drive, something that's very familiar to most

0:09:57.320 --> 0:10:01.080
<v Speaker 1>of us today, but back then was really new. And

0:10:01.160 --> 0:10:05.479
<v Speaker 1>then obviously you could retrieve files from the appropriate directory

0:10:05.480 --> 0:10:10.280
<v Speaker 1>on that same system. Also, in a team over at

0:10:10.280 --> 0:10:15.080
<v Speaker 1>Carnegie Melon University released the Andrew File System or a

0:10:15.360 --> 0:10:18.480
<v Speaker 1>f S now. Originally, the a f S provided Carnegie

0:10:18.520 --> 0:10:23.000
<v Speaker 1>Melon students a campus wide file directory system and later on,

0:10:23.200 --> 0:10:26.600
<v Speaker 1>a company called trans Arc sort of spun off and

0:10:26.760 --> 0:10:30.760
<v Speaker 1>turned this into a commercial product. Now, these file systems

0:10:30.760 --> 0:10:35.079
<v Speaker 1>allowed users to access files on other computers, but they

0:10:35.160 --> 0:10:39.200
<v Speaker 1>also came with a really steep learning curve. If you

0:10:39.240 --> 0:10:44.199
<v Speaker 1>weren't particularly computer savvy, it was really challenging to navigate

0:10:44.200 --> 0:10:47.000
<v Speaker 1>through these file directories. It would be kind of like

0:10:47.240 --> 0:10:50.760
<v Speaker 1>taking someone to a computer and it has all line commands,

0:10:51.040 --> 0:10:53.520
<v Speaker 1>and the person had never really worked with a line

0:10:53.559 --> 0:10:57.160
<v Speaker 1>command interface. They only worked with graphics by line command.

0:10:57.200 --> 0:11:00.240
<v Speaker 1>I mean, you have to type in the command and

0:11:00.320 --> 0:11:04.000
<v Speaker 1>file names you want in order to access stuff. Well,

0:11:04.160 --> 0:11:06.120
<v Speaker 1>if that's what you've been doing the whole time, it's

0:11:06.120 --> 0:11:08.240
<v Speaker 1>not so bad. You start to pick up on it.

0:11:08.280 --> 0:11:11.160
<v Speaker 1>Even as new systems are brought on, you can kind

0:11:11.160 --> 0:11:14.120
<v Speaker 1>of adapt to it pretty quickly because you already have

0:11:14.160 --> 0:11:17.400
<v Speaker 1>that basic level of knowledge. But for someone brand new

0:11:17.440 --> 0:11:20.720
<v Speaker 1>to computers, it was really intimidating. It felt like you

0:11:20.800 --> 0:11:25.160
<v Speaker 1>needed to have a lexicon of different commands at your

0:11:25.160 --> 0:11:27.240
<v Speaker 1>disposal all the time, and a lot of people would

0:11:27.280 --> 0:11:29.600
<v Speaker 1>have to use cheat sheets and take a look at

0:11:29.640 --> 0:11:32.160
<v Speaker 1>those constantly so that they can figure out just how

0:11:32.200 --> 0:11:37.200
<v Speaker 1>to navigate a computer. It wasn't very user friendly, and

0:11:37.240 --> 0:11:39.640
<v Speaker 1>it was really hard to find what you were looking

0:11:39.679 --> 0:11:42.440
<v Speaker 1>for if you didn't already know where to start from

0:11:42.440 --> 0:11:45.280
<v Speaker 1>the beginning. The trick with filing systems is that you

0:11:45.280 --> 0:11:49.360
<v Speaker 1>have to understand the organizational strategy. So not only do

0:11:49.400 --> 0:11:53.200
<v Speaker 1>you have to understand the language to navigate the system,

0:11:53.280 --> 0:11:55.800
<v Speaker 1>you also have to understand the person who set it

0:11:55.880 --> 0:11:58.640
<v Speaker 1>up in the first place. So there's there's a bit

0:11:58.679 --> 0:12:01.640
<v Speaker 1>of machine savvy you have to have, but there's also

0:12:01.960 --> 0:12:04.000
<v Speaker 1>how well do I know the person who set up

0:12:04.000 --> 0:12:06.680
<v Speaker 1>this filing system, and how does that person's brain work,

0:12:07.000 --> 0:12:09.760
<v Speaker 1>Because maybe they'll set things up in a different way

0:12:10.280 --> 0:12:12.480
<v Speaker 1>then I would set it up, and if I were

0:12:12.559 --> 0:12:14.960
<v Speaker 1>to try and navigate using my common sense, I might

0:12:15.000 --> 0:12:18.040
<v Speaker 1>find it frustrating. So here's an example of what I mean.

0:12:18.960 --> 0:12:21.079
<v Speaker 1>Back in the day, I used to organize all of

0:12:21.120 --> 0:12:25.440
<v Speaker 1>my DVDs by genre and then by alphabetical order by title.

0:12:26.080 --> 0:12:29.240
<v Speaker 1>So at all my action films in one place, I

0:12:29.280 --> 0:12:31.840
<v Speaker 1>had all my horror movies in another place, all my

0:12:31.920 --> 0:12:34.480
<v Speaker 1>Tim Curry movies were together, all that kind of thing.

0:12:34.600 --> 0:12:38.199
<v Speaker 1>You know, Tim Curry is a genre unto himself National treasure.

0:12:38.520 --> 0:12:41.560
<v Speaker 1>But if you didn't know that, I did that and

0:12:41.600 --> 0:12:44.960
<v Speaker 1>you didn't know where one section began or ended, you

0:12:44.960 --> 0:12:48.320
<v Speaker 1>could have trouble finding a specific title. Maybe you would

0:12:48.320 --> 0:12:50.200
<v Speaker 1>have had a totally different approach. Maybe you would have

0:12:50.280 --> 0:12:53.840
<v Speaker 1>organized everything alphabetically from the start, so it didn't matter

0:12:53.840 --> 0:12:56.600
<v Speaker 1>what genres and you would know, all right, well, the

0:12:56.640 --> 0:12:58.400
<v Speaker 1>title I'm looking for it starts with a D, so

0:12:58.440 --> 0:12:59.600
<v Speaker 1>I need to find the D S and it's going

0:12:59.640 --> 0:13:02.319
<v Speaker 1>to be there. Or maybe you would even have a

0:13:02.760 --> 0:13:07.800
<v Speaker 1>more crazy organizational strategy, maybe you would organize everything chronologically

0:13:07.920 --> 0:13:11.920
<v Speaker 1>by release date, which would confound everyone but the geekiest

0:13:11.960 --> 0:13:15.520
<v Speaker 1>of film buffs. The point is that these file systems

0:13:15.720 --> 0:13:18.640
<v Speaker 1>back in the day, with these network drives, they weren't

0:13:18.640 --> 0:13:21.880
<v Speaker 1>always intuitive. Even if you weren't immediately put off by

0:13:21.880 --> 0:13:24.480
<v Speaker 1>the interface, you might still not be able to find

0:13:24.520 --> 0:13:29.079
<v Speaker 1>what you're looking for. Now. Later still came alan em

0:13:29.120 --> 0:13:34.040
<v Speaker 1>Taj's Archie tool, and he was a University of Montreal

0:13:34.640 --> 0:13:37.720
<v Speaker 1>employee student. You know, he had gone from one to

0:13:37.760 --> 0:13:40.319
<v Speaker 1>the other really when he when he invented this tool

0:13:40.440 --> 0:13:43.040
<v Speaker 1>to search for files on the Internet that would be

0:13:43.120 --> 0:13:47.840
<v Speaker 1>transferred via f t P file transfer protocol. So instead

0:13:47.880 --> 0:13:50.320
<v Speaker 1>of requiring the user to know a direct path, you

0:13:50.440 --> 0:13:53.559
<v Speaker 1>just had to know the name of the file, how

0:13:53.840 --> 0:13:57.880
<v Speaker 1>was the file named? Now, that still isn't ideal, because

0:13:57.880 --> 0:14:01.720
<v Speaker 1>I'm sure you've encountered files that had weird or nonintuitive

0:14:01.800 --> 0:14:03.880
<v Speaker 1>names that may have had nothing to do with what

0:14:03.920 --> 0:14:07.679
<v Speaker 1>the file actually was about. So you had to know

0:14:07.920 --> 0:14:10.640
<v Speaker 1>precisely how the file was named or else it really

0:14:10.679 --> 0:14:12.520
<v Speaker 1>didn't do you any good. But at least it didn't

0:14:12.559 --> 0:14:16.120
<v Speaker 1>require you to also know the full path name of

0:14:16.240 --> 0:14:19.440
<v Speaker 1>where a file was, and it allowed you to actually

0:14:19.480 --> 0:14:23.680
<v Speaker 1>do a search across the internet. Now, once the Web

0:14:23.760 --> 0:14:26.000
<v Speaker 1>came along, and I'll talk a lot more about the

0:14:26.000 --> 0:14:29.400
<v Speaker 1>World Wide Web later on in this episode, and once

0:14:29.400 --> 0:14:34.680
<v Speaker 1>programmers began building search engines, this probably became less difficult. Right.

0:14:35.000 --> 0:14:37.760
<v Speaker 1>Search engines started to make things much easier for people.

0:14:38.080 --> 0:14:40.880
<v Speaker 1>The Web made navigation more intuitive. It made it more

0:14:40.880 --> 0:14:44.000
<v Speaker 1>accessible to people who weren't experienced with computers or had

0:14:44.040 --> 0:14:47.840
<v Speaker 1>inside knowledge of directory organization. But in those in between

0:14:47.880 --> 0:14:52.800
<v Speaker 1>times before the web, but after the Internet came online,

0:14:53.800 --> 0:14:59.920
<v Speaker 1>that's when Gopher emerged. Now, there were several developers behind

0:15:00.080 --> 0:15:03.400
<v Speaker 1>go for really six people in total, and one of

0:15:03.440 --> 0:15:06.400
<v Speaker 1>the more important ones I shouldn't even say it that way,

0:15:06.640 --> 0:15:08.720
<v Speaker 1>one of the leads I should say, because all six

0:15:08.760 --> 0:15:12.200
<v Speaker 1>were important. Uh. One of the leads was Mark McHale,

0:15:12.520 --> 0:15:15.640
<v Speaker 1>and Michael attended the University of Minnesota. Actually they were

0:15:15.640 --> 0:15:18.520
<v Speaker 1>all part of the University of Minnesota, but he had

0:15:18.520 --> 0:15:21.360
<v Speaker 1>attended as a student, earning a bachelor's degree in chemistry

0:15:21.480 --> 0:15:24.640
<v Speaker 1>in nineteen seventy nine. But while he earned his degree

0:15:24.640 --> 0:15:26.760
<v Speaker 1>in chemistry, he would actually go on to join the

0:15:26.840 --> 0:15:31.160
<v Speaker 1>campus micro computer Center as a programmer, and by the

0:15:31.240 --> 0:15:34.120
<v Speaker 1>late nineteen eighties he was leading a team of programmers

0:15:34.200 --> 0:15:37.640
<v Speaker 1>and together they built an email client called pop mail,

0:15:38.320 --> 0:15:41.200
<v Speaker 1>first for the Macintosh computer and then later on for

0:15:41.280 --> 0:15:46.120
<v Speaker 1>the PC platform. The POP in pop mail stands for

0:15:46.240 --> 0:15:50.360
<v Speaker 1>post Office Protocol. So the way it worked was that

0:15:50.400 --> 0:15:52.120
<v Speaker 1>you had a server that would kind of act like

0:15:52.160 --> 0:15:56.600
<v Speaker 1>a virtual post office. You would whenever you were checking

0:15:56.680 --> 0:15:59.920
<v Speaker 1>email or sending email, it would involve a virtual visit

0:16:00.160 --> 0:16:03.320
<v Speaker 1>to this post office. You could drop off and receive

0:16:03.400 --> 0:16:05.880
<v Speaker 1>mail there. So if you want to send a message

0:16:05.880 --> 0:16:10.480
<v Speaker 1>through your popmail client, the client, as in your computer

0:16:10.600 --> 0:16:14.040
<v Speaker 1>the workstation you are using, would relay the message through

0:16:14.120 --> 0:16:17.880
<v Speaker 1>the post office server, which would then direct the message

0:16:17.920 --> 0:16:23.000
<v Speaker 1>onto your destination. When retreating messages, you would actually be

0:16:23.560 --> 0:16:28.560
<v Speaker 1>going to this popmail server to pull the emails off

0:16:28.600 --> 0:16:31.400
<v Speaker 1>of it in order to read them. So they were

0:16:31.440 --> 0:16:33.280
<v Speaker 1>the ones who developed this, and it was a very

0:16:33.320 --> 0:16:37.920
<v Speaker 1>popular type of way of getting hold of email. The

0:16:38.040 --> 0:16:41.800
<v Speaker 1>next big project that this team tackled was creating an

0:16:41.840 --> 0:16:46.800
<v Speaker 1>interface for navigating the university's local network. So the question was,

0:16:46.840 --> 0:16:50.600
<v Speaker 1>how can we find whatever we're looking for? How do

0:16:50.640 --> 0:16:53.800
<v Speaker 1>we organize all this information we have in a way

0:16:53.800 --> 0:16:57.160
<v Speaker 1>that makes sense because they could see that the Internet

0:16:57.240 --> 0:17:01.000
<v Speaker 1>was creating this incredible opportunity to share information, but it

0:17:01.080 --> 0:17:05.120
<v Speaker 1>was getting increasingly difficult to find stuff and to organize

0:17:05.119 --> 0:17:08.920
<v Speaker 1>stuff properly because there were more and more computers coming

0:17:09.000 --> 0:17:12.840
<v Speaker 1>onto the system and it just made things even more complicated.

0:17:13.800 --> 0:17:19.560
<v Speaker 1>So together Mikhail, Bob Alberti, far Aud, Ankle, Saria, Paul Linda,

0:17:19.600 --> 0:17:23.400
<v Speaker 1>and Daniel Torry began to work to develop a solution,

0:17:23.520 --> 0:17:27.240
<v Speaker 1>and as it turned out, their solution had applications far

0:17:27.440 --> 0:17:30.680
<v Speaker 1>beyond the campus they worked on. In fact, it would

0:17:30.680 --> 0:17:34.960
<v Speaker 1>turn out their solution had applications outside of the campus

0:17:34.960 --> 0:17:38.760
<v Speaker 1>they worked on before it actually was implemented by the

0:17:38.800 --> 0:17:42.880
<v Speaker 1>campus itself. It would work across the Internet in general.

0:17:43.600 --> 0:17:46.280
<v Speaker 1>Now I'm gonna jump into what they did in just

0:17:46.520 --> 0:17:49.399
<v Speaker 1>a second. But before I do that, let's take a

0:17:49.480 --> 0:18:00.320
<v Speaker 1>quick break to thank our sponsor. So the team got

0:18:00.359 --> 0:18:04.240
<v Speaker 1>to work in They knew that they wanted a system

0:18:04.359 --> 0:18:08.000
<v Speaker 1>that could organize information in an intuitive way, giving users

0:18:08.040 --> 0:18:12.400
<v Speaker 1>an opportunity to navigate the information they needed quickly. They

0:18:12.400 --> 0:18:15.280
<v Speaker 1>wanted it to be a client server system. This was

0:18:15.520 --> 0:18:19.880
<v Speaker 1>really important to them. What they perhaps the biggest decision

0:18:19.880 --> 0:18:23.280
<v Speaker 1>they made, the most important one to them, was to

0:18:23.560 --> 0:18:30.119
<v Speaker 1>not go a centralized mainframe organizational strategy. They wanted to

0:18:30.119 --> 0:18:33.240
<v Speaker 1>get away from mainframe computers. They saw that the future

0:18:33.800 --> 0:18:37.640
<v Speaker 1>was in desktops. But desktop machines, especially in ninety one,

0:18:38.359 --> 0:18:45.600
<v Speaker 1>were slow, they had relatively limited capabilities, so whatever system

0:18:45.600 --> 0:18:52.400
<v Speaker 1>they created had to be optimized for these less powerful machines.

0:18:53.440 --> 0:18:56.320
<v Speaker 1>They also wanted to make this system scalable, with options

0:18:56.320 --> 0:19:00.479
<v Speaker 1>to have various departments register servers with a top level servers.

0:19:00.520 --> 0:19:03.840
<v Speaker 1>So in other words, you could have different departments having

0:19:03.880 --> 0:19:08.160
<v Speaker 1>their own networks, but have them linked to the main

0:19:08.320 --> 0:19:11.280
<v Speaker 1>network so that you can navigate throughout all of these

0:19:11.320 --> 0:19:13.399
<v Speaker 1>different systems. And that way, if you're connected to that

0:19:13.440 --> 0:19:17.280
<v Speaker 1>top level server, you could navigate to any lower department

0:19:17.320 --> 0:19:20.199
<v Speaker 1>through a master menu. They also wanted the tool to

0:19:20.200 --> 0:19:22.800
<v Speaker 1>be efficient and lightweight, meaning they didn't want to tax

0:19:22.840 --> 0:19:26.760
<v Speaker 1>those normal PCs and workstations. They didn't want a tool

0:19:26.800 --> 0:19:30.880
<v Speaker 1>that would move into Snail's pace, and that was one

0:19:30.920 --> 0:19:34.560
<v Speaker 1>of the reasons that they really focused on text based

0:19:35.600 --> 0:19:39.520
<v Speaker 1>communications because it's doesn't require a whole lot of data

0:19:39.560 --> 0:19:42.520
<v Speaker 1>to send text, and it meant that it could be

0:19:42.800 --> 0:19:47.320
<v Speaker 1>relatively fast and informative. They also decided that the server

0:19:47.840 --> 0:19:51.359
<v Speaker 1>would not retain states. Now that means that the server

0:19:51.440 --> 0:19:53.320
<v Speaker 1>wouldn't need to keep a record of all the different

0:19:53.320 --> 0:19:57.080
<v Speaker 1>information requests from multiple clients. Once a connection closed, the

0:19:57.119 --> 0:20:00.359
<v Speaker 1>state was white, and it would close the connect after

0:20:00.400 --> 0:20:04.040
<v Speaker 1>every transaction. Essentially, so together they worked on this tool

0:20:04.480 --> 0:20:08.359
<v Speaker 1>and they decided to call it Gopher. The name, by

0:20:08.359 --> 0:20:11.320
<v Speaker 1>the way, serves many purposes. For one, the mascot of

0:20:11.359 --> 0:20:14.679
<v Speaker 1>the University of Minnesota as the Golden Gopher, Minnesota is

0:20:15.080 --> 0:20:20.520
<v Speaker 1>the Gopher state. Also, the idea of a metaphorical Gopher

0:20:20.560 --> 0:20:24.119
<v Speaker 1>appealed to them. Gophers tunnel, and in a way, the

0:20:24.160 --> 0:20:30.080
<v Speaker 1>Gopher protocol kind of tunnels through networks. They also started

0:20:30.080 --> 0:20:33.520
<v Speaker 1>to refer to the networks that we're using Gopher as

0:20:33.600 --> 0:20:37.920
<v Speaker 1>Gopher space. And finally, gophers also the term for someone

0:20:37.960 --> 0:20:41.880
<v Speaker 1>who runs errands and fetches things because the gopher will

0:20:42.000 --> 0:20:49.080
<v Speaker 1>gopher like coffee or you know, uh, you can gopher

0:20:49.080 --> 0:20:53.360
<v Speaker 1>snacks that kind of stuff. The Classic Muppet Show series

0:20:53.840 --> 0:20:57.600
<v Speaker 1>had Scooter who was a gopher. Uh. There were a

0:20:57.600 --> 0:21:00.280
<v Speaker 1>lot of jokes about that, about how Scooter was a

0:21:00.320 --> 0:21:05.959
<v Speaker 1>gopher by job, but he wasn't a gopher by critter,

0:21:06.119 --> 0:21:10.879
<v Speaker 1>like he was not the actual animal gopher. Anyway, here's

0:21:10.880 --> 0:21:15.320
<v Speaker 1>the weird thing. So the team knew they were onto

0:21:15.359 --> 0:21:18.720
<v Speaker 1>something when they designed Gopher, but it didn't get a

0:21:18.760 --> 0:21:21.400
<v Speaker 1>lot of traction right out of the gate despite its utility,

0:21:21.440 --> 0:21:25.480
<v Speaker 1>because the University of Minnesota they just didn't see how

0:21:25.520 --> 0:21:28.000
<v Speaker 1>this would be useful. They didn't see the value in it,

0:21:28.480 --> 0:21:31.359
<v Speaker 1>so they didn't really put any support behind it, and

0:21:31.359 --> 0:21:34.199
<v Speaker 1>they didn't implement it at all. So the team decided

0:21:34.240 --> 0:21:37.280
<v Speaker 1>to sidestep all that red tape, and one of the

0:21:37.320 --> 0:21:42.040
<v Speaker 1>team members uploaded the software to an FTP server and

0:21:42.080 --> 0:21:45.320
<v Speaker 1>then posted a message on an Internet mailing list saying, hey, guys,

0:21:45.400 --> 0:21:48.240
<v Speaker 1>we developed this kind of cool tool. We think it

0:21:48.400 --> 0:21:50.800
<v Speaker 1>is a great way to organize information on networks and

0:21:50.840 --> 0:21:54.000
<v Speaker 1>allow people to find stuff. Give it a try. So

0:21:54.080 --> 0:21:57.479
<v Speaker 1>people began to download it and put use and not

0:21:57.600 --> 0:22:01.119
<v Speaker 1>long after that it started to take off a lot

0:22:01.200 --> 0:22:03.960
<v Speaker 1>of places we're using it, and they decided that it

0:22:04.000 --> 0:22:06.560
<v Speaker 1>made a whole lot of sense, and eventually the University

0:22:06.560 --> 0:22:10.679
<v Speaker 1>of Minnesota administration relented and implemented Gopher as well on

0:22:10.760 --> 0:22:14.879
<v Speaker 1>their campus. Now, let's go ahead and talk about Gopher

0:22:14.920 --> 0:22:18.000
<v Speaker 1>implementations and what it was actually like. So there were

0:22:18.200 --> 0:22:21.359
<v Speaker 1>two main ways you could interact with Gopher. One of

0:22:21.359 --> 0:22:25.160
<v Speaker 1>them was to install software on your computer. And uh,

0:22:25.240 --> 0:22:28.720
<v Speaker 1>this is looking at interacting with Gopher as a user

0:22:28.800 --> 0:22:32.159
<v Speaker 1>as opposed to as an administrator. So you want to

0:22:32.240 --> 0:22:34.719
<v Speaker 1>use Gopher, Well, one thing you could do is install

0:22:34.800 --> 0:22:37.679
<v Speaker 1>software on your computer, and this was a client side

0:22:37.800 --> 0:22:41.399
<v Speaker 1>Gopher application, which really is not that different from a

0:22:41.400 --> 0:22:46.679
<v Speaker 1>web browser like Firefox or Chrome or Safari. It's essentially

0:22:46.960 --> 0:22:49.400
<v Speaker 1>a similar thing. It's a it's a program that runs

0:22:49.440 --> 0:22:53.600
<v Speaker 1>on your computer that acts as the interface for this protocol. Uh.

0:22:53.640 --> 0:22:56.280
<v Speaker 1>Those are all clients side applications, just like the Gopher

0:22:56.320 --> 0:22:58.480
<v Speaker 1>one was. But you didn't have to do that. What

0:22:58.600 --> 0:23:02.680
<v Speaker 1>you could do instead is use a tell net application.

0:23:03.560 --> 0:23:06.879
<v Speaker 1>Telling Net was another old protocol that's still used in

0:23:06.960 --> 0:23:11.680
<v Speaker 1>some places. Uh tell net would allow you to virtually

0:23:11.880 --> 0:23:15.919
<v Speaker 1>log into another terminal, and you just had to have

0:23:16.040 --> 0:23:19.320
<v Speaker 1>the correct address, import number and everything in order to

0:23:19.320 --> 0:23:23.119
<v Speaker 1>tell Net into that that room. So you could use

0:23:23.160 --> 0:23:25.760
<v Speaker 1>tell neet to log onto a remote server and use

0:23:25.840 --> 0:23:29.959
<v Speaker 1>the server side Gopher client to access directories, and in

0:23:29.960 --> 0:23:32.360
<v Speaker 1>that case, all the work is being done by the

0:23:32.400 --> 0:23:36.080
<v Speaker 1>server and you don't have to actually have a client

0:23:36.200 --> 0:23:40.119
<v Speaker 1>based application on your side. The style of the Gopher

0:23:40.119 --> 0:23:43.119
<v Speaker 1>client really dependent upon its implementation. The team wanted to

0:23:43.160 --> 0:23:47.040
<v Speaker 1>make sure that it was it was customizable, but it

0:23:47.080 --> 0:23:51.040
<v Speaker 1>was always simple. It's always text based. It could be

0:23:51.080 --> 0:23:55.720
<v Speaker 1>extremely simple where all you have our text options under

0:23:55.760 --> 0:23:59.640
<v Speaker 1>a menu, or it could have some very primitive kind

0:23:59.640 --> 0:24:04.200
<v Speaker 1>of of graphic user interface elements in it. Graphic user

0:24:04.240 --> 0:24:10.720
<v Speaker 1>interface also known as gooey, but less less um what's

0:24:10.800 --> 0:24:15.840
<v Speaker 1>the right word, less impressive or extensive as what you

0:24:15.840 --> 0:24:18.719
<v Speaker 1>would find in the Worldwide Web later. And there were

0:24:18.720 --> 0:24:21.399
<v Speaker 1>two worlds in the Gopher verse, the world the client

0:24:21.600 --> 0:24:25.879
<v Speaker 1>could see and the world the server worked with. So

0:24:25.920 --> 0:24:30.640
<v Speaker 1>on the server side, every item within a Gopher directory

0:24:30.840 --> 0:24:34.080
<v Speaker 1>would have certain elements to it, and that included a

0:24:34.119 --> 0:24:38.520
<v Speaker 1>client visible name, a selector, which was usually something that

0:24:39.440 --> 0:24:44.840
<v Speaker 1>used the path name that would connect the server for

0:24:44.960 --> 0:24:49.040
<v Speaker 1>location purposes. Then there would be a host name which

0:24:49.040 --> 0:24:53.440
<v Speaker 1>would tell the top level server which computer actually contained

0:24:53.480 --> 0:24:57.600
<v Speaker 1>the file in question, and an IP port number. Ports

0:24:57.600 --> 0:24:59.679
<v Speaker 1>are kind of like telephone lines, so a computer had

0:24:59.720 --> 0:25:02.679
<v Speaker 1>to know which port it should use when contacting other computers.

0:25:03.280 --> 0:25:06.359
<v Speaker 1>Now on the client side, on the user side, only

0:25:06.400 --> 0:25:09.400
<v Speaker 1>those client visible names would show up. Everything else would

0:25:09.400 --> 0:25:13.520
<v Speaker 1>be hidden. And to use an analogy, imagine that you

0:25:13.600 --> 0:25:16.520
<v Speaker 1>go to a party and it's one of those super hip,

0:25:16.560 --> 0:25:19.920
<v Speaker 1>geeky tech parties that I assume happened but I never

0:25:19.960 --> 0:25:23.040
<v Speaker 1>get invited to anyway. Everyone gets a little name tag,

0:25:23.200 --> 0:25:26.000
<v Speaker 1>and the name tag just has the person's name on it.

0:25:26.080 --> 0:25:28.399
<v Speaker 1>That's it. That's the only information about the person that

0:25:28.520 --> 0:25:33.760
<v Speaker 1>is visible to the average attendee. So when you walk

0:25:33.800 --> 0:25:36.199
<v Speaker 1>around the party, you can see each person's name, but

0:25:36.320 --> 0:25:40.440
<v Speaker 1>that's it. But let's say you're a super duper awesome

0:25:40.560 --> 0:25:42.840
<v Speaker 1>v I P at this party, and all the super

0:25:42.920 --> 0:25:45.200
<v Speaker 1>duper awesome v I P s at this particular party

0:25:45.240 --> 0:25:47.520
<v Speaker 1>get a little swag bag that has a pair of

0:25:47.560 --> 0:25:50.119
<v Speaker 1>smart glasses in them, and if you put the smart

0:25:50.160 --> 0:25:55.199
<v Speaker 1>glasses on, you see projected above the name tag of

0:25:55.240 --> 0:25:58.000
<v Speaker 1>each person more information, and it tells you where that

0:25:58.080 --> 0:26:01.440
<v Speaker 1>person lives, what their phone or is, tells you about

0:26:01.440 --> 0:26:04.119
<v Speaker 1>their favorite lunch spots. In other words, you know a

0:26:04.119 --> 0:26:06.639
<v Speaker 1>few different ways you could reach those people if you

0:26:06.680 --> 0:26:10.359
<v Speaker 1>needed to. Well, in the gover verse, that sort of

0:26:10.400 --> 0:26:13.960
<v Speaker 1>same approach was applying, but only two files, not to people,

0:26:14.520 --> 0:26:17.040
<v Speaker 1>so there wasn't anything creepy going on. But Michale and

0:26:17.080 --> 0:26:20.040
<v Speaker 1>his group decided that users didn't need to see all

0:26:20.080 --> 0:26:23.000
<v Speaker 1>the extra information. They don't need to know where a

0:26:23.080 --> 0:26:27.040
<v Speaker 1>file is on a network. They don't care. They don't

0:26:27.119 --> 0:26:29.679
<v Speaker 1>care if the file they want is on computer A

0:26:30.119 --> 0:26:33.240
<v Speaker 1>or computer B. They just want access to that file.

0:26:33.640 --> 0:26:37.640
<v Speaker 1>So they decided that all of that excess information would

0:26:37.680 --> 0:26:40.200
<v Speaker 1>be invisible to the user. It would still be there

0:26:40.200 --> 0:26:42.560
<v Speaker 1>for the servers because the servers would need to know

0:26:43.320 --> 0:26:45.960
<v Speaker 1>where everything was in order to direct users to the

0:26:46.040 --> 0:26:49.640
<v Speaker 1>right location, But to the users themselves, they don't care,

0:26:50.119 --> 0:26:53.480
<v Speaker 1>So get rid of it, and UH ended up being

0:26:53.640 --> 0:26:56.960
<v Speaker 1>a much more elegant system that way. So let's say

0:26:57.000 --> 0:27:00.679
<v Speaker 1>you've blogged into a college campus Gopher server, because the

0:27:00.680 --> 0:27:03.480
<v Speaker 1>tool was originally developed for colleges, So what would you

0:27:03.480 --> 0:27:07.080
<v Speaker 1>actually see if you did this, well, you'd start off

0:27:07.080 --> 0:27:09.359
<v Speaker 1>with a menu of options. It's kind of like a

0:27:09.400 --> 0:27:11.960
<v Speaker 1>table of contents, and that would allow you to explore

0:27:12.040 --> 0:27:16.120
<v Speaker 1>different areas of the Gopher verse more thoroughly. A typical

0:27:16.240 --> 0:27:19.200
<v Speaker 1>top level menu might include and by the way, I'm

0:27:19.240 --> 0:27:22.880
<v Speaker 1>taking this largely from a request for comments that Michale

0:27:22.920 --> 0:27:26.800
<v Speaker 1>and his group created in order to discuss what Gopher is,

0:27:26.840 --> 0:27:29.919
<v Speaker 1>what it was meant for, and how it works. The

0:27:29.960 --> 0:27:33.399
<v Speaker 1>first item might be something like about Internet Gopher, and

0:27:33.440 --> 0:27:36.080
<v Speaker 1>it would literally just be that little phrase, and if

0:27:36.119 --> 0:27:39.159
<v Speaker 1>you selected that one, it would open up something that

0:27:39.200 --> 0:27:42.560
<v Speaker 1>would allow you to learn more about Internet Gopher. It

0:27:42.560 --> 0:27:44.480
<v Speaker 1>would pull the files that could tell you about the

0:27:44.600 --> 0:27:47.199
<v Speaker 1>versions and Gopher in use and how best to navigate it.

0:27:47.960 --> 0:27:51.480
<v Speaker 1>It may even tell you about the site administrator. And

0:27:51.600 --> 0:27:54.800
<v Speaker 1>in fact, in that original request for comments, they suggested

0:27:54.840 --> 0:27:59.720
<v Speaker 1>that every administrator for a Gopher server include his or

0:27:59.760 --> 0:28:03.800
<v Speaker 1>her name, email address, and phone number so that you

0:28:03.840 --> 0:28:08.160
<v Speaker 1>could get in contact with them should something go wrong. Yikes.

0:28:09.040 --> 0:28:11.840
<v Speaker 1>Obviously this was in the days when very few people,

0:28:12.440 --> 0:28:16.160
<v Speaker 1>comparatively speaking, we're using an Internet tool. Because you could

0:28:16.200 --> 0:28:20.200
<v Speaker 1>just imagine how much you know traffic you would get

0:28:20.680 --> 0:28:23.640
<v Speaker 1>from various emails and phone numbers. If you just put

0:28:23.680 --> 0:28:26.800
<v Speaker 1>your actual address out on a major website, that would

0:28:26.800 --> 0:28:32.800
<v Speaker 1>be tough. The next UH element on this Gopher list

0:28:32.880 --> 0:28:35.920
<v Speaker 1>might be something like around the campus, and that could

0:28:35.960 --> 0:28:39.480
<v Speaker 1>include more directories that give you links to files about

0:28:39.520 --> 0:28:42.720
<v Speaker 1>various areas of campus. You might get sub menus of

0:28:42.800 --> 0:28:47.280
<v Speaker 1>different options. For example, at University of Georgia, if I

0:28:47.320 --> 0:28:49.840
<v Speaker 1>saw around the campus on a Gopher site and I

0:28:49.880 --> 0:28:52.360
<v Speaker 1>clicked on that, it might take me to a couple

0:28:52.400 --> 0:28:55.400
<v Speaker 1>of different sub menus, one for North campus and one

0:28:55.520 --> 0:28:58.200
<v Speaker 1>for South campus, because the University of Georgia, at least

0:28:58.240 --> 0:29:01.360
<v Speaker 1>at the time when I was attending it was roughly

0:29:01.400 --> 0:29:05.920
<v Speaker 1>divided into North and South campuses. Another option might say courses,

0:29:06.040 --> 0:29:09.280
<v Speaker 1>schedules and calendars, which would obviously take you to information

0:29:09.320 --> 0:29:12.360
<v Speaker 1>about the classes offered by that college and when they happen,

0:29:12.400 --> 0:29:14.440
<v Speaker 1>as well as a list of campus events throughout the year,

0:29:14.800 --> 0:29:16.520
<v Speaker 1>and so on and so forth. Those are just the

0:29:16.600 --> 0:29:19.120
<v Speaker 1>kind of basic table of content stuff you wuld see,

0:29:19.120 --> 0:29:23.320
<v Speaker 1>and again it's all text based. Typically the options on

0:29:23.360 --> 0:29:25.600
<v Speaker 1>any list, we have indicators to let you know if

0:29:25.600 --> 0:29:28.400
<v Speaker 1>you were looking at the name of a file or

0:29:28.480 --> 0:29:31.440
<v Speaker 1>if you were looking at the name of another directory.

0:29:31.520 --> 0:29:35.240
<v Speaker 1>So again, in an example given from that RFC paper

0:29:35.320 --> 0:29:39.120
<v Speaker 1>that was written back in nineteen, they the group showed

0:29:39.160 --> 0:29:42.800
<v Speaker 1>directories as being followed by an ellipses and files were not.

0:29:43.360 --> 0:29:46.920
<v Speaker 1>So if it said campus schedule with no ellipses, then

0:29:46.960 --> 0:29:49.120
<v Speaker 1>you knew that clicking on that would give you a

0:29:49.160 --> 0:29:52.360
<v Speaker 1>file with the schedule on it if you chose that option.

0:29:52.680 --> 0:29:55.160
<v Speaker 1>But if it if you were looking at a list

0:29:55.200 --> 0:29:58.959
<v Speaker 1>that said college activities dot dot dot, you knew that

0:29:59.000 --> 0:30:02.240
<v Speaker 1>the dot dot dot at ellipses indicated that it was

0:30:02.440 --> 0:30:05.400
<v Speaker 1>a link to another directory. So if you clicked on

0:30:05.480 --> 0:30:09.920
<v Speaker 1>college activities, you would get another menu that would subdivide

0:30:10.000 --> 0:30:14.520
<v Speaker 1>up college activities. Maybe it would be sports, after school activities,

0:30:14.880 --> 0:30:20.120
<v Speaker 1>it might be extracurricular student groups, that kind of thing. Now,

0:30:20.160 --> 0:30:25.080
<v Speaker 1>Gopher's design allows other servers to interact with a top

0:30:25.200 --> 0:30:27.440
<v Speaker 1>level servers, so it didn't have to just be a

0:30:27.480 --> 0:30:30.240
<v Speaker 1>single computer running all of this information. In fact, that

0:30:30.320 --> 0:30:32.520
<v Speaker 1>was beside the point. The The whole purpose of this

0:30:32.920 --> 0:30:36.320
<v Speaker 1>was to allow multiple servers to connect with each other

0:30:36.760 --> 0:30:41.000
<v Speaker 1>and create an an UH overall strategy for navigation to

0:30:41.080 --> 0:30:46.080
<v Speaker 1>allow students or other users to learn more information. So

0:30:46.160 --> 0:30:50.360
<v Speaker 1>you could have say the computer science department server registered

0:30:50.520 --> 0:30:53.959
<v Speaker 1>under a top level option for the entire university, and

0:30:54.000 --> 0:30:56.600
<v Speaker 1>the English department could have its own server, and the

0:30:56.640 --> 0:30:58.880
<v Speaker 1>Math department could have its own server, and so on

0:30:58.920 --> 0:31:02.400
<v Speaker 1>and so on. So each departmental server would further point

0:31:02.440 --> 0:31:05.720
<v Speaker 1>down the chain to specific files relevant to that department.

0:31:06.160 --> 0:31:09.560
<v Speaker 1>And Gopher also included the ability to stack, meaning that

0:31:09.600 --> 0:31:12.200
<v Speaker 1>you could actually retrace your steps, which is kind of

0:31:12.200 --> 0:31:15.120
<v Speaker 1>like hitting the backbar or the back button rather on

0:31:15.200 --> 0:31:18.040
<v Speaker 1>a browser. So if you went down one path and

0:31:18.120 --> 0:31:20.360
<v Speaker 1>then decided, hey, I need to see something else that

0:31:20.440 --> 0:31:23.280
<v Speaker 1>was further back in my browsing, you could back up

0:31:23.320 --> 0:31:26.560
<v Speaker 1>the pathway until you got to that specific fork and

0:31:26.600 --> 0:31:29.320
<v Speaker 1>then take the other fork. And that was actually pretty

0:31:29.360 --> 0:31:31.760
<v Speaker 1>innovative in the early nineties. It wasn't like it was,

0:31:32.240 --> 0:31:34.680
<v Speaker 1>you know, something that they were copying from other people.

0:31:36.040 --> 0:31:39.560
<v Speaker 1>Unlike today's websites. The information on Gopher pages tended to

0:31:39.600 --> 0:31:43.120
<v Speaker 1>remain fairly static, which actually was also a huge help

0:31:43.160 --> 0:31:45.560
<v Speaker 1>for Gopher space. You didn't have to update things quite

0:31:45.560 --> 0:31:48.800
<v Speaker 1>so frequently. Occasionally you might need to update a file,

0:31:49.040 --> 0:31:51.120
<v Speaker 1>or you might need to add a file to a server,

0:31:51.640 --> 0:31:54.040
<v Speaker 1>but that didn't happen at the frequency we see today

0:31:54.040 --> 0:31:56.240
<v Speaker 1>On the web, there weren't a lot of dynamic pages

0:31:56.280 --> 0:31:59.080
<v Speaker 1>out there. It was important for Gopher to be able

0:31:59.080 --> 0:32:01.840
<v Speaker 1>to adapt to change is and evolving conditions, So the

0:32:01.880 --> 0:32:05.320
<v Speaker 1>team designed a system that it would allow them to

0:32:05.600 --> 0:32:08.920
<v Speaker 1>update files and path names in pieces, so that you

0:32:08.960 --> 0:32:10.920
<v Speaker 1>didn't have to do a full update of the whole

0:32:10.960 --> 0:32:14.640
<v Speaker 1>system regularly. You could just focus on whichever sections had

0:32:14.720 --> 0:32:17.920
<v Speaker 1>new information and just update those bits. Everything else could

0:32:17.920 --> 0:32:20.880
<v Speaker 1>remain the same. That sped everything else up, Like if

0:32:20.920 --> 0:32:24.000
<v Speaker 1>you are only making changes to two percent of your network,

0:32:24.520 --> 0:32:28.240
<v Speaker 1>then there's no reason to update all They could save

0:32:28.320 --> 0:32:32.280
<v Speaker 1>time by just updating that two They also made another

0:32:32.440 --> 0:32:35.680
<v Speaker 1>very clever choice. They recommended that all top level servers

0:32:36.000 --> 0:32:39.080
<v Speaker 1>have a clone and that way, if one server were

0:32:39.120 --> 0:32:41.760
<v Speaker 1>to fail for whatever reason, another one could take over

0:32:41.800 --> 0:32:45.040
<v Speaker 1>the job. Also, if you had a really busy network,

0:32:45.080 --> 0:32:47.800
<v Speaker 1>you could have both servers acting at the same time,

0:32:47.880 --> 0:32:51.000
<v Speaker 1>sharing the load. So some users are using server A,

0:32:51.200 --> 0:32:53.480
<v Speaker 1>some users are using server B, but both of them

0:32:53.480 --> 0:32:57.680
<v Speaker 1>are identical. They have complete navigational tools to go through

0:32:57.680 --> 0:33:01.120
<v Speaker 1>the whole network, and so it doesn't really matter which

0:33:01.120 --> 0:33:02.920
<v Speaker 1>one you land on as a user, it's going to

0:33:02.960 --> 0:33:05.960
<v Speaker 1>be the same experience. And since most of the files

0:33:05.960 --> 0:33:09.480
<v Speaker 1>remain static. You didn't really have to worry about the

0:33:09.560 --> 0:33:12.520
<v Speaker 1>two top level servers getting out of sync. They would

0:33:12.560 --> 0:33:15.240
<v Speaker 1>be pretty much ready to go all the time. I mean,

0:33:15.280 --> 0:33:17.920
<v Speaker 1>occasionally you don't have to update at least parts of

0:33:17.920 --> 0:33:21.520
<v Speaker 1>the system. But it was pretty manageable, especially in those

0:33:21.560 --> 0:33:26.240
<v Speaker 1>early days before things got super complicated now. The team

0:33:26.280 --> 0:33:29.120
<v Speaker 1>also suggested that all registered servers in a system have

0:33:29.200 --> 0:33:31.840
<v Speaker 1>an alias that the Gopher A client could use to

0:33:31.960 --> 0:33:35.280
<v Speaker 1>locate those servers, and this way the client would know

0:33:35.400 --> 0:33:39.480
<v Speaker 1>each registered server by its alias, rather than the server's

0:33:39.520 --> 0:33:43.440
<v Speaker 1>primary name, which was more or less unchangeable. Now why

0:33:43.480 --> 0:33:45.400
<v Speaker 1>would you want to have an alias, Well, the reason

0:33:46.000 --> 0:33:50.200
<v Speaker 1>was to improve portability. So if as an administrator you

0:33:50.520 --> 0:33:53.360
<v Speaker 1>decided that you needed to move files from one server

0:33:53.520 --> 0:33:56.800
<v Speaker 1>to another server, that could be a huge headache because

0:33:56.920 --> 0:33:59.480
<v Speaker 1>we mean having to update all these different path names

0:33:59.640 --> 0:34:04.320
<v Speaker 1>so that your top level machine knows where everything is now, right,

0:34:04.720 --> 0:34:07.720
<v Speaker 1>if if you had to say, oh, well, instead of

0:34:07.720 --> 0:34:09.440
<v Speaker 1>being on this machine, it needs to be on this machine.

0:34:09.440 --> 0:34:12.160
<v Speaker 1>I've got to update all these different files and these

0:34:12.200 --> 0:34:15.239
<v Speaker 1>different path names so that people navigating the system will

0:34:15.280 --> 0:34:17.760
<v Speaker 1>get to where they need to go. Using the alias

0:34:17.840 --> 0:34:20.120
<v Speaker 1>was actually a very clever idea to get around this.

0:34:20.239 --> 0:34:23.200
<v Speaker 1>Clients wouldn't require an update or any alteration. They don't

0:34:23.200 --> 0:34:25.640
<v Speaker 1>need to know that computer one, which used to be

0:34:25.680 --> 0:34:28.799
<v Speaker 1>known as Bob, has gone offline and now computer two

0:34:28.880 --> 0:34:32.239
<v Speaker 1>has all of Computer one stuff. Instead, the administrator would

0:34:32.280 --> 0:34:35.000
<v Speaker 1>just name computer to Bob. They would give computer to

0:34:35.640 --> 0:34:39.279
<v Speaker 1>the alias of the old computer one, and then the

0:34:39.280 --> 0:34:42.640
<v Speaker 1>clients would just end up going to computer two because

0:34:42.680 --> 0:34:44.959
<v Speaker 1>they're not looking at one or two. They're just looking

0:34:45.000 --> 0:34:47.680
<v Speaker 1>for Bob. And if computer two is Bob, now that's

0:34:47.680 --> 0:34:50.799
<v Speaker 1>where they go. It was an elegant solution, particularly once

0:34:50.840 --> 0:34:54.880
<v Speaker 1>network's got really complex. Now, the brilliant thing behind Gopher

0:34:55.040 --> 0:34:57.160
<v Speaker 1>is that the end user didn't need to know any

0:34:57.239 --> 0:35:00.680
<v Speaker 1>of this. That didn't matter to them. They they just

0:35:00.760 --> 0:35:04.319
<v Speaker 1>needed to have a simple interface to interact with. They

0:35:04.440 --> 0:35:06.560
<v Speaker 1>needed to be able to see the choices they wanted

0:35:06.719 --> 0:35:09.520
<v Speaker 1>to make a choice and follow that pathway, and it

0:35:09.560 --> 0:35:11.480
<v Speaker 1>was very similar to kind of a choose your own

0:35:11.520 --> 0:35:14.920
<v Speaker 1>adventure book. As long as the directories were clear and

0:35:15.239 --> 0:35:18.040
<v Speaker 1>organization of the information made sense, it was easy to use.

0:35:18.560 --> 0:35:22.920
<v Speaker 1>And then there was the killer app, the ability to search.

0:35:24.000 --> 0:35:26.799
<v Speaker 1>So so to search on Gopher you had to set

0:35:26.880 --> 0:35:30.960
<v Speaker 1>up an actual go Gopher search server. It would be

0:35:31.160 --> 0:35:34.960
<v Speaker 1>its own purpose was to to essentially have all the

0:35:35.040 --> 0:35:39.160
<v Speaker 1>different files that are connected to that particular Gopher space

0:35:39.840 --> 0:35:44.000
<v Speaker 1>UH indexed, and these servers could perform full text searches

0:35:44.080 --> 0:35:47.080
<v Speaker 1>in all the files on all the registered servers in

0:35:47.200 --> 0:35:52.360
<v Speaker 1>that Gopher space. So, by default, search queries assumed that

0:35:52.480 --> 0:35:55.760
<v Speaker 1>if you were to type in multiple words, the spaces

0:35:55.800 --> 0:36:00.160
<v Speaker 1>between those words were an and in boolean logic. In

0:36:00.200 --> 0:36:04.120
<v Speaker 1>other words, if you typed in Spanish dance in the

0:36:04.200 --> 0:36:08.400
<v Speaker 1>query field, so you just have Spanish space dance, the

0:36:08.440 --> 0:36:11.439
<v Speaker 1>search would actually assume what you are saying is give

0:36:11.520 --> 0:36:15.239
<v Speaker 1>me all the files that have both the words Spanish

0:36:15.520 --> 0:36:19.880
<v Speaker 1>and dance in them. Files that didn't meet that criteria

0:36:19.920 --> 0:36:22.319
<v Speaker 1>would not be returned. So if there was a file

0:36:22.360 --> 0:36:24.239
<v Speaker 1>that had the word Spanish in it, but dance never

0:36:24.320 --> 0:36:26.719
<v Speaker 1>appeared in that file, you wouldn't get it. Same thing

0:36:26.760 --> 0:36:29.239
<v Speaker 1>if it were dance but Spanish was never there, you

0:36:29.239 --> 0:36:32.720
<v Speaker 1>wouldn't get it. Now, this structure only worked with servers

0:36:32.760 --> 0:36:35.920
<v Speaker 1>that were registered to the same system, So these Gopher

0:36:35.960 --> 0:36:39.319
<v Speaker 1>spaces were kind of like islands in the ocean. You

0:36:39.320 --> 0:36:43.360
<v Speaker 1>could connect Gopher spaces together. You could end up registering

0:36:43.360 --> 0:36:46.120
<v Speaker 1>the servers of different Gopher spaces so that they made

0:36:46.200 --> 0:36:50.120
<v Speaker 1>larger networks, and that would allow users to navigate from

0:36:50.160 --> 0:36:53.279
<v Speaker 1>one system of servers to another. But that wasn't necessarily

0:36:53.280 --> 0:36:55.720
<v Speaker 1>the aim of Gopher. So if I did a search

0:36:55.800 --> 0:36:59.520
<v Speaker 1>on a Gopher space for a specific term, like again

0:36:59.560 --> 0:37:01.960
<v Speaker 1>at you g A, if you g A was its

0:37:02.040 --> 0:37:07.520
<v Speaker 1>own contained system, its own network of servers throughout the campus,

0:37:07.520 --> 0:37:11.560
<v Speaker 1>but none of those had connections to other campuses. I'm

0:37:11.560 --> 0:37:14.360
<v Speaker 1>not gonna find files that are stored at the University

0:37:14.360 --> 0:37:19.040
<v Speaker 1>of Minnesota because the two systems are distinct. I'll only

0:37:19.080 --> 0:37:21.960
<v Speaker 1>find files that are on u g A system. So

0:37:22.239 --> 0:37:24.000
<v Speaker 1>it was a little different from the World Wide Web.

0:37:24.040 --> 0:37:29.000
<v Speaker 1>It had these uh again, these kind of islands of information. Well,

0:37:29.040 --> 0:37:32.439
<v Speaker 1>I've got some more to talk about, including the rise

0:37:32.480 --> 0:37:34.960
<v Speaker 1>and fall of Gopher itself, but before I get into

0:37:35.000 --> 0:37:38.560
<v Speaker 1>that section, let's take another quick break to thank our sponsor.

0:37:47.239 --> 0:37:50.440
<v Speaker 1>All Right, we're talking about the nineteen nineties. Now, the

0:37:50.440 --> 0:37:55.759
<v Speaker 1>Internet was still pretty darn young back then, Especially an

0:37:55.800 --> 0:37:59.720
<v Speaker 1>Internet that was accessible to people beyond the computer science

0:37:59.760 --> 0:38:02.480
<v Speaker 1>field old, and no one was really sure what it

0:38:02.480 --> 0:38:07.560
<v Speaker 1>would evolve into. In those early nineties, in the Internet

0:38:07.600 --> 0:38:10.680
<v Speaker 1>engineering Task Force or i E. T F held a

0:38:10.719 --> 0:38:14.480
<v Speaker 1>meeting in San Diego and they invited Michael and also

0:38:14.600 --> 0:38:17.960
<v Speaker 1>Ankle Saria to come out and to speak to the

0:38:18.040 --> 0:38:20.320
<v Speaker 1>group as a whole about the work they were doing

0:38:20.680 --> 0:38:24.680
<v Speaker 1>with Gopher now. The meeting included a whole bunch of

0:38:24.719 --> 0:38:28.920
<v Speaker 1>different important figures in Internet history, including Tim burners Lee,

0:38:28.960 --> 0:38:31.279
<v Speaker 1>who is the guy who pioneered the Worldwide Web. He

0:38:31.360 --> 0:38:34.080
<v Speaker 1>built the first web page at CERN, that's the same

0:38:34.160 --> 0:38:38.000
<v Speaker 1>organization that runs the Large Hadron Collider. So Burner's Lee

0:38:38.120 --> 0:38:40.840
<v Speaker 1>was there to talk about his approach to Internet navigation

0:38:41.160 --> 0:38:44.960
<v Speaker 1>using what he called the web and hypertext, which I'm

0:38:45.000 --> 0:38:48.480
<v Speaker 1>sure you're familiar with because that's what everybody uses today.

0:38:48.560 --> 0:38:51.120
<v Speaker 1>He also was very interested in trying to find a

0:38:51.120 --> 0:38:55.440
<v Speaker 1>way for the Web and Gopher to work together. Um,

0:38:55.480 --> 0:38:57.880
<v Speaker 1>the folks over at Gopher they were looking at burners

0:38:57.960 --> 0:39:00.800
<v Speaker 1>lee approach to navigation and they said, well, this doesn't

0:39:00.800 --> 0:39:04.600
<v Speaker 1>make any sense using hypertext of different words too to

0:39:04.800 --> 0:39:09.480
<v Speaker 1>leap to connected but distinct ideas. That's that makes an

0:39:09.560 --> 0:39:12.319
<v Speaker 1>organization impossible. It's like the opposite of what we're doing.

0:39:12.360 --> 0:39:16.440
<v Speaker 1>We're trying to create hierarchies of information and the Web

0:39:16.560 --> 0:39:19.200
<v Speaker 1>is is a web. It's all this interconnectivity. So they

0:39:19.239 --> 0:39:21.480
<v Speaker 1>never really got to work things out with burners Lee,

0:39:21.760 --> 0:39:25.320
<v Speaker 1>something that they said in retrospect perhaps was a mistake,

0:39:25.760 --> 0:39:27.920
<v Speaker 1>but they didn't know that at the time. No one

0:39:28.040 --> 0:39:30.560
<v Speaker 1>was sure at the time whose approach was going to

0:39:30.600 --> 0:39:36.799
<v Speaker 1>work out best. So uh, it wasn't as a weird experience,

0:39:36.880 --> 0:39:39.640
<v Speaker 1>right And besides, the web programmers learned about other means

0:39:39.680 --> 0:39:42.640
<v Speaker 1>of accessing and navigating the Internet. There were other ones

0:39:42.680 --> 0:39:46.239
<v Speaker 1>like a Prospero and waste or w A I s

0:39:46.800 --> 0:39:50.959
<v Speaker 1>so be. Clifford Neumann was the pioneer behind Prospero, which

0:39:51.080 --> 0:39:54.319
<v Speaker 1>was meant to create personalized directories of the Internet in

0:39:54.400 --> 0:39:57.759
<v Speaker 1>response to user queries so they could organize information and

0:39:57.800 --> 0:40:01.280
<v Speaker 1>allow users to search grouping resources together so that users

0:40:01.280 --> 0:40:03.799
<v Speaker 1>didn't have to go down several different individual paths and

0:40:03.840 --> 0:40:07.200
<v Speaker 1>just hope for the best. Ways stood for Wide Area

0:40:07.360 --> 0:40:11.960
<v Speaker 1>Information Server. It was a text searching system that could

0:40:12.000 --> 0:40:15.239
<v Speaker 1>look for specific strings of text on files on the server,

0:40:15.600 --> 0:40:19.000
<v Speaker 1>retrieving any hits that it might find. And so it

0:40:19.120 --> 0:40:23.239
<v Speaker 1>was also very different from the Gopher approach or the

0:40:23.280 --> 0:40:27.200
<v Speaker 1>Prospero approach. It was a pretty basic strategy to search

0:40:27.200 --> 0:40:32.360
<v Speaker 1>and retrieval. So at this gathering, Michael discovered that people

0:40:32.440 --> 0:40:35.480
<v Speaker 1>already knew a lot about Gopher. He thought he was

0:40:35.520 --> 0:40:37.719
<v Speaker 1>going out there to tell people about a system that

0:40:37.719 --> 0:40:39.600
<v Speaker 1>he had developed and kind of launched the year before,

0:40:39.640 --> 0:40:42.319
<v Speaker 1>but everyone there seemed to really be familiar with it.

0:40:43.000 --> 0:40:44.960
<v Speaker 1>A lot of them were running their own Gopher servers.

0:40:45.840 --> 0:40:48.160
<v Speaker 1>They were very curious to hear more about the team

0:40:48.200 --> 0:40:51.839
<v Speaker 1>behind Gopher. The software had spread rapidly because of its

0:40:51.840 --> 0:40:59.400
<v Speaker 1>easy implementation and interface, and adoption was incredible. By Gophers,

0:40:59.520 --> 0:41:05.480
<v Speaker 1>traffic growth rate hit nine hundred nine seven percent. Now

0:41:05.560 --> 0:41:09.080
<v Speaker 1>that definitely sounds astronomical, but keep in mind percentages are tricksy.

0:41:10.000 --> 0:41:12.640
<v Speaker 1>For example, if I sold one newspaper in a week,

0:41:13.160 --> 0:41:16.359
<v Speaker 1>and then the following week I sold ten newspapers, I'd

0:41:16.400 --> 0:41:22.480
<v Speaker 1>have a growth sales rate of nine. So while growth

0:41:22.560 --> 0:41:27.319
<v Speaker 1>is spectacular, we're not talking about enormous numbers. By April,

0:41:28.239 --> 0:41:30.359
<v Speaker 1>the number of Gopher servers, or at least the ones

0:41:30.480 --> 0:41:33.600
<v Speaker 1>that the team was aware of, had hit just under

0:41:33.719 --> 0:41:37.879
<v Speaker 1>seven thousand servers. But Goverer did have a big head

0:41:37.920 --> 0:41:40.560
<v Speaker 1>start on the web. It took the web a bit

0:41:40.640 --> 0:41:43.880
<v Speaker 1>longer to catch on because you had to have the

0:41:43.920 --> 0:41:47.680
<v Speaker 1>development of the clients that people could use to browse

0:41:47.680 --> 0:41:49.400
<v Speaker 1>the web, and you know, you have to have the

0:41:49.400 --> 0:41:53.200
<v Speaker 1>development of the actual software people were using to create

0:41:53.960 --> 0:41:58.040
<v Speaker 1>web servers. Gover was popular enough for the team to

0:41:58.040 --> 0:42:01.719
<v Speaker 1>start to hold conferences of their own Gopher cons They

0:42:01.760 --> 0:42:05.040
<v Speaker 1>even created t shirts and merchandise with the Gopher logo

0:42:05.120 --> 0:42:07.680
<v Speaker 1>on it. Colleges and companies were adopting it. Even the

0:42:07.680 --> 0:42:10.840
<v Speaker 1>White House launched a Gopher site back in those days.

0:42:11.680 --> 0:42:14.600
<v Speaker 1>But hot on the heels of Gopher was the Worldwide

0:42:14.600 --> 0:42:17.719
<v Speaker 1>Web concept, which had its own compelling methods of navigating

0:42:17.719 --> 0:42:22.040
<v Speaker 1>and present presenting information. Even though it seemed nonintuitive to

0:42:22.080 --> 0:42:24.680
<v Speaker 1>the Gopher group, it turned out that people really like it.

0:42:24.840 --> 0:42:26.960
<v Speaker 1>Anyone who spent a lot of time on a site

0:42:27.000 --> 0:42:30.720
<v Speaker 1>like Wikipedia dancing from one topic to another, just diving

0:42:30.760 --> 0:42:36.239
<v Speaker 1>down those rabbit holes, they know what I'm talking about. Someone, ironically,

0:42:36.239 --> 0:42:38.440
<v Speaker 1>I would say Tim burners Lee actually was able to

0:42:38.480 --> 0:42:42.520
<v Speaker 1>spread the word about the Worldwide Web using a Gopher site.

0:42:42.880 --> 0:42:44.759
<v Speaker 1>That's how people were able to get the files they

0:42:44.760 --> 0:42:48.319
<v Speaker 1>needed to create web servers and web clients, as well

0:42:48.320 --> 0:42:51.200
<v Speaker 1>as find more information about the web itself. And the

0:42:51.200 --> 0:42:53.480
<v Speaker 1>Gopher team was running into problems with the University of

0:42:53.480 --> 0:42:58.200
<v Speaker 1>Minnesota as well. The administration was always something of a

0:42:58.239 --> 0:43:02.520
<v Speaker 1>reluctant partner with this group. At first, the college had

0:43:02.560 --> 0:43:05.319
<v Speaker 1>been a roadblock. You remember I mentioned they refused to

0:43:05.360 --> 0:43:08.480
<v Speaker 1>implement Gopher in those early days. They only did it

0:43:08.600 --> 0:43:11.799
<v Speaker 1>after it had already been implemented at other college campuses.

0:43:12.360 --> 0:43:14.759
<v Speaker 1>Members of the Gopher development team, we're looking at the

0:43:14.760 --> 0:43:18.280
<v Speaker 1>possibility of creating a private entity, like a spinoff company,

0:43:18.360 --> 0:43:21.480
<v Speaker 1>to create Gopher as a commercial product. But back in

0:43:21.520 --> 0:43:23.960
<v Speaker 1>those days, the Internet was still largely the domain of

0:43:24.120 --> 0:43:27.560
<v Speaker 1>universities and government offices. In fact, a lot of people

0:43:27.640 --> 0:43:30.719
<v Speaker 1>looked at the possibility of private enterprise getting involved with

0:43:30.719 --> 0:43:33.520
<v Speaker 1>the Internet as something they did not want. A lot

0:43:33.600 --> 0:43:37.040
<v Speaker 1>of people kind of compared it to public broadcasting. They said,

0:43:37.560 --> 0:43:41.320
<v Speaker 1>the Internet should remain like PBS and all these companies.

0:43:41.320 --> 0:43:44.160
<v Speaker 1>That's like ads supported TV. We don't want that here.

0:43:44.600 --> 0:43:47.160
<v Speaker 1>So there was a lot of resistance even among the

0:43:47.160 --> 0:43:50.160
<v Speaker 1>group themselves. Not everybody was in agreement that they should

0:43:50.160 --> 0:43:53.799
<v Speaker 1>go the privatized route. And remember the dot com era

0:43:53.880 --> 0:43:56.680
<v Speaker 1>had not yet begun at this point. Then, the University

0:43:56.680 --> 0:44:01.120
<v Speaker 1>of Minnesota instituted a licensing policy for Gopher. They said

0:44:01.120 --> 0:44:04.880
<v Speaker 1>that any organization out there that was operating for profit

0:44:05.360 --> 0:44:08.080
<v Speaker 1>would need to pay a license fee to the University

0:44:08.080 --> 0:44:12.680
<v Speaker 1>of Minnesota in order to use Gopher, and the cost

0:44:12.840 --> 0:44:15.880
<v Speaker 1>of this license fee was sliding. It depended upon the

0:44:15.960 --> 0:44:20.440
<v Speaker 1>size and type of business in question, and the university

0:44:20.480 --> 0:44:22.440
<v Speaker 1>was looking to keep all that money for themselves. Really

0:44:22.719 --> 0:44:25.319
<v Speaker 1>I Meanwhile, the development team found that the university still

0:44:25.320 --> 0:44:28.200
<v Speaker 1>wanted them to do their regular desk jobs as programmers

0:44:28.200 --> 0:44:31.840
<v Speaker 1>for the University of Minnesota, so they were supposed to

0:44:31.880 --> 0:44:35.480
<v Speaker 1>both develop Gopher and work on their normal jobs, and

0:44:35.520 --> 0:44:38.279
<v Speaker 1>they weren't really given any more resources to do this.

0:44:38.320 --> 0:44:40.879
<v Speaker 1>It was still just the six of them, so their

0:44:40.920 --> 0:44:45.400
<v Speaker 1>morale began to decline. And then they had the university

0:44:45.480 --> 0:44:48.319
<v Speaker 1>expecting them to do these two jobs at once, as

0:44:48.360 --> 0:44:51.600
<v Speaker 1>well as having an entire population of users out there

0:44:51.920 --> 0:44:55.040
<v Speaker 1>who are angry about this licensing policy that the university

0:44:55.080 --> 0:44:57.160
<v Speaker 1>has had put in place, and and the team was

0:44:57.239 --> 0:45:00.000
<v Speaker 1>kind of caught in the middle. And at one point

0:45:00.000 --> 0:45:04.600
<v Speaker 1>the university even considered outsourcing Gopher to other programmers, essentially

0:45:04.600 --> 0:45:07.919
<v Speaker 1>taking it away from the team that created it and

0:45:07.960 --> 0:45:11.560
<v Speaker 1>giving it to someone else. Meanwhile, the web was just

0:45:11.719 --> 0:45:16.520
<v Speaker 1>getting started. Remember that I said Gopher grew by back

0:45:16.520 --> 0:45:22.160
<v Speaker 1>in well. The web also grew that year by three

0:45:22.239 --> 0:45:27.759
<v Speaker 1>hundred forty one thousand, six hundred thirty four percent. It

0:45:27.840 --> 0:45:31.719
<v Speaker 1>was also the first year of the commercial web browser, Mosaic.

0:45:32.160 --> 0:45:35.840
<v Speaker 1>Mosaic proved that you could go commercial on the Internet.

0:45:35.880 --> 0:45:40.000
<v Speaker 1>So while the Gopher group was reluctant the website, things

0:45:40.000 --> 0:45:42.879
<v Speaker 1>were going in a very different direction, and the web

0:45:42.960 --> 0:45:46.160
<v Speaker 1>was incorporating stuff that Gopher couldn't really support, like images

0:45:46.160 --> 0:45:49.319
<v Speaker 1>on web pages. Not first, an image on a web

0:45:49.320 --> 0:45:52.480
<v Speaker 1>page was not a huge asset because it took forever

0:45:52.760 --> 0:45:55.880
<v Speaker 1>to render a picture on a screen, and it caused

0:45:55.960 --> 0:45:59.960
<v Speaker 1>some people to say that WWW actually stood for world

0:46:00.000 --> 0:46:03.359
<v Speaker 1>Old Wide Weight. But modem speeds were on the rise

0:46:03.400 --> 0:46:06.200
<v Speaker 1>as well, and that helped reduce some of that loading time,

0:46:07.080 --> 0:46:10.320
<v Speaker 1>and some of the Gopher team rather sardonic Lee said,

0:46:10.880 --> 0:46:13.600
<v Speaker 1>we knew the game was up when we realized that

0:46:13.640 --> 0:46:17.480
<v Speaker 1>people could get naked photos on their computer screens using

0:46:17.480 --> 0:46:19.759
<v Speaker 1>the Worldwide Web, something that you could not be done

0:46:19.800 --> 0:46:22.840
<v Speaker 1>with Gopher, and they were being pretty serious about it

0:46:22.920 --> 0:46:27.880
<v Speaker 1>at the time. By the spring of Web traffic exceeded

0:46:28.080 --> 0:46:32.160
<v Speaker 1>Gopher traffic, so even though Gopher had a headstart, Web

0:46:32.160 --> 0:46:36.520
<v Speaker 1>had caught up and passed Gopher traffic. Companies were discovering

0:46:36.600 --> 0:46:40.320
<v Speaker 1>that there were some possibilities on the web, though really

0:46:40.400 --> 0:46:42.840
<v Speaker 1>web commerce was still a couple of years away from

0:46:42.880 --> 0:46:47.080
<v Speaker 1>really taking off, but it offered opportunities beyond just sharing information,

0:46:47.080 --> 0:46:50.200
<v Speaker 1>which was really the only thing Gopher was good for.

0:46:50.280 --> 0:46:53.919
<v Speaker 1>It was really sharing information and distributing files. It wasn't

0:46:54.320 --> 0:46:57.080
<v Speaker 1>meant to do really more than that. So the web

0:46:57.120 --> 0:47:00.239
<v Speaker 1>had versatility on its side as well. And one of

0:47:00.280 --> 0:47:03.279
<v Speaker 1>the big things that helped drive the knife home and

0:47:03.320 --> 0:47:06.920
<v Speaker 1>Gopher had nothing to do with how people use the Internet.

0:47:07.440 --> 0:47:10.759
<v Speaker 1>It had to do with a scandal unrelated to anyone

0:47:10.960 --> 0:47:15.640
<v Speaker 1>on the Gopher team. Dr John Nigerian, a transplant surgeon

0:47:15.680 --> 0:47:20.280
<v Speaker 1>at the University of Minnesota, was accused of fraud, tax evasion,

0:47:20.320 --> 0:47:24.720
<v Speaker 1>and embezzlement. The charges led the National Institutes of Health,

0:47:24.800 --> 0:47:27.680
<v Speaker 1>which is a federal government office here in the United States,

0:47:27.680 --> 0:47:30.759
<v Speaker 1>to withdraw funding to the university, and that was a

0:47:30.800 --> 0:47:34.279
<v Speaker 1>serious blow to the school, so they went to emergency

0:47:34.360 --> 0:47:38.160
<v Speaker 1>mode to try and fix the situation. They as part

0:47:38.160 --> 0:47:41.439
<v Speaker 1>of that, asked the Gopher team to create a new

0:47:41.520 --> 0:47:45.800
<v Speaker 1>system to track accounts and file paperwork because a large

0:47:45.840 --> 0:47:50.400
<v Speaker 1>part of this accusation really dealt with the way paperwork

0:47:50.520 --> 0:47:54.799
<v Speaker 1>was failing to be filed on time. So the team

0:47:54.840 --> 0:47:58.640
<v Speaker 1>eventually developed a web based transaction program, which is also

0:47:58.719 --> 0:48:00.359
<v Speaker 1>kind of ironic when you think about that was a

0:48:00.360 --> 0:48:03.720
<v Speaker 1>web based approach. It was the world's first web based

0:48:03.760 --> 0:48:06.719
<v Speaker 1>transaction program. But it also meant that while they were

0:48:06.800 --> 0:48:10.440
<v Speaker 1>developing this, they could not continue working on Gopher because

0:48:10.440 --> 0:48:12.640
<v Speaker 1>they just didn't have the time to do it. So

0:48:12.760 --> 0:48:16.840
<v Speaker 1>by the time they finished the web based application, Gopher

0:48:16.920 --> 0:48:20.120
<v Speaker 1>was dead in the water, or I guess dead under

0:48:20.160 --> 0:48:22.759
<v Speaker 1>the ground, I suppose, if we want to stick with

0:48:22.800 --> 0:48:26.239
<v Speaker 1>the metaphor anyway, it's it's not really dead dead. It's

0:48:26.280 --> 0:48:29.600
<v Speaker 1>not entirely gone. There are still Gopher servers out there

0:48:30.160 --> 0:48:33.880
<v Speaker 1>if you know where to look. But as an evolving entity,

0:48:33.960 --> 0:48:37.920
<v Speaker 1>Gopher was essentially a thing of the past and at

0:48:37.960 --> 0:48:41.439
<v Speaker 1>some point, and no one's really sure, when someone took

0:48:41.520 --> 0:48:46.239
<v Speaker 1>the original Gophers server known as Mother Gopher offline. The

0:48:46.320 --> 0:48:49.200
<v Speaker 1>University of Minnesota supported it for several years after Gopher

0:48:49.239 --> 0:48:51.520
<v Speaker 1>had clearly lost the race to the web, but that

0:48:51.520 --> 0:48:54.640
<v Speaker 1>as no longer the case. As for Michael, he would

0:48:54.640 --> 0:48:57.960
<v Speaker 1>go on to join Duke University, where he still works today,

0:48:58.360 --> 0:49:00.120
<v Speaker 1>and other members of the team have gone on to

0:49:00.120 --> 0:49:02.560
<v Speaker 1>do other things. Some of them retired, some of them

0:49:02.600 --> 0:49:04.800
<v Speaker 1>while I was working for Google. One of them stayed

0:49:04.840 --> 0:49:09.160
<v Speaker 1>with the University of Minnesota, oh And Dr Nigerian, who

0:49:09.239 --> 0:49:13.399
<v Speaker 1>was accused of those crimes, was ultimately exonerated of those

0:49:13.400 --> 0:49:17.120
<v Speaker 1>accusations of fraud and embezzlement. The jury returned with a

0:49:17.239 --> 0:49:20.600
<v Speaker 1>verdict of not guilty. But by then the damage was

0:49:20.640 --> 0:49:23.200
<v Speaker 1>done in more ways than one Gopher it faded away

0:49:23.280 --> 0:49:26.120
<v Speaker 1>due to lack of support, and the university found itself

0:49:26.160 --> 0:49:29.360
<v Speaker 1>struggling to regain the trust of the n i H.

0:49:29.640 --> 0:49:34.120
<v Speaker 1>So that's the tragic story of the Gopher protocol, and

0:49:34.160 --> 0:49:36.799
<v Speaker 1>that's why we serve the web rather than burrow through

0:49:36.840 --> 0:49:39.759
<v Speaker 1>the Internet. I hope you guys enjoyed that look back

0:49:39.800 --> 0:49:42.359
<v Speaker 1>into the history of the Internet. If you have suggestions

0:49:42.360 --> 0:49:45.759
<v Speaker 1>for topics I should cover in future episodes, let me know.

0:49:46.000 --> 0:49:49.120
<v Speaker 1>Send me an email. My address is tech Stuff at

0:49:49.200 --> 0:49:51.719
<v Speaker 1>how stuff Works dot com, or you can drop me

0:49:51.760 --> 0:49:54.799
<v Speaker 1>a line on Facebook or Twitter. The show's handle at

0:49:54.800 --> 0:49:58.480
<v Speaker 1>both of those is tech Stuff hs W. And if

0:49:58.480 --> 0:50:01.680
<v Speaker 1>you want to watch me record a show live, and

0:50:01.760 --> 0:50:04.399
<v Speaker 1>that includes all the times I make mistakes, and go

0:50:04.520 --> 0:50:07.879
<v Speaker 1>back and do it again. You can follow me on

0:50:07.920 --> 0:50:13.080
<v Speaker 1>twitch dot tv. We're tech stuff. They're surprisingly enough, and

0:50:13.160 --> 0:50:17.200
<v Speaker 1>we will be streaming on Wednesdays and Fridays unless something

0:50:17.280 --> 0:50:21.359
<v Speaker 1>changes between now and then, which could happen. But that's

0:50:21.360 --> 0:50:24.120
<v Speaker 1>all for now, and I'll talk to you again and

0:50:24.280 --> 0:50:32.400
<v Speaker 1>really soon. For more on this and thousands of other topics,

0:50:32.640 --> 0:50:43.720
<v Speaker 1>is a stock works dot com