[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