[gopher] Clients, capabilities and discoverability was Re: A letter to Mozilla Foundation

Cameron Kaiser spectre at floodgap.com
Thu Aug 5 01:55:15 UTC 2010


> > I agree. It also makes it possible for an arbitrary extension to intercept
> > the protocol instead of relying on the trick Overbite Chrome does, which is
> > to notice that the user is going to a search page with a gopher URL in it
> > and snatch control (the way the [refused] patch to that issue is written).
> 
> It is weirder than I first thought, if the url is inserted in the
> address bar ("omnibox"), it does a web search, but clicking in a gopher
> link in some web page does the expected thing (it asks for an external
> viewer).

So it is. Never noticed since I went straight to writing the link rewriter
in Overbite Chrome, but yup, that's what it does. Seems a bit schizophrenic.

> On getting the parent menu, a problem is that there's no warranty that
> there are "directories" and that they're separated by slashes. But I
> think a convention could be established and that trying to "go up"
> doesn't hurt (it could fail in some servers, but that wouldn't be
> frequent (I think), and certainly not harmful (if there are no slashes,
> it just gives the root URL)).
> 
> I recall some chat took place here some years ago, so I did some gmane
> searching:
> 
> http://article.gmane.org/gmane.network.gopher.general/2332
> http://article.gmane.org/gmane.network.gopher.general/2335

Yeah, I remember that. That's why I don't want the client doing this
kind of thing for the user (yet), because getting it wrong would be
really bad and potentially leave the user in an unnavigable state. Most
of the time it would work, but I don't want gopherspace restricted to
Unix pathnames. After all, userserve.ucsd.edu (RIP) was an SE/30 using
:-based Mac paths, and JumpJet was Windows using \es. There was even a
VMS server or two for awhile.

But if the user themselves tries to analyse the path and alter it, I
think I should help them, unless people strongly object to this behaviour.

What would be an interesting thought is a way for the server itself to
tell the client about its capabilities. I'd fantasized about a special
selector caps (or /caps, or 0/caps, etc.) that could have, say, key=value
pairs telling the client about the server.

CAPS
Location=Yo mama
PathDelimeter=/
ServerSoftware=A snotty guy named Frank

Then, knowing how it can divide by path, it could even offer an entire
breadcrumb menu. If it couldn't get the caps, then it would just offer a
root menu. That could maybe go in an XUL status bar.

> A "were you expecting a menu" link could be placed on the XUL overlay or
> as one of those messages that pop up at the top of the page. But I
> wonder how to do that unobtrusively... it should at least have a "do not
> show this later" option.

That's also a thought, perhaps have the bar briefly show an alert.

> > Eventually Overbite will also put "return to root menu" XUL overlays even
> > over terminal documents so that you at least have that, though the pure HTML
> > approach right now is appealing because it's adaptable to those Mozilla
> > browsers that lack XUL such as Camino and K-Meleon.
> 
> The overlay idea looks great.
> 
> If you're able to add HTML links to those documents, adding the link
> there is a good workaround. (Or are they really just plain
> text/images/..., instead of a HTML with that?)

No, it's real text. I was disgusted by the original Mozilla conversion into
text/html, I never liked that. So this is flat text/plain as God and possibly
Mark McCahill intended.

> > There sure is! And I didn't even write it; I got contacted by somebody who
> > really liked the concept of Overbite Android and wrote his own for his
> > Nokia E51. It's a MIDlet; it should run on anything, even a Crackberry.
> >
> > 	http://felix.plesoianu.ro/index.php/page:Software:PocketGopher
> 
> It may run on my phone. I'll say something if I get the chance to test
> it.

I would love to hear if it worked.

> > A really futuristic interface would allow this sort of thing in 2D rather
> > than simply an expanding vertical tree. But that might be a little too alien
> > for a web-addled world. :)
> 
> You mean "3D"? I must try gopherVR.

Well, no. GopherVR actually is pretty obvious when you use it, and it's
single menu per scene. The metaphor is, despite the concept, really not all
that outlandish in practice. (I do need to fix how i itemtype causes it to
spread the objects out everywhere; it makes V-2 searches nearly impossible
to navigate.)

When I mean a 2D interface, I mean one where the menus start sprawling out
over a vast, "infinite" plane, allowing crosslinkages to be shown and the
client window being essentially a window on a much larger scrolling workspace.
But like I say, this would probably weird a lot of people out even though it
would really make the hierarchy come alive.

-- 
------------------------------------ personal: http://www.cameronkaiser.com/ --
  Cameron Kaiser * Floodgap Systems * www.floodgap.com * ckaiser at floodgap.com
-- And now for something completely different. -- Monty Python ----------------



More information about the Gopher-Project mailing list