Fantastic article. I work on a very complex web app, and I too find that the question is not so much “what can I get rid of?” as it is “how can I include this essential feature without introducing unnecessary complexity?” Part of the difficulty is that the software we produce needs to leverage users’ existing real-world (non-computer-based) knowledge, whilst still providing all the benefits of a centralised system and the power of a computer. It’s therefore not an easy task to avoid slipping into confusing and complex interfaces — given the users’ mental models of the system.
Fantastic article. I work on a very complex web app, and I too find that the question is not so much “what can I get rid of?” as it is “how can I include this essential feature without introducing unnecessary complexity?” Part of the difficulty is that the software we produce needs to leverage users’ existing real-world (non-computer-based) knowledge, whilst still providing all the benefits of a centralised system and the power of a computer. It’s therefore not an easy task to avoid slipping into confusing and complex interfaces — given the users’ mental models of the system.