Web Browser widget

I just found this tiny web browser project that is crazy small it also implements some kind of scripting language. What do you think about adding a browser widget? There is not much info but I looked through the files a bit. It uses OpenGL, Glad and SDL for the rendering so that all needs to be adapted but the parser and the rest is really light weight. The entire download is under 450kb and 33KB of that is a doge picture :smiley:

It would let users create an ebook, newspaper, rss reader, a digital display, one of those mirrors with news and weather info integrated and many other cool gadgets.

It wouldn’t need the full html spec or css for most purposes to keep it small enough but having the basic elements to display text and images and set some colors would be plenty. A MCU wouldn’t be powerful enough for modern html anyway. A lot of projects just require displaying text and images and linking which can all be done with html and inline html styles.

I don’t think it is high priority but would be nice to keep in mind for later releases. Once the basics are integrated others can worry about extending it more.

Wow, this looks pretty cool! I think replacing the graphics stuff won’t be a big deal; it has a well-defined API for that.

The license is an issue. It’s Apache 2 so I think we’d want to keep it as an external library and avoid integrating it into the LVGL repo directly.

Yea I was thinking an external library would be best anyway since many projects won’t need to use it so no point in adding a bunch of bloat. I have seen some other minimal browser libs in various stages of completeness and complexity let me know if you would like to check them out and I will look them up again.

I am glad you like it and can’t wait to see what people do with it.

It really looks great! I also like the idea to have something like this as an external library.

TinyWeb is useless - “supports” only 3 text tags. Easy to build though :slight_smile:

There’s a couple of others out now which support more - none are easy to build.

Could you link some of these newer options?

Sorry - I use multiple PCs and forgot the name and it wasn’t in my history

retraced my steps: Render HTML And CSS On An ESP32 | Hackaday

nontrivial to build, and, “barebones” is an understatement - but it’s not nothing !

If anyone want to collaborate on turning this into a useable .mpy micropython component, let me know - I’m in!!

Thanks!

I think a good partion of rendering requirements could be full filled by LVGL. I’m more concerned about the JS part. It could be really complex, with a lot of external (CDN) libraries.

So loading any website with an MCU is probably not feasible, however some custom ones really could work.

For my needs, I want to design a screen using the tech I know already (html and images).

If you actually wanted to browse the web, since you can’t run chromium on an MCU, you’d instead run chromium headless on a web service, and simply transfer the remote-rendered screen buffer onto the MCUs screen. Kindoflike how TV’s can show web pages, because your PC that’s running chromium is sending the screen data via the chromecast protocol to the display. Your MCU is the TV… who knows, maybe that protocol is simple enough to even use it directly?

Yes it can use it directly, I tested it a few months ago.