Skip to main content

Verified by Psychology Today


8 Principles of Emotional Software Design

Software designers should consider the emotional reactions of users.

Key points

  • Donald Norman’s ideas about emotional design extend to the design of software such as operating systems and applications.
  • Emotional software design works at visceral, behavioral, and reflective levels.
  • Emotion theory that combines bodily representations and cognitive appraisals has implications for design.
  • Emotions can also influence the development of ethical software.

Donald Norman is rightly famous for his work on the psychology of design that encourages the development of products that are human-centered. Less well-known is his valuable work on emotional design that advocates taking into account the emotional reactions that products generate in their users, ranging from pleasure to annoyance. My sons are both software developers, so I am writing this post to extend Norman’s ideas to software design. I also suggest how a new theory of emotion can stimulate insights into making designs more emotionally effective.

We use many kinds of software programs in our everyday lives, including operating systems that control our computers and phones, and specific applications such as ones for messaging, social media, and games. These programs can work better if they take into account the thinking of their users. This includes cognitive processes such as perceiving and inference, but also emotional processes such as evaluating and feeling.

Contrary to popular views that emotions get in the way of intelligence, Norman points out that emotions can help to make us smart when they contribute to good decisions based on important values. He provides many examples that show that attractive things work better, such as elegant toasters. Attractiveness applies to software design mostly with respect to user interfaces which benefit from being pleasant rather than cluttered and ugly.

Norman urges designers to take into account three levels of mental processing that he calls visceral, behavioral, and reflective. The visceral level, operating in all animals, concerns automatic, prewired processes such as perception and quick judgments about whether something is desirable or dangerous. The behavioral level, operating in some mammals and birds, allows for more flexible problem solving including the use of tools. The reflective level, probably restricted to humans, allows for conscious contemplation about visceral reactions and behavioral choices.

All three levels are relevant to software design. Programmers should be aware that the users of their programs will be viscerally prone to quick perceptual and emotional judgments about interfaces and functionality. The look and feel of the program and the device on which it runs generate immediate emotional reactions.

Users can also be behaviorally more flexible in figuring out how to use the program, but will not be happy if the cognitive demands are too high. Users can also be reflective about their use of a program, even cursing organizations that are judged not to have served their interests. Users will appreciate software that provides pleasure, fun, novelty, and enticement to continue using it. Norman describes how users want to be able to trust their devices such as sharp knives, and trust is a complex emotion that is especially important to software use. We want to feel that our applications are reliable and helpful to our interests including work, relationships, and leisure activities.

Norman’s insights into emotional design can be enhanced by connecting them to a new neural theory of emotions based on semantic pointers, which are neural representations capable of combining perceptual and bodily inputs with reflective judgments. In this theory, an emotional reaction to software combines brain representations of the appearance and operation of the software, cognitive appraisal of the extent to which the software is serving the user’s goals, and bodily reactions to the software such as heart rate, breathing rate, stress hormones, and gut feelings. The cognitive appraisal captures Norman’s behavioral and reflective levels, while the bodily reactions are visceral.

A software designer who takes users’ emotions seriously should accordingly pay close attention to the visual, auditory, tactile, and verbal experiences generated by the software, the relevance of the software to the user’s goals such as work, play, and social relations, and how the user’s body will likely react to the software, for example through stress. The semantic pointer theory of emotions explains how specific positive and negative emotions such as joy and annoyance arise from combinations of perceptual representations, cognitive appraisals, and bodily reactions.

Ethical reactions are an important kind of emotional response when people judge actions to adhere to or violate principles such as treating people fairly and avoiding harm. So one aspect of emotional software design is producing programs that people will legitimately judge as right rather than wrong.

The software-design implications of Norman Donald’s account and the semantic pointer theory can be summarized in the following principles of emotional software design:

  1. The design of software to be used by people (including operating systems, applications, development tools, and games) should take into account human emotional responses.
  2. Software design should consider how people process information at visceral, behavioral, and reflective levels.
  3. Software design should consider how emotions combine perceptual, verbal, bodily, and cognitive representations.
  4. Software design should encourage positive emotional responses such as happiness, joy, excitement, pleasure, interest, curiosity, amusement, enthusiasm, pride, and trust.
  5. Software design should strive to avoid negative emotional responses such as sadness, frustration, worry, confusion, anger, hate, disgust, shame, pain, embarrassment, and distrust.
  6. Well-designed software should engage people without manipulating them in ways that violate their interests. Need, not greed is the idea that software and other products should help people to satisfy their real needs, not corporate and individual greed for wealth and power.
  7. Software should conform to ethical principles of autonomy, justice, beneficence (do good), and non-maleficence (do no harm).
  8. Software should use artificial intelligence to help people satisfy their real needs, not to trick them into emotional, financial, or political harm.

In its early days, Google used the corporate motto “Don’t be evil” but has since downplayed it. I think the saying should be revived as a general aspect of emotional software design.


Bob (2020), Emotion and software development,

Norman, D. A. (2003). Emotional design: Why we love (or hate) everyday things. New York: Basic Books.

Thagard, P. (2021). Bots and beasts: What makes machines, animals, and people smart? Cambridge, MA: MIT Press.

Thagard, P., Larocque, L., & Kajić, I. (2021). Emotional change: Neural mechanisms based on semantic pointers. Emotion, Advance online publication.

More from Paul Thagard Ph.D.
More from Psychology Today