AU internet fanfic where instead of HTTP amd JSON, GIF bitstreams and binary application extensions over plain TCP became the predominant web protocol for RPCs/REST
like. okay, if we're gonna have stuff like https://json-schema.org/ then, well, allow me to introduce u to: https://docs.rs/binrw
or like, protobuf, or any number of other binary bitstream schema definition schemes
all those plaintext HTTP headers on top of all the stringy JSON parsing and formatting and allocation and gosh, aren't you tired of being nice
also, pertaining to GIF as a graphics format: did you know GIF is capable of losslessly reproducing any RGB image? a lot of image editors will dither images and reduce their color palette to 256, but that's just a lack of imagination on their part.
don't believe me? take a look, here's a 24-bit color image:
https://lifning.neocities.org/gif-example/24_bit.gif produces an identical image to https://lifning.neocities.org/gif-example/24_bit.png
(i can't upload it to mastodon because mastodon will transcode the .gif to .webm or .mp4, which is rarely correct behavior as far as i'm concerned but here we are)
the problem is, most gif renderers will take a while to finish drawing the image due to artificially inserting animation delays between each image block, so it'll look like it's "loading." but i promise, once it's done, you can copy the image and compare it and the PNG as 'difference' layers in an image editor and get 0!
and as a *lossless animation* format, it can be much better-suited for retro games with repetitive, low-color visuals than today's widely-available *lossless* video codecs. here's 13 hours and change of https://github.com/dannye/pokered-gbc gameplay footage recorded in GIF, and then fed through ffmpeg -c:v libx264rgb -crf 0.
@lifning by using a data interchange format with no types whatsoever
@hierarchon exactly!!!
"but they're not graphics" but it's not hypertext, next question