Universally Good v. Good Enough
First up: Jim
I have had the fortune of having two dad’s in my lifetime. I was 11 when my parents split and it was as devastating and crushing as anyone typically imagines. However, in life’s usual bout of irony, something that seemed irreversibly damaging turned into the creation of a defining principle of my life.
My mom remarried Jim a few years later. A portly man with large Popeye-like forearms that owned his own alarm security business, which he opened up in the late seventies. Jim was asocial, nerdy, meticulous, particular, peculiar, and grumpy. He smoked two packs a day, always cleaned his plate, and was never backed down by a donut.
We were not very much alike, but we could always find common ground in two things: Movies and DIY projects.
When something broke, we were both naturally inclined to take it apart and try to put it back together. We bonded over screwdrivers and soldering irons. When the VCR broke, we dismantled it down to the circuit board, carefully labelling each part, painstakingly checking each joint with a multimeter. We even tracked down the manufacturing specifications so we knew what resistance levels were expected on the specific circuit tracks.
And while I would love for this story to take off down the narrative trail that this level of diligence to fix things was from some fascination with the unknown or deep rooted thirst for knowledge, it wasn’t.
Jim was cheap.
He would rather take it apart and break it than pay someone else to fix it. Motivation aside, we were always tinkering on things together. He had a shop with all sorts of great toys: drill presses, voltage converters, breadboards, and enough spare wire to light up a NYC borough.
While he passed the time rewiring radios, I sat in my corner building my first computer. We didn’t talk much, except for me to ask the occasional question. This is how we spent most of our time together while I completed high school.
Smash cut to my early 20’s, I was lost in finding a direction for life, selling shoes in the local mall. I was good at it. I loved shoes and talking to people. It was good money for a college dropout, especially since my former university had asked me very pointedly to, "Not come back. Ever." It seemed my future as a college graduate had gotten squashed under the very item I was selling.
In a rare moment of empathy, Jim recognized that while I was happy working this shoe job, it was not giving me the purpose I needed. I was captivated by a superficial and shallow lifestyle and stuck in the cycle that brings.
No drive to move forward. No reason to go back.
One day he called and asked if I would be willing to help him out on a job. His help had, as he put it, "up and quit on him". When I asked why they would do that so unexpectedly, he claimed not to know. But I knew.
Jim was difficult to work with. He had worked solo most of his life, so he was unaccustomed to managing other people. When work got to be more than he could handle alone, rather than turning down jobs, he brought on a small crew. However, they never stayed long because he was an absolute curmudgeon. Short-tempered, blunt, and rude, he didn't, "cultivate a positive working culture" as tech companies would say today.
I always needed extra cash, so I said agreed. I showed up at 8am the next day, a Saturday, with nothing but a ball cap and a coffee. Jim had purchased a tool belt for me, fully equipped with what I would need to pull wire and install gear. Mind you, everything in this belt was from the bargain aisle, and he probably asked them if they had anything cheaper. My screwdriver broke the second time I used it. Tool quality aside, I appreciated the gesture. When he passed the belt over to me, he said, "These are your tools. Always keep them. You can always make a living with a set of tools and a knowledge of how to use them". His plan, which he never vocalized directly to me because he was not the Hallmark kind, was to show me how to use them, which he did.
I would work with Jim for almost 4,000 following days, just shy of a decade.
Jim and I worked well together. We argued constantly, but over good reasons. We could make fun of each others mistakes without being too personal. The needling remarks that drove others away didn’t really bother me. There was one ever present paradigm that persisted throughout every job. No matter how big or small. No matter the project time frame or time of day.
"Do a good job."
He would often end sentences with it.
"Run this wire from here to there. Do a good job."
"Wire up this panel. Do a good job."
"Install these window switches. Do a good job."
What did a good job mean? I didn't always know at the time, but I certainly did after I did a bad job. He did not mince words on how my zip ties were in the wrong place, or how I rolled the wire numbers onto the wire in the wrong direction.
Over time I learned a good job meant following through with the details that are in your control, against every obstacle that tries to make you not do a good job.
Adding wire hooks in the 120 degree attic to keep them out of the way of the home owner when they are looking for Christmas boxes.
Carefully binding and organizing the wires in the panel so they didn't become a rats nest for the next technician.
Aligning the window switches so they were all at the same height from the top of the sash.
I once installed a keypad a little crooked. When I clipped the front frame in and stood back, I noticed it was askew and exclaimed, "Good enough."
"WHAT!?" I heard from another room. It was not a tone of excitement or anger. The best I can describe it was incredulous humor. Jim couldn't believe that I could settle for "Good Enough". The notion amused him. He found my take on my own work funny in a way that said, "I didn’t think you were this dumb, and now that we have found ourselves here, all we can really do is laugh at you and your overt laziness."
"Can you make it straight?" he asked.
"Yeah, but it’s just a little off and remounting it means I have to take it all down, and I may have to fix the existing screw holes", I stated, ready to leave for the day.
"Do a good job, not a good enough job. That’s what I pay you for", Jim said, and walked back into the other room.
In Jim’s very particular way, I like to believe he knew he was teaching me something. Grooming me to be a better person. That in spite the odds, the resistance, or the ease, it always paid off to do a good job. Not an OK job. Not a perfect job. A good job. Good. A term relative to your current situation.
That work mentality is how he drove his business forward. It was why when we came back years later to service an alarm system, it was easy to diagnose and fix the problem.
We could have done it faster. He was paying me by the hour, so he had a great incentive to finish quickly to move onto the next job site. Ironically, as fiscally tight as Jim was, he saw real value in good work. By working alongside Jim, I learned that value as well.
I worked for Jim while completing my Bachelors degree in Graphic Design, an area of study that is hyper focused on detail, as much as creativity.
So many early 3am mornings, I spent in a lab or in front of a screen trying desperately to do a good job. The back of my brain begging for sleep, while the front sending mental images of Jim asking me if I thought this was a "Good Job". I owe my ability to be meticulous and exact, my drive and passion for being better, to Jim.
In November of 2019, going in for a routine visit to the doctor, we learned Jim had liver cancer. It was stage four and very aggressive.
My son was born a month later, and in an effort to make room in our house, I had started building an out-building, a shop of my own, back in March. I had most of it completed in January when Jim and my mom arrived to see our new kid.
Jim could barely walk. Trips around the hospital with him terrified me, because he walked as though any minute he could collapse. Amongst the whirlwind of the newborn, Jim pulled me aside and asked if we could leave to go see the building I had made. After my initial brush off of this request, thinking he was only trying to placate me, he asked again with more intention if he could see the building. Noticing his candor, I decided to accommodate. We needed to re-up some supplies from the house anyway, so Jim and I began our trek home and ultimately, the shop.
There were still lots of large mud clods and loose dirt and material around the walkway lining up to the entry of the shop. Jim struggled with those, shaky and ill footed, every step seemed like it was set for a certain ER visit, but with the unflinching determination I had seen throughout our life together, as he struggled and fought to overcome problems to find solutions, he did the same now, for walking. Something that had come so easily just a few years prior.
He made his way to the doorway and into the shop. On one wall was the electrical panel I had installed and another were two saw tables I had built custom, one for a mitre saw, the other for a table saw.
He walked to the center of the room, looked up at the ceiling joists, which I struggled with the bird’s mouth on, over to the eave, which I had put the drip edge on prematurely, and down to the slab, which I had gone a little too thin in some areas and wasn't able to smooth out properly.
I didn't realize how self conscious I was about my work, or how much I wanted his nod of approval until that moment, standing in a 30 square foot shop, built by an amateur, awaiting a response from his mentor.
That was January.
Jim died on April 11th, 2020. Somehow ironically, and also un-ironically, the cancer didn’t kill him. He had a heart attack one morning, only five days after his 65th birthday. An automatic bodily response to smoking 2 packs a day, cleaning his plate and never saying no to a donut.
I was feeding my son breakfast when I got the call from my sister. As usual, the gravity didn’t set in. I did what Jim would do, I started trying to fix the problem.
Logistics on who stays where. Where are we all meeting? When can we get there? Who can get to mom the quickest for support? All of those things raced through my head.
It was not until later, after the cremation and funeral, after the soft hugs, the goodbyes from distant relatives, and the never ending casseroles, not until much later, that I began reflecting on my last days with Jim.
It was in that shop.
We had short, meaningless conversations and chats after we left the shop of course. The traditional hellos, goodbyes and such were common fare, along with me asking the occasional question, but the real passages were in that shop, built of 2x4, plywood, concrete, and copper, and the knowledge passed from one to another.
"I am proud of you. You did a good job." was the last thing he really said to me.
A wave of elated exhaustion fell across me, knowing that I had this one chance to meet the expectations of someone that I admired, with the realization that they would not be around very long to continue that appreciation.
It was my one selfish shot. My sole effort for approval. I wanted to hold onto this moment. I still had thousands of questions.
"How could I have made my bird mouths on the roof joints tighter?"
"Should I have calculated the concrete yardage differently so I didn't end up thin on the back side of the slab?"
"Was there a better way to handle the soffit than a vinyl material?"
Those questions would go unanswered, because they didn't matter.
I had done a good job.
Thanks Jim.
So how does this long-winded story lend itself to accessibility?
As designers, developers, project managers, vice presidents, and CEO’s, we must commit to always doing a good job. Everyday we are hit with a plethora of reasons why we should just be good enough, but not many reasons for the benefits of being universally good.
What is Good Enough?
-
Good enough is matching the specifications of the WCAG 2.1 guidelines. It checks all the boxes to assure compliance, but does it reach the goal of an equitable experience? In most cases, it does not.
-
Assigning a role of presentation, takes the functionality out of the accessibility tree, creating a void for the user with a screen reader. That individual will never know what is happening, because the reader simply ignores it.
-
Good Enough is writing a few words in an alternate text attribute to make the accessibility error go away in your automated test.
Those types of decisions are exclusive and limited. They are made for many reasons, sometimes out of the control of the architect themselves.
What is Universally Good?
-
Universally Good is digging into the what the WCAG specification is working to solve for the user, and finding a solution that elevates the experience. It is an additive action, not reductive.
-
Universally Good is writing the actions of an animation as it changes so the user can follow along with the changes of the page.
-
Universally Good is writing descriptive, contextual alternate text for an image, giving the user a clear and accurate mental picture of the content of the image.
Comparing the two, it is easy to see which pays off in the long term. Answering every problem with Good Enough is a way to bounce from one problem to another. "Robbing Peter to pay Paul", as Jim used to say.
Universally Good methods are true solutions to problems.
"We mistakenly assume that each choice we make, and each individual action we make, is only affecting that particular moment, or circumstance."
– Hal Elrod : The Miracle Morning
What drives people to be good and not just good enough?
Oftentimes, it is simply because it is easy.
"The choice to say yes to comfort and no to stretching yourself affects more than one incident: it becomes a cause set in motion, a reason to perpetuate undesired behaviors again and again. Ultimately, you have a choice between the easy thing and the right thing."
The tech world is always in perpetual motion. Doors of opportunity opening and closing in a moments time. Companies rise and fall by being on-time, not too early, or too late. Hitting that benchmark means sacrifice. The easy way is chosen to meet a deadline, or keep overhead low. In todays world, it is unavoidable.
What’s the answer then?
Do a good job. The easy path doesn't always have to be the path of least resistance. It’s what makes that deadline, or keeps more cash in the coffer. It doesn’t mean you cut every corner. For every step, every task, every ticket, do a good job.
Another reason people choose Good Enough is because it provides the same level of reward.
Little or no reward justifies little effort.
Studies show people who make sacrifices expect an immediate reward for that behavior. Workers sacrifice their time and patience everyday, working towards what seems like an endless goal at times. Asking them to take on more without any form of recompense is unjust and leads to worker fatigue and burnout.
They can feel the short lived satisfaction of completing the task which matches the Good Enough effort. In many cases, this is not the fault of the worker, but the shape of the problem itself.
Is it too much to ask designers and developers to pile on another responsibility? To ask them to learn specs and think of their design or code in a way that is incredibly foreign to themselves? Yes.
Combined with the reality that rewards are so rarely given in accessibility work. Designers and developers do not get to see the impact they make on an individual. They never get to see someones face light up when the person can understand the page. The elation of an elevated user experience never makes it back to the person who made it possible.
We have to focus on increasing the value of accessibility to the creator, the builder, the architect, as well as, the user. We have to build a chain of communication from the sales floor to the machine shop, a feedback loop that keeps the worker engaged and excited about doing a good job, so they can see and feel the dividends.
Did the latest user test get a positive review on that new button? Tell the people who designed and built it.
Did someone say "Cool" when they were shown the new splash page? Relay that back to the team.
It’s never a bad time to tell someone they did a good job.
Change the Why
We must change the way we think and tackle these accessibility problems, from inception to completion, focusing on the task and the worker.
For tasks, we have a specification that shows us how to get it done. How to pass a test, close a ticket. These are binary rules.
This is broken.
Fix it with that.
Done?
Check.
On to the next one.
It’s this type of practice, ad nauseam, that makes any experience that sways away from a visual, pointer-based experience, feel like a conversation with a calculator.
For the worker, today's workspaces are inundated with ulterior and alternate ethos. It is easy to get caught up in the "Quiet Quitting" and "Antiwork" mindset, especially on the hard days. From the motivational to the lackadaisical, we are always in search of why we do the work.
Why do we design?
Why do we write code?
Why do we automate?
What hills do we die on?
What lines do we draw in the sand?
Where just exactly does the buck stop?
That answer is as individual as the humans that make up the user base of the internet.
Finding your Why will determine the level at which you create and execute. Its your motivation. Its your dad speaking back to you, "do it right the first time".
Universally Good accessibility design is not target shooting. It’s not meeting a criteria. It’s not being the employee that never stops working.
It’s elevating a human experience. It’s the pursuit of that amazing "A-ha" moment.
Universally Good methodology takes the goals on the macro level down to the micro, to the ticket, task, or project level itself, to find not what fixes the problem, but becomes a solution.
We have the capability of bringing a full multimedia experience to every user. We are not bridled by technology, only our ambition to embrace it!
Think about the full user experience, and capitalize on the differences.
For example, with page layouts, leverage one of the most common design problems in UI design today: Space. A problem that is non-existent for a non-sighted user with a screen reader. Use this as a opportunity!
Present your design aesthetics and tone as text to relay to the user if they wish to hear them. Create a callout element, that the user can choose, which describes the page style. This allows the user more context than just relying on the tone of the content text.
There are many avenues a user takes to understand an application. Consider them all!
To quote another fatherly figure whose actions were oftentimes bullish and reckless, but his intention was well placed:
Dark times lie ahead of us and there will be a time when we must choose between what is easy and what is right.
– Albus Dumbledore : J.K. Rowling, Harry Potter and the Goblet of Fire
I've always loved this quote. It’s like asking "if someone walks to school or carries their lunch?" Those two things are tangential in nature, but not directly opposed. It sums up the immense task we all are familiar with in the tech space, fast or good.
The choice seems simple, but the execution is immensely difficult. In the end, just like Harry, Albus, Jim and myself, we have to decide who we want to be, good or good enough.
The Shopping Cart Test
There was an analogy I read long ago that asked how we assess the goodness of a person. It was the Shopping Cart Test.
When a shopper is done with their cart in the parking lot, they are presented with two options, leave it in the space, or take it to the cart return.
There is no real consequence if the user doesn’t return the cart. They have no real obligation to return the cart. No one is policing the carts to assure their return. No one is waiting to cart shame you when you leave it in the space.
And if the person returns the cart, there is no one there to hand you a medal, or a round of applause. No one will write your name on the board of good Samaritans, the cart returners. In fact, no one really ever even notices you did it. Your act of cart returnage will be lost in the intricate tapestry of time, forgotten forever.
It is a simple task that happens to be a good way-finder of the goodness of a person. People who return the cart simply do it because they see the value in helping the next person. It is a purely selfless act.
That is what we must decide as designers, developers, managers, directors, marketers, gate keepers, red tape makers and bureaucrats. We must all decide if we are the type that returns the cart or leaves it in the space.
Will we be a proponent of good, or just good enough?