[ANN] GemIF - Simple Interactive Fiction engine for Gemini

Luke Emmet luke at marmaladefoo.com
Thu Dec 3 16:07:31 GMT 2020



On 02-Dec-2020 19:22, mbays at sdf.org wrote:
> * Wednesday, 2020-12-02 at 09:12 +0000 - Luke Emmet<luke at marmaladefoo.com>:
>
>> Its a great start, but I'm afraid it breaks the forward and back navigation
>> in my client, and might affect other clients too. This is because each
>> rendered page has the same URL.
> Isn't it that this has exposed an incorrect assumption in the client,
> rather than a problem with (the original implementation of) GemIF?
>
> There's no assumption of idempotence in gemini, two requests to the
> same url might well return different responses. So I'd have thought
> that consecutive requests to the same url should get separate history
> items, at least if the responses aren't identical (and then to
> minimise surprise, also if they are).

I'm firmly of the camp that thinks that although there are many things 
the web got wrong ultimately, the hypertext model is basically right 
(see Roy Fieldin thesis and HATEOS etc). And indeed it is the 
established mental model for textual hypertext. Breaking the "back" 
button on the web is generally considered a bad idea and I think it is 
true on Gemini too for the same reasons.

Rather, I think we should/can make a defacto assumption of idempotence 
in Gemini. Gemini requests are incredibly similar to HTTP GET requests, 
which are the "idempotent" and dominant method of hypertext on the web. 
We don't have the equivalent of the non-idempotent POST methods in 
Gemini. But maybe there are other solutions for that, or it might come 
one day.

So repeatedly reloading the same resource, is the equivalent to a 
reload, hence when you go "back" it is back to the previous URL.

  - Luke


More information about the Gemini mailing list