I have come up with a new concept and that is that every application or interface has a 'heavyness factor'.

Let me give you an example:

Google chrome feels 'light', it loads fast, doesn't take long to perform various functions etc etc. Firefox feels 'heavy', it takes longer to load, always asks me for updates etc, I have to devote more effort into using it.

My question: does this perception of software as 'heavy' or 'light' have psychological roots? Does it have a proper name? Is there a term in HCI where we observe users describing non-real objects with real-world metaphors?

  • Interesting question. I have the same feelings when using different web servers. Apache for example feels heavy, while lighttpd feels light. There is probably no (humanly) noticeable difference in their execution speed, so I'm guessing this is in my head based on their installation size. (~8MB vs ~1MB)
    – Accatyyc
    Dec 9, 2011 at 10:27
  • 1
    Similar physical terms get referred to fairly often - such as having a barrier to progress or a frictionless experience. It's unsurprising really that metaphors will have to do with making progress, doing work, or getting a job done. Dec 9, 2011 at 10:41
  • 1
    @RogerAttrill natural metaphors are a great way to describe the issues to laymen, but there's often (and if not there should be) usually a proper technical term that describes the specific effect in question.
    – Ben Brocka
    Dec 9, 2011 at 15:48
  • call me crazy, or dense, but i have never noticed a difference in performance between Firefox and Chrome. On a psychological level, any app that is slow to perform is naturally frustrating? It is more a learned behavior/reaction, than anything, imho.
    – Grapho
    Sep 24, 2014 at 20:39

2 Answers 2


I think you're most directly talking about Cognitive Load, the term in cognitive psychology, but also in Human Computer Interaction. We have a finite amount of working memory and the more complex an interaction or interface is the more difficult it is to process it.

Here's a good scholarly overview on Cognitive Load and Complexity in HCI. Complexity is a good general term to use to describe the effect you're talking about.

The design of media must be done in a way, which does not overstrain our cognitive abilities. An example for supporting the human mind would be using world semantics, like in Figure 4 , where a virtual trashcan is used when deleting files or the color red, which in real life also makes us attentive, for an error.

A poorly designed interface that does not take advantage of people's internal model of how the world works will result in higher cognitive load, as they may be left wondering exactly what a term or action means. The virtual trashcan example makes it clear how deleting a file means, whereas using no visual metaphor will result in a more abstract understanding of the issue, resulting in a higher cognitive load.

Something actually moving slower-as you said Firefox is "slow"-isn't quite the same as a cluttered interface in terms of effect on Working Memory, but delays between an action and the result can be uncomfortable and unnatural, causing the user to think "Did X happen? Is it working? Should I click again?" this can distract the mind from the task at hand and certainly consumes working memory, and generally makes an interaction less pleasant.

It's important to note that cognitive load is more complex than Miller's Plus or Minus Two. As is the case with much psychological research, 7+-2 (that is, the idea that people generally hold seven things, give or take two, in short-term memory at once) caught on because of how tantalizing and easy to apply the concept was, not because of how accurate or useful it was. Remember that there is much more to Cognitive Load:

In IR, the concept of cognitive load rarely extends beyond the ideas presented by Miller (1956). In Miller’s famous paper "The magical number seven plus or minus two", a human’s capacity for processing information was explored. It was concluded that short-term memory (working memory) has a limited retention. The study by Hu, Ma, and Chau is typical of much research in IR that advocates attempts to minimise cognitive load during interface design by recognising the limitations of working memory.

The important thing to remember about cognitive load is it should be minimal but appropriate to the task at hand. 7+-2 is not a magic number, but a simple interface can work like magic.

  • Some extra reading on complexity and cognitive load, specifically in the context of design: nottinghamtrent.academia.edu/GuyBirkin/Papers/364618/…
    – Ben Brocka
    Dec 9, 2011 at 15:25
  • 1
    I always feel like I'm back in college when I write up answers like these...
    – Ben Brocka
    Dec 9, 2011 at 15:37
  • 6
    I feel like I'm getting a free college education when I read answers like these. Dec 9, 2011 at 15:48
  • Yes cognitive load is what colmcq seems to be talking about, but it is worth remembering that this can vary based on whether you are installing or using software. Sometimes, software can be "heavy" to set up, but then "light" to use. Dec 9, 2011 at 16:03
  • In that case it's the cognitive load of the install process, which can even be offputting enough to not use the software! A slow install process is different than one with a high cognitive load however; it's an action we expect to be slow, and one we don't expect immediate response. Set and forget.
    – Ben Brocka
    Dec 9, 2011 at 16:09

I think the "heavyness" factor commented is a combination of the following:

  • Performance. Speed of computing. This is a technical factor (you can measure the number of milliseconds it takes your web page to load or an algorithm to produce results). Companies such as Google and Amazon have checked that minimal delays in page load time affect user satisfaction.

  • Responsiveness. The degree in which the system does not get "frozen" while computing. A good example is how Google maps loads tiles on mobile devices: the user can move around while the new tiles are being loaded. Depending on the connection speed, tiles can take some time to load but UI responsiveness avoids users to get frustrated with the wait.

  • Seamlessness. The lack of barriers to the user flow of actions. These barriers include alerts, confirmation boxes, instructions on how to format data to the user, etc. For example, Google Chrome makes a good use of non-blocking dialog bars.

The above terms appear in the "best practices" section of the Android developer guide. I use the term "non-blocking interactions" to refer to "responsiveness" (non-blocking the user while computing a result) and "seamlessness" (non-blocking the user flow of tasks) since I consider that the "perceived speed" is more related to these factors that the real speed.

  • 1
    Of these three, based on the question, I would say Responsiveness is the most crucial. Giving the user instant feedback to their actions--even if you can't complete the request right away--is crucial. Otherwise it feels like you are dragging the UI along with you. Dec 9, 2011 at 15:33
  • The Android Developer Guide's best Practices list is really quite good, I wish they were more comprehensive and higher-level.
    – Ben Brocka
    Dec 9, 2011 at 15:34
  • The irony that Responsiveness is a best practice within Android, just as Andrew Munn posted as to why Android is and will be laggy in the near term. Dec 9, 2011 at 15:58

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.