Talking about responsible design may seem futile, but I think it’s important to understand that crafting compatible and truly usable web applications for a broad target audience isn’t just about getting the technical solutions right.
Web design should be more than just choosing an approach to squeeze things into different sized screens. It should be about finding solutions that make the product work the way the end user needs it to work, not as the technology, the connection speed or device limitations dictate.
Designing responsibly is more or less like drinking responsibly. You have to have a game plan, be aware of the limitations, and know how to spot and avoid obstacles.
The web is fragile, even more so than we’d like to think. The infrastructure isn’t keeping up with the increased data consumption. It seems quite possible that the future of web happens with much slower connections and higher latencies than we would prefer.
Unpredictable conditions and the endless amount of different devices create a lot of pressure for design and implementation. However, crafting web services isn’t just about supporting multiple devices and pondering all possible cases of user behaviour. Instead of trying to force the users to behave in a perfectly predictable way, the design should be built around a core experience that is delivered regardless of the variables.
It takes time and effort to do research, to get to know the limitations, and to learn about the possibilities. Studying and validating real use cases with real end-users surely helps nailing down the most important features that eventually form the core of the service. Stakeholder interviews and workshops will reveal the most beneficial features to focus on. Prototyping things early on ensures that the design is feasible.
The often borrowed quote from Eliel Saarinen carries great wisdom. Design should always be measured by the context, whether it’s architecture, industrial design or web design. What makes this guideline so troublesome for web is that the context isn’t always predictable. After all, a web service isn’t tangible or tied to its context by nature.
The only measurable context can often be the target group’s needs and expectations. Getting to know the end-users, their frustrations and hopes, and the environment they live in, becomes the next larger context for web design.
The easiest way to avoid failing expectations is to focus on content delivery. A minimum viable product should always be capable of delivering the most important content. From that point on, the user experience can be progressively enhanced. Better cross-device content parity often leads to more consistent user experience, but maximised content uniformity doesn’t necessarily help to improve usability. After all, we use laptops, tablets and phones for different purposes, in different kinds of environments.
Validate each core feature through the context of use and use adaptive design approach when applicable. There’s no point in making every feature work differently in different devices just for the sake of it. But features should differ if it makes the service match the context of use better.
Perhaps the most common manifestation of adaptive approach is to offer a subset of features for mobile users. This approach works as long as the offered features are carefully selected and actually make the mobile user experience more efficient. A lighter alternative is to switch some of the most visible navigation components according to screen size. For example a login feature could be changed to location search feature in situations where knowing your location on the go brings greater value than logging in.
Avoid designing things alone, or with people you don’t trust or feel friendly with. An open-minded atmosphere makes it easier to communicate even sensitive matters in a non-offending way, and thus prevent small issues from developing into major problems later on.
Always share your ideas with someone for a sanity check. Sometimes, you can get lost in the design while being too stubborn to admit it. It is important to swallow your pride, but still maintain a drive for perfection. Collaboration and thought sharing prevents mistakes, sparks new ideas and enables innovations.
Make sure that you and everyone else in the team understands the goal. A successful and fun project can feel like a triumph, but it’s worth nothing if it doesn’t hit the real target - making the product successful. In software business, hitting a home run means that the results can be measured over time. Only results exceeding the set targets will get you home.
The web design community has developed many methods to tackle the problems mentioned - responsive and adaptive approaches in front. What bothers me when discussing these approaches is that they imply a selection between one or another. Projects and scopes vary, as do teams and skills. I see no reason to fixate on one approach, but to benefit from the advantages of each one instead, and adjusting them to the situation in hand.
Adaptive tactics can be used to improve the design where purely responsive methods fall short. A full-blown navigation hierarchy might be just the right thing to show in desktop views. Hiding all of them behind a drawer menu in mobile views might not be. Delving into most essential use cases in context will provide the answer.
Learning about the pros and cons of different approaches expands your toolkit and adds flexibility to your skills. The responsibility to make the best of every project is, after all, yours and yours only.