I love the absurd verbosity of that reference svg:
User: Hello, browser, I'd like to create an svg object.
Browser: Now, hold on just one second. Is this the zeroth time you'd like to instantiate a custom xml object that you decided to name with the three letters 's', 'v', and 'g'? Or is this the 8,387,245,123rd time you'd like to instantiate a scalable vector graphics object?
User: sigh
Browser: OMG guess what? Thanks to the magic of universal resource locators and XML namespaces, I am able to parse the answer directly from the image data you sent me! Lemme check. Yup! The image itself holds the answer! Aren't computers fascinating?
User: sigh
Browser: Now I can state unambiguously that this is indeed the 8,387,245,123rd you want me to display an svg image in a web page. Glad we got that resolved!
User: click
Browser: Oops, relayout means you ended up clicking on an ad. Sorry, no takebacks.
PNM formats are the best. Back in the day I wrote a lot of code to generate images thanks to its simple ASCII and binary output formats. That was back before graphics libraries were common, when generating an XBM was difficult and we were still worried about the GIF patent.
Hey, that was my first thought, too:) That format (family) has to be my favorite way to write picture files, even without bothering with an actual library.
I still really like QOI and love that their whole format specs fit on one sheet of paper (https://qoiformat.org/qoi-specification.pdf) while still delivering quite ok results.
With Farbfeld, it's possible to further reduce the size of image data to be 24 bytes, or 16 if you're ok with your image not being displayable
Magic Number: 66 61 72 62 66 65 6c 64 (identifies the file as a Farbfeld image)
Width (in bytes): 00 00 00 01 (specifies the image width)
Height (in bytes): 00 00 00 01 (specifies the image height)
First Pixel Data: ff ff ff ff ff ff ff ff (represents the color data for the first pixel)
I went down this rabbit hole about 15 years ago, I ended up hand-rolling a transparent .gif which I think was 15 bytes? Small enough that we inlined it as cdata data urls. (Is that still a thing in HTML? It’s been so long…)
I think I recall using a base64 encoded png at one point for a different project in the same way.
Minimizing bytes was not the reason for this. It was to tidy up the directory listing as this html was used as a self contained local file. I didn’t want a separate logo file hanging around and risk getting lost.
The primary way we used it was as the body of a tracking gif, returned as binary. But we also used it as a spacer here and there inline in HTML using the data URI. When embedding in HTML the file size is mostly relevant for brevity.
User: Hello, browser, I'd like to create an svg object.
Browser: Now, hold on just one second. Is this the zeroth time you'd like to instantiate a custom xml object that you decided to name with the three letters 's', 'v', and 'g'? Or is this the 8,387,245,123rd time you'd like to instantiate a scalable vector graphics object?
User: sigh
Browser: OMG guess what? Thanks to the magic of universal resource locators and XML namespaces, I am able to parse the answer directly from the image data you sent me! Lemme check. Yup! The image itself holds the answer! Aren't computers fascinating?
User: sigh
Browser: Now I can state unambiguously that this is indeed the 8,387,245,123rd you want me to display an svg image in a web page. Glad we got that resolved!
User: click
Browser: Oops, relayout means you ended up clicking on an ad. Sorry, no takebacks.