Blog

Engineering an IPTV player, in public

No filler, no reheated press releases — these are the real problems behind a TV app and how we solved them. New posts land with releases; the changelog has the short version.

Why IPTV players lose your playlist on update — and how we made that impossible

August 31, 2026

The number-one IPTV complaint is an app update wiping the library. Here is the actual engineering reason it happens, and the migration contract KimberPlay enforces so it can't.

How KimberPlay knows 'US| ESPN 2 FHD (backup)' is ESPN 2

August 31, 2026

Half the channels in a real playlist ship with broken guide ids. The name matcher that fixes them - and why it refuses to guess when two channels look alike.

M3U vs Xtream Codes: what your provider actually gave you

August 31, 2026

The two ways IPTV playlists arrive, what each one can and cannot do, and which to paste into your player when you have both.

Why we made our IPTV player quieter (the science of a calm TV interface)

August 31, 2026

Full-saturation cyan sits almost exactly on the eye's peak alertness wavelength - the worst possible color to soak a 10pm interface in. The redesign, with before and after.

Building an IPTV player for Samsung TV — dev diary #1

August 31, 2026

Why almost no serious IPTV player supports Samsung TVs, what it takes to build one from scratch on Tizen, and exactly how far along KimberPlay's is.