User experience for a non-trivial web UI tends to degrade over time as more functionality is added and more engineers add to it.
This is analogous to entropy where poor UX is correlated with the number of macro states possible within the system (user interface). The number of states increases as more functionality is added and engineers tend to add more lines of code than they delete (heat).
If you define the ideal UX as a screen with a single button that solves the user’s problem then increasing entropy is adding more complexity (states). Complexity makes it less clear what the user should do and makes it harder for the engineers to focus on a specific use case.
- Conway’s Law shows people and organizations are a meta-agent acting on systems to increase or decrease entropy.
Links to this note
In our day-to-day lives we use a collection of products and homegrown tools to do our work. One approach to solving a problem is to attempt to be a complete solution that fully solves the problem, but there is a tradeoff–the more complete the solution the less useful it becomes in more situations.
Parts of the user experience that are not quite broken, but subtly in incongruous. For example, they might have elements that use slightly different styles, UI patterns, or fell out of sync with the product. The neglected UX within an app tends to add up over time (UX entropy) before it is noticeable enough to become a high priority. Addressing the issues with neglected UX tends to take a lot of time and is rarely apparent to others.
User experience is subjective which makes improvements in UX difficult to calibrate since we need to rely more our collective taste and/or talking to users.
It seems possible to generate all states of a purely functional UI so that it can be analyzed and audited.