Projecting human quirks on to software

Modern software is often quirky and hard to use. Users and usability professionals have high expectations, and often product developers blame the technology for a poor experience.


In the software development industry, we often put the onus on the technology, using a Software-to-Customer model.

But, if, as a developer, you think of the Customer as a person, the Developer as a person, and the Software or delivery mechanism as something that a developer created, then you can drop the middleman and reframe this as a human trade, Person-to-Person, or P2P.

Shifting the blame

This is an important differentiation. When we refer to digital products and services in the third person, we can shift any blame from ourselves, projecting our very human issues onto their cold binary exteriors.

Developer quirkSoftware quirk
I’m under pressure, tired and irrationalIt’s buggy
I’m saving time by cutting cornersIt’s limited
I’m using frameworks to build things quicklyIt’s slow and bloated
I’m working long hours but am well paidIt’s too expensive

If we could see past our blinding egos for a second, we might see that we created this beast. We, or people like us, created the finished product and the frameworks it relies on and the coding languages themselves. We created their capabilities and their limitations and quirks.

Taking ownership

Moving the focus from the software, back to the people who created it can be very empowering. Because if we broke it, then logically we can also fix it.

It can also be quite embarrassing. Many’s the client who has scolded their developer: Stupid developer! Why is it broken?? The inference is that the software is inferior because you are. But the developer is only a cog in a machine and is affected by many other (human) factors too.

Nevertheless, in our P2P relationships, if the person at the other end can’t work with the software that we’ve provided, then we should not be afraid to look them in the eye and say, yes, we broke that and yes we can fix it.

Or maybe, we don’t want to change. If not, it’s still on us.

Breaking the cycle of suffering

Which leads us to human suffering. That old chestnut.

Too often, the person at the other end of the software takes on the role of martyr, blaming themselves for usability issues.

Developer quirkSoftware quirkUser quirk
I’m under pressure, tired and irrationalIt’s buggyI’m exhausted, I’m not smart enough to figure this out
I’m saving time by cutting cornersIt’s limitedI’ll use something else
I’m using frameworks to build things quicklyIt’s slow and bloatedI’ll buy a new phone
I’m working long hours but am well paidIt’s too expensiveI’ll work more hours to afford it

There’s a running theme here. The person suffering at one end is very similar to the person suffering at the other end. And when you factor in that the developers of software are often also the users of it, it all becomes very self-fulfilling.

I think this says a lot about our situation right now, and about our potential. Maybe we feel obliged to maintain the status quo and to keep running on this mad hamster wheel. But ignoring the forces at work won’t bring us happiness, unlike the hamster.

Things could be immensely better than they are right now. We just need to take ownership.

Welfare and the cost of inaction

This morning’s print edition of the Dominion Post devoted two thirds of the above-the-fold space to the shocking headline,

New moves add $100,000 to ratepayer bill

– Dominion Post, 30.10.2017

Improving accessibility to public transport

The article was about a new initiative to discount public transport by 50% for blind and disabled passengers. This would see concessions spread equally across rail and bus services, with the cost shared between ratepayers (1/3), commuters and the NZTA (2/3).

In my view, the purpose of the transport system is not to make a profit or be self-funding. The purpose of the transport system is to get people from A to B so they can get things done. If there is a system worth funding, surely this is it.

But the headline, grrr! It reminded me a lot of web accessibility.

The cost of inaction

The status quo focusses on the cost of action, not the cost of inaction.

The cost of disability is so unrecognised and is a factor when it comes to accessing employment, education, health services, et cetera … So doing this is an enabler.”

– Rachel Noble, Ennoble

Disability has many costs. Either an individual bears it completely, or a healthy society steps in to help out.

When we choose to help out, we remove a barrier and enable an individual to contribute to our society. Everybody wins.

Welfare is not an optional add-on. If some sectors of society are currently getting away with not paying their share, then this is an artificial efficiency. Those who can help are living in a bubble of denial. By ignoring a need, we ignore the associated cost. We create barriers which prevent our society from functioning at its best.

Celebrating action

When we realise the error of our ways, we shouldn’t complain about the financial cost. We should see it as a wake-up call and an opportunity to put things right.

This is the mindset that we are heading towards with the recent election of a centre-left government. I hope that people are starting to realise that balanced books only make sense when all of the costs have been taken into consideration.

In the meantime, it’s really disappointing to see our media plugging for the status quo with sensationalist headlines like this. Our news channels should reflect our collective reality. The article itself was good, but we need to be upfront about celebrating positive initiatives for what they are, rather than always making it about money.

What Web Accessibility is – and what it isn’t

Happy Global Accessibility Awareness Day everyone!

In honour of all the people struggling to do basic things on the internet, let’s define what Web Accessibility is – and what it isn’t.

1. Accessibility is not just a ‘nice-to-have’

Accessibility is not a ‘nice-to-have’ that you can do in ‘phase 2’.

Accessibility is as fundamental to your site being successful as SEO. Your customers need to be able to get from the top of the funnel to the bottom. For that to happen you need to remove any barriers that stand in their way.

That’s Accessibility.

2. Accessibility is not just for ‘disabled’ people

Accessibility is not just for those who are legally deaf or blind, dealing with brain damage or confined to a wheelchair.

Accessibility is also for you as you age, for you when you hurt yourself, for you when you’re having a hectic day, and for you when you’re out and about and using your mobile with all your faculties. Accessibility is not for ‘other people’, it’s for all of us and it’s for you.

That’s Accessibility.

3. Accessibility is not just about HTML codes

Accessibility is not just about slapping some ARIA roles and attributes into your code and running it through a validator.

Accessibility is about showing as much love to retired users running free AT (Assistive Technology) on ageing desktops at the public library, as to those running the latest version of JAWS on the latest version of IE on their brand new tablets. And it’s about realising that those people are real people, like you, and not annoying standards or automated software algorithms.

That’s Accessibility.

4. Accessibility is not just about adding plugins

Accessibility is not about making your users work harder by overloading them with accessibility ‘features’. It’s about you working harder, so your users can consume your product/service/content with minimum effort, before getting on with their lives.

That’s Accessibility.

5. Accessibility is not just other people’s problem

Accessibility is your problem. If you aren’t writing your code yourself, then you need to be voting with your money and your feet for software that is coded responsibly, and goes way beyond feel-good marketing messages.

That’s Accessibility.


This is a repost from my LinkedIn account.