Software

I hate software.

Not all software, of course, and not all all the time.  Software certainly has its good points as well; so much of what we take for granted today is like a science fiction fantasy from when I was growing up.  A powerful computer in my pocket with maps of everything and the world’s biggest encyclopedia available almost wherever I go?  Yeah, that’s a good thing.  But still.  It could be so much better.

So much of the software I use has aggravating features that just don’t make any sense.  Very often it seems like it was designed for people who see the world differently from me.   A lot of it forces me into tradeoffs I don’t want to have to make. I don’t like the way most of it looks.   Where’s the beauty?  And don’t even get me started on the bugs!

It doesn’t have to be that way …

Imagine software that values emotion, intuition, compassion, purpose, empowerment, fluidity, multiplicity, interconnectedness, sustainability, and social justice.

Contrast that with today’s software, and you can see that we’ve only just started to explore what’s possible.

Software embeds the perspectives of the teams who create it, and historically the software industry has been dominated by analytical people who focus on efficiency and haven’t paid much attention to these other “softer” concerns.   New software builds on the platforms, tools, languages, and processes that have already been created, so it leads to a self-reinforcing cycle.

Another way of looking at the change that’s coming is to focus on diversity.  Today, most software is created by relatively-homogeneous teams, mostly made up of cis techie white and Asian guys without disabilities.  Software tends to work best for people similar to the creators, so at some level it’s not too surprising how much software today embeds racial biases – and ignores best practices for accessibility and gender HCI.  And once again, there’s once again a self-reinforcing cycle: the tools, languages, and platforms we use to build software don’t give a lot of help here.

The good news is that it’s possible to do much better.  While there’s still a lot to learn about different ways of creating software, we know more than enough to get started — for example, see the reference pages on the Open Source Bridge wiki that Tammarrian Rogers and I put together for our talk there back in June.  Even though today’s platforms, tools, languages, and processes embed biases, by being conscious of them we can compensate for their limitations – while working on the next generation of infrastructure.

The way I think of it is that we’ve only explored a tiny fraction of the design space.  There are other solutions out there that are better for everybody.   There’s a huge under-served market out there – which means there are huge opportunities for the companies and open-source projects that take the lead here.

So yes indeed, a change is coming to the software world.  And a good thing too!