Designing honestly for the web
I’ve been working on websites for more than half my life. During this time I’ve witnessed designers, developers and businesses designing dishonestly over and over again.
There are many aspects of dishonest design. This article hones in on just one of these. The aspect that ignores the platform you are designing for. In the context of the web, I call it “bending the web”.
I must admit, I have been known to bend it on more than a few occasions myself over the course of my career. I think that’s okay though because only by experiencing or reading about the mistakes we make, can we avoid them in the future. Here are some examples of how I’ve bent the web:
- I used tables for layout.
- I’ve given submit buttons the hand cursor.
- I’ve made a custom looking file input to make it look “nicer”.
- I have hidden labels to “declutter” UI.
- I have used a select box for navigation.
A Dao of Web Design written by John Allsopp over one and half decades ago, gives us some timeless insights that tell us why this happens and continues to happen today.
“If you’ve never watched early television programs, it’s instructive viewing. Television was at that time often referred to as “radio with pictures,” and that’s a pretty accurate description. Much of television followed the format of popular radio at that time.”
And just like the relationship between television and radio, there is a relationship between print and web.
“In print the designer is god. An enormous industry has emerged from WYSIWYG, and many of the web’s designers are grounded in the beliefs and practices, the ritual of that medium. As designers we need to rethink this role, to abandon control, and seek a new relationship with the page.”
We don’t like change and we can’t let go of control. We take our long, deep-rooted belief and experience in a previous medium, and try and make the new one conform to it, however misguided and problematic it is.
When the web came along, we believed we should have the same visual control as we did in print design. Today, it seems, we still have this same, misguided belief. Today we don’t just think it should behave like print, but also more app like whatever that means.
But what does this have to do with dishonest design? When we bend the web we are designing dishonestly. And when we design dishonestly we tend to design an unfriendly, often unintuitive experience — which can actually break the inherent features of the web. The very same features which make the web so simple, so powerful, so amazing.
And truth be told, it comes down to ignorance. I was ignorant. You have been ignorant. The question is are you still?
The web and the web browser gives us an amazing set of tools, not to be trifled with. Elements such as links, buttons, pages, forms, back buttons, bookmarking, images, videos, headings, paragraphs and focus outlines etc.
Do you understand what all these elements mean to the browser? And how different browsers utilise these elements to the benefit of the user? Or do you see visual manifestations of these features and try to change them or trample over them?
Do you look at what other websites do on your Macbook Pro and iPhone 6 and think “if it’s good enough for them, it’s good enough for me”? Do you sometimes design without a thought for how the browser does it?
Sometimes a solution works well for a mobile app, but works terribly on the web. I think infinite scroll is an example of this.
Have you ever used, designed or built a drop down select menu without a submit button? I have. When you select an option, the page refreshes and this simple bending comes with a host of problems for the user. The point is, a select box is meant to be used for input, not for navigation; that is what links are for.
Another useful thing about the web, is that browsers and devices get better all the time. When we design honestly, the experience gets better and better all by itself with zero effort from us — for proof just interact with a form on your phone and notice how it helps you do that.
Designing dishonestly not only costs the user, but costs the developer time and the business money. You might get away with the odd bit of dishonest design, but why would you want to?