Oct. 1, 2021

Streaming large content over Gemini

I added content streaming to the capsule's server mainly for large file downloads, since how large can a Gemini page be? And what clients are out there that would stream content as it loads? I downloaded a large corpus and tried to stream it, but Amfora refused to load the page, offering instead to save the file or open it in another application. I also tried a 9MB JPEG file, but since it wasn't progressive that was useless. No idea where I could find a large enough sample, and can't be bothered to generate one for such an extreme use case.

It seems to work well for large downloads though. Apparently Amfora doesn't free up its used memory after the download completes, but that's not my problem since I only use it for testing. The issue is being tracked on GitHub [1].

"For my next trick", I'll probably look into content middleware. Maybe something to append a footer, or even parse inline links and add footnotes. I can feel some Gemini users cringe at the idea, but I'm not really messing with the spec - just the server and the way I manage my content.

[1] "Support streams"