--- layout: post.njk title: The Curse of Convenience tags: post date: 2024-03-12 ---

From food to software, convenience has a cost

Food production has been made invisible to us in modern society. We buy ingredients from the supermarket, where fruits and veggies have magically showed up. This adds a lot of convenience to our lives, we do not have to concern ourselves with how things are made. We get to buy them anywhere and anytime, whatever types of food we want regardless of whether they are in season or not.

This is all well and good, with our ever-growing busy schedules and things we need to do. Not having another item that we need to care about is great. We can now focus more on the other things that happen in our life.

However, this has consequences. We do not see how food products are made, how the farmers who produced them are treated, how the animals are treated, how monoculture destroys land, how importing food half across the world impacts the environment and how toxins make their way into the consumables that we eat.

Our lack of knowledge enables companies to get away with neglect and abusive practices. The other day I learned that many of Europe’s supermarket canned tomatoes are actually produced by the Italian mafia using modern slave labour. My girlfriend has brought to my attention the potential consequences of convenience, and now we buy more local non-processed food, directly from farmers if possible.

The supermarket often hides from us the complexity and impact that goes into growing and making food, and what we gain is convenience and accessibility. However, without understanding where that food comes from or its impact, we cannot meaningfully make ethical nor healthy choices, we cannot understand how what we buy will affect our own bodies or the lives of others. In that sense, convenience and the abstractions hurt not only us, but the world around us.

As a software engineer who studied UX design, for a long time my mindset has been: the user should not need to learn anything to use what I build, I should not make the user think too much. We are told that users tend to like these tools, tools that get out of the way and allow them to be “lazy”. New tools these days strive for ease of use and accessibility. They are scoped down to the essentials; they hide details and create whichever metaphors, false or not, that make it easy to learn and use what we build.

But metaphors are important, and so I will digress briefly to address the use of metaphors within the mindset of convenience and ease-of-use.

Metaphors serve as a way for us to quickly understand how the world functions, by relating it to concepts that we already understand. Files and folders, internet as a web, email as mail. Just by name, metaphors allow us to quickly grasp advanced concepts. However, today’s metaphors of LLMs as chat assistants convey to many that they are almost sentient. This is not so strange, when we use metaphors like “Siri” or terms like “hallucinate”. Metaphors turn into extended metaphors, and become disconnected and incoherent, to the point of being misleading. Easier to understand? Yes, but at what cost? Even in tech literate circles, I see people seriously arguing that since LLMs learn like a human (false), LLMs should have the same fair use laws as us. These broken metaphors can end up having profound impacts of our lives. Seeing LLMs as stochastic parrots vs sentient superhumans makes a huge difference for how we want it regulated and how we interact with it.

This focus on convenience, ease-of-learning and ease-of-use, is in many ways a great leap forward in the way we build software. These days we do not need to decode cryptic error messages or read manuals when using software. Software is so simple that even a toddler can pick up an iPhone and use it. Systems are abstracted away: the user does not need to understand how code works, where their data is stored, who gets to look at the data they provide, the effort that went into building the product and the cost of running it. Most people probably do not realize how software is built on the shoulder of giants, or rather, on the shoulder of a lone open source developer who barely gets paid.

And then, what is a benefit in the short term, lends itself to a crisis for the user and society in the long run. The environmental footprint of the web is now on par with the aviation industry, AI companies have horrifying working conditions for the people moderating data sets used by LLMs. With the insane compute costs of LLMs, I see the environmental footprints only becoming worse. Today, we are offered so many services for free, without really understanding or needing to care about the hidden costs. We can upload videos to YouTube, we can upload reels and photos to Instagram, all without paying anything. We get feeds of content that are generated for us, that we spend an unhealthy amount watching without really knowing what it will do to our attention spans in the long run. Everything is abstracted away, appearing to be almost magical. It encourages us to be wasteful and has unknown health effects.

Now, we are starting to see studies indicating that tech literacy is dropping in the younger generations. Lowered tech literacy means that users are less empowered to question and change status quo of the web. Without users understanding what is happening in their computers, how systems work, where their data goes, users can not meaningfully discern the costs of their actions- nor are they empowered to seek out alternatives.

This should all signal that we need to change the ways that we build software. The goal can not be to simplify endlessly, but to instead sometimes go through the effort of teaching and informing the user of what is going on.

My message is not that we should ignore accessibility or ease-of-use. What I want us to do is exercise caution. Maybe instead of simplifying, let’s try to encourage interest in how things work, let’s allow users to poke around into the source code. Let’s talk about the importance of performant software, so that users do not just blame hardware. Let’s enable users to seek alternatives and exercise digital agency through discussion of laws like Digital Markets act and GDPR.

Yes, software should be easy-to-use and accessible, but not if it means that we disempower users and if our practices are unsustainable. We need to promulgate simple and performant software, that is transparent of its impact and empowers users with agency. I brought up the example of agriculture in the beginning, because I think the software industry is making the same mistake as that industry and we can learn from them. Convenience should not be the end goal; it should be empowerment, community and sustainability for users and society at large.