Level of Effort
I’m always amazed by the level of effort involved in web design/development. Adding a simple button to a UI can translate to weeks or even months of work. Behind every little bit of UI is a giant iceberg of technology and effort.
But adding a simple button in a static design tool is trivially easy.
Simple in Sketch; hard or impossible in code
Designers can freely and easily move UI elements around in space, which becomes especially interesting when working with “mobile” “tablet” and “desktop” versions of a comp. “Hmmm, this doesn’t fit here, I think I’ll just move this all the way down here on “mobile”. It’s all so easy to shuffle things around.
But decisions like that lead to nightmare scenarios for developers because these static design tools don’t factor in critical concepts like source order and all the sophisticated layout methods CSS provides. Nevertheless, these comps get packaged up and sent over to developers as “requirements”.
REQUIREMENTS. What an absolutely terrible word. “As per the requirements…” It sounds so authoritative. So final. But at the end of the day it’s just some designers or BAs making some calls (maybe informed by plenty of research, maybe not) and rolling with them.
Developers are often relegated to the role of consuming requirements/red-lines/specs as holy gospel, digesting them, and ultimately shitting out some code. That sounds vulgar, because it is. It’s a crude, disrespectful process that treats human beings as cogs in a machine.
I’ve witnessed so many developers doing absolutely insane backflips in order to meet these “requirements”, which often get handed to them in the form of Zeplin links or static comps in one form or another. Again, these comps don’t fully reflect the nature of the medium, and developers are tasked with filing down a square peg enough to shove it into a round hole. Gotta tick that box. Gotta move that ticket forward in the flow. It’s depressing.
What to do instead
We need to say “death to the waterfall” and quit handing off Zeplin links as gospel. We need to make frontend designers equal partners in the design process. Developers need to snap out of it and demand to be a part of the design process instead of blindly building out bad “requirements”.
This isn’t just me grandstanding; it’s common sense. A more collaborative process saves an absurd amount of time, money, and anguish. Frontend developers can not only help better determine level of effort of any design solution, but offer suggestions, alternatives, and solutions that better follow the grain of the web. “If we move this from here to here, we can build it out in 2 hours. But if it stays the way it is, it will take about 2 weeks to implement.” Repeat that a couple dozen times and you just saved yourselves months worth of unnecessary work.
Rather than chucking Zeplin links at developers, it’s possible to practice the Hot Potato Process that Dan and myself practice and coach teams to do. If you want to see that in action, me, Ian, and Dan just practiced that on stage at Smashing Conf in NYC.
Making things in December timeline:
- Day 1: recorded new song
- Day 2: wrote blog post called Music and Web Design
- Day 3: assembled a jeweler’s bench and recorded a Chaka Khan song
- Day 4: animated atom SVG
- Day 5: jamming with Ian
- Day 6: wrote blog post called Doing It Right
- Day 7: animated border Codepen
- Day 8: decorated a Christmas tree
- Day 9: wrote blog post called Level of Effort