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

Making a Linux-managed network switch

Network switches are simple devices, packets go in, packets go out. Luckily people have figured out how to make it complicated instead and invented managed switches. Usually this is done by adding a web-interface for configuring the settings and see things…

via BrixIT Blog July 3, 2024

Working title (insurance)

Title insurance is grossly overpriced relative to actual risks involved. Why is that?

via Bits about Money June 30, 2024

Summary of changes for June 2024

Hey everyone!This is the list of all the changes we've done to our projects during the month of June. Summary Of Changes 100r.co, added Ketchikan, Snug Cove, Ratz Harbor, Frosty Bay, Berg Bay, Wrangell, Petersburg and Ruth Island Cove. Updated library…

via Hundred Rabbits June 29, 2024