How to plan better products while making friends with devs
By: Julia Factor
Tags: Product Design, UX, Teamwork, Design

How to plan better products while making friends with devs

Bring developers into your design process and use technical boundaries as a tool to create better user experiences

I often hear designers complain about how the development didn’t do justice to their prototypes, how the transitions aren’t smooth enough and the animations appear too late or too slow. Every time, I can imagine the moment of hand-off, when the developer sees the roller-coaster the designer had planned, and after failing to find the hoops to jump through to implement it somehow, struggles to explain why it’s technically impossible to recreate. To avoid frustration on both sides, I think the what-can-or-can’t-be-done talk should happen at an early stage of design. Setting expectations and boundaries that can help the designer plan a feasible experience that the developer can implement to the letter.

I once read about how clear boundaries give kids a space to explore and channel their creativity within–that way, they waste less creative energy on testing the limits. This made sense to me, not just in the context of kids, but in the world of collaboration among grown-ass designers and developers, too.

Don’t hate me, but function should come before form

As product designers, our job is to create good and whole experiences that provide value. Yes, even above a sparkling UI. Part of that value is a working product. What does it matter how amazing a transition is, if it never gets developed? What good does a whimsical animation do if the overall experience sucks? No amount of cute will save a faltering product. That’s why we, as designers, need to understand our limitations and define the boundaries before approaching any task. This way we can still create wonderful experiences, but ones that can actually be implemented and perform well.

Explore the boundaries

Before I begin designing a flow or a feature, as part of my research and planning, I always consult with my developers first (I use the term ‘my’ because I love’em and I’m theirs as much as they are mine). If possible, as early as the spec itself. I ask about loading times, errors or time-outs I should anticipate, performance and bundle sizes, services we use and how they connect to each other, or anything else they think I should take into account.

I often throw ideas in the air and they tell me what can or cannot be done, how complex or time-consuming these ideas are, and it’s not rare for them to suggest their own solutions, based on my ideas, that actually work better than my initial suggestion. By the time we finish, I often have 2–3 good and feasible ideas I can start working on.

Accept limits as a tool

Boundaries are often perceived as the enemies of creativity. Some may claim that letting technicalities limit you is like shooting your creativity in the foot. And while I won’t deny there might be something to that, I would argue, strongly, that shooting for the stars isn’t all that great either. You obviously want to have the freedom to be as creative as possible, but within the realm of reality. That’s why the boundaries need to be set together, as a team.

Set boundaries

The boundaries should adhere to two basic rules:

A) Being clear, for the designer to know when their design becomes too complex.

B) Being broad enough for the designer to have room to play around and explore creative solutions that, in contrast to many people’s beliefs, may include cool transitions and animations.

Create mind blowing experiences

Once you understand the constraints and with the boundaries in mind, you can unleash your creativity and think up crazy experiences that can actually be developed and be seen by users just as you planned and intended. Good luck, and have fun 🎉

The cherry on top

Other than the obvious benefit of creating experiences that will actually see the light of day, you’ll get a healthy relationship with the developers. First, you learn each other’s terms and language, thus improving communication. Second, there’s the element of Quid pro quo. When the developers know you take their needs into consideration, they will do their best to bring your designs into life, as pixel perfect as you intended, no matter the time or effort they’ll have to put into it. I swear. I’ve seen this happen with my own two eyes.