1 00:00:04,200 --> 00:00:07,240 Speaker 1: Get in text with technology with tech Stuff from how 2 00:00:07,280 --> 00:00:14,080 Speaker 1: stuff works dot com. Hey there, and welcome to text Stuff. 3 00:00:14,120 --> 00:00:17,920 Speaker 1: I'm your host Jonathan Strickland, senior writer for how stuff 4 00:00:17,960 --> 00:00:21,480 Speaker 1: works dot com. And today's episode comes to us courtesy 5 00:00:21,600 --> 00:00:26,759 Speaker 1: of a little listener mail. And you guys have been 6 00:00:27,080 --> 00:00:30,320 Speaker 1: crushing it, sending tons of suggestions my way, and I 7 00:00:30,360 --> 00:00:32,680 Speaker 1: just want to say I really appreciate it. So remember, 8 00:00:33,000 --> 00:00:35,360 Speaker 1: if you have a suggestion for a topic I should cover, 9 00:00:35,640 --> 00:00:38,559 Speaker 1: send me the message. The emails tech Stuff at how 10 00:00:38,680 --> 00:00:42,159 Speaker 1: stuff works dot com. But this week's listener mail episode 11 00:00:42,200 --> 00:00:45,760 Speaker 1: comes to us from Ryan, who says, please do an 12 00:00:45,800 --> 00:00:49,280 Speaker 1: episode about the Gopher protocol, such a different approach to 13 00:00:49,400 --> 00:00:52,959 Speaker 1: utilizing the Internet that no one knows today. And so 14 00:00:53,560 --> 00:00:56,600 Speaker 1: today we're gonna walk back in Internet history and learn 15 00:00:56,720 --> 00:01:00,160 Speaker 1: all about the Gopher protocol. But first it kind of 16 00:01:00,640 --> 00:01:04,760 Speaker 1: benefits us to remember what exactly the Internet is. And 17 00:01:05,040 --> 00:01:08,399 Speaker 1: trust me, this is important in the grand scheme of things. 18 00:01:08,440 --> 00:01:11,240 Speaker 1: But I'll be nice and high level and brief about it. 19 00:01:11,280 --> 00:01:13,520 Speaker 1: So when you get down to it, the Internet is 20 00:01:13,600 --> 00:01:16,119 Speaker 1: essentially just a bunch of computing devices that are all 21 00:01:16,120 --> 00:01:18,760 Speaker 1: connected to each other, and that's it. Really. There's a 22 00:01:18,760 --> 00:01:21,160 Speaker 1: lot of infrastructure there that allows this to happen. But 23 00:01:21,319 --> 00:01:24,120 Speaker 1: ultimately it's a bunch of computers that are talking to 24 00:01:24,160 --> 00:01:27,240 Speaker 1: each other. It's a network of networks using various types 25 00:01:27,240 --> 00:01:31,720 Speaker 1: of connections and protocols to send and receive communications. But 26 00:01:32,040 --> 00:01:34,800 Speaker 1: when you just break it down to its simplest of terms, 27 00:01:35,080 --> 00:01:39,120 Speaker 1: you're really talking about a bunch of interconnected machines. Now, 28 00:01:39,200 --> 00:01:44,680 Speaker 1: broadly speaking, we can classify most of these machines as 29 00:01:44,720 --> 00:01:48,960 Speaker 1: either servers or clients. Now there are other machines as well, 30 00:01:49,280 --> 00:01:52,720 Speaker 1: like routers and switches and stuff, but I'm mostly talking 31 00:01:52,760 --> 00:01:55,560 Speaker 1: about the devices that are directly communicating with each other 32 00:01:55,720 --> 00:01:59,920 Speaker 1: rather than the ones that facilitate that communication. So as 33 00:02:00,000 --> 00:02:02,640 Speaker 1: a server, well, it does exactly what it sounds like. 34 00:02:02,680 --> 00:02:08,560 Speaker 1: It does. It serves information. Clients request information. So your 35 00:02:08,600 --> 00:02:11,480 Speaker 1: smartphone or your computer or your tablet that you use 36 00:02:11,560 --> 00:02:14,560 Speaker 1: to serve the Internet or read email or whatever it 37 00:02:14,639 --> 00:02:17,880 Speaker 1: is you do online, that is a client. The servers 38 00:02:17,919 --> 00:02:21,320 Speaker 1: are the machines that contain all the information you're looking 39 00:02:21,360 --> 00:02:24,880 Speaker 1: at and serve it up to you. And the Internet 40 00:02:25,120 --> 00:02:28,079 Speaker 1: is older than the World Wide Web. A lot of people, 41 00:02:28,560 --> 00:02:31,880 Speaker 1: probably not as many today as we're around. For like 42 00:02:31,919 --> 00:02:34,520 Speaker 1: the late nineties, but a lot of people would equate 43 00:02:34,560 --> 00:02:37,040 Speaker 1: the World Wide Web with the Internet, like the two 44 00:02:37,080 --> 00:02:39,880 Speaker 1: are synonymous, and that's not really true. The Web is 45 00:02:39,880 --> 00:02:42,560 Speaker 1: really just a layer on top of the Internet. It's 46 00:02:42,680 --> 00:02:45,160 Speaker 1: it's an interface that makes it easy to access and 47 00:02:45,240 --> 00:02:49,680 Speaker 1: interact with information. But it's just one part of the Internet. 48 00:02:49,720 --> 00:02:52,320 Speaker 1: And before it came along, people were facing a bit 49 00:02:52,360 --> 00:02:58,000 Speaker 1: of a challenge. So imagine you've got this network of networks. 50 00:02:58,160 --> 00:03:03,760 Speaker 1: Information is on thousands of servers around the world. You 51 00:03:04,400 --> 00:03:07,840 Speaker 1: want to get access to some specific information, like a 52 00:03:07,960 --> 00:03:12,000 Speaker 1: very particular file. There's one file that you want to get, 53 00:03:12,040 --> 00:03:16,040 Speaker 1: But how do you track down that file? How do 54 00:03:16,080 --> 00:03:20,120 Speaker 1: you know which computer out there in this vast network 55 00:03:20,160 --> 00:03:23,000 Speaker 1: of networks, How do you know which one actually holds 56 00:03:23,040 --> 00:03:27,040 Speaker 1: the file you want. You can't just scream out, hey, 57 00:03:27,040 --> 00:03:29,520 Speaker 1: I need this one text file. You've got to know 58 00:03:29,600 --> 00:03:32,120 Speaker 1: where it is in order to retrieve it. So the 59 00:03:32,160 --> 00:03:35,480 Speaker 1: way this would work normally is that you'd send a 60 00:03:35,520 --> 00:03:39,559 Speaker 1: message from your computer across the network to the specific 61 00:03:39,680 --> 00:03:44,600 Speaker 1: server in question. So ideally you would know what computer 62 00:03:45,080 --> 00:03:49,080 Speaker 1: hosts your file, and you would use some method of 63 00:03:49,280 --> 00:03:53,000 Speaker 1: connecting to that server. Maybe you're using tell neet, maybe 64 00:03:53,000 --> 00:03:57,120 Speaker 1: you're using FTP file transfer protocol, but you're using something 65 00:03:57,160 --> 00:04:00,280 Speaker 1: to send a message to that server, and in return, 66 00:04:00,360 --> 00:04:03,320 Speaker 1: the server responds to you, and then you request access 67 00:04:03,320 --> 00:04:06,600 Speaker 1: to that file. It's really just that the message you 68 00:04:06,640 --> 00:04:10,120 Speaker 1: send is just a request for information stored on that server. 69 00:04:11,040 --> 00:04:14,960 Speaker 1: And if you have access authorized access to the information. 70 00:04:15,040 --> 00:04:16,919 Speaker 1: In other words, if it's not protected by like a 71 00:04:16,960 --> 00:04:20,239 Speaker 1: password or something that you don't have, the server would 72 00:04:20,240 --> 00:04:24,520 Speaker 1: send that information back across the internet to you. But 73 00:04:24,600 --> 00:04:27,880 Speaker 1: what happens if you don't know which computer holds the 74 00:04:27,920 --> 00:04:31,360 Speaker 1: information you want? How do you get access to it? 75 00:04:32,520 --> 00:04:33,960 Speaker 1: Back in the old days, this would be kind of 76 00:04:33,960 --> 00:04:37,920 Speaker 1: like picking up a telephone to call somebody. Let's say 77 00:04:37,920 --> 00:04:40,640 Speaker 1: you're trying to call me, only you don't have my 78 00:04:40,680 --> 00:04:42,760 Speaker 1: phone number. I never gave it to you. I'm not 79 00:04:42,880 --> 00:04:45,400 Speaker 1: listed anywhere, So how do you call me? There are 80 00:04:45,480 --> 00:04:49,000 Speaker 1: millions of phone numbers out there. If you knew my 81 00:04:49,040 --> 00:04:51,039 Speaker 1: phone number, everything would be just fine because you could 82 00:04:51,080 --> 00:04:53,240 Speaker 1: just dial it directly. But since you don't know my 83 00:04:53,400 --> 00:04:56,640 Speaker 1: number and there's no directory to consult, you're faced with 84 00:04:56,680 --> 00:04:58,880 Speaker 1: a nearly impossible task. What do you do? Just start 85 00:04:58,960 --> 00:05:02,360 Speaker 1: randomly hitting button until the right person picks up. Well, 86 00:05:02,360 --> 00:05:06,120 Speaker 1: that was the problem facing the Internet. It arose because 87 00:05:06,480 --> 00:05:09,160 Speaker 1: the network became more complicated. Just as in the old 88 00:05:09,240 --> 00:05:13,040 Speaker 1: days you might have very few telephones in a single town. 89 00:05:13,480 --> 00:05:16,039 Speaker 1: Like I'm talking the real old days. When telephones first 90 00:05:16,040 --> 00:05:18,680 Speaker 1: became popular, you didn't need to worry about phone numbers. 91 00:05:18,720 --> 00:05:21,680 Speaker 1: Maybe three people in town had a phone. These days 92 00:05:22,000 --> 00:05:24,440 Speaker 1: you gotta worry about it because millions of people iPhones. Well, 93 00:05:24,480 --> 00:05:27,400 Speaker 1: same thing was true with the network of networks. As 94 00:05:27,440 --> 00:05:30,680 Speaker 1: more computers came online, as more systems joined the Internet, 95 00:05:31,279 --> 00:05:34,560 Speaker 1: it became more difficult to track very specific stuff down. 96 00:05:35,839 --> 00:05:40,040 Speaker 1: So before the Internet, there was a sort of a precursor, 97 00:05:40,360 --> 00:05:45,000 Speaker 1: not really the Internet. Before there was an Internet, but 98 00:05:45,240 --> 00:05:49,200 Speaker 1: it was a system of networked computers called ARPA Net 99 00:05:50,040 --> 00:05:52,880 Speaker 1: now the ARPA Net. That was a project from the 100 00:05:52,920 --> 00:05:57,200 Speaker 1: Department of Defense in the United States, and it was 101 00:05:57,279 --> 00:06:00,800 Speaker 1: something that that required a bunch of computers scientists to 102 00:06:00,880 --> 00:06:06,040 Speaker 1: sit down and work out protocols. Uh. It was essentially 103 00:06:06,080 --> 00:06:10,000 Speaker 1: a big, but relatively simple network of computers. Now I 104 00:06:10,160 --> 00:06:13,480 Speaker 1: say simple because if you look at the Internet by 105 00:06:13,520 --> 00:06:17,560 Speaker 1: comparison as a network of networks, it is far more 106 00:06:17,680 --> 00:06:21,840 Speaker 1: complex than what Urbanet was. But I am not casting 107 00:06:21,839 --> 00:06:26,960 Speaker 1: aspersions on our bonnet. It was still incredibly sophisticated, particularly 108 00:06:27,080 --> 00:06:31,960 Speaker 1: for its time. It allowed people working on different computers 109 00:06:32,000 --> 00:06:36,120 Speaker 1: that used different operating systems, different languages, the ability to 110 00:06:36,160 --> 00:06:41,400 Speaker 1: communicate with each other. And that's phenomenal because usually you 111 00:06:41,400 --> 00:06:43,240 Speaker 1: know this, these are like computers that if you were 112 00:06:43,240 --> 00:06:45,359 Speaker 1: to connect directly to one another, they would not be 113 00:06:45,400 --> 00:06:48,640 Speaker 1: able to communicate with each other. They were fundamentally different. 114 00:06:48,960 --> 00:06:51,760 Speaker 1: So the designers of the Urbanet had to figure out 115 00:06:51,839 --> 00:06:55,000 Speaker 1: a set of rules that all these different types of 116 00:06:55,000 --> 00:06:59,280 Speaker 1: computers could follow in order to exchange information with one another. 117 00:07:00,120 --> 00:07:02,880 Speaker 1: So that that required a lot of work to create 118 00:07:02,920 --> 00:07:05,960 Speaker 1: these protocols or sets of rules to facilitate communication. And 119 00:07:06,000 --> 00:07:09,159 Speaker 1: I've talked about ARBONETT before. If you want to hear 120 00:07:09,240 --> 00:07:11,400 Speaker 1: a lot more about it, you can track down the 121 00:07:11,440 --> 00:07:15,040 Speaker 1: classic episode. It originally published in two thousand and twelve. 122 00:07:15,560 --> 00:07:19,480 Speaker 1: It was titled Happy Fathers of the Internet Day and 123 00:07:19,480 --> 00:07:22,600 Speaker 1: then it Chris Pallette and I talked a lot about 124 00:07:22,680 --> 00:07:27,120 Speaker 1: the people who designed the various protocols that allow Internet 125 00:07:27,120 --> 00:07:31,720 Speaker 1: communication to happen. Well. Anyway, two of the protocols in 126 00:07:31,800 --> 00:07:36,120 Speaker 1: question during the days of Arbonet were the Transmission Control 127 00:07:36,200 --> 00:07:41,600 Speaker 1: Protocol or TCP developed in ninety and the Internet Protocol 128 00:07:41,800 --> 00:07:45,520 Speaker 1: or i P, in ninety eight. These are almost always 129 00:07:45,560 --> 00:07:48,520 Speaker 1: grouped together whenever anyone talks about Internet protocols, they'll say 130 00:07:48,560 --> 00:07:52,080 Speaker 1: t C P i P, But they're technically two different 131 00:07:52,080 --> 00:07:57,520 Speaker 1: sets of rules that together uh end up guiding the 132 00:07:57,560 --> 00:08:01,000 Speaker 1: computers on how to communicate across this network of networks. 133 00:08:01,040 --> 00:08:04,160 Speaker 1: These are the rules that gave Arponette that ability to 134 00:08:04,320 --> 00:08:09,680 Speaker 1: create global communication across various different computers. The two protocols 135 00:08:09,680 --> 00:08:14,800 Speaker 1: were officially adopted by Arpanett in Night three, So while 136 00:08:14,800 --> 00:08:18,320 Speaker 1: they were developed in the seventies, it wasn't officially adopted 137 00:08:18,720 --> 00:08:21,840 Speaker 1: until Night three. Now, they were being used before that, 138 00:08:22,120 --> 00:08:26,720 Speaker 1: but you know, Arpanet was a government thing, and just 139 00:08:27,320 --> 00:08:32,360 Speaker 1: like you would suspect it moves super fast because it's government. Well, 140 00:08:32,400 --> 00:08:36,920 Speaker 1: the following year a lot of things happen. We got 141 00:08:36,960 --> 00:08:41,839 Speaker 1: that really killer Apple Mac commercial that was like the 142 00:08:42,000 --> 00:08:45,439 Speaker 1: Orwellian nineteen eighty four that was phenomenal. But also Sun 143 00:08:45,559 --> 00:08:51,320 Speaker 1: micro Systems unveiled a system called the Network Filing System 144 00:08:51,520 --> 00:08:55,559 Speaker 1: or NFS that was sort of like a file directory 145 00:08:55,679 --> 00:08:59,480 Speaker 1: and storage system for networked computers running on a heterogeneous 146 00:09:00,280 --> 00:09:03,760 Speaker 1: Unix environment. So you had to have a bunch of 147 00:09:03,760 --> 00:09:08,760 Speaker 1: computers running the same Unix implementation essentially, or same version 148 00:09:08,800 --> 00:09:11,360 Speaker 1: I guess I should say not implementation, but the same 149 00:09:11,520 --> 00:09:14,839 Speaker 1: version of Unix across all these different machines. And it 150 00:09:14,920 --> 00:09:18,000 Speaker 1: was kind of like your basic file management system you'd 151 00:09:18,000 --> 00:09:20,680 Speaker 1: have on a personal computer. So if you've ever used 152 00:09:20,679 --> 00:09:24,640 Speaker 1: a computer that had a variation of this, like Windows 153 00:09:24,679 --> 00:09:29,320 Speaker 1: file Explorer is a good example. You typically have a 154 00:09:29,400 --> 00:09:33,040 Speaker 1: hierarchy of files. You'll have like a top level selection 155 00:09:33,080 --> 00:09:35,360 Speaker 1: of files. If you go into one of those, you 156 00:09:35,440 --> 00:09:40,040 Speaker 1: might see folders, like subfolders underneath that main heading. Go 157 00:09:40,080 --> 00:09:42,840 Speaker 1: into that one, you'll see more subfolders, maybe some files, 158 00:09:42,880 --> 00:09:45,560 Speaker 1: that kind of stuff. Well, it was essentially that, but 159 00:09:45,840 --> 00:09:48,400 Speaker 1: for an entire network of computers. So you can share 160 00:09:48,440 --> 00:09:53,400 Speaker 1: information between different computers on the system by saving files 161 00:09:53,480 --> 00:09:57,320 Speaker 1: to this network drive, something that's very familiar to most 162 00:09:57,320 --> 00:10:01,080 Speaker 1: of us today, but back then was really new. And 163 00:10:01,160 --> 00:10:05,479 Speaker 1: then obviously you could retrieve files from the appropriate directory 164 00:10:05,480 --> 00:10:10,280 Speaker 1: on that same system. Also, in a team over at 165 00:10:10,280 --> 00:10:15,080 Speaker 1: Carnegie Melon University released the Andrew File System or a 166 00:10:15,360 --> 00:10:18,480 Speaker 1: f S now. Originally, the a f S provided Carnegie 167 00:10:18,520 --> 00:10:23,000 Speaker 1: Melon students a campus wide file directory system and later on, 168 00:10:23,200 --> 00:10:26,600 Speaker 1: a company called trans Arc sort of spun off and 169 00:10:26,760 --> 00:10:30,760 Speaker 1: turned this into a commercial product. Now, these file systems 170 00:10:30,760 --> 00:10:35,079 Speaker 1: allowed users to access files on other computers, but they 171 00:10:35,160 --> 00:10:39,200 Speaker 1: also came with a really steep learning curve. If you 172 00:10:39,240 --> 00:10:44,199 Speaker 1: weren't particularly computer savvy, it was really challenging to navigate 173 00:10:44,200 --> 00:10:47,000 Speaker 1: through these file directories. It would be kind of like 174 00:10:47,240 --> 00:10:50,760 Speaker 1: taking someone to a computer and it has all line commands, 175 00:10:51,040 --> 00:10:53,520 Speaker 1: and the person had never really worked with a line 176 00:10:53,559 --> 00:10:57,160 Speaker 1: command interface. They only worked with graphics by line command. 177 00:10:57,200 --> 00:11:00,240 Speaker 1: I mean, you have to type in the command and 178 00:11:00,320 --> 00:11:04,000 Speaker 1: file names you want in order to access stuff. Well, 179 00:11:04,160 --> 00:11:06,120 Speaker 1: if that's what you've been doing the whole time, it's 180 00:11:06,120 --> 00:11:08,240 Speaker 1: not so bad. You start to pick up on it. 181 00:11:08,280 --> 00:11:11,160 Speaker 1: Even as new systems are brought on, you can kind 182 00:11:11,160 --> 00:11:14,120 Speaker 1: of adapt to it pretty quickly because you already have 183 00:11:14,160 --> 00:11:17,400 Speaker 1: that basic level of knowledge. But for someone brand new 184 00:11:17,440 --> 00:11:20,720 Speaker 1: to computers, it was really intimidating. It felt like you 185 00:11:20,800 --> 00:11:25,160 Speaker 1: needed to have a lexicon of different commands at your 186 00:11:25,160 --> 00:11:27,240 Speaker 1: disposal all the time, and a lot of people would 187 00:11:27,280 --> 00:11:29,600 Speaker 1: have to use cheat sheets and take a look at 188 00:11:29,640 --> 00:11:32,160 Speaker 1: those constantly so that they can figure out just how 189 00:11:32,200 --> 00:11:37,200 Speaker 1: to navigate a computer. It wasn't very user friendly, and 190 00:11:37,240 --> 00:11:39,640 Speaker 1: it was really hard to find what you were looking 191 00:11:39,679 --> 00:11:42,440 Speaker 1: for if you didn't already know where to start from 192 00:11:42,440 --> 00:11:45,280 Speaker 1: the beginning. The trick with filing systems is that you 193 00:11:45,280 --> 00:11:49,360 Speaker 1: have to understand the organizational strategy. So not only do 194 00:11:49,400 --> 00:11:53,200 Speaker 1: you have to understand the language to navigate the system, 195 00:11:53,280 --> 00:11:55,800 Speaker 1: you also have to understand the person who set it 196 00:11:55,880 --> 00:11:58,640 Speaker 1: up in the first place. So there's there's a bit 197 00:11:58,679 --> 00:12:01,640 Speaker 1: of machine savvy you have to have, but there's also 198 00:12:01,960 --> 00:12:04,000 Speaker 1: how well do I know the person who set up 199 00:12:04,000 --> 00:12:06,680 Speaker 1: this filing system, and how does that person's brain work, 200 00:12:07,000 --> 00:12:09,760 Speaker 1: Because maybe they'll set things up in a different way 201 00:12:10,280 --> 00:12:12,480 Speaker 1: then I would set it up, and if I were 202 00:12:12,559 --> 00:12:14,960 Speaker 1: to try and navigate using my common sense, I might 203 00:12:15,000 --> 00:12:18,040 Speaker 1: find it frustrating. So here's an example of what I mean. 204 00:12:18,960 --> 00:12:21,079 Speaker 1: Back in the day, I used to organize all of 205 00:12:21,120 --> 00:12:25,440 Speaker 1: my DVDs by genre and then by alphabetical order by title. 206 00:12:26,080 --> 00:12:29,240 Speaker 1: So at all my action films in one place, I 207 00:12:29,280 --> 00:12:31,840 Speaker 1: had all my horror movies in another place, all my 208 00:12:31,920 --> 00:12:34,480 Speaker 1: Tim Curry movies were together, all that kind of thing. 209 00:12:34,600 --> 00:12:38,199 Speaker 1: You know, Tim Curry is a genre unto himself National treasure. 210 00:12:38,520 --> 00:12:41,560 Speaker 1: But if you didn't know that, I did that and 211 00:12:41,600 --> 00:12:44,960 Speaker 1: you didn't know where one section began or ended, you 212 00:12:44,960 --> 00:12:48,320 Speaker 1: could have trouble finding a specific title. Maybe you would 213 00:12:48,320 --> 00:12:50,200 Speaker 1: have had a totally different approach. Maybe you would have 214 00:12:50,280 --> 00:12:53,840 Speaker 1: organized everything alphabetically from the start, so it didn't matter 215 00:12:53,840 --> 00:12:56,600 Speaker 1: what genres and you would know, all right, well, the 216 00:12:56,640 --> 00:12:58,400 Speaker 1: title I'm looking for it starts with a D, so 217 00:12:58,440 --> 00:12:59,600 Speaker 1: I need to find the D S and it's going 218 00:12:59,640 --> 00:13:02,319 Speaker 1: to be there. Or maybe you would even have a 219 00:13:02,760 --> 00:13:07,800 Speaker 1: more crazy organizational strategy, maybe you would organize everything chronologically 220 00:13:07,920 --> 00:13:11,920 Speaker 1: by release date, which would confound everyone but the geekiest 221 00:13:11,960 --> 00:13:15,520 Speaker 1: of film buffs. The point is that these file systems 222 00:13:15,720 --> 00:13:18,640 Speaker 1: back in the day, with these network drives, they weren't 223 00:13:18,640 --> 00:13:21,880 Speaker 1: always intuitive. Even if you weren't immediately put off by 224 00:13:21,880 --> 00:13:24,480 Speaker 1: the interface, you might still not be able to find 225 00:13:24,520 --> 00:13:29,079 Speaker 1: what you're looking for. Now. Later still came alan em 226 00:13:29,120 --> 00:13:34,040 Speaker 1: Taj's Archie tool, and he was a University of Montreal 227 00:13:34,640 --> 00:13:37,720 Speaker 1: employee student. You know, he had gone from one to 228 00:13:37,760 --> 00:13:40,319 Speaker 1: the other really when he when he invented this tool 229 00:13:40,440 --> 00:13:43,040 Speaker 1: to search for files on the Internet that would be 230 00:13:43,120 --> 00:13:47,840 Speaker 1: transferred via f t P file transfer protocol. So instead 231 00:13:47,880 --> 00:13:50,320 Speaker 1: of requiring the user to know a direct path, you 232 00:13:50,440 --> 00:13:53,559 Speaker 1: just had to know the name of the file, how 233 00:13:53,840 --> 00:13:57,880 Speaker 1: was the file named? Now, that still isn't ideal, because 234 00:13:57,880 --> 00:14:01,720 Speaker 1: I'm sure you've encountered files that had weird or nonintuitive 235 00:14:01,800 --> 00:14:03,880 Speaker 1: names that may have had nothing to do with what 236 00:14:03,920 --> 00:14:07,679 Speaker 1: the file actually was about. So you had to know 237 00:14:07,920 --> 00:14:10,640 Speaker 1: precisely how the file was named or else it really 238 00:14:10,679 --> 00:14:12,520 Speaker 1: didn't do you any good. But at least it didn't 239 00:14:12,559 --> 00:14:16,120 Speaker 1: require you to also know the full path name of 240 00:14:16,240 --> 00:14:19,440 Speaker 1: where a file was, and it allowed you to actually 241 00:14:19,480 --> 00:14:23,680 Speaker 1: do a search across the internet. Now, once the Web 242 00:14:23,760 --> 00:14:26,000 Speaker 1: came along, and I'll talk a lot more about the 243 00:14:26,000 --> 00:14:29,400 Speaker 1: World Wide Web later on in this episode, and once 244 00:14:29,400 --> 00:14:34,680 Speaker 1: programmers began building search engines, this probably became less difficult. Right. 245 00:14:35,000 --> 00:14:37,760 Speaker 1: Search engines started to make things much easier for people. 246 00:14:38,080 --> 00:14:40,880 Speaker 1: The Web made navigation more intuitive. It made it more 247 00:14:40,880 --> 00:14:44,000 Speaker 1: accessible to people who weren't experienced with computers or had 248 00:14:44,040 --> 00:14:47,840 Speaker 1: inside knowledge of directory organization. But in those in between 249 00:14:47,880 --> 00:14:52,800 Speaker 1: times before the web, but after the Internet came online, 250 00:14:53,800 --> 00:14:59,920 Speaker 1: that's when Gopher emerged. Now, there were several developers behind 251 00:15:00,080 --> 00:15:03,400 Speaker 1: go for really six people in total, and one of 252 00:15:03,440 --> 00:15:06,400 Speaker 1: the more important ones I shouldn't even say it that way, 253 00:15:06,640 --> 00:15:08,720 Speaker 1: one of the leads I should say, because all six 254 00:15:08,760 --> 00:15:12,200 Speaker 1: were important. Uh. One of the leads was Mark McHale, 255 00:15:12,520 --> 00:15:15,640 Speaker 1: and Michael attended the University of Minnesota. Actually they were 256 00:15:15,640 --> 00:15:18,520 Speaker 1: all part of the University of Minnesota, but he had 257 00:15:18,520 --> 00:15:21,360 Speaker 1: attended as a student, earning a bachelor's degree in chemistry 258 00:15:21,480 --> 00:15:24,640 Speaker 1: in nineteen seventy nine. But while he earned his degree 259 00:15:24,640 --> 00:15:26,760 Speaker 1: in chemistry, he would actually go on to join the 260 00:15:26,840 --> 00:15:31,160 Speaker 1: campus micro computer Center as a programmer, and by the 261 00:15:31,240 --> 00:15:34,120 Speaker 1: late nineteen eighties he was leading a team of programmers 262 00:15:34,200 --> 00:15:37,640 Speaker 1: and together they built an email client called pop mail, 263 00:15:38,320 --> 00:15:41,200 Speaker 1: first for the Macintosh computer and then later on for 264 00:15:41,280 --> 00:15:46,120 Speaker 1: the PC platform. The POP in pop mail stands for 265 00:15:46,240 --> 00:15:50,360 Speaker 1: post Office Protocol. So the way it worked was that 266 00:15:50,400 --> 00:15:52,120 Speaker 1: you had a server that would kind of act like 267 00:15:52,160 --> 00:15:56,600 Speaker 1: a virtual post office. You would whenever you were checking 268 00:15:56,680 --> 00:15:59,920 Speaker 1: email or sending email, it would involve a virtual visit 269 00:16:00,160 --> 00:16:03,320 Speaker 1: to this post office. You could drop off and receive 270 00:16:03,400 --> 00:16:05,880 Speaker 1: mail there. So if you want to send a message 271 00:16:05,880 --> 00:16:10,480 Speaker 1: through your popmail client, the client, as in your computer 272 00:16:10,600 --> 00:16:14,040 Speaker 1: the workstation you are using, would relay the message through 273 00:16:14,120 --> 00:16:17,880 Speaker 1: the post office server, which would then direct the message 274 00:16:17,920 --> 00:16:23,000 Speaker 1: onto your destination. When retreating messages, you would actually be 275 00:16:23,560 --> 00:16:28,560 Speaker 1: going to this popmail server to pull the emails off 276 00:16:28,600 --> 00:16:31,400 Speaker 1: of it in order to read them. So they were 277 00:16:31,440 --> 00:16:33,280 Speaker 1: the ones who developed this, and it was a very 278 00:16:33,320 --> 00:16:37,920 Speaker 1: popular type of way of getting hold of email. The 279 00:16:38,040 --> 00:16:41,800 Speaker 1: next big project that this team tackled was creating an 280 00:16:41,840 --> 00:16:46,800 Speaker 1: interface for navigating the university's local network. So the question was, 281 00:16:46,840 --> 00:16:50,600 Speaker 1: how can we find whatever we're looking for? How do 282 00:16:50,640 --> 00:16:53,800 Speaker 1: we organize all this information we have in a way 283 00:16:53,800 --> 00:16:57,160 Speaker 1: that makes sense because they could see that the Internet 284 00:16:57,240 --> 00:17:01,000 Speaker 1: was creating this incredible opportunity to share information, but it 285 00:17:01,080 --> 00:17:05,120 Speaker 1: was getting increasingly difficult to find stuff and to organize 286 00:17:05,119 --> 00:17:08,920 Speaker 1: stuff properly because there were more and more computers coming 287 00:17:09,000 --> 00:17:12,840 Speaker 1: onto the system and it just made things even more complicated. 288 00:17:13,800 --> 00:17:19,560 Speaker 1: So together Mikhail, Bob Alberti, far Aud, Ankle, Saria, Paul Linda, 289 00:17:19,600 --> 00:17:23,400 Speaker 1: and Daniel Torry began to work to develop a solution, 290 00:17:23,520 --> 00:17:27,240 Speaker 1: and as it turned out, their solution had applications far 291 00:17:27,440 --> 00:17:30,680 Speaker 1: beyond the campus they worked on. In fact, it would 292 00:17:30,680 --> 00:17:34,960 Speaker 1: turn out their solution had applications outside of the campus 293 00:17:34,960 --> 00:17:38,760 Speaker 1: they worked on before it actually was implemented by the 294 00:17:38,800 --> 00:17:42,880 Speaker 1: campus itself. It would work across the Internet in general. 295 00:17:43,600 --> 00:17:46,280 Speaker 1: Now I'm gonna jump into what they did in just 296 00:17:46,520 --> 00:17:49,399 Speaker 1: a second. But before I do that, let's take a 297 00:17:49,480 --> 00:18:00,320 Speaker 1: quick break to thank our sponsor. So the team got 298 00:18:00,359 --> 00:18:04,240 Speaker 1: to work in They knew that they wanted a system 299 00:18:04,359 --> 00:18:08,000 Speaker 1: that could organize information in an intuitive way, giving users 300 00:18:08,040 --> 00:18:12,400 Speaker 1: an opportunity to navigate the information they needed quickly. They 301 00:18:12,400 --> 00:18:15,280 Speaker 1: wanted it to be a client server system. This was 302 00:18:15,520 --> 00:18:19,880 Speaker 1: really important to them. What they perhaps the biggest decision 303 00:18:19,880 --> 00:18:23,280 Speaker 1: they made, the most important one to them, was to 304 00:18:23,560 --> 00:18:30,119 Speaker 1: not go a centralized mainframe organizational strategy. They wanted to 305 00:18:30,119 --> 00:18:33,240 Speaker 1: get away from mainframe computers. They saw that the future 306 00:18:33,800 --> 00:18:37,640 Speaker 1: was in desktops. But desktop machines, especially in ninety one, 307 00:18:38,359 --> 00:18:45,600 Speaker 1: were slow, they had relatively limited capabilities, so whatever system 308 00:18:45,600 --> 00:18:52,400 Speaker 1: they created had to be optimized for these less powerful machines. 309 00:18:53,440 --> 00:18:56,320 Speaker 1: They also wanted to make this system scalable, with options 310 00:18:56,320 --> 00:19:00,479 Speaker 1: to have various departments register servers with a top level servers. 311 00:19:00,520 --> 00:19:03,840 Speaker 1: So in other words, you could have different departments having 312 00:19:03,880 --> 00:19:08,160 Speaker 1: their own networks, but have them linked to the main 313 00:19:08,320 --> 00:19:11,280 Speaker 1: network so that you can navigate throughout all of these 314 00:19:11,320 --> 00:19:13,399 Speaker 1: different systems. And that way, if you're connected to that 315 00:19:13,440 --> 00:19:17,280 Speaker 1: top level server, you could navigate to any lower department 316 00:19:17,320 --> 00:19:20,199 Speaker 1: through a master menu. They also wanted the tool to 317 00:19:20,200 --> 00:19:22,800 Speaker 1: be efficient and lightweight, meaning they didn't want to tax 318 00:19:22,840 --> 00:19:26,760 Speaker 1: those normal PCs and workstations. They didn't want a tool 319 00:19:26,800 --> 00:19:30,880 Speaker 1: that would move into Snail's pace, and that was one 320 00:19:30,920 --> 00:19:34,560 Speaker 1: of the reasons that they really focused on text based 321 00:19:35,600 --> 00:19:39,520 Speaker 1: communications because it's doesn't require a whole lot of data 322 00:19:39,560 --> 00:19:42,520 Speaker 1: to send text, and it meant that it could be 323 00:19:42,800 --> 00:19:47,320 Speaker 1: relatively fast and informative. They also decided that the server 324 00:19:47,840 --> 00:19:51,359 Speaker 1: would not retain states. Now that means that the server 325 00:19:51,440 --> 00:19:53,320 Speaker 1: wouldn't need to keep a record of all the different 326 00:19:53,320 --> 00:19:57,080 Speaker 1: information requests from multiple clients. Once a connection closed, the 327 00:19:57,119 --> 00:20:00,359 Speaker 1: state was white, and it would close the connect after 328 00:20:00,400 --> 00:20:04,040 Speaker 1: every transaction. Essentially, so together they worked on this tool 329 00:20:04,480 --> 00:20:08,359 Speaker 1: and they decided to call it Gopher. The name, by 330 00:20:08,359 --> 00:20:11,320 Speaker 1: the way, serves many purposes. For one, the mascot of 331 00:20:11,359 --> 00:20:14,679 Speaker 1: the University of Minnesota as the Golden Gopher, Minnesota is 332 00:20:15,080 --> 00:20:20,520 Speaker 1: the Gopher state. Also, the idea of a metaphorical Gopher 333 00:20:20,560 --> 00:20:24,119 Speaker 1: appealed to them. Gophers tunnel, and in a way, the 334 00:20:24,160 --> 00:20:30,080 Speaker 1: Gopher protocol kind of tunnels through networks. They also started 335 00:20:30,080 --> 00:20:33,520 Speaker 1: to refer to the networks that we're using Gopher as 336 00:20:33,600 --> 00:20:37,920 Speaker 1: Gopher space. And finally, gophers also the term for someone 337 00:20:37,960 --> 00:20:41,880 Speaker 1: who runs errands and fetches things because the gopher will 338 00:20:42,000 --> 00:20:49,080 Speaker 1: gopher like coffee or you know, uh, you can gopher 339 00:20:49,080 --> 00:20:53,360 Speaker 1: snacks that kind of stuff. The Classic Muppet Show series 340 00:20:53,840 --> 00:20:57,600 Speaker 1: had Scooter who was a gopher. Uh. There were a 341 00:20:57,600 --> 00:21:00,280 Speaker 1: lot of jokes about that, about how Scooter was a 342 00:21:00,320 --> 00:21:05,959 Speaker 1: gopher by job, but he wasn't a gopher by critter, 343 00:21:06,119 --> 00:21:10,879 Speaker 1: like he was not the actual animal gopher. Anyway, here's 344 00:21:10,880 --> 00:21:15,320 Speaker 1: the weird thing. So the team knew they were onto 345 00:21:15,359 --> 00:21:18,720 Speaker 1: something when they designed Gopher, but it didn't get a 346 00:21:18,760 --> 00:21:21,400 Speaker 1: lot of traction right out of the gate despite its utility, 347 00:21:21,440 --> 00:21:25,480 Speaker 1: because the University of Minnesota they just didn't see how 348 00:21:25,520 --> 00:21:28,000 Speaker 1: this would be useful. They didn't see the value in it, 349 00:21:28,480 --> 00:21:31,359 Speaker 1: so they didn't really put any support behind it, and 350 00:21:31,359 --> 00:21:34,199 Speaker 1: they didn't implement it at all. So the team decided 351 00:21:34,240 --> 00:21:37,280 Speaker 1: to sidestep all that red tape, and one of the 352 00:21:37,320 --> 00:21:42,040 Speaker 1: team members uploaded the software to an FTP server and 353 00:21:42,080 --> 00:21:45,320 Speaker 1: then posted a message on an Internet mailing list saying, hey, guys, 354 00:21:45,400 --> 00:21:48,240 Speaker 1: we developed this kind of cool tool. We think it 355 00:21:48,400 --> 00:21:50,800 Speaker 1: is a great way to organize information on networks and 356 00:21:50,840 --> 00:21:54,000 Speaker 1: allow people to find stuff. Give it a try. So 357 00:21:54,080 --> 00:21:57,479 Speaker 1: people began to download it and put use and not 358 00:21:57,600 --> 00:22:01,119 Speaker 1: long after that it started to take off a lot 359 00:22:01,200 --> 00:22:03,960 Speaker 1: of places we're using it, and they decided that it 360 00:22:04,000 --> 00:22:06,560 Speaker 1: made a whole lot of sense, and eventually the University 361 00:22:06,560 --> 00:22:10,679 Speaker 1: of Minnesota administration relented and implemented Gopher as well on 362 00:22:10,760 --> 00:22:14,879 Speaker 1: their campus. Now, let's go ahead and talk about Gopher 363 00:22:14,920 --> 00:22:18,000 Speaker 1: implementations and what it was actually like. So there were 364 00:22:18,200 --> 00:22:21,359 Speaker 1: two main ways you could interact with Gopher. One of 365 00:22:21,359 --> 00:22:25,160 Speaker 1: them was to install software on your computer. And uh, 366 00:22:25,240 --> 00:22:28,720 Speaker 1: this is looking at interacting with Gopher as a user 367 00:22:28,800 --> 00:22:32,159 Speaker 1: as opposed to as an administrator. So you want to 368 00:22:32,240 --> 00:22:34,719 Speaker 1: use Gopher, Well, one thing you could do is install 369 00:22:34,800 --> 00:22:37,679 Speaker 1: software on your computer, and this was a client side 370 00:22:37,800 --> 00:22:41,399 Speaker 1: Gopher application, which really is not that different from a 371 00:22:41,400 --> 00:22:46,679 Speaker 1: web browser like Firefox or Chrome or Safari. It's essentially 372 00:22:46,960 --> 00:22:49,400 Speaker 1: a similar thing. It's a it's a program that runs 373 00:22:49,440 --> 00:22:53,600 Speaker 1: on your computer that acts as the interface for this protocol. Uh. 374 00:22:53,640 --> 00:22:56,280 Speaker 1: Those are all clients side applications, just like the Gopher 375 00:22:56,320 --> 00:22:58,480 Speaker 1: one was. But you didn't have to do that. What 376 00:22:58,600 --> 00:23:02,680 Speaker 1: you could do instead is use a tell net application. 377 00:23:03,560 --> 00:23:06,879 Speaker 1: Telling Net was another old protocol that's still used in 378 00:23:06,960 --> 00:23:11,680 Speaker 1: some places. Uh tell net would allow you to virtually 379 00:23:11,880 --> 00:23:15,919 Speaker 1: log into another terminal, and you just had to have 380 00:23:16,040 --> 00:23:19,320 Speaker 1: the correct address, import number and everything in order to 381 00:23:19,320 --> 00:23:23,119 Speaker 1: tell Net into that that room. So you could use 382 00:23:23,160 --> 00:23:25,760 Speaker 1: tell neet to log onto a remote server and use 383 00:23:25,840 --> 00:23:29,959 Speaker 1: the server side Gopher client to access directories, and in 384 00:23:29,960 --> 00:23:32,360 Speaker 1: that case, all the work is being done by the 385 00:23:32,400 --> 00:23:36,080 Speaker 1: server and you don't have to actually have a client 386 00:23:36,200 --> 00:23:40,119 Speaker 1: based application on your side. The style of the Gopher 387 00:23:40,119 --> 00:23:43,119 Speaker 1: client really dependent upon its implementation. The team wanted to 388 00:23:43,160 --> 00:23:47,040 Speaker 1: make sure that it was it was customizable, but it 389 00:23:47,080 --> 00:23:51,040 Speaker 1: was always simple. It's always text based. It could be 390 00:23:51,080 --> 00:23:55,720 Speaker 1: extremely simple where all you have our text options under 391 00:23:55,760 --> 00:23:59,640 Speaker 1: a menu, or it could have some very primitive kind 392 00:23:59,640 --> 00:24:04,200 Speaker 1: of of graphic user interface elements in it. Graphic user 393 00:24:04,240 --> 00:24:10,720 Speaker 1: interface also known as gooey, but less less um what's 394 00:24:10,800 --> 00:24:15,840 Speaker 1: the right word, less impressive or extensive as what you 395 00:24:15,840 --> 00:24:18,719 Speaker 1: would find in the Worldwide Web later. And there were 396 00:24:18,720 --> 00:24:21,399 Speaker 1: two worlds in the Gopher verse, the world the client 397 00:24:21,600 --> 00:24:25,879 Speaker 1: could see and the world the server worked with. So 398 00:24:25,920 --> 00:24:30,640 Speaker 1: on the server side, every item within a Gopher directory 399 00:24:30,840 --> 00:24:34,080 Speaker 1: would have certain elements to it, and that included a 400 00:24:34,119 --> 00:24:38,520 Speaker 1: client visible name, a selector, which was usually something that 401 00:24:39,440 --> 00:24:44,840 Speaker 1: used the path name that would connect the server for 402 00:24:44,960 --> 00:24:49,040 Speaker 1: location purposes. Then there would be a host name which 403 00:24:49,040 --> 00:24:53,440 Speaker 1: would tell the top level server which computer actually contained 404 00:24:53,480 --> 00:24:57,600 Speaker 1: the file in question, and an IP port number. Ports 405 00:24:57,600 --> 00:24:59,679 Speaker 1: are kind of like telephone lines, so a computer had 406 00:24:59,720 --> 00:25:02,679 Speaker 1: to know which port it should use when contacting other computers. 407 00:25:03,280 --> 00:25:06,359 Speaker 1: Now on the client side, on the user side, only 408 00:25:06,400 --> 00:25:09,400 Speaker 1: those client visible names would show up. Everything else would 409 00:25:09,400 --> 00:25:13,520 Speaker 1: be hidden. And to use an analogy, imagine that you 410 00:25:13,600 --> 00:25:16,520 Speaker 1: go to a party and it's one of those super hip, 411 00:25:16,560 --> 00:25:19,920 Speaker 1: geeky tech parties that I assume happened but I never 412 00:25:19,960 --> 00:25:23,040 Speaker 1: get invited to anyway. Everyone gets a little name tag, 413 00:25:23,200 --> 00:25:26,000 Speaker 1: and the name tag just has the person's name on it. 414 00:25:26,080 --> 00:25:28,399 Speaker 1: That's it. That's the only information about the person that 415 00:25:28,520 --> 00:25:33,760 Speaker 1: is visible to the average attendee. So when you walk 416 00:25:33,800 --> 00:25:36,199 Speaker 1: around the party, you can see each person's name, but 417 00:25:36,320 --> 00:25:40,440 Speaker 1: that's it. But let's say you're a super duper awesome 418 00:25:40,560 --> 00:25:42,840 Speaker 1: v I P at this party, and all the super 419 00:25:42,920 --> 00:25:45,200 Speaker 1: duper awesome v I P s at this particular party 420 00:25:45,240 --> 00:25:47,520 Speaker 1: get a little swag bag that has a pair of 421 00:25:47,560 --> 00:25:50,119 Speaker 1: smart glasses in them, and if you put the smart 422 00:25:50,160 --> 00:25:55,199 Speaker 1: glasses on, you see projected above the name tag of 423 00:25:55,240 --> 00:25:58,000 Speaker 1: each person more information, and it tells you where that 424 00:25:58,080 --> 00:26:01,440 Speaker 1: person lives, what their phone or is, tells you about 425 00:26:01,440 --> 00:26:04,119 Speaker 1: their favorite lunch spots. In other words, you know a 426 00:26:04,119 --> 00:26:06,639 Speaker 1: few different ways you could reach those people if you 427 00:26:06,680 --> 00:26:10,359 Speaker 1: needed to. Well, in the gover verse, that sort of 428 00:26:10,400 --> 00:26:13,960 Speaker 1: same approach was applying, but only two files, not to people, 429 00:26:14,520 --> 00:26:17,040 Speaker 1: so there wasn't anything creepy going on. But Michale and 430 00:26:17,080 --> 00:26:20,040 Speaker 1: his group decided that users didn't need to see all 431 00:26:20,080 --> 00:26:23,000 Speaker 1: the extra information. They don't need to know where a 432 00:26:23,080 --> 00:26:27,040 Speaker 1: file is on a network. They don't care. They don't 433 00:26:27,119 --> 00:26:29,679 Speaker 1: care if the file they want is on computer A 434 00:26:30,119 --> 00:26:33,240 Speaker 1: or computer B. They just want access to that file. 435 00:26:33,640 --> 00:26:37,640 Speaker 1: So they decided that all of that excess information would 436 00:26:37,680 --> 00:26:40,200 Speaker 1: be invisible to the user. It would still be there 437 00:26:40,200 --> 00:26:42,560 Speaker 1: for the servers because the servers would need to know 438 00:26:43,320 --> 00:26:45,960 Speaker 1: where everything was in order to direct users to the 439 00:26:46,040 --> 00:26:49,640 Speaker 1: right location, But to the users themselves, they don't care, 440 00:26:50,119 --> 00:26:53,480 Speaker 1: So get rid of it, and UH ended up being 441 00:26:53,640 --> 00:26:56,960 Speaker 1: a much more elegant system that way. So let's say 442 00:26:57,000 --> 00:27:00,679 Speaker 1: you've blogged into a college campus Gopher server, because the 443 00:27:00,680 --> 00:27:03,480 Speaker 1: tool was originally developed for colleges, So what would you 444 00:27:03,480 --> 00:27:07,080 Speaker 1: actually see if you did this, well, you'd start off 445 00:27:07,080 --> 00:27:09,359 Speaker 1: with a menu of options. It's kind of like a 446 00:27:09,400 --> 00:27:11,960 Speaker 1: table of contents, and that would allow you to explore 447 00:27:12,040 --> 00:27:16,120 Speaker 1: different areas of the Gopher verse more thoroughly. A typical 448 00:27:16,240 --> 00:27:19,200 Speaker 1: top level menu might include and by the way, I'm 449 00:27:19,240 --> 00:27:22,880 Speaker 1: taking this largely from a request for comments that Michale 450 00:27:22,920 --> 00:27:26,800 Speaker 1: and his group created in order to discuss what Gopher is, 451 00:27:26,840 --> 00:27:29,919 Speaker 1: what it was meant for, and how it works. The 452 00:27:29,960 --> 00:27:33,399 Speaker 1: first item might be something like about Internet Gopher, and 453 00:27:33,440 --> 00:27:36,080 Speaker 1: it would literally just be that little phrase, and if 454 00:27:36,119 --> 00:27:39,159 Speaker 1: you selected that one, it would open up something that 455 00:27:39,200 --> 00:27:42,560 Speaker 1: would allow you to learn more about Internet Gopher. It 456 00:27:42,560 --> 00:27:44,480 Speaker 1: would pull the files that could tell you about the 457 00:27:44,600 --> 00:27:47,199 Speaker 1: versions and Gopher in use and how best to navigate it. 458 00:27:47,960 --> 00:27:51,480 Speaker 1: It may even tell you about the site administrator. And 459 00:27:51,600 --> 00:27:54,800 Speaker 1: in fact, in that original request for comments, they suggested 460 00:27:54,840 --> 00:27:59,720 Speaker 1: that every administrator for a Gopher server include his or 461 00:27:59,760 --> 00:28:03,800 Speaker 1: her name, email address, and phone number so that you 462 00:28:03,840 --> 00:28:08,160 Speaker 1: could get in contact with them should something go wrong. Yikes. 463 00:28:09,040 --> 00:28:11,840 Speaker 1: Obviously this was in the days when very few people, 464 00:28:12,440 --> 00:28:16,160 Speaker 1: comparatively speaking, we're using an Internet tool. Because you could 465 00:28:16,200 --> 00:28:20,200 Speaker 1: just imagine how much you know traffic you would get 466 00:28:20,680 --> 00:28:23,640 Speaker 1: from various emails and phone numbers. If you just put 467 00:28:23,680 --> 00:28:26,800 Speaker 1: your actual address out on a major website, that would 468 00:28:26,800 --> 00:28:32,800 Speaker 1: be tough. The next UH element on this Gopher list 469 00:28:32,880 --> 00:28:35,920 Speaker 1: might be something like around the campus, and that could 470 00:28:35,960 --> 00:28:39,480 Speaker 1: include more directories that give you links to files about 471 00:28:39,520 --> 00:28:42,720 Speaker 1: various areas of campus. You might get sub menus of 472 00:28:42,800 --> 00:28:47,280 Speaker 1: different options. For example, at University of Georgia, if I 473 00:28:47,320 --> 00:28:49,840 Speaker 1: saw around the campus on a Gopher site and I 474 00:28:49,880 --> 00:28:52,360 Speaker 1: clicked on that, it might take me to a couple 475 00:28:52,400 --> 00:28:55,400 Speaker 1: of different sub menus, one for North campus and one 476 00:28:55,520 --> 00:28:58,200 Speaker 1: for South campus, because the University of Georgia, at least 477 00:28:58,240 --> 00:29:01,360 Speaker 1: at the time when I was attending it was roughly 478 00:29:01,400 --> 00:29:05,920 Speaker 1: divided into North and South campuses. Another option might say courses, 479 00:29:06,040 --> 00:29:09,280 Speaker 1: schedules and calendars, which would obviously take you to information 480 00:29:09,320 --> 00:29:12,360 Speaker 1: about the classes offered by that college and when they happen, 481 00:29:12,400 --> 00:29:14,440 Speaker 1: as well as a list of campus events throughout the year, 482 00:29:14,800 --> 00:29:16,520 Speaker 1: and so on and so forth. Those are just the 483 00:29:16,600 --> 00:29:19,120 Speaker 1: kind of basic table of content stuff you wuld see, 484 00:29:19,120 --> 00:29:23,320 Speaker 1: and again it's all text based. Typically the options on 485 00:29:23,360 --> 00:29:25,600 Speaker 1: any list, we have indicators to let you know if 486 00:29:25,600 --> 00:29:28,400 Speaker 1: you were looking at the name of a file or 487 00:29:28,480 --> 00:29:31,440 Speaker 1: if you were looking at the name of another directory. 488 00:29:31,520 --> 00:29:35,240 Speaker 1: So again, in an example given from that RFC paper 489 00:29:35,320 --> 00:29:39,120 Speaker 1: that was written back in nineteen, they the group showed 490 00:29:39,160 --> 00:29:42,800 Speaker 1: directories as being followed by an ellipses and files were not. 491 00:29:43,360 --> 00:29:46,920 Speaker 1: So if it said campus schedule with no ellipses, then 492 00:29:46,960 --> 00:29:49,120 Speaker 1: you knew that clicking on that would give you a 493 00:29:49,160 --> 00:29:52,360 Speaker 1: file with the schedule on it if you chose that option. 494 00:29:52,680 --> 00:29:55,160 Speaker 1: But if it if you were looking at a list 495 00:29:55,200 --> 00:29:58,959 Speaker 1: that said college activities dot dot dot, you knew that 496 00:29:59,000 --> 00:30:02,240 Speaker 1: the dot dot dot at ellipses indicated that it was 497 00:30:02,440 --> 00:30:05,400 Speaker 1: a link to another directory. So if you clicked on 498 00:30:05,480 --> 00:30:09,920 Speaker 1: college activities, you would get another menu that would subdivide 499 00:30:10,000 --> 00:30:14,520 Speaker 1: up college activities. Maybe it would be sports, after school activities, 500 00:30:14,880 --> 00:30:20,120 Speaker 1: it might be extracurricular student groups, that kind of thing. Now, 501 00:30:20,160 --> 00:30:25,080 Speaker 1: Gopher's design allows other servers to interact with a top 502 00:30:25,200 --> 00:30:27,440 Speaker 1: level servers, so it didn't have to just be a 503 00:30:27,480 --> 00:30:30,240 Speaker 1: single computer running all of this information. In fact, that 504 00:30:30,320 --> 00:30:32,520 Speaker 1: was beside the point. The The whole purpose of this 505 00:30:32,920 --> 00:30:36,320 Speaker 1: was to allow multiple servers to connect with each other 506 00:30:36,760 --> 00:30:41,000 Speaker 1: and create an an UH overall strategy for navigation to 507 00:30:41,080 --> 00:30:46,080 Speaker 1: allow students or other users to learn more information. So 508 00:30:46,160 --> 00:30:50,360 Speaker 1: you could have say the computer science department server registered 509 00:30:50,520 --> 00:30:53,959 Speaker 1: under a top level option for the entire university, and 510 00:30:54,000 --> 00:30:56,600 Speaker 1: the English department could have its own server, and the 511 00:30:56,640 --> 00:30:58,880 Speaker 1: Math department could have its own server, and so on 512 00:30:58,920 --> 00:31:02,400 Speaker 1: and so on. So each departmental server would further point 513 00:31:02,440 --> 00:31:05,720 Speaker 1: down the chain to specific files relevant to that department. 514 00:31:06,160 --> 00:31:09,560 Speaker 1: And Gopher also included the ability to stack, meaning that 515 00:31:09,600 --> 00:31:12,200 Speaker 1: you could actually retrace your steps, which is kind of 516 00:31:12,200 --> 00:31:15,120 Speaker 1: like hitting the backbar or the back button rather on 517 00:31:15,200 --> 00:31:18,040 Speaker 1: a browser. So if you went down one path and 518 00:31:18,120 --> 00:31:20,360 Speaker 1: then decided, hey, I need to see something else that 519 00:31:20,440 --> 00:31:23,280 Speaker 1: was further back in my browsing, you could back up 520 00:31:23,320 --> 00:31:26,560 Speaker 1: the pathway until you got to that specific fork and 521 00:31:26,600 --> 00:31:29,320 Speaker 1: then take the other fork. And that was actually pretty 522 00:31:29,360 --> 00:31:31,760 Speaker 1: innovative in the early nineties. It wasn't like it was, 523 00:31:32,240 --> 00:31:34,680 Speaker 1: you know, something that they were copying from other people. 524 00:31:36,040 --> 00:31:39,560 Speaker 1: Unlike today's websites. The information on Gopher pages tended to 525 00:31:39,600 --> 00:31:43,120 Speaker 1: remain fairly static, which actually was also a huge help 526 00:31:43,160 --> 00:31:45,560 Speaker 1: for Gopher space. You didn't have to update things quite 527 00:31:45,560 --> 00:31:48,800 Speaker 1: so frequently. Occasionally you might need to update a file, 528 00:31:49,040 --> 00:31:51,120 Speaker 1: or you might need to add a file to a server, 529 00:31:51,640 --> 00:31:54,040 Speaker 1: but that didn't happen at the frequency we see today 530 00:31:54,040 --> 00:31:56,240 Speaker 1: On the web, there weren't a lot of dynamic pages 531 00:31:56,280 --> 00:31:59,080 Speaker 1: out there. It was important for Gopher to be able 532 00:31:59,080 --> 00:32:01,840 Speaker 1: to adapt to change is and evolving conditions, So the 533 00:32:01,880 --> 00:32:05,320 Speaker 1: team designed a system that it would allow them to 534 00:32:05,600 --> 00:32:08,920 Speaker 1: update files and path names in pieces, so that you 535 00:32:08,960 --> 00:32:10,920 Speaker 1: didn't have to do a full update of the whole 536 00:32:10,960 --> 00:32:14,640 Speaker 1: system regularly. You could just focus on whichever sections had 537 00:32:14,720 --> 00:32:17,920 Speaker 1: new information and just update those bits. Everything else could 538 00:32:17,920 --> 00:32:20,880 Speaker 1: remain the same. That sped everything else up, Like if 539 00:32:20,920 --> 00:32:24,000 Speaker 1: you are only making changes to two percent of your network, 540 00:32:24,520 --> 00:32:28,240 Speaker 1: then there's no reason to update all They could save 541 00:32:28,320 --> 00:32:32,280 Speaker 1: time by just updating that two They also made another 542 00:32:32,440 --> 00:32:35,680 Speaker 1: very clever choice. They recommended that all top level servers 543 00:32:36,000 --> 00:32:39,080 Speaker 1: have a clone and that way, if one server were 544 00:32:39,120 --> 00:32:41,760 Speaker 1: to fail for whatever reason, another one could take over 545 00:32:41,800 --> 00:32:45,040 Speaker 1: the job. Also, if you had a really busy network, 546 00:32:45,080 --> 00:32:47,800 Speaker 1: you could have both servers acting at the same time, 547 00:32:47,880 --> 00:32:51,000 Speaker 1: sharing the load. So some users are using server A, 548 00:32:51,200 --> 00:32:53,480 Speaker 1: some users are using server B, but both of them 549 00:32:53,480 --> 00:32:57,680 Speaker 1: are identical. They have complete navigational tools to go through 550 00:32:57,680 --> 00:33:01,120 Speaker 1: the whole network, and so it doesn't really matter which 551 00:33:01,120 --> 00:33:02,920 Speaker 1: one you land on as a user, it's going to 552 00:33:02,960 --> 00:33:05,960 Speaker 1: be the same experience. And since most of the files 553 00:33:05,960 --> 00:33:09,480 Speaker 1: remain static. You didn't really have to worry about the 554 00:33:09,560 --> 00:33:12,520 Speaker 1: two top level servers getting out of sync. They would 555 00:33:12,560 --> 00:33:15,240 Speaker 1: be pretty much ready to go all the time. I mean, 556 00:33:15,280 --> 00:33:17,920 Speaker 1: occasionally you don't have to update at least parts of 557 00:33:17,920 --> 00:33:21,520 Speaker 1: the system. But it was pretty manageable, especially in those 558 00:33:21,560 --> 00:33:26,240 Speaker 1: early days before things got super complicated now. The team 559 00:33:26,280 --> 00:33:29,120 Speaker 1: also suggested that all registered servers in a system have 560 00:33:29,200 --> 00:33:31,840 Speaker 1: an alias that the Gopher A client could use to 561 00:33:31,960 --> 00:33:35,280 Speaker 1: locate those servers, and this way the client would know 562 00:33:35,400 --> 00:33:39,480 Speaker 1: each registered server by its alias, rather than the server's 563 00:33:39,520 --> 00:33:43,440 Speaker 1: primary name, which was more or less unchangeable. Now why 564 00:33:43,480 --> 00:33:45,400 Speaker 1: would you want to have an alias, Well, the reason 565 00:33:46,000 --> 00:33:50,200 Speaker 1: was to improve portability. So if as an administrator you 566 00:33:50,520 --> 00:33:53,360 Speaker 1: decided that you needed to move files from one server 567 00:33:53,520 --> 00:33:56,800 Speaker 1: to another server, that could be a huge headache because 568 00:33:56,920 --> 00:33:59,480 Speaker 1: we mean having to update all these different path names 569 00:33:59,640 --> 00:34:04,320 Speaker 1: so that your top level machine knows where everything is now, right, 570 00:34:04,720 --> 00:34:07,720 Speaker 1: if if you had to say, oh, well, instead of 571 00:34:07,720 --> 00:34:09,440 Speaker 1: being on this machine, it needs to be on this machine. 572 00:34:09,440 --> 00:34:12,160 Speaker 1: I've got to update all these different files and these 573 00:34:12,200 --> 00:34:15,239 Speaker 1: different path names so that people navigating the system will 574 00:34:15,280 --> 00:34:17,760 Speaker 1: get to where they need to go. Using the alias 575 00:34:17,840 --> 00:34:20,120 Speaker 1: was actually a very clever idea to get around this. 576 00:34:20,239 --> 00:34:23,200 Speaker 1: Clients wouldn't require an update or any alteration. They don't 577 00:34:23,200 --> 00:34:25,640 Speaker 1: need to know that computer one, which used to be 578 00:34:25,680 --> 00:34:28,799 Speaker 1: known as Bob, has gone offline and now computer two 579 00:34:28,880 --> 00:34:32,239 Speaker 1: has all of Computer one stuff. Instead, the administrator would 580 00:34:32,280 --> 00:34:35,000 Speaker 1: just name computer to Bob. They would give computer to 581 00:34:35,640 --> 00:34:39,279 Speaker 1: the alias of the old computer one, and then the 582 00:34:39,280 --> 00:34:42,640 Speaker 1: clients would just end up going to computer two because 583 00:34:42,680 --> 00:34:44,959 Speaker 1: they're not looking at one or two. They're just looking 584 00:34:45,000 --> 00:34:47,680 Speaker 1: for Bob. And if computer two is Bob, now that's 585 00:34:47,680 --> 00:34:50,799 Speaker 1: where they go. It was an elegant solution, particularly once 586 00:34:50,840 --> 00:34:54,880 Speaker 1: network's got really complex. Now, the brilliant thing behind Gopher 587 00:34:55,040 --> 00:34:57,160 Speaker 1: is that the end user didn't need to know any 588 00:34:57,239 --> 00:35:00,680 Speaker 1: of this. That didn't matter to them. They they just 589 00:35:00,760 --> 00:35:04,319 Speaker 1: needed to have a simple interface to interact with. They 590 00:35:04,440 --> 00:35:06,560 Speaker 1: needed to be able to see the choices they wanted 591 00:35:06,719 --> 00:35:09,520 Speaker 1: to make a choice and follow that pathway, and it 592 00:35:09,560 --> 00:35:11,480 Speaker 1: was very similar to kind of a choose your own 593 00:35:11,520 --> 00:35:14,920 Speaker 1: adventure book. As long as the directories were clear and 594 00:35:15,239 --> 00:35:18,040 Speaker 1: organization of the information made sense, it was easy to use. 595 00:35:18,560 --> 00:35:22,920 Speaker 1: And then there was the killer app, the ability to search. 596 00:35:24,000 --> 00:35:26,799 Speaker 1: So so to search on Gopher you had to set 597 00:35:26,880 --> 00:35:30,960 Speaker 1: up an actual go Gopher search server. It would be 598 00:35:31,160 --> 00:35:34,960 Speaker 1: its own purpose was to to essentially have all the 599 00:35:35,040 --> 00:35:39,160 Speaker 1: different files that are connected to that particular Gopher space 600 00:35:39,840 --> 00:35:44,000 Speaker 1: UH indexed, and these servers could perform full text searches 601 00:35:44,080 --> 00:35:47,080 Speaker 1: in all the files on all the registered servers in 602 00:35:47,200 --> 00:35:52,360 Speaker 1: that Gopher space. So, by default, search queries assumed that 603 00:35:52,480 --> 00:35:55,760 Speaker 1: if you were to type in multiple words, the spaces 604 00:35:55,800 --> 00:36:00,160 Speaker 1: between those words were an and in boolean logic. In 605 00:36:00,200 --> 00:36:04,120 Speaker 1: other words, if you typed in Spanish dance in the 606 00:36:04,200 --> 00:36:08,400 Speaker 1: query field, so you just have Spanish space dance, the 607 00:36:08,440 --> 00:36:11,439 Speaker 1: search would actually assume what you are saying is give 608 00:36:11,520 --> 00:36:15,239 Speaker 1: me all the files that have both the words Spanish 609 00:36:15,520 --> 00:36:19,880 Speaker 1: and dance in them. Files that didn't meet that criteria 610 00:36:19,920 --> 00:36:22,319 Speaker 1: would not be returned. So if there was a file 611 00:36:22,360 --> 00:36:24,239 Speaker 1: that had the word Spanish in it, but dance never 612 00:36:24,320 --> 00:36:26,719 Speaker 1: appeared in that file, you wouldn't get it. Same thing 613 00:36:26,760 --> 00:36:29,239 Speaker 1: if it were dance but Spanish was never there, you 614 00:36:29,239 --> 00:36:32,720 Speaker 1: wouldn't get it. Now, this structure only worked with servers 615 00:36:32,760 --> 00:36:35,920 Speaker 1: that were registered to the same system, So these Gopher 616 00:36:35,960 --> 00:36:39,319 Speaker 1: spaces were kind of like islands in the ocean. You 617 00:36:39,320 --> 00:36:43,360 Speaker 1: could connect Gopher spaces together. You could end up registering 618 00:36:43,360 --> 00:36:46,120 Speaker 1: the servers of different Gopher spaces so that they made 619 00:36:46,200 --> 00:36:50,120 Speaker 1: larger networks, and that would allow users to navigate from 620 00:36:50,160 --> 00:36:53,279 Speaker 1: one system of servers to another. But that wasn't necessarily 621 00:36:53,280 --> 00:36:55,720 Speaker 1: the aim of Gopher. So if I did a search 622 00:36:55,800 --> 00:36:59,520 Speaker 1: on a Gopher space for a specific term, like again 623 00:36:59,560 --> 00:37:01,960 Speaker 1: at you g A, if you g A was its 624 00:37:02,040 --> 00:37:07,520 Speaker 1: own contained system, its own network of servers throughout the campus, 625 00:37:07,520 --> 00:37:11,560 Speaker 1: but none of those had connections to other campuses. I'm 626 00:37:11,560 --> 00:37:14,360 Speaker 1: not gonna find files that are stored at the University 627 00:37:14,360 --> 00:37:19,040 Speaker 1: of Minnesota because the two systems are distinct. I'll only 628 00:37:19,080 --> 00:37:21,960 Speaker 1: find files that are on u g A system. So 629 00:37:22,239 --> 00:37:24,000 Speaker 1: it was a little different from the World Wide Web. 630 00:37:24,040 --> 00:37:29,000 Speaker 1: It had these uh again, these kind of islands of information. Well, 631 00:37:29,040 --> 00:37:32,439 Speaker 1: I've got some more to talk about, including the rise 632 00:37:32,480 --> 00:37:34,960 Speaker 1: and fall of Gopher itself, but before I get into 633 00:37:35,000 --> 00:37:38,560 Speaker 1: that section, let's take another quick break to thank our sponsor. 634 00:37:47,239 --> 00:37:50,440 Speaker 1: All Right, we're talking about the nineteen nineties. Now, the 635 00:37:50,440 --> 00:37:55,759 Speaker 1: Internet was still pretty darn young back then, Especially an 636 00:37:55,800 --> 00:37:59,720 Speaker 1: Internet that was accessible to people beyond the computer science 637 00:37:59,760 --> 00:38:02,480 Speaker 1: field old, and no one was really sure what it 638 00:38:02,480 --> 00:38:07,560 Speaker 1: would evolve into. In those early nineties, in the Internet 639 00:38:07,600 --> 00:38:10,680 Speaker 1: engineering Task Force or i E. T F held a 640 00:38:10,719 --> 00:38:14,480 Speaker 1: meeting in San Diego and they invited Michael and also 641 00:38:14,600 --> 00:38:17,960 Speaker 1: Ankle Saria to come out and to speak to the 642 00:38:18,040 --> 00:38:20,320 Speaker 1: group as a whole about the work they were doing 643 00:38:20,680 --> 00:38:24,680 Speaker 1: with Gopher now. The meeting included a whole bunch of 644 00:38:24,719 --> 00:38:28,920 Speaker 1: different important figures in Internet history, including Tim burners Lee, 645 00:38:28,960 --> 00:38:31,279 Speaker 1: who is the guy who pioneered the Worldwide Web. He 646 00:38:31,360 --> 00:38:34,080 Speaker 1: built the first web page at CERN, that's the same 647 00:38:34,160 --> 00:38:38,000 Speaker 1: organization that runs the Large Hadron Collider. So Burner's Lee 648 00:38:38,120 --> 00:38:40,840 Speaker 1: was there to talk about his approach to Internet navigation 649 00:38:41,160 --> 00:38:44,960 Speaker 1: using what he called the web and hypertext, which I'm 650 00:38:45,000 --> 00:38:48,480 Speaker 1: sure you're familiar with because that's what everybody uses today. 651 00:38:48,560 --> 00:38:51,120 Speaker 1: He also was very interested in trying to find a 652 00:38:51,120 --> 00:38:55,440 Speaker 1: way for the Web and Gopher to work together. Um, 653 00:38:55,480 --> 00:38:57,880 Speaker 1: the folks over at Gopher they were looking at burners 654 00:38:57,960 --> 00:39:00,800 Speaker 1: lee approach to navigation and they said, well, this doesn't 655 00:39:00,800 --> 00:39:04,600 Speaker 1: make any sense using hypertext of different words too to 656 00:39:04,800 --> 00:39:09,480 Speaker 1: leap to connected but distinct ideas. That's that makes an 657 00:39:09,560 --> 00:39:12,319 Speaker 1: organization impossible. It's like the opposite of what we're doing. 658 00:39:12,360 --> 00:39:16,440 Speaker 1: We're trying to create hierarchies of information and the Web 659 00:39:16,560 --> 00:39:19,200 Speaker 1: is is a web. It's all this interconnectivity. So they 660 00:39:19,239 --> 00:39:21,480 Speaker 1: never really got to work things out with burners Lee, 661 00:39:21,760 --> 00:39:25,320 Speaker 1: something that they said in retrospect perhaps was a mistake, 662 00:39:25,760 --> 00:39:27,920 Speaker 1: but they didn't know that at the time. No one 663 00:39:28,040 --> 00:39:30,560 Speaker 1: was sure at the time whose approach was going to 664 00:39:30,600 --> 00:39:36,799 Speaker 1: work out best. So uh, it wasn't as a weird experience, 665 00:39:36,880 --> 00:39:39,640 Speaker 1: right And besides, the web programmers learned about other means 666 00:39:39,680 --> 00:39:42,640 Speaker 1: of accessing and navigating the Internet. There were other ones 667 00:39:42,680 --> 00:39:46,239 Speaker 1: like a Prospero and waste or w A I s 668 00:39:46,800 --> 00:39:50,959 Speaker 1: so be. Clifford Neumann was the pioneer behind Prospero, which 669 00:39:51,080 --> 00:39:54,319 Speaker 1: was meant to create personalized directories of the Internet in 670 00:39:54,400 --> 00:39:57,759 Speaker 1: response to user queries so they could organize information and 671 00:39:57,800 --> 00:40:01,280 Speaker 1: allow users to search grouping resources together so that users 672 00:40:01,280 --> 00:40:03,799 Speaker 1: didn't have to go down several different individual paths and 673 00:40:03,840 --> 00:40:07,200 Speaker 1: just hope for the best. Ways stood for Wide Area 674 00:40:07,360 --> 00:40:11,960 Speaker 1: Information Server. It was a text searching system that could 675 00:40:12,000 --> 00:40:15,239 Speaker 1: look for specific strings of text on files on the server, 676 00:40:15,600 --> 00:40:19,000 Speaker 1: retrieving any hits that it might find. And so it 677 00:40:19,120 --> 00:40:23,239 Speaker 1: was also very different from the Gopher approach or the 678 00:40:23,280 --> 00:40:27,200 Speaker 1: Prospero approach. It was a pretty basic strategy to search 679 00:40:27,200 --> 00:40:32,360 Speaker 1: and retrieval. So at this gathering, Michael discovered that people 680 00:40:32,440 --> 00:40:35,480 Speaker 1: already knew a lot about Gopher. He thought he was 681 00:40:35,520 --> 00:40:37,719 Speaker 1: going out there to tell people about a system that 682 00:40:37,719 --> 00:40:39,600 Speaker 1: he had developed and kind of launched the year before, 683 00:40:39,640 --> 00:40:42,319 Speaker 1: but everyone there seemed to really be familiar with it. 684 00:40:43,000 --> 00:40:44,960 Speaker 1: A lot of them were running their own Gopher servers. 685 00:40:45,840 --> 00:40:48,160 Speaker 1: They were very curious to hear more about the team 686 00:40:48,200 --> 00:40:51,839 Speaker 1: behind Gopher. The software had spread rapidly because of its 687 00:40:51,840 --> 00:40:59,400 Speaker 1: easy implementation and interface, and adoption was incredible. By Gophers, 688 00:40:59,520 --> 00:41:05,480 Speaker 1: traffic growth rate hit nine hundred nine seven percent. Now 689 00:41:05,560 --> 00:41:09,080 Speaker 1: that definitely sounds astronomical, but keep in mind percentages are tricksy. 690 00:41:10,000 --> 00:41:12,640 Speaker 1: For example, if I sold one newspaper in a week, 691 00:41:13,160 --> 00:41:16,359 Speaker 1: and then the following week I sold ten newspapers, I'd 692 00:41:16,400 --> 00:41:22,480 Speaker 1: have a growth sales rate of nine. So while growth 693 00:41:22,560 --> 00:41:27,319 Speaker 1: is spectacular, we're not talking about enormous numbers. By April, 694 00:41:28,239 --> 00:41:30,359 Speaker 1: the number of Gopher servers, or at least the ones 695 00:41:30,480 --> 00:41:33,600 Speaker 1: that the team was aware of, had hit just under 696 00:41:33,719 --> 00:41:37,879 Speaker 1: seven thousand servers. But Goverer did have a big head 697 00:41:37,920 --> 00:41:40,560 Speaker 1: start on the web. It took the web a bit 698 00:41:40,640 --> 00:41:43,880 Speaker 1: longer to catch on because you had to have the 699 00:41:43,920 --> 00:41:47,680 Speaker 1: development of the clients that people could use to browse 700 00:41:47,680 --> 00:41:49,400 Speaker 1: the web, and you know, you have to have the 701 00:41:49,400 --> 00:41:53,200 Speaker 1: development of the actual software people were using to create 702 00:41:53,960 --> 00:41:58,040 Speaker 1: web servers. Gover was popular enough for the team to 703 00:41:58,040 --> 00:42:01,719 Speaker 1: start to hold conferences of their own Gopher cons They 704 00:42:01,760 --> 00:42:05,040 Speaker 1: even created t shirts and merchandise with the Gopher logo 705 00:42:05,120 --> 00:42:07,680 Speaker 1: on it. Colleges and companies were adopting it. Even the 706 00:42:07,680 --> 00:42:10,840 Speaker 1: White House launched a Gopher site back in those days. 707 00:42:11,680 --> 00:42:14,600 Speaker 1: But hot on the heels of Gopher was the Worldwide 708 00:42:14,600 --> 00:42:17,719 Speaker 1: Web concept, which had its own compelling methods of navigating 709 00:42:17,719 --> 00:42:22,040 Speaker 1: and present presenting information. Even though it seemed nonintuitive to 710 00:42:22,080 --> 00:42:24,680 Speaker 1: the Gopher group, it turned out that people really like it. 711 00:42:24,840 --> 00:42:26,960 Speaker 1: Anyone who spent a lot of time on a site 712 00:42:27,000 --> 00:42:30,720 Speaker 1: like Wikipedia dancing from one topic to another, just diving 713 00:42:30,760 --> 00:42:36,239 Speaker 1: down those rabbit holes, they know what I'm talking about. Someone, ironically, 714 00:42:36,239 --> 00:42:38,440 Speaker 1: I would say Tim burners Lee actually was able to 715 00:42:38,480 --> 00:42:42,520 Speaker 1: spread the word about the Worldwide Web using a Gopher site. 716 00:42:42,880 --> 00:42:44,759 Speaker 1: That's how people were able to get the files they 717 00:42:44,760 --> 00:42:48,319 Speaker 1: needed to create web servers and web clients, as well 718 00:42:48,320 --> 00:42:51,200 Speaker 1: as find more information about the web itself. And the 719 00:42:51,200 --> 00:42:53,480 Speaker 1: Gopher team was running into problems with the University of 720 00:42:53,480 --> 00:42:58,200 Speaker 1: Minnesota as well. The administration was always something of a 721 00:42:58,239 --> 00:43:02,520 Speaker 1: reluctant partner with this group. At first, the college had 722 00:43:02,560 --> 00:43:05,319 Speaker 1: been a roadblock. You remember I mentioned they refused to 723 00:43:05,360 --> 00:43:08,480 Speaker 1: implement Gopher in those early days. They only did it 724 00:43:08,600 --> 00:43:11,799 Speaker 1: after it had already been implemented at other college campuses. 725 00:43:12,360 --> 00:43:14,759 Speaker 1: Members of the Gopher development team, we're looking at the 726 00:43:14,760 --> 00:43:18,280 Speaker 1: possibility of creating a private entity, like a spinoff company, 727 00:43:18,360 --> 00:43:21,480 Speaker 1: to create Gopher as a commercial product. But back in 728 00:43:21,520 --> 00:43:23,960 Speaker 1: those days, the Internet was still largely the domain of 729 00:43:24,120 --> 00:43:27,560 Speaker 1: universities and government offices. In fact, a lot of people 730 00:43:27,640 --> 00:43:30,719 Speaker 1: looked at the possibility of private enterprise getting involved with 731 00:43:30,719 --> 00:43:33,520 Speaker 1: the Internet as something they did not want. A lot 732 00:43:33,600 --> 00:43:37,040 Speaker 1: of people kind of compared it to public broadcasting. They said, 733 00:43:37,560 --> 00:43:41,320 Speaker 1: the Internet should remain like PBS and all these companies. 734 00:43:41,320 --> 00:43:44,160 Speaker 1: That's like ads supported TV. We don't want that here. 735 00:43:44,600 --> 00:43:47,160 Speaker 1: So there was a lot of resistance even among the 736 00:43:47,160 --> 00:43:50,160 Speaker 1: group themselves. Not everybody was in agreement that they should 737 00:43:50,160 --> 00:43:53,799 Speaker 1: go the privatized route. And remember the dot com era 738 00:43:53,880 --> 00:43:56,680 Speaker 1: had not yet begun at this point. Then, the University 739 00:43:56,680 --> 00:44:01,120 Speaker 1: of Minnesota instituted a licensing policy for Gopher. They said 740 00:44:01,120 --> 00:44:04,880 Speaker 1: that any organization out there that was operating for profit 741 00:44:05,360 --> 00:44:08,080 Speaker 1: would need to pay a license fee to the University 742 00:44:08,080 --> 00:44:12,680 Speaker 1: of Minnesota in order to use Gopher, and the cost 743 00:44:12,840 --> 00:44:15,880 Speaker 1: of this license fee was sliding. It depended upon the 744 00:44:15,960 --> 00:44:20,440 Speaker 1: size and type of business in question, and the university 745 00:44:20,480 --> 00:44:22,440 Speaker 1: was looking to keep all that money for themselves. Really 746 00:44:22,719 --> 00:44:25,319 Speaker 1: I Meanwhile, the development team found that the university still 747 00:44:25,320 --> 00:44:28,200 Speaker 1: wanted them to do their regular desk jobs as programmers 748 00:44:28,200 --> 00:44:31,840 Speaker 1: for the University of Minnesota, so they were supposed to 749 00:44:31,880 --> 00:44:35,480 Speaker 1: both develop Gopher and work on their normal jobs, and 750 00:44:35,520 --> 00:44:38,279 Speaker 1: they weren't really given any more resources to do this. 751 00:44:38,320 --> 00:44:40,879 Speaker 1: It was still just the six of them, so their 752 00:44:40,920 --> 00:44:45,400 Speaker 1: morale began to decline. And then they had the university 753 00:44:45,480 --> 00:44:48,319 Speaker 1: expecting them to do these two jobs at once, as 754 00:44:48,360 --> 00:44:51,600 Speaker 1: well as having an entire population of users out there 755 00:44:51,920 --> 00:44:55,040 Speaker 1: who are angry about this licensing policy that the university 756 00:44:55,080 --> 00:44:57,160 Speaker 1: has had put in place, and and the team was 757 00:44:57,239 --> 00:45:00,000 Speaker 1: kind of caught in the middle. And at one point 758 00:45:00,000 --> 00:45:04,600 Speaker 1: the university even considered outsourcing Gopher to other programmers, essentially 759 00:45:04,600 --> 00:45:07,919 Speaker 1: taking it away from the team that created it and 760 00:45:07,960 --> 00:45:11,560 Speaker 1: giving it to someone else. Meanwhile, the web was just 761 00:45:11,719 --> 00:45:16,520 Speaker 1: getting started. Remember that I said Gopher grew by back 762 00:45:16,520 --> 00:45:22,160 Speaker 1: in well. The web also grew that year by three 763 00:45:22,239 --> 00:45:27,759 Speaker 1: hundred forty one thousand, six hundred thirty four percent. It 764 00:45:27,840 --> 00:45:31,719 Speaker 1: was also the first year of the commercial web browser, Mosaic. 765 00:45:32,160 --> 00:45:35,840 Speaker 1: Mosaic proved that you could go commercial on the Internet. 766 00:45:35,880 --> 00:45:40,000 Speaker 1: So while the Gopher group was reluctant the website, things 767 00:45:40,000 --> 00:45:42,879 Speaker 1: were going in a very different direction, and the web 768 00:45:42,960 --> 00:45:46,160 Speaker 1: was incorporating stuff that Gopher couldn't really support, like images 769 00:45:46,160 --> 00:45:49,319 Speaker 1: on web pages. Not first, an image on a web 770 00:45:49,320 --> 00:45:52,480 Speaker 1: page was not a huge asset because it took forever 771 00:45:52,760 --> 00:45:55,880 Speaker 1: to render a picture on a screen, and it caused 772 00:45:55,960 --> 00:45:59,960 Speaker 1: some people to say that WWW actually stood for world 773 00:46:00,000 --> 00:46:03,359 Speaker 1: Old Wide Weight. But modem speeds were on the rise 774 00:46:03,400 --> 00:46:06,200 Speaker 1: as well, and that helped reduce some of that loading time, 775 00:46:07,080 --> 00:46:10,320 Speaker 1: and some of the Gopher team rather sardonic Lee said, 776 00:46:10,880 --> 00:46:13,600 Speaker 1: we knew the game was up when we realized that 777 00:46:13,640 --> 00:46:17,480 Speaker 1: people could get naked photos on their computer screens using 778 00:46:17,480 --> 00:46:19,759 Speaker 1: the Worldwide Web, something that you could not be done 779 00:46:19,800 --> 00:46:22,840 Speaker 1: with Gopher, and they were being pretty serious about it 780 00:46:22,920 --> 00:46:27,880 Speaker 1: at the time. By the spring of Web traffic exceeded 781 00:46:28,080 --> 00:46:32,160 Speaker 1: Gopher traffic, so even though Gopher had a headstart, Web 782 00:46:32,160 --> 00:46:36,520 Speaker 1: had caught up and passed Gopher traffic. Companies were discovering 783 00:46:36,600 --> 00:46:40,320 Speaker 1: that there were some possibilities on the web, though really 784 00:46:40,400 --> 00:46:42,840 Speaker 1: web commerce was still a couple of years away from 785 00:46:42,880 --> 00:46:47,080 Speaker 1: really taking off, but it offered opportunities beyond just sharing information, 786 00:46:47,080 --> 00:46:50,200 Speaker 1: which was really the only thing Gopher was good for. 787 00:46:50,280 --> 00:46:53,919 Speaker 1: It was really sharing information and distributing files. It wasn't 788 00:46:54,320 --> 00:46:57,080 Speaker 1: meant to do really more than that. So the web 789 00:46:57,120 --> 00:47:00,239 Speaker 1: had versatility on its side as well. And one of 790 00:47:00,280 --> 00:47:03,279 Speaker 1: the big things that helped drive the knife home and 791 00:47:03,320 --> 00:47:06,920 Speaker 1: Gopher had nothing to do with how people use the Internet. 792 00:47:07,440 --> 00:47:10,759 Speaker 1: It had to do with a scandal unrelated to anyone 793 00:47:10,960 --> 00:47:15,640 Speaker 1: on the Gopher team. Dr John Nigerian, a transplant surgeon 794 00:47:15,680 --> 00:47:20,280 Speaker 1: at the University of Minnesota, was accused of fraud, tax evasion, 795 00:47:20,320 --> 00:47:24,720 Speaker 1: and embezzlement. The charges led the National Institutes of Health, 796 00:47:24,800 --> 00:47:27,680 Speaker 1: which is a federal government office here in the United States, 797 00:47:27,680 --> 00:47:30,759 Speaker 1: to withdraw funding to the university, and that was a 798 00:47:30,800 --> 00:47:34,279 Speaker 1: serious blow to the school, so they went to emergency 799 00:47:34,360 --> 00:47:38,160 Speaker 1: mode to try and fix the situation. They as part 800 00:47:38,160 --> 00:47:41,439 Speaker 1: of that, asked the Gopher team to create a new 801 00:47:41,520 --> 00:47:45,800 Speaker 1: system to track accounts and file paperwork because a large 802 00:47:45,840 --> 00:47:50,400 Speaker 1: part of this accusation really dealt with the way paperwork 803 00:47:50,520 --> 00:47:54,799 Speaker 1: was failing to be filed on time. So the team 804 00:47:54,840 --> 00:47:58,640 Speaker 1: eventually developed a web based transaction program, which is also 805 00:47:58,719 --> 00:48:00,359 Speaker 1: kind of ironic when you think about that was a 806 00:48:00,360 --> 00:48:03,720 Speaker 1: web based approach. It was the world's first web based 807 00:48:03,760 --> 00:48:06,719 Speaker 1: transaction program. But it also meant that while they were 808 00:48:06,800 --> 00:48:10,440 Speaker 1: developing this, they could not continue working on Gopher because 809 00:48:10,440 --> 00:48:12,640 Speaker 1: they just didn't have the time to do it. So 810 00:48:12,760 --> 00:48:16,840 Speaker 1: by the time they finished the web based application, Gopher 811 00:48:16,920 --> 00:48:20,120 Speaker 1: was dead in the water, or I guess dead under 812 00:48:20,160 --> 00:48:22,759 Speaker 1: the ground, I suppose, if we want to stick with 813 00:48:22,800 --> 00:48:26,239 Speaker 1: the metaphor anyway, it's it's not really dead dead. It's 814 00:48:26,280 --> 00:48:29,600 Speaker 1: not entirely gone. There are still Gopher servers out there 815 00:48:30,160 --> 00:48:33,880 Speaker 1: if you know where to look. But as an evolving entity, 816 00:48:33,960 --> 00:48:37,920 Speaker 1: Gopher was essentially a thing of the past and at 817 00:48:37,960 --> 00:48:41,439 Speaker 1: some point, and no one's really sure, when someone took 818 00:48:41,520 --> 00:48:46,239 Speaker 1: the original Gophers server known as Mother Gopher offline. The 819 00:48:46,320 --> 00:48:49,200 Speaker 1: University of Minnesota supported it for several years after Gopher 820 00:48:49,239 --> 00:48:51,520 Speaker 1: had clearly lost the race to the web, but that 821 00:48:51,520 --> 00:48:54,640 Speaker 1: as no longer the case. As for Michael, he would 822 00:48:54,640 --> 00:48:57,960 Speaker 1: go on to join Duke University, where he still works today, 823 00:48:58,360 --> 00:49:00,120 Speaker 1: and other members of the team have gone on to 824 00:49:00,120 --> 00:49:02,560 Speaker 1: do other things. Some of them retired, some of them 825 00:49:02,600 --> 00:49:04,800 Speaker 1: while I was working for Google. One of them stayed 826 00:49:04,840 --> 00:49:09,160 Speaker 1: with the University of Minnesota, oh And Dr Nigerian, who 827 00:49:09,239 --> 00:49:13,399 Speaker 1: was accused of those crimes, was ultimately exonerated of those 828 00:49:13,400 --> 00:49:17,120 Speaker 1: accusations of fraud and embezzlement. The jury returned with a 829 00:49:17,239 --> 00:49:20,600 Speaker 1: verdict of not guilty. But by then the damage was 830 00:49:20,640 --> 00:49:23,200 Speaker 1: done in more ways than one Gopher it faded away 831 00:49:23,280 --> 00:49:26,120 Speaker 1: due to lack of support, and the university found itself 832 00:49:26,160 --> 00:49:29,360 Speaker 1: struggling to regain the trust of the n i H. 833 00:49:29,640 --> 00:49:34,120 Speaker 1: So that's the tragic story of the Gopher protocol, and 834 00:49:34,160 --> 00:49:36,799 Speaker 1: that's why we serve the web rather than burrow through 835 00:49:36,840 --> 00:49:39,759 Speaker 1: the Internet. I hope you guys enjoyed that look back 836 00:49:39,800 --> 00:49:42,359 Speaker 1: into the history of the Internet. If you have suggestions 837 00:49:42,360 --> 00:49:45,759 Speaker 1: for topics I should cover in future episodes, let me know. 838 00:49:46,000 --> 00:49:49,120 Speaker 1: Send me an email. My address is tech Stuff at 839 00:49:49,200 --> 00:49:51,719 Speaker 1: how stuff Works dot com, or you can drop me 840 00:49:51,760 --> 00:49:54,799 Speaker 1: a line on Facebook or Twitter. The show's handle at 841 00:49:54,800 --> 00:49:58,480 Speaker 1: both of those is tech Stuff hs W. And if 842 00:49:58,480 --> 00:50:01,680 Speaker 1: you want to watch me record a show live, and 843 00:50:01,760 --> 00:50:04,399 Speaker 1: that includes all the times I make mistakes, and go 844 00:50:04,520 --> 00:50:07,879 Speaker 1: back and do it again. You can follow me on 845 00:50:07,920 --> 00:50:13,080 Speaker 1: twitch dot tv. We're tech stuff. They're surprisingly enough, and 846 00:50:13,160 --> 00:50:17,200 Speaker 1: we will be streaming on Wednesdays and Fridays unless something 847 00:50:17,280 --> 00:50:21,359 Speaker 1: changes between now and then, which could happen. But that's 848 00:50:21,360 --> 00:50:24,120 Speaker 1: all for now, and I'll talk to you again and 849 00:50:24,280 --> 00:50:32,400 Speaker 1: really soon. For more on this and thousands of other topics, 850 00:50:32,640 --> 00:50:43,720 Speaker 1: is a stock works dot com