I try not to make unlikable software (and features) May 8, 2021 on Drew DeVault's blog

I am writing to you from The Sky. On my flight today, I noticed an example of “unlikable” software — something I’ve been increasingly aware of recently — inspiring me to pull out my laptop and write. On this plane, there are displays in the back of each seat which provides entertainment for the person seated one row back. Newer planes no longer include these, given that in $CURRENTYEAR everyone would just prefer some power for their phone or laptop. Nevertheless, you can still end up a plane with this design. You can shut the thing off by repeatedly pressing the “☀️ -” button, though that button is rated for half the cycles it will have already received by the time you press it.

When the flight safety video is playing, or an announcement is being made, however, the system will override your brightness preference. This is a fairly reasonable design choice, added in the name of passenger safety. What’s less reasonable is that the same feature is re-purposed for shoving advertising into your face a few minutes later. In fact, it spends more time on ads than on safety. A software engineer sat down and deliberately wrote a “feature” (or anti-feature?) which they had to have known that the user would not have wanted. The airplane manufacturer demanded it at the expense of the user.12

I have had many opportunities throughout my career to make similar anti-features, and I have encountered many other examples of this behavior in the wild. Many programmers have implemented something which measurably worsens the experience for the user in order to obtain some perceived benefit for the company they work for. Dark patterns provides many additional examples, but this kind of thing is everywhere.

I find this behavior to be incredibly disrespectful to the user. When I am that user who is being disrespected, I will generally stop using that software, and stop supporting any businesses who chose to be disrespectful.3 For my part as a programmer, I do respect the user, I find satisfaction in making software which makes their lives better, and I always have and always will push back against anyone who demands that I subvert that ethos for their wallet’s sake. You should always aim to make the user’s experience more pleasant, not more unpleasant. We should just be nice to people. That’s it: please be nice to people. Thank you for coming to my Ted talk.


  1. A savvy reader could (correctly) extrapolate this to infer my position on advertising in general. ↩︎

  2. They also got on the PA later on to try and convince passengers to sign up for their airline-themed credit card. This isn’t even a budget airline. ↩︎

  3. Though, to be entirely fair, it is somewhat difficult to “stop using” the mandatory ad viewing session I am being subjected to on this airplane. I could put in earplugs and gouge out my eyes, perhaps. Yes, that seems like a proportionate response. ↩︎

Articles from blogs I read Generated by openring

hare-update assists in addressing breaking changes in your code

We’re working on a new tool to release along the next upcoming stable release of Hare (likely Hare 0.25.2, or 0.25.3, following our release policy) – hare-update. The coming Hare release includes a number of small breaking changes, as per usual during Hare’s…

via Blogs on The Hare programming language June 11, 2025

Open Source: Deceptive Power or Collective Governance?

In October 2024, it emerged that WordPress co-founder Matt Mullenweg has extensive power over the entire WordPress ecosystem, which 43% of all websites on the internet run on. When he exercised this power by seizing control of code that runs on tens of thou…

via Vlad's Website June 6, 2025

Summary of changes for May 2025

Hey everyone!This is the list of all the changes we've done to our projects during the month of May. 100r.co, updated Oquonie and water. Modal, the interpreter was ported to Uxn! Uxntal, the documentation has been completely redone! Hakum, added p…

via Hundred Rabbits May 31, 2025