August 28th, 2024

This behavior is by design

The article emphasizes that software design is driven by intentional human decisions, highlighting the impact of design choices, unintended glitches, and the ongoing human influence in AI development.

Read original articleLink Icon
This behavior is by design

The article discusses the intentionality behind software design, reflecting on the phrase "This behavior is by design," which originated from early Microsoft support pages. The author, Matt Sephton, emphasizes that every aspect of software, from features to user interfaces, results from deliberate decisions made by developers and designers. This perspective highlights the human element in technology, challenging the notion that it is impersonal. While many design choices are carefully considered, some may be rushed or based on flawed assumptions, leading to unintended consequences. The article also mentions "happy accidents," where glitches or errors can result in beloved features, such as the creeper in Minecraft. Furthermore, it argues that users implicitly agree with design choices by accepting default settings, which shapes their experience. As technology evolves, particularly with AI and machine learning, the human influence on design remains crucial, as humans still guide the algorithms and data that drive these systems. Ultimately, the article underscores that behind every line of code and design choice, there are human decisions that shape user experiences.

- Software design is a result of deliberate human decisions.

- Unintended glitches can lead to innovative features in software.

- Users agree with design choices by accepting default settings.

- The rise of AI does not eliminate the human element in software design.

- Every aspect of software is influenced by human motivations and choices.

Link Icon 5 comments
By @llamaimperative - 3 months
The world is absolutely chock full of systems composed entirely of perfectly sensible, well-considered decisions that nonetheless yield unexpected and undesirable effects.
By @prometheus76 - 3 months
Have you ever seen Sorcerer's Apprentice from Fantasia? I haven't seen the movie, and the original poem it's based on is in French, so I only have seen it in the Disney form. That being said, it's the perfect analogy for what is a deliberate decision by the sorcerer's apprentice to enchant a broom and get it to start bringing water in from the well outside into the cistern in the room. The process starts, and everything is going well, but it's taking too long. So he finds a way to make two brooms. Then ten...etc. Things quickly get out of hand and he can't find how to stop the brooms, and the whole room gets filled with water (chaos). At the last minute, the actual sorcerer appears and sets everything aright, and chastises the apprentice for his foolhardy curiosity in meddling with things he doesn't understand.

We could use some of that humility with regard to interfering with complex systems. Most of the effects of perturbations of a complex or chaotic system are unpredictable, and great care should be exercised before making a change, and even with great care, most of the effects will be surprising and unpredictable.

So yes, on a superficial level, all decisions in software are deliberate, but the way those decisions interact, and the outcomes of those decisions are unpredictable and largely unknown when the decisions are made. Also, and you mentioned this in the article, many of the decisions are not made deliberately, after much reflection, but rather, on the fly and in the moment.

To hand-wave that all away by saying "but a human made it" seems pretty disingenuous, or at least extremely naive.

By @ibash - 3 months
I think “this behavior is by design” is often an excuse.

Building quality software is hard because it’s the mistakes and oversights that get noticed.

It’s much easier for someone to claim it’s “by design” than to try and fix it.

By @Avisan - 3 months
It's easy to forget that even with the rise of AI and automation, human decisions are still at the core of software design.

The reminder to consider the intent behind design choices is valuable. It helps us appreciate the complexities and nuances that go into creating software

By @rubatuga - 3 months
Agreed with everything until the last bit. Runaway AI models are a possibility I still consider