WEBVTT - TechStuff Classic: What was Gopher?

0:00:04.440 --> 0:00:12.479
<v Speaker 1>Welcome to tech Stuff, a production from iHeartRadio. Hey there,

0:00:12.480 --> 0:00:15.880
<v Speaker 1>and welcome to tech Stuff. I'm your host, Jonathan Strickland.

0:00:15.920 --> 0:00:19.520
<v Speaker 1>I'm an executive producer with iHeartRadio and how the tech

0:00:19.640 --> 0:00:24.279
<v Speaker 1>are you? It is time for a tech Stuff classics episode.

0:00:24.880 --> 0:00:28.639
<v Speaker 1>This episode is called What Was Gopher? And it originally

0:00:28.720 --> 0:00:35.640
<v Speaker 1>published on April nineteenth, twenty seventeen. Hope you enjoy and

0:00:35.720 --> 0:00:39.600
<v Speaker 1>you guys have been crushing at sending tons of suggestions

0:00:39.600 --> 0:00:41.560
<v Speaker 1>my way, and I just want to say I really

0:00:41.600 --> 0:00:44.479
<v Speaker 1>appreciate it. So remember, if you have a suggestion for

0:00:44.520 --> 0:00:46.920
<v Speaker 1>a topic I should cover, send me the message the

0:00:46.960 --> 0:00:51.080
<v Speaker 1>emails text stuff at hellstuffworks dot com. But this week's

0:00:51.159 --> 0:00:54.600
<v Speaker 1>listener mail episode comes to us from Ryan, who says,

0:00:55.000 --> 0:00:58.480
<v Speaker 1>please do an episode about the Gopher protocol, such a

0:00:58.520 --> 0:01:01.920
<v Speaker 1>different approach to utilize the Internet that no one knows today.

0:01:02.800 --> 0:01:06.240
<v Speaker 1>And so today we're gonna walk back in Internet history

0:01:06.360 --> 0:01:09.920
<v Speaker 1>and learn all about the Gopher protocol. But first it

0:01:10.000 --> 0:01:14.520
<v Speaker 1>kind of benefits us to remember what exactly the Internet is.

0:01:14.720 --> 0:01:17.800
<v Speaker 1>And trust me, this is important in the grand scheme

0:01:17.840 --> 0:01:20.640
<v Speaker 1>of things. But I'll be nice and high level and

0:01:20.680 --> 0:01:22.640
<v Speaker 1>brief about it, so when you get down to it,

0:01:23.040 --> 0:01:25.839
<v Speaker 1>the Internet is essentially just a bunch of computing devices

0:01:25.880 --> 0:01:28.280
<v Speaker 1>that are all connected to each other, and that's it. Really.

0:01:28.680 --> 0:01:31.240
<v Speaker 1>There's a lot of infrastructure there that allows this to happen,

0:01:31.280 --> 0:01:34.200
<v Speaker 1>but ultimately it's a bunch of computers that are talking

0:01:34.200 --> 0:01:37.119
<v Speaker 1>to each other. It's a network of networks using various

0:01:37.120 --> 0:01:40.920
<v Speaker 1>types of connections and protocols to send and receive communications.

0:01:41.800 --> 0:01:44.360
<v Speaker 1>But when you just break it down to its simplest

0:01:44.360 --> 0:01:49.320
<v Speaker 1>of terms, you're really talking about a bunch of interconnected machines. Now,

0:01:49.360 --> 0:01:54.840
<v Speaker 1>broadly speaking, we can classify most of these machines as

0:01:54.920 --> 0:01:59.240
<v Speaker 1>either servers or clients. Now there are other machines as well,

0:01:59.440 --> 0:02:02.920
<v Speaker 1>like route and switches and stuff, but I'm mostly talking

0:02:02.920 --> 0:02:05.760
<v Speaker 1>about the devices that are directly communicating with each other

0:02:05.880 --> 0:02:10.160
<v Speaker 1>rather than the ones that facilitate that communication. So as

0:02:10.160 --> 0:02:12.800
<v Speaker 1>a server, well, it does exactly what it sounds like.

0:02:12.840 --> 0:02:18.760
<v Speaker 1>It does. It serves information. Clients request information. So your

0:02:18.760 --> 0:02:21.679
<v Speaker 1>smartphone or your computer or your tablet that you use

0:02:21.760 --> 0:02:24.720
<v Speaker 1>to serf the Internet or read email or whatever it

0:02:24.800 --> 0:02:27.840
<v Speaker 1>is you do online, that is a client. The servers

0:02:28.120 --> 0:02:31.480
<v Speaker 1>are the machines that contain all the information you're looking

0:02:31.520 --> 0:02:35.040
<v Speaker 1>at and serve it up to you. And the Internet

0:02:35.240 --> 0:02:38.280
<v Speaker 1>is older than the World Wide Web. A lot of people,

0:02:38.760 --> 0:02:42.040
<v Speaker 1>probably not as many today as were around for like

0:02:42.080 --> 0:02:44.680
<v Speaker 1>the late nineties, but a lot of people would equate

0:02:44.760 --> 0:02:47.200
<v Speaker 1>the World Wide Web with the Internet, like the two

0:02:47.240 --> 0:02:50.040
<v Speaker 1>are synonymous, and that's not really true. The Web is

0:02:50.080 --> 0:02:52.960
<v Speaker 1>really just a layer on top of the Internet. It's

0:02:53.000 --> 0:02:55.960
<v Speaker 1>an interface that makes it easy to access and interact

0:02:56.040 --> 0:02:59.800
<v Speaker 1>with information, but it's just one part of the Internet.

0:03:00.040 --> 0:03:02.600
<v Speaker 1>Before it came along, people were facing a bit of

0:03:02.639 --> 0:03:08.200
<v Speaker 1>a challenge. So imagine you've got this network of networks.

0:03:08.360 --> 0:03:13.800
<v Speaker 1>Information is on thousands of servers around the world. You

0:03:14.600 --> 0:03:18.000
<v Speaker 1>want to get access to some specific information, like a

0:03:18.120 --> 0:03:22.160
<v Speaker 1>very particular file. There's one file that you want to get,

0:03:22.200 --> 0:03:26.200
<v Speaker 1>But how do you track down that file? How do

0:03:26.240 --> 0:03:30.320
<v Speaker 1>you know which computer out there in this vast network

0:03:30.320 --> 0:03:33.160
<v Speaker 1>of networks. How do you know which one actually holds

0:03:33.200 --> 0:03:37.240
<v Speaker 1>the file you want. You can't just scream out, hey,

0:03:37.480 --> 0:03:39.720
<v Speaker 1>I need this one text file. You've got to know

0:03:39.800 --> 0:03:42.280
<v Speaker 1>where it is in order to retrieve it. So the

0:03:42.320 --> 0:03:45.640
<v Speaker 1>way this would work normally is that you'd send a

0:03:45.680 --> 0:03:49.720
<v Speaker 1>message from your computer across the network to the specific

0:03:49.880 --> 0:03:54.880
<v Speaker 1>server in question. So ideally you would know what computer

0:03:55.280 --> 0:03:59.240
<v Speaker 1>hosts your file, and you would use some method of

0:03:59.440 --> 0:04:03.320
<v Speaker 1>connecting to that server. Maybe you're using telnet, maybe you're

0:04:03.400 --> 0:04:07.680
<v Speaker 1>using FTP file Transfer protocol, but you're using something to

0:04:08.040 --> 0:04:10.600
<v Speaker 1>send a message to that server and then return the

0:04:10.640 --> 0:04:13.600
<v Speaker 1>server responds to you, and then you request access to

0:04:13.640 --> 0:04:17.000
<v Speaker 1>that file. It's really just that the message you send

0:04:17.120 --> 0:04:20.320
<v Speaker 1>is just a request for information stored on that server.

0:04:21.200 --> 0:04:25.120
<v Speaker 1>And if you have access authorized access to that information.

0:04:25.200 --> 0:04:27.120
<v Speaker 1>In other words, if it's not protected by like a

0:04:27.160 --> 0:04:30.400
<v Speaker 1>password or something that you don't have, the server would

0:04:30.440 --> 0:04:34.680
<v Speaker 1>send that information back across the internet to you. But

0:04:34.760 --> 0:04:38.039
<v Speaker 1>what happens if you don't know which computer holds the

0:04:38.080 --> 0:04:41.560
<v Speaker 1>information you want, how do you get access to it?

0:04:42.680 --> 0:04:44.120
<v Speaker 1>Back in the old days, this would be kind of

0:04:44.160 --> 0:04:48.080
<v Speaker 1>like picking up a telephone to call somebody. Let's say

0:04:48.080 --> 0:04:50.760
<v Speaker 1>you're trying to call me, only you don't have my

0:04:50.839 --> 0:04:52.919
<v Speaker 1>phone number. I never gave it to you. I'm not

0:04:53.000 --> 0:04:55.560
<v Speaker 1>listed anywhere, so how do you call me? There are

0:04:55.640 --> 0:04:59.120
<v Speaker 1>millions of phone numbers out there. If you knew my

0:04:59.200 --> 0:05:01.240
<v Speaker 1>phone number, everything would be just fine because you could

0:05:01.240 --> 0:05:03.440
<v Speaker 1>just dial it directly. But since you don't know my

0:05:03.560 --> 0:05:06.839
<v Speaker 1>number and there's no directory to consult, you're faced with

0:05:06.880 --> 0:05:09.040
<v Speaker 1>a nearly impossible task. What do you do, just start

0:05:09.120 --> 0:05:12.520
<v Speaker 1>randomly hitting buttons until the right person picks up. Well,

0:05:12.520 --> 0:05:16.279
<v Speaker 1>that was the problem facing the Internet. It arose because

0:05:16.640 --> 0:05:19.680
<v Speaker 1>the network became more complicated. Just as in the old days,

0:05:19.720 --> 0:05:23.200
<v Speaker 1>you might have very few telephones in a single town.

0:05:23.680 --> 0:05:26.200
<v Speaker 1>Like I'm talking the real old days. When telephones first

0:05:26.200 --> 0:05:28.719
<v Speaker 1>became popular, you didn't need to worry about phone numbers.

0:05:28.880 --> 0:05:31.880
<v Speaker 1>Maybe three people in town had a phone. These days

0:05:32.200 --> 0:05:34.040
<v Speaker 1>you got to worry about it because millions of people

0:05:34.040 --> 0:05:36.160
<v Speaker 1>have phones. Well, same thing was true with the network

0:05:36.279 --> 0:05:39.920
<v Speaker 1>of networks. As more computers came online, as more systems

0:05:40.000 --> 0:05:43.520
<v Speaker 1>joined the Internet, it became more difficult to track very

0:05:43.600 --> 0:05:48.760
<v Speaker 1>specific stuff down. So before the Internet, there was a

0:05:49.040 --> 0:05:54.080
<v Speaker 1>sort of a precursor, not really the Internet. Before there

0:05:54.120 --> 0:05:57.600
<v Speaker 1>was an Internet, but it was a system of networked

0:05:57.880 --> 0:06:02.120
<v Speaker 1>computers called ARPA NEET now the arpenet. That was a

0:06:02.200 --> 0:06:04.960
<v Speaker 1>project from the Department of Defense in the United States

0:06:05.560 --> 0:06:10.840
<v Speaker 1>and was something that required a bunch of computer scientists

0:06:10.920 --> 0:06:16.240
<v Speaker 1>to sit down and work out protocols. It was essentially

0:06:16.279 --> 0:06:20.279
<v Speaker 1>a big but relatively simple network of computers. Now I

0:06:20.360 --> 0:06:23.680
<v Speaker 1>say simple because if you look at the Internet by

0:06:23.680 --> 0:06:27.760
<v Speaker 1>comparison as a network of networks. It is far more

0:06:27.839 --> 0:06:32.039
<v Speaker 1>complex than what Arpenet was, but I am not casting

0:06:32.040 --> 0:06:37.359
<v Speaker 1>aspersions on arpenet. It was still incredibly sophisticated, particularly for

0:06:37.480 --> 0:06:42.280
<v Speaker 1>its time. It allowed people working on different computers that

0:06:42.440 --> 0:06:46.880
<v Speaker 1>used different operating systems, different languages, the ability to communicate

0:06:47.000 --> 0:06:51.680
<v Speaker 1>with each other. And that's phenomenal because usually, you know,

0:06:52.040 --> 0:06:53.880
<v Speaker 1>these are like computers that if you were to connect

0:06:53.960 --> 0:06:55.880
<v Speaker 1>directly to one another, they would not be able to

0:06:55.880 --> 0:06:59.800
<v Speaker 1>communicate with each other. They were fundamentally different. So they

0:07:00.000 --> 0:07:02.520
<v Speaker 1>designers of the ARPINET had to figure out a set

0:07:02.600 --> 0:07:05.960
<v Speaker 1>of rules that all these different types of computers could

0:07:06.000 --> 0:07:10.440
<v Speaker 1>follow in order to exchange information with one another. So

0:07:10.520 --> 0:07:13.840
<v Speaker 1>that required a lot of work to create these protocols

0:07:13.920 --> 0:07:16.600
<v Speaker 1>or sets of rules to facilitate communication. And I've talked

0:07:16.640 --> 0:07:19.720
<v Speaker 1>about arpinet before. If you want to hear a lot

0:07:19.760 --> 0:07:22.640
<v Speaker 1>more about it, you can track down the classic episode.

0:07:22.640 --> 0:07:26.800
<v Speaker 1>It originally published in twenty twelve. It was titled Happy

0:07:26.960 --> 0:07:31.280
<v Speaker 1>Fathers of the Internet Day and then Chris Palette and

0:07:31.320 --> 0:07:35.320
<v Speaker 1>I talked a lot about the people who designed the

0:07:35.400 --> 0:07:39.560
<v Speaker 1>various protocols that allow Internet communication to happen. Well, anyway,

0:07:39.640 --> 0:07:43.440
<v Speaker 1>two of the protocols in question during the days of

0:07:43.560 --> 0:07:48.720
<v Speaker 1>ARPINET were the Transmission Control Protocol or TCP, developed in

0:07:48.800 --> 0:07:53.040
<v Speaker 1>nineteen seventy five, and the Internet Protocol or IP in

0:07:53.160 --> 0:07:56.760
<v Speaker 1>nineteen seventy eight. These are almost always grouped together whenever

0:07:56.800 --> 0:08:01.120
<v Speaker 1>anyone talks about Internet protocols, they'll say TCPIP, But they

0:08:01.120 --> 0:08:05.480
<v Speaker 1>are technically two different sets of rules that together end

0:08:05.600 --> 0:08:10.200
<v Speaker 1>up guiding the computers on how to communicate across this

0:08:10.280 --> 0:08:12.760
<v Speaker 1>network of networks. These are the rules that gave arpnet

0:08:13.120 --> 0:08:18.520
<v Speaker 1>that ability to create global communication across various different computers.

0:08:19.000 --> 0:08:23.160
<v Speaker 1>The two protocols were officially adopted by ARPINET in nineteen

0:08:23.200 --> 0:08:26.480
<v Speaker 1>eighty three, so while they were developed in the seventies,

0:08:26.560 --> 0:08:30.440
<v Speaker 1>it wasn't officially adopted until nineteen eighty three. Now, they

0:08:30.480 --> 0:08:34.400
<v Speaker 1>were being used before that, but you know, ARPINET was

0:08:34.440 --> 0:08:39.520
<v Speaker 1>a government thing, and just like you would suspect, it

0:08:39.559 --> 0:08:43.400
<v Speaker 1>moves super fast because it's government. Well, the following year

0:08:43.600 --> 0:08:47.120
<v Speaker 1>nineteen eighty four, a lot of things happen. We got

0:08:47.120 --> 0:08:52.040
<v Speaker 1>that really killer Apple Mac commercial that was like the

0:08:52.160 --> 0:08:55.560
<v Speaker 1>Orwellian nineteen eighty four that was phenomenal. But also Sun

0:08:55.760 --> 0:09:01.760
<v Speaker 1>Microsystems unveiled a system called the Network Filing System or

0:09:01.920 --> 0:09:05.920
<v Speaker 1>NFS that was sort of like a file directory and

0:09:06.040 --> 0:09:11.640
<v Speaker 1>storage system for networked computers running on a heterogeneous Unix environment.

0:09:11.760 --> 0:09:14.760
<v Speaker 1>So you had to have a bunch of computers running

0:09:14.800 --> 0:09:19.280
<v Speaker 1>the same Unix implementation essentially, or same version I guess

0:09:19.280 --> 0:09:22.040
<v Speaker 1>I should say not implementation, but the same version of

0:09:22.120 --> 0:09:25.520
<v Speaker 1>Unix across all these different machines. And it was kind

0:09:25.559 --> 0:09:28.440
<v Speaker 1>of like your basic file management system you'd have on

0:09:28.520 --> 0:09:31.319
<v Speaker 1>a personal computer. So if you've ever used a computer

0:09:31.400 --> 0:09:35.679
<v Speaker 1>that had a variation of this, like Windows File Explorer

0:09:35.760 --> 0:09:40.720
<v Speaker 1>is a good example. You typically have a hierarchy of files.

0:09:40.880 --> 0:09:44.400
<v Speaker 1>You'll have like a top level selection of files. If

0:09:44.400 --> 0:09:47.080
<v Speaker 1>you go into one of those, you might see folders,

0:09:47.120 --> 0:09:50.839
<v Speaker 1>like sub folders underneath that main heading. Go into that one,

0:09:50.880 --> 0:09:53.360
<v Speaker 1>you'll see more sub folders, maybe some files, that kind

0:09:53.400 --> 0:09:56.360
<v Speaker 1>of stuff. Well, it was essentially that, but for an

0:09:56.520 --> 0:09:59.760
<v Speaker 1>entire network of computers. So you could share information between

0:10:00.000 --> 0:10:04.080
<v Speaker 1>diferent computers on the system by saving files to this

0:10:04.360 --> 0:10:08.120
<v Speaker 1>network drive, something that's very familiar to most of us today,

0:10:08.160 --> 0:10:12.720
<v Speaker 1>but back then was really new. And then obviously you

0:10:12.720 --> 0:10:17.120
<v Speaker 1>could retrieve files from the appropriate directory on that same system.

0:10:17.679 --> 0:10:21.000
<v Speaker 1>Also in nineteen eighty four, a team over at Carnegie

0:10:21.080 --> 0:10:27.000
<v Speaker 1>Mellon University released the Andrew File System or AFS. Now. Originally,

0:10:27.000 --> 0:10:30.920
<v Speaker 1>the AFS provided Carnegie Mellon students a campus wide file

0:10:31.040 --> 0:10:35.280
<v Speaker 1>directory system, and later on a company called Transarc sort

0:10:35.320 --> 0:10:39.920
<v Speaker 1>of spun off and turned this into a commercial product. Now,

0:10:39.920 --> 0:10:44.360
<v Speaker 1>these file systems allowed users to access files on other computers,

0:10:44.840 --> 0:10:49.040
<v Speaker 1>but they also came with a really steep learning curve.

0:10:49.160 --> 0:10:53.520
<v Speaker 1>If you weren't particularly computer savvy, it was really challenging

0:10:53.679 --> 0:10:56.880
<v Speaker 1>to navigate through these file directories. It would be kind

0:10:56.920 --> 0:10:59.640
<v Speaker 1>of like taking someone to a computer and it has

0:10:59.679 --> 0:11:03.160
<v Speaker 1>all line commands and the person had never really worked

0:11:03.160 --> 0:11:06.040
<v Speaker 1>with a line command interface. They'd only worked with graphics

0:11:06.600 --> 0:11:08.440
<v Speaker 1>by line command. I mean, you have to type in

0:11:09.000 --> 0:11:12.080
<v Speaker 1>the command and file names you want in order to

0:11:12.520 --> 0:11:15.600
<v Speaker 1>access stuff. Well, if that's what you've been doing the

0:11:15.600 --> 0:11:17.959
<v Speaker 1>whole time, it's not so bad. You start to pick

0:11:18.040 --> 0:11:20.720
<v Speaker 1>up on it. Even as new systems are brought on,

0:11:20.800 --> 0:11:23.800
<v Speaker 1>you can kind of adapt to it pretty quickly because

0:11:23.800 --> 0:11:26.600
<v Speaker 1>you already have that basic level of knowledge. But for

0:11:26.640 --> 0:11:30.360
<v Speaker 1>someone brand new to computers, it was really intimidating. It

0:11:30.400 --> 0:11:34.320
<v Speaker 1>felt like you needed to have a lexicon of different

0:11:34.360 --> 0:11:36.840
<v Speaker 1>commands at your disposal all the time, and a lot

0:11:36.880 --> 0:11:39.200
<v Speaker 1>of people would have to use cheat sheets and take

0:11:39.240 --> 0:11:41.760
<v Speaker 1>a look at those constantly so that they could figure

0:11:41.800 --> 0:11:45.240
<v Speaker 1>out just how to navigate a computer. It wasn't very

0:11:45.360 --> 0:11:49.160
<v Speaker 1>user friendly, and it was really hard to find what

0:11:49.240 --> 0:11:51.840
<v Speaker 1>you were looking for if you didn't already know where

0:11:51.880 --> 0:11:55.079
<v Speaker 1>to start from the beginning. The trick with filing systems

0:11:55.120 --> 0:11:59.080
<v Speaker 1>is that you have to understand the organizational strategy. So

0:11:59.120 --> 0:12:01.280
<v Speaker 1>not only do you have to understand the language to

0:12:01.440 --> 0:12:05.440
<v Speaker 1>navigate the system, you also have to understand the person

0:12:05.440 --> 0:12:08.359
<v Speaker 1>who set it up in the first place. So there's

0:12:08.520 --> 0:12:11.320
<v Speaker 1>a bit of machine savvy you have to have, but

0:12:11.320 --> 0:12:13.679
<v Speaker 1>there's also how well do I know the person who

0:12:13.760 --> 0:12:16.200
<v Speaker 1>set up this filing system and how does that person's

0:12:16.240 --> 0:12:19.160
<v Speaker 1>brain work, Because maybe they'll set things up in a

0:12:19.200 --> 0:12:22.400
<v Speaker 1>different way then I would set it up, and if

0:12:22.440 --> 0:12:24.840
<v Speaker 1>I were to try and navigate using my common sense,

0:12:24.880 --> 0:12:27.600
<v Speaker 1>I might find it frustrating. So here's an example of

0:12:27.640 --> 0:12:30.199
<v Speaker 1>what I mean. Back in the day, I used to

0:12:30.320 --> 0:12:33.880
<v Speaker 1>organize all of my DVDs by genre and then by

0:12:33.920 --> 0:12:37.600
<v Speaker 1>alphabetical order by title. So I had all my action

0:12:37.760 --> 0:12:40.720
<v Speaker 1>films in one place, I had all my horror movies

0:12:40.760 --> 0:12:43.839
<v Speaker 1>in another place, all my Tim Curry movies were together

0:12:43.920 --> 0:12:46.040
<v Speaker 1>all that kind of thing. You know, Tim Curry is

0:12:46.080 --> 0:12:49.360
<v Speaker 1>a genre unto himself National Treasure. But if you didn't

0:12:49.480 --> 0:12:52.680
<v Speaker 1>know that I did that, and you didn't know where

0:12:52.679 --> 0:12:56.120
<v Speaker 1>one section began or ended, you could have trouble finding

0:12:56.120 --> 0:12:59.080
<v Speaker 1>a specific title. Maybe you would have had a totally

0:12:59.120 --> 0:13:02.920
<v Speaker 1>different approach. You would have organized everything alphabetically from the start,

0:13:03.200 --> 0:13:05.560
<v Speaker 1>so it didn't matter what genre is, and you would know,

0:13:05.679 --> 0:13:08.120
<v Speaker 1>all right, well, the title i'm looking for starts with

0:13:08.160 --> 0:13:09.520
<v Speaker 1>a D, so I need to find the d's and

0:13:09.559 --> 0:13:11.920
<v Speaker 1>it's going to be there. Or maybe you would even

0:13:12.240 --> 0:13:16.360
<v Speaker 1>have a more crazy organizational strategy, maybe you would organize

0:13:16.360 --> 0:13:21.320
<v Speaker 1>everything chronologically by release date, which would confound everyone but

0:13:21.400 --> 0:13:24.760
<v Speaker 1>the geekiest of film buffs. The point is that these

0:13:24.800 --> 0:13:28.400
<v Speaker 1>file systems back in the day, with these network drives,

0:13:28.400 --> 0:13:31.760
<v Speaker 1>they weren't always intuitive. Even if you weren't immediately put

0:13:31.760 --> 0:13:34.280
<v Speaker 1>off by the interface, you might still not be able

0:13:34.280 --> 0:13:38.280
<v Speaker 1>to find what you're looking for. Now. Later still came

0:13:38.679 --> 0:13:43.520
<v Speaker 1>Alan Mtaje's Archie tool, and he was a University of

0:13:43.600 --> 0:13:47.760
<v Speaker 1>Montreal employee student. You know, he had gone from one

0:13:47.800 --> 0:13:50.680
<v Speaker 1>to the other really when he invented this tool to

0:13:50.720 --> 0:13:53.880
<v Speaker 1>search for files on the Internet that would be transferred

0:13:54.040 --> 0:13:58.600
<v Speaker 1>via FTP file Transfer Protocol. So instead of requiring the

0:13:58.679 --> 0:14:01.120
<v Speaker 1>user to know a direct path, you just had to

0:14:01.160 --> 0:14:06.040
<v Speaker 1>know the name of the file, how was the file named. Now,

0:14:06.040 --> 0:14:09.880
<v Speaker 1>that still isn't ideal, because I'm sure you've encountered files

0:14:10.000 --> 0:14:12.760
<v Speaker 1>that had weird or non intuitive names that may have

0:14:12.800 --> 0:14:15.880
<v Speaker 1>had nothing to do with what the file actually was about.

0:14:17.040 --> 0:14:19.800
<v Speaker 1>So you had to know precisely how the file was

0:14:19.880 --> 0:14:21.720
<v Speaker 1>named or else it really didn't do you any good.

0:14:21.760 --> 0:14:24.280
<v Speaker 1>But at least it didn't require you to also know

0:14:24.720 --> 0:14:28.280
<v Speaker 1>the full path name of where a file was, and

0:14:28.360 --> 0:14:33.120
<v Speaker 1>it allowed you to actually do a search across the Internet. Now,

0:14:33.160 --> 0:14:35.680
<v Speaker 1>once the Web came along, and I'll talk a lot

0:14:35.760 --> 0:14:38.080
<v Speaker 1>more about the World Wide Web later on in this episode,

0:14:39.120 --> 0:14:42.960
<v Speaker 1>and once programmers began building search engines, this problem became

0:14:43.080 --> 0:14:47.000
<v Speaker 1>less difficult. Right. Search engines started to make things much

0:14:47.040 --> 0:14:50.600
<v Speaker 1>easier for people. The web made navigation more intuitive. It

0:14:50.640 --> 0:14:53.160
<v Speaker 1>made it more accessible to people who weren't experienced with

0:14:53.200 --> 0:14:57.320
<v Speaker 1>computers or had inside knowledge of directory organization. But in

0:14:57.320 --> 0:15:01.440
<v Speaker 1>those in between times before the web up, but after

0:15:01.440 --> 0:15:07.680
<v Speaker 1>the Internet came online, that's when Gopher emerged. Now, there

0:15:07.680 --> 0:15:12.600
<v Speaker 1>were several developers behind Gopher. Really six people in total,

0:15:12.760 --> 0:15:15.800
<v Speaker 1>and one of the more important ones I shouldn't even

0:15:15.800 --> 0:15:18.200
<v Speaker 1>say it that way. One of the leads, I should say,

0:15:18.200 --> 0:15:21.280
<v Speaker 1>because all six were important. One of the leads was

0:15:21.320 --> 0:15:25.480
<v Speaker 1>Mark McHale, and Mkale attended the University of Minnesota. Actually

0:15:25.520 --> 0:15:28.080
<v Speaker 1>they were all part of the University of Minnesota, but

0:15:28.400 --> 0:15:30.880
<v Speaker 1>he had attended as a student, earning a bachelor's degree

0:15:30.880 --> 0:15:34.400
<v Speaker 1>in chemistry in nineteen seventy nine. But while he earned

0:15:34.400 --> 0:15:36.440
<v Speaker 1>his degree in chemistry, he would actually go on to

0:15:36.560 --> 0:15:41.280
<v Speaker 1>join the campus microcomputer Center as a programmer, and by

0:15:41.280 --> 0:15:43.600
<v Speaker 1>the late nineteen eighties he was leading a team of

0:15:43.640 --> 0:15:47.800
<v Speaker 1>programmers and together they built an email client called pop mail,

0:15:48.480 --> 0:15:51.360
<v Speaker 1>first for the Macintosh computer and then later on for

0:15:51.480 --> 0:15:56.280
<v Speaker 1>the PC platform. The POP in pop mail stands for

0:15:56.400 --> 0:16:00.640
<v Speaker 1>post Office Protocol. So the way worked was that you

0:16:00.720 --> 0:16:02.440
<v Speaker 1>had a server that would kind of act like a

0:16:02.520 --> 0:16:07.240
<v Speaker 1>virtual post office. You would whenever you were checking email

0:16:07.320 --> 0:16:10.440
<v Speaker 1>or sending email, it would involve a virtual visit to

0:16:10.600 --> 0:16:14.080
<v Speaker 1>this post office. You could drop off and receive mail there.

0:16:14.440 --> 0:16:16.400
<v Speaker 1>So if you wanted to send a message through your

0:16:16.440 --> 0:16:21.360
<v Speaker 1>popmail client, the client, as in your computer, the workstation

0:16:21.480 --> 0:16:24.680
<v Speaker 1>you are using, would relay the message through the post

0:16:24.680 --> 0:16:29.280
<v Speaker 1>office server, which would then direct the message onto your destination.

0:16:30.320 --> 0:16:34.720
<v Speaker 1>When retreating messages, you would actually be going to this

0:16:34.920 --> 0:16:39.120
<v Speaker 1>popmail server to pull the emails off of it in

0:16:39.200 --> 0:16:41.960
<v Speaker 1>order to read them. So they were the ones who

0:16:42.080 --> 0:16:45.040
<v Speaker 1>developed this, and it was a very popular type of

0:16:45.600 --> 0:16:48.960
<v Speaker 1>way of getting a hold of email. The next big

0:16:49.040 --> 0:16:52.720
<v Speaker 1>project that this team tackled was creating an interface for

0:16:52.840 --> 0:16:57.360
<v Speaker 1>navigating the university's local network. So the question was, how

0:16:57.480 --> 0:17:00.960
<v Speaker 1>can we find whatever we're looking for? How do we

0:17:01.200 --> 0:17:04.080
<v Speaker 1>organize all this information we have in a way that

0:17:04.160 --> 0:17:07.520
<v Speaker 1>makes sense because they could see that the Internet was

0:17:07.880 --> 0:17:11.320
<v Speaker 1>creating this incredible opportunity to share information, but it was

0:17:11.320 --> 0:17:15.560
<v Speaker 1>getting increasingly difficult to find stuff and to organize stuff

0:17:15.600 --> 0:17:19.520
<v Speaker 1>properly because there were more and more computers coming onto

0:17:19.560 --> 0:17:23.000
<v Speaker 1>the system and it just made things even more complicated.

0:17:23.960 --> 0:17:29.840
<v Speaker 1>So together Mikhail Bob Alberti, Farad Anklesaria, Paul Linda, and

0:17:29.920 --> 0:17:33.840
<v Speaker 1>Daniel Tory began to work to develop a solution, and

0:17:33.880 --> 0:17:38.119
<v Speaker 1>as it turned out, their solution had applications far beyond

0:17:38.440 --> 0:17:41.040
<v Speaker 1>the campus they worked on. In fact, it would turn

0:17:41.119 --> 0:17:45.239
<v Speaker 1>out their solution had applications outside of the campus they

0:17:45.280 --> 0:17:49.840
<v Speaker 1>worked on before it actually was implemented by the campus itself.

0:17:50.040 --> 0:17:54.040
<v Speaker 1>It would work across the Internet in general. Now I'm

0:17:54.040 --> 0:17:57.199
<v Speaker 1>going to jump into what they did in just a second,

0:17:57.359 --> 0:18:00.240
<v Speaker 1>but before I do that, let's take a quick break

0:18:00.440 --> 0:18:11.880
<v Speaker 1>to thank our sponsor. So the team got to work

0:18:12.119 --> 0:18:14.919
<v Speaker 1>in nineteen ninety one. They knew that they wanted a

0:18:14.960 --> 0:18:18.720
<v Speaker 1>system that could organize information in an intuitive way, giving

0:18:18.800 --> 0:18:22.800
<v Speaker 1>users an opportunity to navigate the information they needed quickly.

0:18:23.359 --> 0:18:26.159
<v Speaker 1>They wanted it to be a client server system. This

0:18:26.320 --> 0:18:30.639
<v Speaker 1>was really important to them. What they perhaps the biggest

0:18:30.640 --> 0:18:34.280
<v Speaker 1>decision they made, the most important one to them, was

0:18:34.359 --> 0:18:41.200
<v Speaker 1>to not go a centralized mainframe organizational strategy. They wanted

0:18:41.200 --> 0:18:43.919
<v Speaker 1>to get away from mainframe computers. They saw that the

0:18:43.960 --> 0:18:48.800
<v Speaker 1>future was in desktops. But desktop machines, especially in ninety one,

0:18:49.520 --> 0:18:56.719
<v Speaker 1>were slow, they had relatively limited capabilities, so whatever system

0:18:56.760 --> 0:19:03.560
<v Speaker 1>they created had to be optimized for these less powerful machines.

0:19:04.560 --> 0:19:07.440
<v Speaker 1>They also wanted to make this system scalable, with options

0:19:07.440 --> 0:19:11.520
<v Speaker 1>to have various departments register servers with a top level server.

0:19:11.640 --> 0:19:14.960
<v Speaker 1>So in other words, you could have different departments having

0:19:15.000 --> 0:19:18.920
<v Speaker 1>their own networks, but have them linked to the main

0:19:19.480 --> 0:19:22.440
<v Speaker 1>network so that you can navigate throughout all of these

0:19:22.440 --> 0:19:24.520
<v Speaker 1>different systems, and that way, if you connected to that

0:19:24.600 --> 0:19:28.400
<v Speaker 1>top level server, you could navigate to any lower department

0:19:28.480 --> 0:19:31.320
<v Speaker 1>through a master menu. They also wanted the tool to

0:19:31.359 --> 0:19:33.520
<v Speaker 1>be efficient and lightweight, meaning they didn't want it to

0:19:33.640 --> 0:19:37.639
<v Speaker 1>tax those normal PCs and workstations. They didn't want a

0:19:37.680 --> 0:19:40.840
<v Speaker 1>tool that would move at a snail's pace, and that

0:19:41.720 --> 0:19:44.600
<v Speaker 1>was one of the reasons that they really focused on

0:19:44.840 --> 0:19:50.239
<v Speaker 1>text based communications, because it doesn't require a whole lot

0:19:50.240 --> 0:19:53.240
<v Speaker 1>of data to send text, and it meant that it

0:19:53.280 --> 0:19:58.000
<v Speaker 1>could be relatively fast and informative. They also decided that

0:19:58.040 --> 0:20:02.159
<v Speaker 1>the server would not retain states. Now that means that

0:20:02.200 --> 0:20:04.040
<v Speaker 1>the server wouldn't need to keep a record of all

0:20:04.040 --> 0:20:07.760
<v Speaker 1>the different information requests from multiple clients. Once a connection closed,

0:20:08.119 --> 0:20:11.199
<v Speaker 1>the state was white, and it would close the connection

0:20:11.240 --> 0:20:14.760
<v Speaker 1>after every transaction. Essentially, so together they worked on this

0:20:14.880 --> 0:20:19.360
<v Speaker 1>tool and they decided to call it Gopher. The name,

0:20:19.359 --> 0:20:22.240
<v Speaker 1>by the way, serves many purposes. For one, the mascot

0:20:22.359 --> 0:20:25.520
<v Speaker 1>of the University of Minnesota is the Golden Gopher, Minnesota

0:20:25.680 --> 0:20:31.280
<v Speaker 1>is the Gopher state. Also, the idea of a metaphorical

0:20:31.320 --> 0:20:34.600
<v Speaker 1>gopher appealed to them. Gopher's tunnel and in a way,

0:20:35.160 --> 0:20:40.760
<v Speaker 1>the Gopher protocol kind of tunnels through networks. They also

0:20:40.880 --> 0:20:44.399
<v Speaker 1>started to refer to the networks that were using Gopher

0:20:44.480 --> 0:20:48.760
<v Speaker 1>as Gopher space. And finally, gophers also the term for

0:20:48.840 --> 0:20:52.200
<v Speaker 1>someone who runs errands and fetches things because the gopher

0:20:52.840 --> 0:20:59.879
<v Speaker 1>will gopher like coffee or you know, you can go

0:21:00.080 --> 0:21:03.439
<v Speaker 1>for snacks, that kind of stuff. The Classic Muppet Show

0:21:04.040 --> 0:21:08.680
<v Speaker 1>series had Scooter who was a gopher. There were a

0:21:08.720 --> 0:21:11.439
<v Speaker 1>lot of jokes about that about how Scooter was a

0:21:11.480 --> 0:21:17.119
<v Speaker 1>gopher by job, but he wasn't a gopher by critter,

0:21:17.280 --> 0:21:22.000
<v Speaker 1>like he was not the actual animal gopher. Anyway, here's

0:21:22.000 --> 0:21:26.440
<v Speaker 1>the weird thing. So the team knew they were onto

0:21:26.480 --> 0:21:29.920
<v Speaker 1>something when they designed Gopher, but it didn't get a

0:21:29.920 --> 0:21:32.560
<v Speaker 1>lot of traction right out of the gate despite its utility,

0:21:32.600 --> 0:21:36.640
<v Speaker 1>because the University of Minnesota they just didn't see how

0:21:36.680 --> 0:21:39.080
<v Speaker 1>this would be useful. They didn't see the value in it,

0:21:39.640 --> 0:21:42.480
<v Speaker 1>so they didn't really put any support behind it, and

0:21:42.520 --> 0:21:45.359
<v Speaker 1>they didn't implement it at all. So the team decided

0:21:45.359 --> 0:21:48.399
<v Speaker 1>to sidestep all that red tape, and one of the

0:21:48.440 --> 0:21:53.199
<v Speaker 1>team members uploaded the software to an FTP server and

0:21:53.240 --> 0:21:56.520
<v Speaker 1>then posted a message on an Internet mailing list saying, hey, guys,

0:21:56.520 --> 0:21:59.399
<v Speaker 1>we developed this kind of cool tool. We think it

0:21:59.480 --> 0:22:01.960
<v Speaker 1>is a great way to organize information on networks and

0:22:02.000 --> 0:22:05.159
<v Speaker 1>allow people to find stuff. Give it a try. So

0:22:05.200 --> 0:22:08.439
<v Speaker 1>people began to download it and put to use, and

0:22:08.520 --> 0:22:12.040
<v Speaker 1>not long after that it started to take off. A

0:22:12.119 --> 0:22:14.959
<v Speaker 1>lot of places were using it and they decided that

0:22:15.000 --> 0:22:17.159
<v Speaker 1>it made a whole lot of sense, and eventually the

0:22:17.240 --> 0:22:21.640
<v Speaker 1>University of Minnesota administration relented and implemented Gopher as well

0:22:21.720 --> 0:22:25.480
<v Speaker 1>on their campus. Now let's go ahead and talk about

0:22:25.680 --> 0:22:28.879
<v Speaker 1>Gopher implementations and what it was actually like. So there

0:22:28.880 --> 0:22:32.360
<v Speaker 1>were two main ways you could interact with Gopher. One

0:22:32.400 --> 0:22:35.480
<v Speaker 1>of them was to install software on your computer. And

0:22:36.400 --> 0:22:39.879
<v Speaker 1>this is looking at interacting with Gopher as a user

0:22:39.920 --> 0:22:43.280
<v Speaker 1>as opposed to as an administrator. So you want to

0:22:43.359 --> 0:22:45.840
<v Speaker 1>use Gopher, well, one thing you could do is install

0:22:45.920 --> 0:22:48.800
<v Speaker 1>software on your computer, and this was a client side

0:22:48.920 --> 0:22:52.520
<v Speaker 1>Gopher application, which really is not that different from a

0:22:52.560 --> 0:22:57.800
<v Speaker 1>web browser like Firefox or Chrome or Safari. It's essentially

0:22:58.080 --> 0:23:00.840
<v Speaker 1>a similar thing. It's a program that runs on your

0:23:00.840 --> 0:23:04.960
<v Speaker 1>computer that acts as the interface for this protocol. Those

0:23:05.000 --> 0:23:07.840
<v Speaker 1>are all client side applications, just like the Gopher one was.

0:23:08.200 --> 0:23:10.119
<v Speaker 1>But you didn't have to do that. What you could

0:23:10.119 --> 0:23:15.960
<v Speaker 1>do instead is use a Telnet application. Telnet was another

0:23:16.440 --> 0:23:20.000
<v Speaker 1>old protocol that's still used in some places. Tel Net

0:23:20.040 --> 0:23:24.920
<v Speaker 1>would allow you to virtually log in to another terminal,

0:23:26.000 --> 0:23:28.960
<v Speaker 1>and you just had to have the correct address and

0:23:29.040 --> 0:23:31.520
<v Speaker 1>port number and everything in order to tell Net into

0:23:31.720 --> 0:23:35.600
<v Speaker 1>that room. So you could use Telnet to log onto

0:23:35.640 --> 0:23:38.919
<v Speaker 1>a remote server and use the server side Gopher client

0:23:39.040 --> 0:23:42.440
<v Speaker 1>to access directories. And in that case, all the work

0:23:42.520 --> 0:23:45.439
<v Speaker 1>is being done by the server and you don't have

0:23:45.480 --> 0:23:49.360
<v Speaker 1>to actually have a client based application on your side.

0:23:50.040 --> 0:23:53.320
<v Speaker 1>The style of the Gopher client really dependent upon its implementation.

0:23:53.440 --> 0:23:57.359
<v Speaker 1>The team wanted to make sure that it was customizable,

0:23:57.960 --> 0:24:01.800
<v Speaker 1>but it was always simple. There's always text based. It

0:24:01.840 --> 0:24:05.480
<v Speaker 1>could be extremely simple where all you have are text

0:24:05.560 --> 0:24:09.800
<v Speaker 1>options under a menu, or it could have some very

0:24:09.840 --> 0:24:15.080
<v Speaker 1>primitive kind of graphic user interface elements in it. Graphic

0:24:15.119 --> 0:24:22.040
<v Speaker 1>user interface also known as GUY but less what's the

0:24:22.119 --> 0:24:27.200
<v Speaker 1>right word, less impressive or extensive as what you would

0:24:27.200 --> 0:24:29.840
<v Speaker 1>find in the World Wide Web later. And there were

0:24:29.840 --> 0:24:32.560
<v Speaker 1>two worlds in the Gopher verse, the world the client

0:24:32.720 --> 0:24:37.000
<v Speaker 1>could see and the world the server worked with. So

0:24:37.040 --> 0:24:41.320
<v Speaker 1>on the server side, every item within a Gopher directory

0:24:41.960 --> 0:24:45.199
<v Speaker 1>would have certain elements to it, and that included a

0:24:45.240 --> 0:24:49.600
<v Speaker 1>client visible name, a selector which was usually something that

0:24:50.600 --> 0:24:56.000
<v Speaker 1>used the path name that would connect the server for

0:24:56.119 --> 0:25:00.200
<v Speaker 1>location purposes. Then there would be a host name which

0:25:00.200 --> 0:25:04.600
<v Speaker 1>would tell the top level server which computer actually contained

0:25:04.640 --> 0:25:08.720
<v Speaker 1>the file in question, and an IP port number. Ports

0:25:08.720 --> 0:25:10.680
<v Speaker 1>are kind of like telephone lines, so a computer I

0:25:10.720 --> 0:25:13.040
<v Speaker 1>had to know which port it should use when contacting

0:25:13.040 --> 0:25:16.640
<v Speaker 1>other computers. Now on the client side, on the user side,

0:25:17.240 --> 0:25:20.239
<v Speaker 1>only those client visible names would show up. Everything else

0:25:20.280 --> 0:25:24.520
<v Speaker 1>would be hidden. And to use an analogy, imagine that

0:25:24.560 --> 0:25:27.040
<v Speaker 1>you go to a party and it's one of those

0:25:27.040 --> 0:25:30.679
<v Speaker 1>super hip, geeky tech parties that I assume happened but

0:25:30.760 --> 0:25:33.480
<v Speaker 1>I never get invited to anyway. Everyone gets a little

0:25:33.560 --> 0:25:36.640
<v Speaker 1>name tag, and the name tag just has the person's

0:25:36.720 --> 0:25:39.000
<v Speaker 1>name on it. That's it. That's the only information about

0:25:39.000 --> 0:25:43.479
<v Speaker 1>the person that is visible to the average attendee. So

0:25:44.359 --> 0:25:46.320
<v Speaker 1>when you walk around the party, you can see each

0:25:46.320 --> 0:25:50.159
<v Speaker 1>person's name, but that's it. But let's say you're a

0:25:50.200 --> 0:25:53.720
<v Speaker 1>super duper awesome VIP at this party, and all the

0:25:53.760 --> 0:25:56.679
<v Speaker 1>super duper awesome VIPs at this particular party get a

0:25:56.680 --> 0:25:59.480
<v Speaker 1>little swag bag that has a pair of smart glasses

0:25:59.480 --> 0:26:01.879
<v Speaker 1>in them, and if you put the smart glasses on,

0:26:02.800 --> 0:26:06.959
<v Speaker 1>you see projected above the name tag of each person

0:26:07.160 --> 0:26:10.000
<v Speaker 1>more information, and it tells you where that person lives,

0:26:10.400 --> 0:26:13.000
<v Speaker 1>what their phone number is, tells you about their favorite

0:26:13.040 --> 0:26:15.800
<v Speaker 1>lunch spots. In other words, you know a few different

0:26:15.840 --> 0:26:19.440
<v Speaker 1>ways you could reach those people if you needed to. Well,

0:26:19.440 --> 0:26:22.280
<v Speaker 1>in the gover verse, that sort of same approach was

0:26:22.320 --> 0:26:25.919
<v Speaker 1>applying but only to files, not to people, so there

0:26:25.960 --> 0:26:28.600
<v Speaker 1>wasn't anything creepy going on. But Mikail and his group

0:26:28.640 --> 0:26:32.200
<v Speaker 1>decided that users didn't need to see all the extra information.

0:26:32.280 --> 0:26:35.000
<v Speaker 1>They don't need to know where a file is on

0:26:35.040 --> 0:26:39.000
<v Speaker 1>a network. They don't care. They don't care if the

0:26:39.040 --> 0:26:42.040
<v Speaker 1>file they want is on computer A or computer B.

0:26:42.280 --> 0:26:46.400
<v Speaker 1>They just want access to that file. So they decided

0:26:46.440 --> 0:26:49.720
<v Speaker 1>that all of that excess information would be invisible to

0:26:49.760 --> 0:26:52.120
<v Speaker 1>the user. It would still be there for the servers

0:26:52.160 --> 0:26:55.560
<v Speaker 1>because the servers would need to know where everything was

0:26:55.600 --> 0:26:58.320
<v Speaker 1>in or to direct users to the right location, But

0:26:58.400 --> 0:27:01.920
<v Speaker 1>to the users themselves, they don't care, So get rid

0:27:01.920 --> 0:27:05.720
<v Speaker 1>of it, and ended up being a much more elegant

0:27:05.760 --> 0:27:09.000
<v Speaker 1>system that way. So let's say you've logged into a

0:27:09.040 --> 0:27:13.040
<v Speaker 1>college campus Gopher server because the tool was originally developed

0:27:13.040 --> 0:27:16.000
<v Speaker 1>for colleges. So what would you actually see if you

0:27:16.080 --> 0:27:19.720
<v Speaker 1>did this, Well, you'd start off with a menu of options.

0:27:19.760 --> 0:27:21.920
<v Speaker 1>It's kind of like a table of contents, and that

0:27:21.960 --> 0:27:24.840
<v Speaker 1>would allow you to explore different areas of the Gopher

0:27:24.920 --> 0:27:29.240
<v Speaker 1>verse more thoroughly. A typical top level menu might include

0:27:29.280 --> 0:27:32.000
<v Speaker 1>and by the way, I'm taking this largely from a

0:27:32.080 --> 0:27:35.639
<v Speaker 1>request for comments that Mikhail and his group created in

0:27:35.720 --> 0:27:38.720
<v Speaker 1>order to discuss what Gopher is, what it was meant for,

0:27:38.840 --> 0:27:42.240
<v Speaker 1>and how it works. The first item might be something

0:27:42.359 --> 0:27:45.480
<v Speaker 1>like about Internet Gopher, and it would literally just be

0:27:45.600 --> 0:27:48.560
<v Speaker 1>that little phrase, and if you selected that one, it

0:27:48.600 --> 0:27:51.800
<v Speaker 1>would open up something that would allow you to learn

0:27:51.840 --> 0:27:54.800
<v Speaker 1>more about Internet Gopher. It would pull the files that

0:27:54.800 --> 0:27:57.040
<v Speaker 1>could tell you about the version and Gopher in use

0:27:57.080 --> 0:27:59.880
<v Speaker 1>and how best to navigate it. It may even tell

0:27:59.880 --> 0:28:03.320
<v Speaker 1>you about the site administrator. And in fact, in that

0:28:03.400 --> 0:28:08.280
<v Speaker 1>original request for comments, they suggested that every administrator for

0:28:08.400 --> 0:28:13.000
<v Speaker 1>a Gopher server include his or her name, email address,

0:28:13.040 --> 0:28:16.000
<v Speaker 1>and phone number so that you could get in contact

0:28:16.000 --> 0:28:20.920
<v Speaker 1>with them should something go wrong. Yikes. Obviously, this was

0:28:20.960 --> 0:28:25.360
<v Speaker 1>in the days when very few people comparatively speaking, were

0:28:25.520 --> 0:28:28.080
<v Speaker 1>using an Internet tool. Because you could just imagine how

0:28:28.160 --> 0:28:33.960
<v Speaker 1>much traffic you would get from various emails and phone numbers.

0:28:34.040 --> 0:28:36.520
<v Speaker 1>If you just put your actual address out on a

0:28:36.560 --> 0:28:42.920
<v Speaker 1>major website, that would be tough. The next element on

0:28:43.000 --> 0:28:46.000
<v Speaker 1>this Gopher list might be something like around the campus,

0:28:46.560 --> 0:28:49.800
<v Speaker 1>and that could include more directories that give you links

0:28:49.800 --> 0:28:52.840
<v Speaker 1>to files about various areas of campus. You might get

0:28:52.920 --> 0:28:57.880
<v Speaker 1>some menus of different options. For example, at University of Georgia,

0:28:58.000 --> 0:29:00.800
<v Speaker 1>if I saw around the campus on a Gopher site

0:29:00.800 --> 0:29:03.080
<v Speaker 1>and I clicked on that, it might take me to

0:29:03.200 --> 0:29:06.160
<v Speaker 1>a couple of different sub menus, one for North campus

0:29:06.200 --> 0:29:08.760
<v Speaker 1>and one for South campus, because the University of Georgia,

0:29:08.880 --> 0:29:11.080
<v Speaker 1>at least at the time when I was attending it

0:29:11.720 --> 0:29:16.000
<v Speaker 1>was roughly divided into North and South campuses. Another option

0:29:16.120 --> 0:29:19.800
<v Speaker 1>might say courses, schedules and calendars, which would obviously take

0:29:19.800 --> 0:29:22.640
<v Speaker 1>you to information about the classes offered by that college

0:29:22.680 --> 0:29:24.280
<v Speaker 1>and when they happen, as well as a list of

0:29:24.320 --> 0:29:27.000
<v Speaker 1>campus events throughout the year, and so on and so forth.

0:29:27.000 --> 0:29:29.480
<v Speaker 1>Those are just the kind of basic table of content

0:29:29.560 --> 0:29:31.840
<v Speaker 1>stuff you would see, and again it's all text based.

0:29:32.720 --> 0:29:35.960
<v Speaker 1>Typically the options on any list would have indicators to

0:29:36.040 --> 0:29:37.840
<v Speaker 1>let you know if you were looking at the name

0:29:37.920 --> 0:29:40.480
<v Speaker 1>of a file or if you were looking at the

0:29:40.560 --> 0:29:44.680
<v Speaker 1>name of another directory. So again, in an example given

0:29:44.960 --> 0:29:47.680
<v Speaker 1>from that RFC paper that was written back in nineteen

0:29:48.040 --> 0:29:51.720
<v Speaker 1>ninety three, the group showed directories as being followed by

0:29:51.760 --> 0:29:55.120
<v Speaker 1>an ellipses and files were not. So if it said

0:29:55.240 --> 0:29:59.000
<v Speaker 1>campus schedule with no ellipses, then you knew that clicking

0:29:59.080 --> 0:30:01.640
<v Speaker 1>on that would give you a file with the schedule

0:30:01.680 --> 0:30:04.720
<v Speaker 1>on it if you chose that option. But if you

0:30:04.760 --> 0:30:08.120
<v Speaker 1>were looking at a list that said college activities dot

0:30:08.200 --> 0:30:11.120
<v Speaker 1>dot dot, you knew that the dot dot dot that

0:30:11.200 --> 0:30:15.680
<v Speaker 1>ellipses indicated that it was a link to another directory.

0:30:15.760 --> 0:30:18.400
<v Speaker 1>So if you clicked on college activities, you would get

0:30:18.400 --> 0:30:22.400
<v Speaker 1>another menu that would subdivide up college activities. Maybe it

0:30:22.400 --> 0:30:28.120
<v Speaker 1>would be sports, after school activities, it might be extracurricular

0:30:28.240 --> 0:30:34.040
<v Speaker 1>student groups, that kind of thing. Now, Gopher's design allows

0:30:34.160 --> 0:30:37.520
<v Speaker 1>other servers to interact with a top level server, so

0:30:37.560 --> 0:30:39.960
<v Speaker 1>it didn't have to just be a single computer running

0:30:40.040 --> 0:30:42.280
<v Speaker 1>all of this information. In fact, that was beside the point.

0:30:42.320 --> 0:30:45.920
<v Speaker 1>The whole purpose of this was to allow multiple servers

0:30:45.960 --> 0:30:51.240
<v Speaker 1>to connect with each other and create an overall strategy

0:30:51.280 --> 0:30:55.600
<v Speaker 1>for navigation to allow students or other users to learn

0:30:55.680 --> 0:30:58.959
<v Speaker 1>more information so you could have say the Computer Science

0:30:58.960 --> 0:31:03.239
<v Speaker 1>department server registered under a top level option for the

0:31:03.360 --> 0:31:07.360
<v Speaker 1>entire university, and the English department could have its own server,

0:31:07.560 --> 0:31:09.720
<v Speaker 1>and the Math department could have its own server, and

0:31:09.760 --> 0:31:12.840
<v Speaker 1>so on and so on. So each departmental server would

0:31:12.840 --> 0:31:16.120
<v Speaker 1>further point down the chain to specific files relevant to

0:31:16.200 --> 0:31:20.000
<v Speaker 1>that department. And Gopher also included the ability to stack,

0:31:20.320 --> 0:31:23.040
<v Speaker 1>meaning that you could actually retrace your steps, which is

0:31:23.120 --> 0:31:25.640
<v Speaker 1>kind of like hitting the backbar or the back button

0:31:25.720 --> 0:31:28.760
<v Speaker 1>rather on a browser. So if you went down one

0:31:28.840 --> 0:31:31.160
<v Speaker 1>path and then decided, hey, I need to see something

0:31:31.200 --> 0:31:33.800
<v Speaker 1>else that was further back in my browsing, you could

0:31:33.840 --> 0:31:36.800
<v Speaker 1>back up the pathway until you got to that specific

0:31:36.920 --> 0:31:39.840
<v Speaker 1>fork and then take the other fork. And that was

0:31:39.840 --> 0:31:42.480
<v Speaker 1>actually pretty innovative in the early nineties. It wasn't like

0:31:42.560 --> 0:31:45.840
<v Speaker 1>it was something that they were copying from other people.

0:31:47.160 --> 0:31:50.720
<v Speaker 1>Unlike today's websites, the information on Gopher pages tended to

0:31:50.760 --> 0:31:54.280
<v Speaker 1>remain fairly static, which actually was also a huge help

0:31:54.320 --> 0:31:56.640
<v Speaker 1>for Gopher space. You didn't have to update things quite

0:31:56.680 --> 0:31:59.920
<v Speaker 1>so frequently. Occasionally you might need to update a file,

0:32:00.200 --> 0:32:02.280
<v Speaker 1>or you might need to add a file to a server,

0:32:02.800 --> 0:32:05.160
<v Speaker 1>but that didn't happen at the frequency we see today

0:32:05.200 --> 0:32:07.400
<v Speaker 1>on the web, there weren't a lot of dynamic pages

0:32:07.400 --> 0:32:10.240
<v Speaker 1>out there. It was important for Gopher to be able

0:32:10.240 --> 0:32:13.280
<v Speaker 1>to adapt to changes and evolving conditions, so the team

0:32:13.600 --> 0:32:17.080
<v Speaker 1>designed a system that it would allow them to update

0:32:17.080 --> 0:32:20.360
<v Speaker 1>files and path names and pieces so that you didn't

0:32:20.400 --> 0:32:23.200
<v Speaker 1>have to do a full update of the whole system regularly.

0:32:23.240 --> 0:32:26.560
<v Speaker 1>You could just focus on whichever sections had new information

0:32:26.600 --> 0:32:29.800
<v Speaker 1>and just update those bits. Everything else could remain the same.

0:32:30.120 --> 0:32:32.600
<v Speaker 1>That sped everything else up, Like if you are only

0:32:32.640 --> 0:32:36.120
<v Speaker 1>making changes to two percent of your network, then there's

0:32:36.160 --> 0:32:39.040
<v Speaker 1>no reason to update all one hundred percent. They could

0:32:39.160 --> 0:32:42.360
<v Speaker 1>save time by just updating that two percent. They also

0:32:42.520 --> 0:32:45.920
<v Speaker 1>made another very clever choice. They recommended that all top

0:32:46.000 --> 0:32:49.600
<v Speaker 1>level servers have a clone and that way, if one

0:32:49.720 --> 0:32:52.520
<v Speaker 1>server were to fail for whatever reason, another one could

0:32:52.520 --> 0:32:55.320
<v Speaker 1>take over the job. Also, if you had a really

0:32:55.360 --> 0:32:58.400
<v Speaker 1>busy network, you could have both servers acting at the

0:32:58.400 --> 0:33:01.560
<v Speaker 1>same time, sharing the loads. So some users are using

0:33:01.640 --> 0:33:04.360
<v Speaker 1>server A, some users are using server B, but both

0:33:04.400 --> 0:33:08.400
<v Speaker 1>of them are identical. They have complete navigational tools to

0:33:08.440 --> 0:33:11.760
<v Speaker 1>go through the whole network, and so it doesn't really

0:33:11.760 --> 0:33:13.880
<v Speaker 1>matter which one you land on as a user, it's

0:33:13.880 --> 0:33:16.720
<v Speaker 1>going to be the same experience, and since most of

0:33:16.720 --> 0:33:19.720
<v Speaker 1>the files remain static, you didn't really have to worry

0:33:19.800 --> 0:33:22.840
<v Speaker 1>about the two top level servers getting out of sync.

0:33:23.200 --> 0:33:26.080
<v Speaker 1>They would be pretty much ready to go all the time.

0:33:26.120 --> 0:33:28.960
<v Speaker 1>I mean, occasionally you'd have to update at least parts

0:33:29.000 --> 0:33:32.480
<v Speaker 1>of the system, but it was pretty manageable, especially in

0:33:32.480 --> 0:33:37.080
<v Speaker 1>those early days before things got super complicated now. The

0:33:37.120 --> 0:33:40.160
<v Speaker 1>team also suggested that all registered servers in a system

0:33:40.200 --> 0:33:43.040
<v Speaker 1>have an alias that the Gopher client could use to

0:33:43.080 --> 0:33:46.400
<v Speaker 1>locate those servers, and this way the client would know

0:33:46.520 --> 0:33:50.600
<v Speaker 1>each registered server by its alias, rather than the server's

0:33:50.640 --> 0:33:54.640
<v Speaker 1>primary name, which was more or less unchangeable. Now why

0:33:54.640 --> 0:33:56.520
<v Speaker 1>would you want to have an alias, Well, the reason

0:33:57.160 --> 0:34:01.280
<v Speaker 1>was to improve portability. So if as an administrator, you

0:34:01.680 --> 0:34:04.520
<v Speaker 1>decided that you needed to move files from one server

0:34:04.680 --> 0:34:07.880
<v Speaker 1>to another server, that could be a huge headache because

0:34:07.880 --> 0:34:10.040
<v Speaker 1>it would mean having to update all these different path

0:34:10.160 --> 0:34:15.439
<v Speaker 1>names so that your top level machine knows where everything is. Now, right,

0:34:15.840 --> 0:34:19.040
<v Speaker 1>if you had to say, oh, well, instead of being

0:34:19.040 --> 0:34:20.560
<v Speaker 1>on this machine, it needs to be on this machine.

0:34:20.600 --> 0:34:23.279
<v Speaker 1>I've got to update all these different files and these

0:34:23.320 --> 0:34:26.399
<v Speaker 1>different path names so that people navigating the system will

0:34:26.440 --> 0:34:28.880
<v Speaker 1>get to where they need to go using the alias

0:34:28.960 --> 0:34:31.239
<v Speaker 1>was actually a very clever idea to get around this.

0:34:31.400 --> 0:34:34.319
<v Speaker 1>Clients wouldn't require an update or any alteration. They don't

0:34:34.360 --> 0:34:36.759
<v Speaker 1>need to know that computer one, which used to be

0:34:36.840 --> 0:34:39.920
<v Speaker 1>known as Bob, has gone offline and now computer two

0:34:40.040 --> 0:34:43.399
<v Speaker 1>has all of computer one's stuff. Instead, the administrator would

0:34:43.440 --> 0:34:46.279
<v Speaker 1>just name computer two Bob. They would give computer two

0:34:46.800 --> 0:34:50.400
<v Speaker 1>the alias of the old computer one, and then the

0:34:50.440 --> 0:34:53.760
<v Speaker 1>clients would just end up going to computer two because

0:34:53.800 --> 0:34:56.120
<v Speaker 1>they're not looking at one or two, They're just looking

0:34:56.120 --> 0:34:58.799
<v Speaker 1>for Bob, and if computer two is Bob, now that's

0:34:58.840 --> 0:35:01.919
<v Speaker 1>where they go. It was an ELI solution, particularly once

0:35:01.960 --> 0:35:06.000
<v Speaker 1>network's got really complex. Now, the brilliant thing behind Gopher

0:35:06.200 --> 0:35:08.320
<v Speaker 1>is that the end user didn't need to know any

0:35:08.400 --> 0:35:12.240
<v Speaker 1>of this. That didn't matter to them. They just needed

0:35:12.239 --> 0:35:15.880
<v Speaker 1>to have a simple interface to interact with. They needed

0:35:15.880 --> 0:35:18.000
<v Speaker 1>to be able to see the choices they wanted to

0:35:18.080 --> 0:35:20.759
<v Speaker 1>make a choice and follow that pathway, and it was

0:35:20.840 --> 0:35:23.480
<v Speaker 1>very similar to kind of a choose your own adventure book.

0:35:23.760 --> 0:35:27.120
<v Speaker 1>As long as the directories were clear and organization of

0:35:27.160 --> 0:35:29.799
<v Speaker 1>the information made sense, it was easy to use. And

0:35:29.920 --> 0:35:34.080
<v Speaker 1>then there was the killer app, the ability to search.

0:35:35.520 --> 0:35:38.160
<v Speaker 1>So to search on Gopher, you had to set up

0:35:38.160 --> 0:35:42.680
<v Speaker 1>an actual Gopher search server, it would be its own

0:35:42.719 --> 0:35:47.799
<v Speaker 1>purpose was to essentially have all the different files that

0:35:47.920 --> 0:35:52.879
<v Speaker 1>are connected to that particular Gopher space indexed, and these

0:35:52.880 --> 0:35:56.240
<v Speaker 1>servers could perform full text searches in all the files

0:35:56.280 --> 0:36:00.319
<v Speaker 1>on all the registered servers in that Gopher space. So,

0:36:00.400 --> 0:36:04.319
<v Speaker 1>by default, search queries assumed that if you were to

0:36:04.440 --> 0:36:08.320
<v Speaker 1>type in multiple words, the spaces between those words were

0:36:08.440 --> 0:36:12.239
<v Speaker 1>an and in boolean logic. In other words, if you

0:36:12.280 --> 0:36:16.640
<v Speaker 1>typed in Spanish dance in the query field, so you

0:36:16.760 --> 0:36:20.800
<v Speaker 1>just have Spanish space dance, the search would actually assume

0:36:20.840 --> 0:36:23.840
<v Speaker 1>what you are saying is give me all the files

0:36:24.160 --> 0:36:28.800
<v Speaker 1>that have both the words Spanish and dance in them.

0:36:29.280 --> 0:36:31.960
<v Speaker 1>Files that didn't meet that criteria would not be returned.

0:36:32.280 --> 0:36:34.000
<v Speaker 1>So if there was a file that had the words

0:36:34.000 --> 0:36:36.400
<v Speaker 1>Spanish in it, but dance never appeared in that file,

0:36:36.600 --> 0:36:38.680
<v Speaker 1>you wouldn't get it. Same thing if it were dance

0:36:38.760 --> 0:36:42.040
<v Speaker 1>but Spanish was never there, you wouldn't get it. Now,

0:36:42.040 --> 0:36:44.880
<v Speaker 1>this structure only worked with servers that were registered to

0:36:44.920 --> 0:36:47.920
<v Speaker 1>the same system, So these Gopher spaces were kind of

0:36:47.960 --> 0:36:52.280
<v Speaker 1>like islands in the ocean. You could connect Gopher spaces together,

0:36:53.040 --> 0:36:56.080
<v Speaker 1>you could end up registering the servers of different Gopher

0:36:56.120 --> 0:36:59.520
<v Speaker 1>spaces so that they made larger networks, and that would

0:36:59.520 --> 0:37:02.840
<v Speaker 1>allow users to navigate from one system of servers to another.

0:37:03.160 --> 0:37:06.120
<v Speaker 1>But that wasn't necessarily the aim of Gopher. So if

0:37:06.120 --> 0:37:09.040
<v Speaker 1>I did a search on a Gopher space for a

0:37:09.080 --> 0:37:13.040
<v Speaker 1>specific term, like again at UGA, if UGA was its

0:37:13.200 --> 0:37:18.640
<v Speaker 1>own contained system, its own network of servers throughout the campus,

0:37:18.680 --> 0:37:22.680
<v Speaker 1>but none of those had connections to other campuses, I'm

0:37:22.719 --> 0:37:25.040
<v Speaker 1>not going to find files that are stored at the

0:37:25.120 --> 0:37:29.840
<v Speaker 1>University of Minnesota because the two systems are distinct. I'll

0:37:29.880 --> 0:37:33.480
<v Speaker 1>only find files that are on UGA system. So it

0:37:33.520 --> 0:37:35.279
<v Speaker 1>was a little different from the World Wide Web. It

0:37:35.320 --> 0:37:40.120
<v Speaker 1>had these again, these kind of islands of information. Well,

0:37:40.160 --> 0:37:43.600
<v Speaker 1>I've got some more to talk about, including the rise

0:37:43.640 --> 0:37:46.120
<v Speaker 1>and fall of Gopher itself, but before I get into

0:37:46.160 --> 0:37:49.719
<v Speaker 1>that section, let's take another quick break to thank our sponsor.

0:37:59.320 --> 0:38:02.520
<v Speaker 1>All Right, we're talking about the nineteen nineties. Now, the

0:38:02.560 --> 0:38:07.879
<v Speaker 1>Internet was still pretty darn young back then, especially an

0:38:07.880 --> 0:38:12.200
<v Speaker 1>Internet that was accessible to people beyond the computer science field,

0:38:12.680 --> 0:38:15.240
<v Speaker 1>and no one was really sure what it would evolve

0:38:15.320 --> 0:38:19.120
<v Speaker 1>into in those early nineties. In nineteen ninety two, the

0:38:19.160 --> 0:38:23.239
<v Speaker 1>Internet Engineering Task Force or IETF held a meeting in

0:38:23.320 --> 0:38:27.600
<v Speaker 1>San Diego, and they invited McHale and also Anklesaria to

0:38:27.640 --> 0:38:30.640
<v Speaker 1>come out and to speak to the group as a

0:38:30.640 --> 0:38:34.680
<v Speaker 1>whole about the work they were doing with Gopher now.

0:38:35.160 --> 0:38:37.880
<v Speaker 1>The meeting included a whole bunch of different important figures

0:38:37.880 --> 0:38:41.480
<v Speaker 1>in Internet history, including Tim berners Lee, who is the

0:38:41.480 --> 0:38:43.840
<v Speaker 1>guy who pioneered the World Wide Web. He built the

0:38:43.840 --> 0:38:46.880
<v Speaker 1>first web page at CERN, that's the same organization that

0:38:47.000 --> 0:38:50.520
<v Speaker 1>runs the Large Hadron Collider. So berners Lee was there

0:38:50.600 --> 0:38:53.799
<v Speaker 1>to talk about his approach to Internet navigation using what

0:38:53.920 --> 0:38:57.440
<v Speaker 1>he called the web and hypertext, which I'm sure you're

0:38:57.440 --> 0:39:01.080
<v Speaker 1>familiar with because that's what everybody uses today. He also

0:39:01.160 --> 0:39:03.600
<v Speaker 1>was very interested in trying to find a way for

0:39:03.680 --> 0:39:08.200
<v Speaker 1>the Web and Gopher to work together. The folks over

0:39:08.239 --> 0:39:10.840
<v Speaker 1>at Gopher they were looking at berners lee approach to

0:39:11.360 --> 0:39:13.479
<v Speaker 1>navigation and they said, well, this doesn't make any sense

0:39:13.600 --> 0:39:18.440
<v Speaker 1>using hypertext of different words to leap to connected but

0:39:18.640 --> 0:39:23.200
<v Speaker 1>distinct ideas. That makes an organization impossible. It's like the

0:39:23.239 --> 0:39:26.640
<v Speaker 1>opposite of what we're doing. We're trying to create hierarchies

0:39:26.719 --> 0:39:30.000
<v Speaker 1>of information, and the web is a web. It's all

0:39:30.000 --> 0:39:32.719
<v Speaker 1>this interconnectivity. So they never really got to work things

0:39:32.719 --> 0:39:35.520
<v Speaker 1>out with berners Lee, something that they said in retrospect

0:39:35.560 --> 0:39:38.920
<v Speaker 1>perhaps was a mistake, but they didn't know that at

0:39:38.960 --> 0:39:41.360
<v Speaker 1>the time. No one was short at the time whose

0:39:41.400 --> 0:39:47.080
<v Speaker 1>approach was going to work out best. So it was

0:39:47.400 --> 0:39:50.680
<v Speaker 1>as a weird experience, right. And besides, the web programmers

0:39:50.760 --> 0:39:53.520
<v Speaker 1>learned about other means of accessing and navigating the Internet.

0:39:54.000 --> 0:39:57.200
<v Speaker 1>There were other ones like a Prospero and waste or

0:39:57.360 --> 0:40:02.200
<v Speaker 1>wais so be. Clifford Noyman and was the pioneer behind Prospero,

0:40:02.800 --> 0:40:06.240
<v Speaker 1>which was meant to create personalized directories of the Internet

0:40:06.320 --> 0:40:09.760
<v Speaker 1>in response to user queries, so he could organize information

0:40:09.800 --> 0:40:12.879
<v Speaker 1>and allow users to search grouping resources together so that

0:40:13.000 --> 0:40:15.760
<v Speaker 1>users didn't have to go down several different individual paths

0:40:15.800 --> 0:40:18.800
<v Speaker 1>and just hope for the best. Ways stood for Wide

0:40:18.960 --> 0:40:23.719
<v Speaker 1>Area Information Server. It was a text searching system that

0:40:23.760 --> 0:40:26.920
<v Speaker 1>could look for specific strings of text on files on

0:40:26.960 --> 0:40:30.520
<v Speaker 1>a server, retrieving any hits that it might find. And

0:40:30.760 --> 0:40:34.920
<v Speaker 1>so it was also very different from the Gopher approach

0:40:35.120 --> 0:40:38.600
<v Speaker 1>or the Prospero approach. It was a pretty basic strategy

0:40:38.719 --> 0:40:43.880
<v Speaker 1>to search and retrieval. So at this gathering, Mikhail discovered

0:40:43.880 --> 0:40:47.359
<v Speaker 1>that people already knew a lot about Gopher. He thought

0:40:47.360 --> 0:40:49.239
<v Speaker 1>he was going out there to tell people about a

0:40:49.360 --> 0:40:51.160
<v Speaker 1>system that he had developed and kind of launched the

0:40:51.239 --> 0:40:54.120
<v Speaker 1>year before. But everyone there seemed to really be familiar

0:40:54.120 --> 0:40:56.239
<v Speaker 1>with it. A lot of them were running their own

0:40:56.280 --> 0:40:59.719
<v Speaker 1>Gopher servers. They were really curious to hear more about

0:40:59.760 --> 0:41:03.680
<v Speaker 1>the team behind Gopher. The software had spread rapidly because

0:41:03.680 --> 0:41:08.239
<v Speaker 1>of its easy implementation and interface, and adoption was incredible.

0:41:08.800 --> 0:41:13.960
<v Speaker 1>By nineteen ninety three, Gopher's traffic growth rate hit nine

0:41:14.120 --> 0:41:19.279
<v Speaker 1>hundred ninety seven percent. Now that definitely sounds astronomical, but

0:41:19.360 --> 0:41:22.920
<v Speaker 1>keep in mind percentages are tricksy. For example, if I

0:41:22.920 --> 0:41:25.960
<v Speaker 1>sold one newspaper in a week, and then the following

0:41:26.000 --> 0:41:29.400
<v Speaker 1>week I sold ten newspapers, I'd have a growth sales

0:41:29.480 --> 0:41:33.719
<v Speaker 1>rate of nine hundred percent. So while nine hundred ninety

0:41:33.760 --> 0:41:38.440
<v Speaker 1>seven percent growth is spectacular, we're not talking about enormous numbers.

0:41:39.000 --> 0:41:41.600
<v Speaker 1>By April nineteen ninety four, the number of Gopher servers,

0:41:41.640 --> 0:41:43.880
<v Speaker 1>or at least the ones that the team was aware of,

0:41:44.320 --> 0:41:49.279
<v Speaker 1>had hit just under seven thousand servers. But Gopher did

0:41:49.320 --> 0:41:51.879
<v Speaker 1>have a big head start on the web. It took

0:41:51.960 --> 0:41:55.000
<v Speaker 1>the web a bit longer to catch on because you

0:41:55.080 --> 0:41:58.640
<v Speaker 1>had to have the development of the clients that people

0:41:58.640 --> 0:42:01.239
<v Speaker 1>could use to browse the web, and you had to

0:42:01.320 --> 0:42:04.480
<v Speaker 1>have the development of the actual software people were using

0:42:04.560 --> 0:42:09.759
<v Speaker 1>to create web servers. Gopher was popular enough for the

0:42:09.760 --> 0:42:12.200
<v Speaker 1>team to start to hold conferences of their own called

0:42:12.239 --> 0:42:16.360
<v Speaker 1>Gopher cons. They even created t shirts and merchandise with

0:42:16.400 --> 0:42:19.400
<v Speaker 1>the Gopher logo on it. Colleges and companies were adopting it.

0:42:19.440 --> 0:42:22.320
<v Speaker 1>Even the White House launched a Gopher site back in

0:42:22.360 --> 0:42:25.920
<v Speaker 1>those days. But hot on the heels of Gopher was

0:42:25.960 --> 0:42:29.120
<v Speaker 1>the Worldwide Web concept, which had its own compelling methods

0:42:29.160 --> 0:42:33.399
<v Speaker 1>of navigating and presenting information. Even though it seemed non

0:42:33.440 --> 0:42:36.120
<v Speaker 1>intuitive to the Gopher group, it turned out that people

0:42:36.160 --> 0:42:38.479
<v Speaker 1>really like it. Anyone who spent a lot of time

0:42:38.520 --> 0:42:42.080
<v Speaker 1>on a site like Wikipedia dancing from one topic to another,

0:42:42.239 --> 0:42:44.759
<v Speaker 1>just diving down those rabbit holes, they know what I'm

0:42:44.800 --> 0:42:49.719
<v Speaker 1>talking about. Someone, ironically, I would say Tim berners Lee

0:42:49.760 --> 0:42:52.360
<v Speaker 1>actually was able to spread the word about the World

0:42:52.360 --> 0:42:55.640
<v Speaker 1>Wide Web using a Gopher site. That's how people were

0:42:55.680 --> 0:42:57.879
<v Speaker 1>able to get the files they needed to create web

0:42:57.920 --> 0:43:01.280
<v Speaker 1>servers and web clients, as well as find more information

0:43:01.360 --> 0:43:04.240
<v Speaker 1>about the web itself. And the Gover team was running

0:43:04.280 --> 0:43:06.600
<v Speaker 1>into problems with the University of Minnesota as well. The

0:43:06.640 --> 0:43:12.840
<v Speaker 1>administration was always something of a reluctant partner with this group.

0:43:13.600 --> 0:43:16.160
<v Speaker 1>At first, the college had been a roadblock. You remember

0:43:16.200 --> 0:43:19.480
<v Speaker 1>I mentioned they refused to implement Gopher in those early days.

0:43:19.800 --> 0:43:22.320
<v Speaker 1>They only did it after it had already been implemented

0:43:22.360 --> 0:43:26.080
<v Speaker 1>at other college campuses. Members of the gover development team

0:43:26.200 --> 0:43:28.960
<v Speaker 1>were looking at the possibility of creating a private entity,

0:43:29.120 --> 0:43:32.320
<v Speaker 1>like a spinoff company, to create Gopher as a commercial product.

0:43:33.080 --> 0:43:35.440
<v Speaker 1>But back in those days, the Internet was still largely

0:43:35.440 --> 0:43:39.040
<v Speaker 1>the domain of universities and government offices. In fact, a

0:43:39.080 --> 0:43:42.000
<v Speaker 1>lot of people looked at the possibility of private enterprise

0:43:42.080 --> 0:43:45.280
<v Speaker 1>getting involved with the Internet as something they did not want.

0:43:45.400 --> 0:43:48.680
<v Speaker 1>A lot of people kind of compared it to public broadcasting.

0:43:48.719 --> 0:43:52.680
<v Speaker 1>They said the Internet should remain like PBS and all

0:43:52.680 --> 0:43:55.759
<v Speaker 1>these companies. That's like ads supported TV. We don't want

0:43:55.760 --> 0:43:58.759
<v Speaker 1>that here. So there was a lot of resistance even

0:43:58.800 --> 0:44:01.720
<v Speaker 1>among the group themselves. It's not everybody was in agreement

0:44:01.760 --> 0:44:05.080
<v Speaker 1>that they should go the privatizer route. And remember the

0:44:05.120 --> 0:44:08.080
<v Speaker 1>dot com era had not yet begun at this point. Then.

0:44:08.120 --> 0:44:12.440
<v Speaker 1>The University of Minnesota instituted a licensing policy for Gopher.

0:44:12.840 --> 0:44:16.000
<v Speaker 1>They said that any organization out there that was operating

0:44:16.239 --> 0:44:19.520
<v Speaker 1>for profit would need to pay a license fee to

0:44:19.560 --> 0:44:23.919
<v Speaker 1>the University of Minnesota in order to use Gopher, and

0:44:24.160 --> 0:44:27.480
<v Speaker 1>the cost of this license fee was sliding. It depended

0:44:27.560 --> 0:44:31.799
<v Speaker 1>upon the size and type of business in question, and

0:44:31.920 --> 0:44:34.240
<v Speaker 1>the university was looking to keep all that money for themselves,

0:44:34.239 --> 0:44:37.160
<v Speaker 1>really i Meanwhile, the development team found that the university

0:44:37.200 --> 0:44:39.560
<v Speaker 1>still wanted them to do their regular desk jobs as

0:44:39.600 --> 0:44:43.800
<v Speaker 1>programmers for the University of Minnesota, so they were supposed

0:44:43.840 --> 0:44:47.400
<v Speaker 1>to both develop Gopher and work on their normal jobs,

0:44:47.480 --> 0:44:50.359
<v Speaker 1>and they weren't really given any more resources to do this.

0:44:50.400 --> 0:44:52.960
<v Speaker 1>It was still just the six of them, so their

0:44:53.000 --> 0:44:57.480
<v Speaker 1>morale began to decline. And then they had the university

0:44:57.600 --> 0:45:00.399
<v Speaker 1>expecting them to do these two jobs at once, as

0:45:00.440 --> 0:45:03.680
<v Speaker 1>well as having an entire population of users out there

0:45:04.000 --> 0:45:07.120
<v Speaker 1>who were angry about this licensing policy that the university

0:45:07.160 --> 0:45:09.480
<v Speaker 1>has had put in place, and the team was kind

0:45:09.480 --> 0:45:12.120
<v Speaker 1>of caught in the middle, and at one point, the

0:45:12.200 --> 0:45:17.040
<v Speaker 1>university even considered outsourcing Gopher to other programmers, essentially taking

0:45:17.080 --> 0:45:20.360
<v Speaker 1>it away from the team that created it and giving

0:45:20.360 --> 0:45:24.600
<v Speaker 1>it to someone else. Meanwhile, the web was just getting started.

0:45:24.680 --> 0:45:27.800
<v Speaker 1>Remember that I said, Gopher grew by nine hundred ninety

0:45:27.800 --> 0:45:31.840
<v Speaker 1>seven percent back in nineteen ninety three. Well, the web

0:45:31.880 --> 0:45:35.960
<v Speaker 1>also grew that year by three hundred forty one thousand,

0:45:36.080 --> 0:45:40.799
<v Speaker 1>six hundred thirty four percent. I was also the first

0:45:40.880 --> 0:45:45.160
<v Speaker 1>year of the commercial web browser, Mosaic. Mosaic proved that

0:45:45.239 --> 0:45:48.400
<v Speaker 1>you could go commercial on the Internet. So while the

0:45:48.400 --> 0:45:52.600
<v Speaker 1>Gopher group was reluctant the website, things were going in

0:45:52.640 --> 0:45:56.000
<v Speaker 1>a very different direction, and the web was incorporating stuff

0:45:56.000 --> 0:45:59.520
<v Speaker 1>that Gopher couldn't really support, like images on web pages. Now,

0:45:59.560 --> 0:46:02.080
<v Speaker 1>as an image on a web page was not a

0:46:02.160 --> 0:46:06.280
<v Speaker 1>huge asset because it took forever to render a picture

0:46:06.400 --> 0:46:09.400
<v Speaker 1>on a screen, and it caused some people to say

0:46:09.400 --> 0:46:14.720
<v Speaker 1>that WWW actually stood for worldwide Weight. But modem speeds

0:46:14.719 --> 0:46:16.840
<v Speaker 1>were on the rise as well, and that helped reduce

0:46:16.920 --> 0:46:19.960
<v Speaker 1>some of that loading time, And some of the Gopher

0:46:20.000 --> 0:46:24.319
<v Speaker 1>team rather sardonically said, we knew the game was up

0:46:24.760 --> 0:46:28.040
<v Speaker 1>when we realized that people could get naked photos on

0:46:28.120 --> 0:46:30.920
<v Speaker 1>their computer screens using the World Wide Web, something that

0:46:30.960 --> 0:46:33.480
<v Speaker 1>you could not be done with Gopher, and they were

0:46:33.480 --> 0:46:36.640
<v Speaker 1>being pretty serious about it at the time. By the

0:46:36.680 --> 0:46:41.160
<v Speaker 1>spring of nineteen ninety four, web traffic exceeded Gopher traffic.

0:46:41.719 --> 0:46:44.680
<v Speaker 1>So even though Gopher had a headstart, Web had caught

0:46:44.760 --> 0:46:49.080
<v Speaker 1>up and passed Gopher traffic. Companies were discovering that there

0:46:49.080 --> 0:46:53.240
<v Speaker 1>were some possibilities on the web, though really web commerce

0:46:53.280 --> 0:46:55.959
<v Speaker 1>was still a couple of years away from really taking off,

0:46:56.360 --> 0:46:59.520
<v Speaker 1>but it offered opportunities beyond just sharing information, which was

0:46:59.560 --> 0:47:03.040
<v Speaker 1>really the only thing Gopher was good for was really

0:47:03.080 --> 0:47:07.200
<v Speaker 1>sharing information and distributing files. It wasn't meant to do

0:47:07.320 --> 0:47:10.279
<v Speaker 1>really more than that. So the web had versatility on

0:47:10.360 --> 0:47:13.120
<v Speaker 1>its side as well. And one of the big things

0:47:13.480 --> 0:47:16.480
<v Speaker 1>that helped drive the knife home and Gopher had nothing

0:47:16.520 --> 0:47:19.879
<v Speaker 1>to do with how people use the Internet. It had

0:47:19.880 --> 0:47:23.279
<v Speaker 1>to do with a scandal unrelated to anyone on the

0:47:23.320 --> 0:47:27.920
<v Speaker 1>Gopher team. Doctor John Nigerian, a transplant surgeon at the

0:47:28.000 --> 0:47:33.120
<v Speaker 1>University of Minnesota, was accused of fraud, tax evasion, and embezzlement.

0:47:33.840 --> 0:47:37.160
<v Speaker 1>The charges led the National Institutes of Health, which is

0:47:37.200 --> 0:47:39.840
<v Speaker 1>a federal government office here in the United States, to

0:47:39.920 --> 0:47:43.400
<v Speaker 1>withdraw funding to the university, and that was a serious

0:47:43.440 --> 0:47:46.720
<v Speaker 1>blow to the school, so they went to emergency mode

0:47:46.760 --> 0:47:50.480
<v Speaker 1>to try and fix the situation. They, as part of that,

0:47:50.840 --> 0:47:54.200
<v Speaker 1>asked the Gopher team to create a new system to

0:47:54.280 --> 0:47:58.279
<v Speaker 1>track accounts and file paperwork, because a large part of

0:47:58.320 --> 0:48:03.240
<v Speaker 1>this accusation really dealt with the way paperwork was failing

0:48:03.320 --> 0:48:07.760
<v Speaker 1>to be filed on time. So the team eventually developed

0:48:07.760 --> 0:48:11.040
<v Speaker 1>a web based transaction program, which is also kind of

0:48:11.040 --> 0:48:12.680
<v Speaker 1>ironic when you think about it. That was a web

0:48:12.719 --> 0:48:17.000
<v Speaker 1>based approach. It was the world's first web based transaction program.

0:48:17.360 --> 0:48:19.480
<v Speaker 1>But it also meant that while they were developing this,

0:48:19.640 --> 0:48:22.799
<v Speaker 1>they could not continue working on Gopher because they just

0:48:22.800 --> 0:48:25.120
<v Speaker 1>didn't have the time to do it. So by the

0:48:25.160 --> 0:48:29.359
<v Speaker 1>time they finished the web based application, Gopher was dead

0:48:29.400 --> 0:48:32.760
<v Speaker 1>in the water, or I guess dead under the ground,

0:48:33.000 --> 0:48:35.800
<v Speaker 1>I suppose, if we want to stick with the metaphor anyway,

0:48:35.960 --> 0:48:39.600
<v Speaker 1>It's not really dead dead. It's not entirely gone. There

0:48:39.640 --> 0:48:42.960
<v Speaker 1>are still Gopher servers out there if you know where

0:48:43.000 --> 0:48:47.240
<v Speaker 1>to look. But as an evolving entity, Gopher was essentially

0:48:47.280 --> 0:48:50.879
<v Speaker 1>a thing of the past, and at some point ten

0:48:51.000 --> 0:48:54.600
<v Speaker 1>no one's really sure when someone took the original Gopher

0:48:54.760 --> 0:48:59.320
<v Speaker 1>server known as Mother Gopher, offline. The University of Minnesota

0:48:59.360 --> 0:49:02.120
<v Speaker 1>supported it for several years after Gopher had clearly lost

0:49:02.120 --> 0:49:04.320
<v Speaker 1>the race to the web, but that is no longer

0:49:04.360 --> 0:49:07.279
<v Speaker 1>the case, as for Michael. He would go on to

0:49:07.440 --> 0:49:10.799
<v Speaker 1>join Duke University, where he still works today, and other

0:49:10.880 --> 0:49:12.960
<v Speaker 1>members of the team have gone on to do other things.

0:49:13.000 --> 0:49:15.920
<v Speaker 1>Some of them retired, some of them album's working for Google.

0:49:16.200 --> 0:49:18.920
<v Speaker 1>One of them stayed with the University of Minnesota, oh

0:49:18.960 --> 0:49:23.400
<v Speaker 1>And doctor Nigerian, who was accused of those crimes, was

0:49:23.640 --> 0:49:27.680
<v Speaker 1>ultimately exonerated of those accusations of fraud and embezzlement. The

0:49:27.800 --> 0:49:31.480
<v Speaker 1>jury returned with a verdict of not guilty, but by

0:49:31.520 --> 0:49:33.920
<v Speaker 1>then the damage was done in more ways than one.

0:49:34.080 --> 0:49:37.040
<v Speaker 1>Gopher had faded away due to lack of support, and

0:49:37.080 --> 0:49:39.800
<v Speaker 1>the university found itself struggling to regain the trust of

0:49:39.840 --> 0:49:44.480
<v Speaker 1>the nih And that was the Textuff Classics episode What

0:49:44.880 --> 0:49:49.920
<v Speaker 1>Was Gopher, which originally published April nineteenth, twenty seventeen. I

0:49:49.920 --> 0:49:53.080
<v Speaker 1>hope you enjoyed that episode. For the older listeners out there,

0:49:53.400 --> 0:49:55.319
<v Speaker 1>let me know if you used Gopher. I mean, some

0:49:55.400 --> 0:49:57.799
<v Speaker 1>of the younger ones may have too. It's just less likely,

0:49:57.840 --> 0:50:00.200
<v Speaker 1>I think, but yeah, let me know if you is

0:50:00.239 --> 0:50:03.560
<v Speaker 1>Gopher and your thoughts on it. I would love to

0:50:03.560 --> 0:50:07.000
<v Speaker 1>hear from you, and I hope you are all well

0:50:07.320 --> 0:50:15.920
<v Speaker 1>and I will talk to you again really soon. Tech

0:50:16.000 --> 0:50:20.400
<v Speaker 1>Stuff is an iHeartRadio production. For more podcasts from iHeartRadio,

0:50:20.719 --> 0:50:24.440
<v Speaker 1>visit the iHeartRadio app, Apple Podcasts, or wherever you listen

0:50:24.480 --> 0:50:25.520
<v Speaker 1>to your favorite shows.