# Gopher Purity
April 27, 2021
I came across the Wandering Geek phlog's rant about unformatted text
and gopher protocol the other day.
<
gopher://gopher.unixlore.net/0/glog/gopher-annoyances.md>
The point was generally made that gopher is not the web, and we
should keep it that way. I agree with that point.
One item I take issue with, though, is the Geek's assertion that all
text in gopher should be hard formatted to no longer than 70
character lines for the apparent sole purpose being so that the
writer's aging computer and gopher browser won't "barf."
First, many older gopher browsers already wrap text lines so that the
user will have an experience better suited to their screen. These
days, mobile gopher browsing is an actual thing. Hard formatted text
makes for jagged mishapen display, which is difficult and annoying to
read.
Even the venerable old Lynx text browser has no trouble wrapping text
in gopher. Since the creators of gopher protocol saw fit to leave
most formatting issues to the browser developers, I don't have a
problem with text lines longer than 70 characters.
Ah ha, the Wandering Geek might say, wagging his finger in my face.
What about section 3.9 of gopher protocol, "User display strings and
server selector strings." Doesn't the protocol clearly state that
"user display string should be kept under 70 characters in length."
Indeed it does, with the writer specifically indicating "SHOULD"
rather than "MUST." The reason a line "should" be formatted is
because "longer lines may not fit across some screens." The writer
clearly intended this as a recommendation, not an incontestible part
of gopher protocol. In the moment of publication, "should" would meet
most user experience cases and was suggested as a way of example; but
because the authors were well aware that screen width could and most
certainly would change in the future, they did not specify "must" be
70 characters.
Additionally in section 3.9, the writer pretty clearly states that
"User display strings are intended to be displayed on a line on a
typical screen for a user's viewing pleasure." 70 character strings
are not very typical these days, are they? That's the reason they
did not specify that text line length "SHALL" be 70 characters.
The authors of gopher protocol, being wise men, most certainly
understood the screens would change over time, and so they suggested
that we format for a 'typical screen'. Indeed, they were concerned
enough to single out a "user's viewing pleasure" as a consideration
in formatting text.
The idea of 70 character line lengths is better placed as a directive
to gopher browsers, rather than to format every text document in the
world to a hard line length.
And just how do I infer this?
From Section 4.0, "Simplicity is intentional." Here the internet
Gopher philosphy was clearly stated: a. Intelligence is held by the
server, and b. the well tempered server ought to send "text".
"Should this text include tabs, formfeeds, frufru? Probably not, but
rude servers will probably send them any way."
I read this as a license, indeed as an instruction, to remove hard
line formatting of text files. To me, hard line formatting is
'frufru' that forces a particular line length on every viewer of a
text file, despite the size of their screen, inevitably leading to a
poor experience. The authors did not want that.
Instead, Gopher's fathers intended intelligence (text file) to be
held by the server, while the client would provide "access" to the
document, whatever the type of the document. Imagine, if most
screens in the world were 720x480, they may have suggested 720x480
pixel formatting of video, but -- just as they suggested 70
character lines -- they would not mandate it, because what was
important to them was user experience.
Going back to the Note in RFC1436:
RFC1436 <
https://tools.ietf.org/html/rfc1436>
In the note that suggests a 70 character displayable line, the clear
reason stated for this is that "longer lines may not fit across some
screens."
Being formatted correctly to the user's screen is important to the
writer. I suggest that the gopher authors were more concerned with
user experience, that the text should fit the screen. This
suggestion is given more as a suggestion and guidance appropriate to
this moment in March 1993. It was never suggested that 70 characters
should be the only permitted line length. Certainly, they could have
done this, but chose not to.
The writer's main concern is with a) the user experience on a typical
screen, and b) formatting in the gopher browser, and also that c)
documents, including text documents, should not contain extraneous
formatting that would interfer with the user's experince, while
conceding that many servers will probably send files with 'frufru'
formatting anyway. Therefor, the "well-tempered client should do
something reasonable with funny characters received in text; filter
them out, leave them in, whatever."
So now in 2021, one of the most convenient and best gopher
experiences is mobile browsing. Yet some people are calling for
every doc in gopherspace to have hard formatting that jeopardizes the
experience of short width screens, as well as screens with widths
much longer than 80 characters.
I suggest we remain true to the authors primary focus on the user's
exprience, and their call in 4.c to build "well-tempered" clients
that will deliver this experience.
Clearly, they intended for content formatting to occur in the client,
and for the client to do something "reasonable" with it. A
"Well-tempered" client will simply wrap text to fit the screen and
give the user a better experience.
This is why I have no problem offering users, espcieally mobile
users, the 'best' experience that gopher can provide with text
formatting. Although you will occasionally encounter text files here
that have some hard formatting, the content we generate will
primarily be longer text lines which any well-tempered client should
reasonably be able to deal with.
Just as the authors intended.
-fish
From: <
gopher://magical.fish/0/phlog/thoughts-on-text-formatting>