Today is Martin Luther King Day in the United States, so I thought I’d take a moment to reflect on one aspect of equality I think is incredibly important: egalitarianism.
According to Merriam Webster, egalitarianism is:
- a belief in human equality especially with respect to social, political, and economic affairs;
- a social philosophy advocating the removal of inequalities among people.
It’s a simple philosophy inspired by the Golden Rule, an ethical code which is central to most major religions:
- Hurt not others in ways that you yourself would find harmful.
- Do unto others as you would have them do unto you.
- No one of you is a believer until he desires for his brother that which he desires for himself.
- What is hateful to you, do not to your fellow man. That is the entire law; all the rest is commentary.
Heck, even Confucius said “Never impose on others what you would not choose for yourself”.
With so much emphasis on treating others with the sort of respect that we would like to be given, you’d think that inequality would be a non-issue. Obviously that’s not the case.
For centuries, we humans—even those of us who ascribe to these and the other countless Golden Rule abiding religions and philosophies—have failed to recognize ourselves in others and have erected barriers (both physical and societal) to their ability to lead the sort of happy, fulfilled life that we want for ourselves and our families.
Almost every way we mistreat others—from rude or snarky comments to genocide—stems from our inability to empathize with another person or group of people. It’s hard to connect with people who are different than us—people who have different life experiences, people who have different perspectives, people who are challenged in ways we have never been—and when we struggle to create a connection, it becomes easy for us to view them as “the other”. And when we begin to look at other people this way, we lose sight of their humanity and we lose sight of all of the things that make us similar.
While it is completely true that I have a very different life than a woman growing up in Dharavi, I have to believe that we have a lot in common too. We both want a good life for our families. We both want to feel safe. We both crack jokes. We’re both human. Our respective societies may view us very differently, but she is no less valuable than I am.
And this is why I am so passionate about the philosophy of egalitarianism. It grounds us in the notion that we are all equally valuable and should be granted equal opportunity to all that life has to offer.
John Rawls has a great thought experiment that I often cite in my talks on empathy. In it, he would ask you to imagine your ideal society. It could be a monarchy, anarchy, capitalist, or communist. It could be ruled by people of one particular gender or color. It could be governed by people of a particular tribe. It could be Panem. It could be Erewhon. It could be Brobdingnag. The choice is yours.
Once you’ve been ruminating on this a bit, he drops the bombshell: You have no control over or knowledge of where you fit in this society. This is called the Veil of Ignorance, a creation of John Harsanyi (an economist and early father of game theory). Rawls found that, with the Veil of Ignorance in play, people who participated in this thought experiment gravitated toward creating the most egalitarian societies possible.
It makes complete sense: What rational human being would create a society that enslaves people if they themselves could turn out to be a slave? Who would create a society that excludes women if they might be female? Who would build a world full of stairs if they could be in a wheelchair?
I love this exercise because it makes it easy to create at least basic connections between you and a wide variety of people who are different than you. It helps you realize that we are all equal and all worthy of consideration.
What is interesting about egalitarianism, as opposed to similar sounding philosophies like modern communism, is that it recognizes that equality of opportunity does not necessitate equality of outcome. In other words, while pushing for equality, it simultaneously recognizes that we have differences in capability, capacity, and interest.
We are different. We are similar in more ways than we are different, but to ignore our differences is to deny us our individuality, our personhood, our true selves. But recognizing differences is not the same as assigning a value to those differences. That’s an incredibly important distinction and bears repeating: Just because you recognize that someone is different does not imply you should view or treat them as any more or less human on account of what makes them different. That said, recognizing differences is the first step towards being able to create equality of opportunity.
This is such an important concept in life, but I was not a philosophy major, so I’ll stick to discussing it in terms of what I know a lot about: The Web. Specifically, Web accessibility.
For a great many of us, ensuring our websites are accessible is an afterthought. We talk a good game when it comes to “user centered” this or that, but often treat the word “accessibility” as a synonym for “screen reader”. It’s so much more than that. “Accessibility” is about people. People consume content and use interfaces in many different ways, some similar and some not so similar to how we do it.
Sure, people with visual impairments often use a screen reader to consume content. They might also use a braille touch feedback device or a braille printer. They probably also use a keyboard. Or they may use a touchscreen in concert with audio cues. And yes, visual impairment affects a great percentage of people, but they are only part of the “accessibility” puzzle.
The dimensions of interactive elements—links, buttons, etc.—and their proximity to one another is an important factor in ensuring an interface actually registers our intent (i.e. it helps us avoid fat fingering). Design is an accessibility concern.
The color contrast between text and the background is an important factor in ensuring content remains readable in different lighting situations. Color is an accessibility concern.
The language we use on our sites and in our interfaces directly affects how easy it is for our users to understand what we do, the products we are offering, and why it matters. It also affects how we make our users feel. Language is an accessibility concern.
The size of our Web pages and their associated assets has a direct affect on how long our pages take to download, how much it costs our customers to access them, and (sometimes) even whether or not the content can be reached. Performance is an accessibility concern.
I could keep going, but I’m sure you’re starting to get the point. “Accessibility” is ultimately about ensuring people have equal opportunity to access your content while simultaneously recognizing that we all have special needs—physical limitations, bandwidth limitations, device limitations, etc.—that lead us to have different experiences of the same Web page.
Accessibility is egalitarianism.
We are all different, but we all human. We all deserve respect. We all deserve to be treated equally. To be treated fairly.
We need more egalitarianism in this world and the good news is that we can make it happen.
Late last week, Josh Korr, a project manager at Viget, posted at length about what he sees as a fundamental flaw with the argument for progressive enhancement. In reading the post, it became clear to me that Josh really doesn’t have a good grasp on progressive enhancement or the reasons its proponents think it’s a good philosophy to follow. Despite claiming to be “an expert at spotting fuzzy rhetoric and teasing out what’s really being said”, Josh makes a lot of false assumptions and inferences. My response would not have fit in a comment, so here it is…
Before I dive in, it’s worth noting that Josh admits that he is not a developer. As such, he can’t really speak to the bits where the rubber really meets the road with respect to progressive enhancement. Instead, he focuses on the argument for it, which he sees as a purely moral one… and a flimsily moral one at that.
I’m also unsure as to how Josh would characterize me. I don’t think I fit his mold of PE “hard-liners”, but since I’ve written two books and countless articles on the subject and he quotes me in the piece, I’ll go out on a limb and say he probably thinks I am.
Ok, enough with the preliminaries, let’s jump over to his piece…
Right out of the gate, Josh demonstrates a fundamental misread of progressive enhancement. If I had to guess, it probably stems from his source material, but he sees progressive enhancement as a moral argument:
It’s a moral imperative that everything on the web should be available to everyone everywhere all the time. Failing to achieve — or at least strive for — that goal is inhumane.
Now he’s quick to admit that no one has ever explicitly said this, but this is his takeaway from the articles and posts he’s read. It’s a pretty harsh, black & white, you’re either with us or against us sort of statement that has so many people picking sides and lobbing rocks and other heavy objects at anyone who disagrees with them. And everyone he quotes in the piece as examples of why he thinks this is progressive enhancement’s central conceit is much more of an “it depends” sort of person.
I could go on, but let’s circle back to Josh’s piece. Off the bat he makes some pretty bold claims about what he intends to prove in this piece:
- Progressive enhancement is a philosophical, moral argument disguised as a practical approach to web development.
- This makes it impossible to engage with at a practical level.
- When exposed to scrutiny, that moral argument falls apart.
- Therefore, if PEers can’t find a different argument, it’s ok for everyone else to get on with their lives.
For the record, I plan to address his arguments quite practically. As I mentioned, progressive enhancement is not solely founded on morality, though that can certainly be viewed as a facet. The reality is that progressive enhancement is quite pragmatic, addressing the Web as it exists not as we might hope that it exists or how we experience it.
Over the course of a few sections—which I wish I could link to directly, but alas, the headings don’t have unique
ids—he examines a handful of quotes and attempts to tease out their hidden meaning by following the LSAT’s Logic Reasoning framework. We’ll start with the first one.
- It is always bad to ignore some potential users for any reason.
His first attempt at teasing out the meaning of these statements comes close, but ignores some critical word choices. First off, neither Jeremy nor I speak in absolutes. As I mentioned before, we (and the other folks he quotes) all believe that the right technical choices for a project depend on specifically on the purpose and goals of that specific project. In other words it depends. We intentionally avoid absolutist words like “always” (which, incidentally, Josh has no problem throwing around, on his own or on our behalf).
For the development of most websites, the benefits of following a progressive enhancement philosophy far outweigh the cost of doing so. I’m hoping Josh will take a few minutes to read my post on the true cost of progressive enhancement in relation to actual client projects. As a project manager, I hope he’d find it enlightening and useful.
As I mentioned, I disagree with his characterization of the argument for progressive enhancement being a moral one. Morality can certainly be one argument for progressive enhancement, and as a proponent of egalitarianism I certainly see that. But it’s not the only one. If you’re in business, there are a few really good business-y reasons to embrace progressive enhancement:
- Legal: Progressive enhancement and accessibility are very closely tied. Whether brought by legitimate groups or opportunists, lawsuits over the accessibility of your web presence can happen; following progressive enhancement may help you avoid them.
- Development Costs: As I mentioned earlier, progressive enhancement is a more cost-effective approach, especially for long-lived projects. Here’s that link again: The True Cost of Progressive Enhancement.
- Reach: The more means by which you enable users to access your products, information, etc., the more opportunities you create to earn their business. Consider that no one thought folks would buy big-ticket items on mobile just a few short years ago. Boy, were they wrong. Folks buy cars, planes, and more from their tablets and smartphones on the regular these days.
Hmm, no moral arguments for progressive enhancement there… but let’s continue.
Some experience vs. no experience
- “[With a PE approach,] Older browsers get a clunky experience with full page refreshes, but that’s still much, much better than giving them nothing at all.” — Jeremy Keith
- A clunky experience is always better than no experience.
- HTML content — i.e. text, images, unstyled forms — is the most important part of most websites.
You may be surprised to hear that I have no issue with Josh’s distillation here. Clunky is a bit of a loaded word, but I agree that an experience is better than no experience, especially for critical tasks like checking your bank account, registering to vote, making a purchase from an online shop. In my book, I talk a little bit about a strange thing we experienced when A List Apart stopped delivering CSS to Netscape Navigator 4 way back in 2001:
We assume that those who choose to keep using 4.0 browsers have reasons for doing so; we also assume that most of those folks don’t really care about “design issues.” They just want information, and with this approach they can still get the information they seek. In fact, since we began hiding the design from non–compliant browsers in February 2001, ALA’s Netscape 4 readership has increased, from about 6% to about 11%.
Folks come to our web offerings for a reason. Sometimes its to gather information, sometimes it’s to be entertained, sometimes it’s to make a purchase. It’s in our best interest to remove every potential obstacle that can preclude them from doing that. That’s good customer service.
- “Question any approach to the web where fancy features for a few are prioritized & basic access is something you’ll ‘get to’ eventually.” — Tim Kadlec
- Everything beyond HTML content is superfluous fanciness.
Not to put words in Tim’s mouth (like Josh is here), but what Tim’s quote is discussing is hype-driven (as opposed to user-centered) design. We (as developers) often prioritize our own convenience/excitement/interest over our users’ actual needs. It doesn’t happen all the time (note I said often), but it happens frequently enough to require us to call it out now and again (as Tim did here).
As for the “unstated assumptions”, I know for a fact that Tim would never call “everything beyond HTML” superfluous. What he is saying is that we should question—as in weigh the pros and cons—of each and every design pattern and development practice we consider. It’s important to do this because there are always tradeoffs. Some considerations that should be on your list include:
- Download speed;
- Time to interactivity;
- Interaction performance;
- Perceived performance;
- Input methods;
- User experience;
- Screen size & orientation;
- Visual hierarchy;
- Aesthetic design;
- Text equivalents of rich interfaces for visually impaired users and headless UIs;
- Fallbacks; and
This list is by no means exhaustive nor is it in any particular order; it’s what came immediately to mind for me. Some interfaces may have fewer or more considerations as each is different. And some of these considerations might be in opposition to others depending on the interface. It’s critical that we consider the implications of our design decisions by weighing them against one another before we make any sort of decision about how to progress. Otherwise we open ourselves up to potential problems and the cost of changing things goes up the further into a project we are: