Journal
Personal
11 Feb 2020#embedded#adr#mobile#android 1 min read

One branch per tablet generation

Branching by hardware target: what it cost in merges and why alpha suffixes replaced versions.

FromSensorium

When a second tablet model arrived, the app got a build line per hardware generation instead of one binary with runtime detection. Each line carried its own version string with an alpha suffix, because the two lines never released in step.

It worked for a project with two targets and one developer, and it cost a merge every time a lesson changed. When the third generation arrived four months later, it got a third build line and a third merge per change.

What I would do now

The second model was the point to move the hardware differences behind one interface. I would do that first now.