I was scouring a cement wall with a
wire brush yesterday. You have a lot
of time to think when you're getting
concrete ready for painting.
So I've been thinking about Gopher 2.0
/ HTML 0.5. If I understand correctly,
the consensus among the proponents of
the liminal protocol seems to be that
the it would have lesser capabilities
than the web, but more than gopher. I
think it's reasonable to state that
this seems to be a universal
assumption.
If that's the case, then the new
protocol might be viewed as both:
1. Gopher++: an enhanced version of
gopher with links, embedded media,
other new features, and improved
syntax.
2. Web-: a stripped down version of
the web, designed to prevent bad
practices, like tracking and traffic
filtering/shaping (just to name a
couple).
I know that seems obvious, but I think
how you conceptualize the proposed
alternative impacts how you react (and
some people are feeling it kind of
viscerally!).
At first, because of the nature of
some of the discussion, I considered
the proposals to be focussed on the
creation of a kind of Gopher++
(Gopher+ is already taken, so I'm
ad-libbing here). I hate that idea
because I like Gopher (it's lovely to
inhabit an online world without links
and images), and because the idea of
Gopher++ holds out the possibility of
dividing the existing community.
However, when I think about the
proposal as Web-, I like it a lot.
From that perspective, it's a
replacement for the web, not gopher.
Yet if viewed as web-, we do have to
deal with cat's contention that we can
do all of the things we want to with
the web already. That's true. The
problem is that we cannot -- as a
community -- constrain the overall
impact of the practices we don't want
imposed on us on the web.
As users, we can block the
anti-features of the web, and many of
us do. But when the majority around us
are exposed to those anti-features,
they pattern the collective mentality
and the social interactions that
predominate in the environment. A
simplistic example might involve me
visiting reddit with images turned
off. Yet everyone else is exposed to
and considering those images.
Likewise, I can peruse the web with a
pi-hole and ad-blocker, but the entire
web has been shaped by what I'm
avoiding, including my own experience
of it.
A new protocol -- if it is to be
designed -- should start from the
premise that it is a 'social purpose'
protocol, and define standards based
on a shared vision of a good online
environment rather than technical
possibilities or individual gain.
One of the real problems with the web
is that its capabilities are being
(and have long been) reshaped by
private corporations. Their
non-standards-based 'features' are
added into browsers as unique
additions to html, and then frequently
adopted into the html standard
afterwards. Some of you may remember
the "Best viewed in Netscape" and
"Best viewed in IE" labels on sites in
the 90s/00s. If not, you surely notice
the "works best with Chrome" messages
peppered across Google's sites these
days.
Could Web- and it's RFC remain in the
hands of a community? I think so --
and I think it would be an interesting
exercise to design the standards.
Agreeing on limits, however, would not
be easy. Many of the abused features
of the web undoubtedly started out as
useful enhancements.
I can imagine the designers of the
cookie thinking that it would be a
wonderful thing to tailor a website to
each visitor -- without considering
that the stored information could be
exploited in nefarious ways. Mind you,
I know nothing of the history of
cookies. I could be completely wrong
about their origins. But it's
conceivable that they might have been
created to serve a useful,
non-exploitative purpose.
In any case, I think it very likely
that there would be great debates
between the enhancers and privacy
advocates in defining the protocol,
but the key thing would be to have the
protocol remain in the hands of the
community, with it's purpose being
shaped by a set of elucidated
principles respecting user interests.
That being said, I have a
recommendation for the new protocol,
intended to prevent private entities
or random individuals from introducing
non-standards-based feature-creep:
It should block all clients that add
non-protocol features.
I don't know how this would be done on
a technical basis, but I think it
should be done, given what we know
about how standards become abused and
broken.