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