(This is an extended version of the minispeech I gave at BarCampLondon2, “Being understood”, and here are the slides just in case you’re willing to see some bullet points goodness).
We are failing to make ourselves understood. We can be speaking the same language as our listeners and failing miserably in communicating even simple concepts properly.
I’ll show you a couple of real life examples, taken from a web design and development forum:
- Thread A: New website by xyz.
When approaching a new website by xyz announcement, different people pay attention to different stuff. Designers which need to work with HTML tend to focus only on the design and the flashiness of the end result. On the other hand, developers and people which are really involved with the bare bones web tend to look minuciously at the implementation details and the use of technology, kind of ignoring the end users of the websites.Hence, you get answers like these ones:
- Designer: it’s so cool! I like the design!
- Concerned-with-standards person: it sucks! they use tables and it is not valid! they should use layers and CSS only!
In truth, that website was visually great but the implementation was a terrible abomination.
Normally there are lots of lurkers in the forums and they tend to read way more than they write. Occasionally, someone which is just starting in web development read this thread and got confusing information, which led to the next thread:
- Thread B: Help with a CSS design!!!
I’m trying to do a CSS-with-layers-only design but I’m stuck on something. I’d like to show a list of prices, it should be something like this:
| LOREM |
IPSUM |
| Dolor |
10 |
| Amet |
12 |
I thought of solving it with something like this:
<div class="table">
<div class="first_cell">
<div class="blue_3px_border">
LOREM
</div>
<div class="blue_3px_border">
IPSUM
</div>
</div>
<div class="row">
<div class="value">
Dolor
</div>
<div class="value">
10
</div>
</div>
<div class="row">
<div class="value">
Amet
</div>
<div class="value">
12
</div>
</div>
</div>
… but I’m having some problems for getting it all well aligned…
Obviously someone got terribly confused here. There are real examples, like the main page of any forum using phorum’s default skin, which is built using div’s instead of using a table for what is a good table use.
And then we also have the magic word: accessible. That word. Each time it’s used nobody gets its meaning right. You can find discussions like this one:
- this site is not accessible
- … but I can access the site, what’s wrong with it?
… which should start ringing all the bells in our brains but instead of stopping and trying to clarify things before it’s too late, we just contribute to increase the uncertainty and fear with more misunderstandings, like for example these ones which are very common:
- cookies will steal all the data from your computer
- javascript will steal and publish your compromised pictures in flickr
- and tag them
- and geotag them
- and send an e-mail to all your friends
- …
- ok, just joking!
There are multiple sources of confusion for each person, even technically savvy ones. While browsing any website, we get bombarded with lots of acronyms and terms which not only can be completely unknown to us but also increase the probabilities of misunderstanding the rest of the content, because we get confused and our brain is still trying to figure out what those terms mean. Think of things like:
- RSS
- CC
- XFN
- ATOM
- Tag cloud
- XML
- AJAX
- Web 2.0
- W3C
- WSG
- WAI
- etc
Is this something to worry about? I would say definitely YES, specially if we look at some absolutely subjective facts that I’ve come up with:
So what can we do?
I think we, as technologists, need to take a different approach. Although we are responsible for building the www, it’s not us who are going to use it most of the times. Common people are going to enter the content, to play with the systems, to use them, and maybe extend them. If we don’t make ourselves understood and aren’t able to educate them on how to do things properly, we are failing.
We need to think out of the box, putting ourselves in their place, and trying to understand their goals and concerns. And while some of their concerns may look ridiculous to our eyes, we must be patient and not overreact. It’s like the “THIS SITE SUCKS” response to a posting in a forum. It doesn’t help, it’s not constructive, and just produces frustration.
But convincing people to use something abstract is very, very hard. Nobody’s going to take your new and shiny standards-based approach if they have something which works for them and you just have philosophy and words theorising about the benefits of standards and all that stuff. You need to demonstrate movement: be an early adopter, stop theorising and start building practical solutions right now. Show real applications of standards which give real advantage over the old practices.
(Obviously, you’ll need to assume risks but that’s part of the game.)
Finally, the most important rule of all is: be accessible – yes, YOU! Do not scare people away with a cloud of meaningless (for them) words when they come to you, and speak their language, not yours.
————————————————–
Some context:
This was inspired by an article which Ricardo wrote, “The accessibility is inaccessible”. After lots of comments and the discussion which followed outside the blog comments, and reaching a point in which I was almost getting angry I realised there was something very wrong about the whole discussion, and the “Think outside the box” sentence made me understand why me and the rest of the people which was against Ricardo had got it wrong, because we were failing to think in “non developer terms”. Extrapolate it a bit more and you’ve got a fantastic source for a BarCamp talk :-)