Software as it is designed rules our lives. It is integrated into our daily experience in ways that are both profound and concerning. And why is that? Much of it is because of one of the most important fundamentals in software design – the software loop.
This single design element rules our entire software experience, from algorithms that power campaigns to the user experience that moves us from a homepage on a website to a product “buy” button.
A simple software design function has led to chaos – here’s why
This simple function has led to consequential results: we are beginning to resemble blocks of code - tagged, categorized and compressed for the purpose of enriching companies and grifters alike, and maintaining the status quo. At any moment, an advertiser can pull up millions of code blocks and influence their movement, whether to purchase a product, click on a headline, or watch a conspiracy theory video about pizza and pedophiles.
We may not notice the change in our behavior until it has had other effects: doom scrolling for hours on Instagram or Twitter, shouting on Facebook about “Stop the Steal” or believing that COVID-19 originated in a Chinese lab.
Of course, advertisers are exploiting a kernel of fear or bigotry in each situation. There is ample evidence that American society has put little stock in valuing all of us, over a select few, and an ideology and practice of white supremacy that has propped up all manner of entitlement and violence for some time.
However, in order for these beliefs to surface and behaviors to grow, people must feel a part of a greater mass participating in those same beliefs and behavior.
The never-ending deluge of advertising and shouting about the November election that we’ve experienced over the last few years is only possible because of software design — the ability to group like actions and like profiles together to such precision and at such scale that finding and creating new converts (upon which advertisers’ profits and grifters’ political careers depend) becomes as easy as 1-2-3.
It’s time to take a step back from the software loop
The software loop is a programming function that iterates a statement or condition based on specified boundaries. A person clicks links, views ads or explores products on Amazon, and their choices are fed back into the same loop. The process is both one-sided and never-ending, as John Maeda, author of How to Speak Machine notes, “Computers never get tired, and the loop can go on forever.” The person is being ‘processed’ through the logic of the loop, which checks their choices against predetermined boundaries: ‘did the user choose step a or b, if they chose step a, process them to step c.’
As the software loop pares down choices for the user, they are served increasingly narrow options and then spun into new loops where the process begins again.
But while some of us may know advertisers and their goals are driving our digital experience and approach the internet accordingly, lots of our neighbors don’t. They truly believe they’re making their own choices - that the information they find is true and they want what they’re buying. There’s some truth there, but it isn’t the whole truth.
How can software design change for the better?
Zhenzhen Qi and Yang Wang, creative technologists and co-founders of zzyw collective, point out that every single person most desires to be human, despite their choices or traumas. And the deepest human impulse is creativity, yet that has been removed from our experience of software and technology. Wang notes that, “If we look at the history of the design language of computing from the 1940s to today, upon which AI is based, it has overwhelmingly leaned toward designing for precision at the expense of caring for ambiguity, which is a necessary condition of creative expression.”
Continuing to accept the software loop as the organizing principle of software design and excluding ambiguity from software design means we will end up in grave danger. Qi explains how this happens, “Almost always the goal is to isolate a person until they are easily looped because of an emotional, psychological or other kind of need. For example, maximizing political division translates into maximizing profits for media companies, and maximizing confusion introduces distrust and division. That in turn, sorts people into certain categories and amplifies specific feelings, like anger or pleasure, which then translates into maximizing profits for a whole range of organizations, while hiding the controlling algorithms.”
Well, that resonates. Of course, the problem with being hoodwinked, is that most people struggle to accept they were hoodwinked.
It is both embarrassing and destabilizing to acknowledge having been a mark and often we’d rather cling to the con than call it out. Which begs the question: how does this software design problem get solved?
It is necessary that we recognize that profits alone have driven technology development, and they have a negative effect on people’s well-being.
Software design isn’t a superfluous act. Its impact is present in every sector of our society. If we understand anything about designing technology, it must be to reject organizing principles, like “Don’t make me think” and design elements like the loop that reduce us to our monetary value to already wealthy billionaires, in favor of equitable principles, like justice, equality and that fundamental humanness, our creative impulse.
Image credit: Markus Spiske/Unsplash
Mary Rinaldi is a social justice advocate, a creative technologist and writer who is a Mentor-in-Residence at NEW INC.