[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