gemini+stream://
cage
cage-dev at twistfold.it
Sat Aug 15 19:41:24 BST 2020
On Sat, Aug 15, 2020 at 01:25:37PM -0400, easeout at tilde.team wrote:
Hi!
Thank you for your reply!
With this message i try to give an answer both to you an Kevin because
i feel my answer try to address the arguments raised by both of you.
> On Sat, Aug 15, 2020 at 12:47:22PM +0200, cage wrote:
> > Honestly i fail to understand why a new scheme is needed here. The
> > protocol already supports stream as discussed in a previous messages
> > and i do no see a lott of advantages for using a different scheme
> > except (as you wrote) to signal to the user that the content will not
> > end.
> >
> > Probably i am missing something, please help me to understand.
>
> In our IRC discussion, we raised some user-facing guarantees of Gemini:
>
> - You know that when you open a link, you're just getting that one file,
> not an implicit bundle of child requests
> - You know the connection will not remain open after you have begun to
> see its content
OK, my honest question is now is: "is the last point true?". Let me
give you an example (sorry i have to talk about my work, i hope you do
not feel this annoying).
When i started my client i assumed all the content was non streamed
and then, when i discovered it was not i felt very depressed because
my code would be useless, then reading a previous message in this
mailing list I started to assume every content got from server was a
stream. And started to code following this assumption.
Now, the code is crude and not complete but it works quite nice for
endless flow of gemini formatted lines (so you see the contents of a
gemini file while the connection is still open) but also for
downloading a single file, so there is no need for different code for
streamed contents and non streamed contents.
(At this time i could not handle, for example, an endless audio file
but i consider this an issue of my client not an issue in the
protocol.)
At this moment (assuming no bug in my code and that i have understood
the proposal correctly, two generous assumptions to be honest! :-D)
all i need to support 'gemini+stream://' is just to treat it like
'gemini://'.
> As users, these guarantees feel good to us.
As an user too i agree! :)
> And we have confidence in
> these guarantees whenever we see a gemini:// link. So we would like to
> keep that user confidence high. For that reason, we like the idea of
> leaving the gemini:// scheme for content you download and then consume,
> and a separate scheme for content you consume while the connaection
> remains open.
OK i think i kind to understand the point, so what you propose it to
enforce the second "guarantee" of your list for 'gemini://' scheme,
and leave the "live" (sorry i can not find a better word)
connections to the 'gemini+stream://' right?
> > > 6. It is still a single client-initiated request happening in the
> > > foreground. We aren't creating background threads of who-know-what
> > > running services. We're getting an ongoing document in real-time,
> > > that's all.
> >
> > I do not think this is entirely true if you want to update/keep alive
> > the UI of the client while the content is flowing from the
> > server. Some kind of concurrent works enter in the equation, i think.
>
> I think the "foreground" versus "background" concept was really more
> about what the user is made aware of. In that sense, a "background"
> operation would be one that happens without the user's knowledge. We
> like the idea that in Gemini, even if streamed, you don't stream
> anything you're not aware of. If a second process or thread did the
> work, but the user can see that happening, that's no problem.
So I was entirely missing the point here! Thank you for clarifying this
to me! :)
Bye!
C.
More information about the Gemini
mailing list