Skip to main content

Anti-Pattern: Creepy Behaviour

Application

Problem:

The user wants to not be creeped out by the system.

An image of a map application in use on a smartphone.
Many users are concerned about how much location data is tracked by their phone and whether it is necessary. Photo by henry perks on Unsplash.

Anti-pattern response:

The system acts really creepy, whether that's pushing a notification based on data the user hadn't known they were sharing, suggesting highly-relevant but content without context, or any number of other, overly-familiar behaviours the user would classify as over-the-line. 

Discussion:

There are many ways for a system to be creepy, but in short creepiness is the system overstepping the tacit boundaries that the user expects from the relationship. It can capture too much data, especially when such data is not obviously needed for task completion. It can demonstrate it knows too much about the user— replaying more detail than the user has explicitly supplied, anticipating user behaviour beyond what is expected, or calculating a result with too much precision.

For example, back in 2012, Target were able to predict whether a customer was pregnant from their purchasing habits and target them with relevant coupons. More recently, researchers have used machine learning to tell if someone is pregnant just from how they post on Twitter, even before they have made any official announcements.  

Most creepiness can be reduced by explaining what data capture is for when it is not obvious, e.g. Data Being Shared Flag or Explicit Training, or simply explaining why the algorithm can be uncannily accurate via Explanation of Algorithm. Other creepiness may be inherent in the system itself— perhaps it really is overstepping boundaries in capturing or calculating too much, in which case the solution is to either redesign the functionality or hope that users will live with the creepy vibe and keep using the system anyway. 

Creepy Behaviour is, of course, amplified by the Uncanny Valley anti-pattern but is certainly not dependent on it.