What Are Dark Patterns?

Have you ever been annoyed by a website? Really annoyed? For example, you click on a link to view a list of the top ten cities to visit, and instead of showing a list of ten cities, you see “City #10” with another link to click to see #9. And another. And another. Why not just have the list on a single page?

Sites like this sometimes make revenue by selling advertising on their web pages.  It is to the advantage of these websites’ owners to increase the time on their sites and/or the number of page loads so that the advertising rates can be increased.

This subversive type of design pattern is known as a “dark pattern.”  It is a way to trick the user into doing something solely to the advantage of the website owner.


There is an excellent website I have found called DarkPatterns.org that exposes these types of unethical tricks.  They provide a list of different types of dark patterns. These include:

  • Bait and Switch
  • Disguised Ads
  • Forced Continuity
  • Friend Spam
  • Hidden Costs
  • and several more…

The funniest name of all of these is “Privacy Zuckering.” You might already understand the joke. See the full list.

You can also help them any time you find a dark pattern existing on the web by taking a screenshot of it and tweeting it with the hashtag #darkpattern or mentioning them (@darkpatterns).  They might just add it to their Hall of Shame.

It is important that users on the web are thought of as precious human beings, not just pawns to advance one’s online application or website. At this still early stage in the history of the Web, we should make our voices be heard to promote good wherever we can so that it becomes the norm for future generations.



Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.

  • CSS Styling the Audio Element

    There are a few things you can do with CSS to style the HTML audio element in various browsers.

  • How to Get WP RSS Aggregator Feed to Validate

    I’m using the plugin WP RSS Aggregator, and I couldn’t get the custom feed to validate in other places. The validator said that it was missing an <author> field. If an item doesn’t have an author, then the feed doesn’t even supply an empty one. The way to fix it is to go to wp-content/plugins/wp-rss-aggregator/templates/custom-feed/entry.twig ... Read more

  • How to Remove Rank Math Top Banner

    Rank Math has added an ugly top banner to the sites using its plugin. Here's how to hide it.

  • Fix for High CPU Usage on Siteground

    The MailPoet cron job on my website was triggered by Google Bot and caused my CPU seconds on Siteground to go over the quota. Here's how I fixed it.

  • Fast MIDI Song Starter

    Here is a really easy way to build MIDI chord progressions using iRealPro.

  • What is Full Kontakt Required?

    Perhaps you don't know what Kontakt is or how it works. Hopefully we can sort these things out and get you on your way to making some music.

  • How To Style a Range Input Slider

    If you are going to build a custom html audio player, you will need to know how to style a range input slider.

  • How to Build a HTML Audio Player with Vanilla JS (Part 2)

    Here is another tutorial on how to build a custom html audio player with vanilla js.

  • Coding a Custom HTML Audio Player (Part 1)

    Here is a starter tutorial on how to create a custom HTML audio player with HTML and JavaScript.