Things to keep in mind about the evolution of software
Designers like to talk about how the software of today compares to the software of the past. Or what software will be like in the future. Here are some things I think any critique or prediction should take into account.
I have not written this list to criticise or defend anything in particular.
Common reactions to change
- New technology—and what it makes possible—is exciting. This can lead people to focus on new technology more than they should.
- People who make software might get more excited about new technology than most. Most people don’t have much reason to care about new technology.
- People—including designers—often react negatively to change. These criticisms might not have any connection to how good the change is.
- People’s strong positive feelings towards a particular technology era might actually be strong positive feelings towards that time in their personal life.
Technology choices are a trade-off
- Popular technologies often make one approach easier, and another approach harder.
- It’s common for software makers to focus on performance over appearance, or the opposite.
- The rise in processing power over the years might prompt software makers to focus more on performance than appearance.
The business of software
- People who make software care about novel technology more than most. Without popular interest, there might not be much commercial reason to explore new technology.
- Popular/common software is often made by large companies. Large companies cannot focus on qualty as easily.
- Large companies also need to take things into account that small companies do not. e.g. they need flexible interfaces which can support many use cases.
Markets/culture
- The “default” software people experience on their devices has a big impact on the software industry.
- Most companies follow whatever approach is visibly successful. They often don’t try to lead the industry.
- Some interface design approaches work well for whatever trend is popular at that time, but don’t work well when other trends are popular.
- Some interface trends are associated so strongly with a time period that people react negatively when they see them outside of that time period.
- If an approach is used too often, people can dislike it even if it’s good design.
- We often have an incomplete sense of what the past was like. It’s usually not possible to compare everything that exists today with everything that existed e.g. 20 years ago. We often only see the best/most unusual things from the past.
- Fashion is cyclical, and software is a young enough industry that it probably has not experienced many cycles yet. What was popular before may come back.
Usability
- Too much expressiveness in an interface can distract, and hurt usability.
- Familiarity is important to usability.
- Software often needs to be dense, and this gives less options for expressiveness.
- There are many more types of devices to support now than there were before, and more focus on accessibility.
Practice of design
- Novel or complex interfaces are often harder to design well. If interfaces are easier to design the overall quality of interfaces should improve over time.
- Software is often designed by teams of smart people who mean well, but who had to put up with restrictions they have little power over.