Perceived performance

Performance is a typical hygiene factor. Nobody notices a highly performing system. But when a system is not performing well enough, people start complaining quickly. As an example, a 2006 research by Akamai found that 75% of the 1,058 people asked would not return to websites that took longer than four seconds to load. Five years earlier, in 2001, a similar research revealed that people were willing to wait eight seconds.  

The increase in bandwidth (in 2001 people mostly used modems to dial-in to the Internet), and the positive experience of very fast loading websites (like Google’s lightweight landing page) dropped this figure to four seconds and it would not surprise me that it will drop even more in the forthcoming years.

In general, the performance of a system can be defined as the amount of useful work that is accomplished by a system compared to the time and resources it used. 

Perceived performance refers to how quickly a software feature appears to perform its task. Most people understand that running a very complex report in a BI environment takes longer than let’s say opening an email. But while people have intrinsic expectations about performance, they are seldom expressed in hard figures.

In general people tend to overestimate their own patience. Most people value predictability in performance. When the performance of a system is fluctuating, they get a bad experience, even if the fluctuation is relatively rare.

For instance, even when one gets a bad response time of a system once a week, it will color the perception of the system for a long time. In the mind of the users the system is often slow.

It is therefore important to have a system with a predictable and consistent performance. It is always best to inform the user about how long something will take (when it is not instantaneously of course). When the user knows she has to wait for 40 seconds to get a task performed, and is informed about it (for instance using a progress bar), she accepts it more quickly. On the other hand when the system seems unresponsive without a reason, people get irritated very quickly. Increasing the real performance of a system is one way to increase the perceived performance.

But when real performance cannot be increased (for instance due to physical limitations) or the cost of improving the performance is very high, some techniques can be used to increase perceived performance. Two of those techniques are splash screens and progress bars.

Of course the amount of time an application takes to start up, or the time it takes for a file to download, is not made any faster by showing a splash screen or a progress bar. However, showing these screens satisfies a typical human need: splash screens and progress bars provide visual feedback to inform the users that the system is handling their request and is busy performing work for them.

Drawing and refreshing a progress bar while loading a file satisfies the user who is waiting, but steals time from the process that is actually loading the file. However, usually this is only a very small amount of time and the benefit of a satisfied user is much higher.


This entry was posted on Tuesday 05 April 2011

Earlier articles

My Book

DevOps for infrastructure

Infrastructure as a Service (IaaS)

(Hyper) Converged Infrastructure

Object storage

Software Defined Networking (SDN) and Network Function Virtualization (NFV)

Software Defined Storage (SDS)

What's the point of using Docker containers?

Identity and Access Management

Using user profiles to determine infrastructure load

Public wireless networks

Supercomputer architecture

Desktop virtualization

Stakeholder management

x86 platform architecture

Midrange systems architecture

Mainframe Architecture

Software Defined Data Center - SDDC

The Virtualization Model

What are concurrent users?

Performance and availability monitoring in levels

UX/UI has no business rules

Technical debt: a time related issue

Solution shaping workshops

Architecture life cycle

Project managers and architects

Using ArchiMate for describing infrastructures

Kruchten’s 4+1 views for solution architecture

The SEI stack of solution architecture frameworks

TOGAF and infrastructure architecture

The Zachman framework

An introduction to architecture frameworks

How to handle a Distributed Denial of Service (DDoS) attack

Architecture Principles

Views and viewpoints explained

Stakeholders and their concerns

Skills of a solution architect architect

Solution architects versus enterprise architects

Definition of IT Architecture

What is Big Data?

How to make your IT "Greener"

What is Cloud computing and IaaS?

Purchasing of IT infrastructure technologies and services

IDS/IPS systems

IP Protocol (IPv4) classes and subnets

Infrastructure Architecture - Course materials

Introduction to Bring Your Own Device (BYOD)

IT Infrastructure Architecture model

Fire prevention in the datacenter

Where to build your datacenter

Availability - Fall-back, hot site, warm site

Reliabilty of infrastructure components

Human factors in availability of systems

Business Continuity Management (BCM) and Disaster Recovery Plan (DRP)

Performance - Design for use

Performance concepts - Load balancing

Performance concepts - Scaling

Performance concept - Caching

Perceived performance

Ethical hacking

The first computers

Open group ITAC /Open CA Certification

Sjaak Laan


Recommended links

Ruth Malan
Gaudi site
Byelex
XR Magazine
Esther Barthel's site on virtualization


Feeds

 
XML: RSS Feed 
XML: Atom Feed 


Disclaimer

The postings on this site are my opinions and do not necessarily represent CGI’s strategies, views or opinions.

 

Copyright Sjaak Laan