2 min
The worst software is the software you cannot leave
Think about the best software you used this week. Somebody agonised over it. There are people whose entire job was the timing of one animation, the wording of one empty state, the exact friction of one gesture. Millions were spent working out how to make you feel competent, so that you would come back tomorrow.
Now think about the last time you filled in a government form online.
Same industry. Sometimes literally the same people, ten years apart in their careers. One of those products is fighting for your attention. The other one already has you, and knows it.
That is the whole thing. Software you can leave gets designed. Software you cannot leave gets specified, procured, delivered, and never looked at again. The interface between a citizen and the state is the only software in your life with a guaranteed captive user base, and it is, reliably, the worst software in your life. This is not a coincidence. It is the incentive working exactly as you would predict.
I am Romanian, so my examples are Romanian, but I have asked around and this does not appear to be a local specialty. Estonia is the counterexample everyone reaches for, and the reason it matters is not that Estonians are cleverer. It is that Estonia proves the state of things elsewhere is a choice rather than a constraint.
The part that frustrates me most, as someone who does this for a living, is that the hard problem is already solved. The data exists. It is collected, it is stored, and it is required by law to be stored. Nobody has to invent a database. What is missing is that no one involved treats the interface as a design problem at all, and no one loses anything when it stays bad.
I think some software should be a public good. Not all of it. Most software can and should be somebody’s business, and we are never going to run out of work for ourselves. But the software that every one of us is compelled to use, with no alternative and no exit, should not be judged by whether a procurement process was followed.
There is a longer version of this argument that I will write eventually, about what a genuinely well designed interface to the state would even look like. For now I would settle for someone in the building noticing that it is currently the worst thing any of us have to use, and that it did not have to be.