Ways that software design is different

Here are some things that software designers should be aware of. None of them is necessarily unique to software design.


People interact with software. This means that the design needs to make it clear to people how they can interact with it, especially compared to the non-interactive elements.


Software can change. It’s made of pixels. A person can scroll through a website, to reveal more of it over time, or resize a browser window. An app can change screens to show a completely different design. A designer needs to be aware of this ability to change. To think about all of the different states the software could be in.

Uncertain content

Content, which is what a person is there to experience, is often uncertain. It might be the case that the designer needs to design a website without the finished content to hand. Or maybe the content is generated by the people who use the software. Often designers need to plan for uncertain content in their designs.

Uncertain device

It’s common for software to be designed for more than one device. These devices can vary a lot. Screen size, performance, input devices, etc. A designer needs to be aware of these possibilities and design with them in mind.

Iterative production

Especially now, both makers and audience expect software to iterate. Updates, bug fixes, add-ons, etc. This expectation might lead to lower standards. Makers might allow problems because they know they can fix it later. The audience might put up with problems because they expect it to be fixed later.