Gemini file downloading client - a thought experiment

Katarina Eriksson gmym at coopdot.com
Tue Nov 3 21:35:14 GMT 2020


This is in response to the thread on content length. I propose making a
supporting specification separate from the Gemini specification.

Feel free to extend the experiment with more problems and scenarios or
point out if I made the wrong conclusion.

Problem A: clients don't have enough information to show a progress bar

Scenario 1: download a tiny file

The user clicks the download button and the download is completed within a
second. No need to show progress.

Scenario 2: download a medium sized file

The user clicks the download button and the download starts. The client
shows the number of bytes downloaded, download speed and elapsed time. A
button labeled "show progress" appears after 5 seconds or so. The download
completes before the user is tempted to click that button.

Scenario 3: download a big file

Like scenario 2 except the user gets impatient enough to click the "show
progress" button. The client makes a separate request to a standardized
endpoint to get the needed information. If the server supports this
standard, the information is sent and the client can show the progress bar
to the user.

Problem B: we can't tell if the download succeed

Scenario 4: the TLS session terminated cleanly but we don't have full
confidence the download succeed

Verify the file using the information we have (from scenario 3) or present
the user with the option to fetch a hash from the standardized endpoint.

--
Katarina
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.orbitalfox.eu/archives/gemini/attachments/20201103/ac41f38e/attachment.htm>


More information about the Gemini mailing list