[ih] "How Gopher Nearly Won the Internet" Re: The Rise and Fall of the Gopher Protocol

Jack Haverty jack at 3kitty.org
Thu Sep 8 12:30:55 PDT 2016


IIRC, the availability of a browser was necessary, but just one part of 
the story.

If you put a web server online, it wasn't very useful unless there was a 
way to use it.   Yes, you could connect to port 80 and type "GET xxx" 
but even techie nerds would find that tedious.   So, when I think of the 
early web, it includes the browser client as well as the server as 
critical elements.

Gopher provided a slightly more friendly user interface than 
tried-and-true FTP, and an index/search capability, but it was still 
text-based.   That was fine for us techie nerds, but it wasn't exciting 
to all the non-techie users sitting in front of PCs and used to 
somewhat-graphical applications.

Besides, we techies had all become quite comfortable using FTP, and the 
"README" convention as a poor-man's index, for a decade or two.  By the 
90s NFS/SMB/Netware/Appletalk/etc made it much easier to have a "public" 
repository (although AFAIK mostly on intranets) seamlessly integrated 
into our computing environments.  Sales stuff was on the "SALES" server, 
technical info on "ENGRNG", etc.  You didn't even know you were using 
the network.

In the broader world, even non-tech businesses had similar internal 
systems, often a hodgepodge of proprietary environments.  They also 
typically had "document management" systems, which kept track of 
corporate documents and usually included capabilities beyond 
index/search/retrieval.  In a business environment, you often need 
mechanisms like review/approval, distribution lists, version management, 
etc.

So, as a document search/retrieval system, in the early 90s, Gopher was 
interesting, but at best just an incremental improvement to existing 
mechanisms, with no obvious way to integrate it with those mechanisms.

-----

As I recall, Tim B-L's original idea for the web was a sort of 
collaborative notebook, where people could create and change documents, 
and link them together, as well as read them.  There was no "search" per 
se.

But the initial thrust of the browser was to view the web as a read-only 
system - you could "browse" an existing melange of documents, and set 
bookmarks to help find them again.  No way (that I could see) in the 
browser to make any changes to documents, new documents, etc.

So the first days of the Web started with slightly-dynamic documents 
(Tim's collaborative notebook vision), and with the advent of the 
browser regressed to being primarily a static document repository 
(browsers and servers, with documents created externally).

People quickly started producing indices of what was on the Web.  When I 
first encountered Yahoo, it advertised itself as "Yet Another 
Hierarchical Officious Organizer" and was essentially a Gopher-like 
index tree of interesting websites, one of many.  For a while, I 
maintained a similar in-house list of interesting websites out on the 
public Internet, and made it available within the company, along with 
instructions on how to get browsers and servers.   As people in various 
departments inside the company put up their own webservers, my list of 
interesting Internet pages was expanded to include a list of interesting 
intranet pages.   Search engines like AltaVista came along too.

All of this could probably have been done with Gopher.   But it wasn't.

The ease of getting the Web server and browser running, and of creating 
simple linked-document internal corporate webs, and the ability to 
create user-friendly documents with rich linking and formatting, all 
helped push the Web forward.

Gopher (IIRC) provided none of these, and no obvious way to integrate 
Gopher into any of the existing systems.  At least I didn't run across 
anyone who had done it.

-----

None of this was "mainstream" technology at the time; no one was using 
the web as a primary component of their business IT machinery.   I think 
the CGI was at least one of the primary elements that moved the web to 
dominance.

At the time, Microsoft had a catchphrase "Where Do You Want To Go 
Today?" or something like that.  It reflected the "browser" perspective 
of the web as a library or document repository. It was interesting to 
browse the virtual aisles, find an interesting thing to read, and go to 
investigate whatever you found there.

I gave a lot of talks/demos using the next-generation catchphrase "What 
Do You Want To Do Today?" as a theme.  The CGI made that possible. 
Instead of just browsing documents, you could have the server do 
something, and create a document on the fly to show you the results of 
whatever it did.   That document could have links that did something 
else, and forms that allowed the user to pass parameters in to guide 
that activity.

Instead of just browsing, a user could now actually cause that remote 
server to do stuff.  Essentially, the Web browser, with CGI, had become 
a new universal GUI - graphical user interface, with a new API that 
could be linked to any kind of program behind any server on any kind of 
computer -- in effect a universal standard RPC mechanism that could be 
used to access programs on any kind of computer that you could get a web 
server on.

Of course, some of this had been done ages before -- e.g., the Coke 
machine on the ARPANET.  But in the 90s the WWW made it now easy with 
the key components pre-installed, freely distributed, and mostly free 
(IIRC, the early browser cost just $25 or something like that - a 
bargain compared to typical software costs of the era for all those PCs 
out there).

In business, government, and other parts of the "real world", computers 
are used to do stuff.  As techies, we understood that, but I think all 
we really understood was using computers to write code, and maybe an 
occasional document or two.  Telnet was good enough to get to that far 
away computer.  FTP was good enough to move code and RFCs around.  Email 
was good enough to hold endless debates until someone finally wrote the 
code.

Non-techies use computers for other things - order entry, market 
research, inventory control, shipping tracking, customer support, etc., 
etc.   Much of that activity involves interacting with databases of some 
kind.  So the web technology, integrated with databases through CGI, 
suddenly provided a whole new way of doing all those activities, and 
could be deployed without the massive disruptions often required to 
introduce new systems.

Security was also a concern of course.  With the web technology, 
businesses, their customers, and their suppliers could all be 
interconnected through carefully structured web portals into their 
various internal business computers.   Their various intranets would be 
connected and even use the Internet to do so, but without the risk and 
exposure of IP-level router interconnections.

Done carefully, web servers act as firewalls so that users could only do 
what they should be able to do.  A web server is essentially a "router" 
interconnecting two organizations or customers, but the "connectivity" 
is not for IP packets.  Rather, connectivity is limited to a set of 
activities that can be performed through that connection.

I can order a book from Amazon through the web, but I can't cause Amazon 
to order 10,000 copies of a book I wrote - assuming their webserver 
designer didn't make that function accessible through a public CGI.

I can interact with a computer deep within a corporation, but I can (if 
they're careful) only do certain things that they want me to do.  I most 
likely can't "ping" that computer, or open an FTP connection to it.  But 
I can use it.

The Web has enabled an internet of internets, with computers able to 
interact across public and corporate boundaries.  "On the Internet" has 
a new meaning (Dave, time for an update to that RFC...)

The CGI made that feasible.  As I explained this to customers - usually 
non-techie managers in non-tech companies - you could see the "light 
bulbs" as they realized how the web technology could be used in their 
business interactions - not just to browse and read documents but to do 
the various activities involved in commerce, internally as well as with 
their customers and business partners.   That was a very potent attraction.

-----

I imagine all of the above could have been done with a continuous 
evolution of Gopher.  But it wasn't.  The WWW "won" because people took 
the base technology of the early web, figured out how to use it in their 
own world, and just did it.   Rough consensus and running code...!

The 90s were interesting times....
/Jack Haverty







More information about the Internet-history mailing list