back to Jitbit Blog home About this blog

Debugging websites on Smart TVs

by Alex Yumashev · Updated Mar 4 2021

So when MS announced IE11 is about to die - I thought my suffering was over. Boy was I wrong.

There's a wonderful world of Smart TVs, IoT's, streaming boxes, gaming consoles etc - all using outdated browser engines (mostly Chromium). And apparently people use that a lot.

If your product has some fancy live graphs in it (stocks, crypto, server monitoring, log analyzers - anything with a live dashboard) turns out people *love* putting those dashboards on big screens in the middle of their offices (yes, offices, I thought those days are over). And these screens use outdated Chromium v.5x or lower.

Old Chromium has all sorts of IE-like bugs. "Secure" cookie flag errors, limited ES6 support, weird defaults for the fetch-api etc.

The "proper" way to fix those bugs would be to download the TV manufacturer SDK, install an emulator and debug your web application in it. But after spending 2 hours trying to download and install the "Samsung Tizen TV SDK", then the "LG webOS SDK", then Philips I gave up. Java runtime errors, unintuitive interface, slow gigantic downloads (almost 3 GBs just for the Samsung stuff)... I decided I have no time for this crap, so we went the other route.

Use Chromium engine builds

Instead of debugging your app in a slow emulator, you could simply use an old Chromuim build instead. Chrome builds are small, "portable" and turns out Google keeps an archive of all past builds. You just have to look up the right commit and the corresponding build number based on the Chrome version you need.

For example, here's the Windows build of Chromium 53.0.2785.34 used by LG webOS browser (you can find the instructions for finding the build number here or use this handy tool).

Using Sentry for front-end error monitoring is also handy - this is how we discovered one of the bugs: