Yeah yeah, tbh even though I branded it like that in the website, packing strategy & overall, its pretty much an apparent technology/library. I realy wanted some such technology 2 years ago, while genai text layouts were lame ash, and I questioned why noone does something like this (diffusion does not play well, or we havent figure it out yet, who knows? https://blog.google/innovation-and-ai/technology/developers-... )
And overall one of the exciting part for me is, to be able to have composable & editable images, hopefuly generated by future genAI models.
And finally, I just realy wanted to rant over what a 'digital image' is
1- html/css has more layout capabilities.
2- js
3- its a packing strategy. If you plan to serve images + svgs altogether, either you need to base64 encode or pack like hmml, binary
PDF is an irreversible format in terms of editability. (btw I build the world's most performant pdf/pptx editor at https://eddocu.com , I would enjoy if you have any feedback)
Regardless, I cant find the relation in between.
It's like an abstraction that might help future genai models, or a packing strategy, or ..
We also invented svgs, its a vector. SVG is a declarative language, has its own format and has own renderer
HTML, CSS is no different.
`<div style="background:black">html is underdog</div>`
Having this perspective on our mind, even considering any imperative code as a native image makes complete sense.
`canvas.drawCircle();`
So, .html/.hmml/.js is as image as .webp
====
## How can we/future's genAI models could leverage the world's most popular and feature rich image format (HTML, CSS, JS, SVG, IMAGE altogether). And how can we leverage it to build editable/composable images?
This so to 'popular' image format we call .html has a caveat. It's UTF-8, and whenever you need to embed any resource, you either need to base64 encode it(it has extra size overhead) or link the resource as a seperate thing. So.. as you decide to serve single pack of data for a single image, a binary packing strategy makes sense.(Image can be anything as we discussed earlier)
To match these concerns, we created/proposing you a new format, HMML (HyperMedia Markup Language).
HMML (HyperMedia Markup Language) is a declarative+imperative markup+ language for images/videos/media.. *HMML is HTML, CSS, JS, SVG, image, but not UTF-8.*
and we have a npm library that does encode/decode of this binary format, and mounts the so to image into dom. (2kb js for encode/decode each. For comparison React is 90kb js. )
`npm i @eddocu/hmml`
# image-leftdog-rightcat.html
```
<div style="display:flex">
<img src="base64" alt="i am dog image" />
<img src="base64" alt="i am cat image" />
</div>
```
Apart from doing this, hmml does embed the html, css, js blueprint into media binaries
# image-leftdog-rightcat.hmml
`binary stuff`
People already do similar things. But this format or POV of thinking accepts html/css/js as a native image format. Excited to see if future operating systems/browsers also accepts this format. <hmml /> or <img src="maybe.hmml" />
===
```
<Technical-Appendix>
The word "green apple" is an image, that has no format and no renderer.
`const vectorMultiDimensional_768 = get_word_embeddings("green apple")`
Now the word green apple has a format, its: "embedded by Embedding Model X"
If you had a renderer as such Embedding_Model_X.render()
Now you could call entire english sentences/paragraphs are images.
</Technical-Appendix>
```