Shawn Wang
100 Bytes of CSS to look great everywhere
An Article by Shawn Wanghtml { max-width: 60ch; padding: 1.5rem; margin: auto; line-height: 1.5rem; font-size: 24x; }
Metrics have a strange hold on the imagination
A Fragment by Shawn WangOnce in place, metrics have a strange hold on the imagination: I've seriously had a CTO carelessly reject my genuine idea out of hand because "it doesn't help OKRs", the same OKRs we previously agreed should not describe all that we do.
I agree with Amir Shevat that we should "do the right things over the easy to measure things."
The Genius of Apple's Name
An Article by Shawn WangIt's easy to have strong opinions about stuff only developers see since user validation is just asking people like yourself. It's much harder to name something consumer facing. Here are some useful rules I gleaned from Apple:
- Two syllables max
- Familiar English word - literal 5 year olds can spell and pronounce it right
- Starts with A - useful for alphabetical sort. Amazon did this too
- Name leads to easy logo/swag/branding ideas
- Evoke aspirational qualities - knowledge, health, nature
Don't Rush to Simplicity
An Article by Shawn WangYou've probably heard this story before:
A businessman finds a fisherman, who is living an idyllic, peaceful life by the sea.
He laughs and tells the fisherman how to get rich instead.
The fisherman asks him what he will do after he gets rich.
He replies that he would retire to an idyllic, peaceful life by the sea.There's supposed to be a deep life lesson in there, but it's always felt insincere to me.
To me it is better to have reached the heights of a career, or suffered an epic defeat, even if I do end up in the same place as everyone else in the end.
To me simplicity is made more beautiful when understood through a long personal struggle with complexity. When I can dance with it, having turned a mighty nemesis into an old friend, and teach others to do the same.
Better to have loved and lost, than never to have loved at all.
80/20 is the new Half-Ass
An Article by Shawn WangThe Pareto Principle is making you lazy.
Let me be more precise: The Pareto distribution is a useful model of power law effects in real life. But people are using it poorly, primarily as an excuse to be lazy.
...People forget that the devil is in the details. The first 20% everyone knows to say on Twitter. The remaining 80% is the ugly, nasty, hacky, unglamorous shit nobody talks about unless you've got time to sweat the details.
Beyond Artboards
The Pursuit of Lossless Design-Development Handoffs.
Can't developers just see?
We designers love artboards. From rough UI sketches to high fidelity mockups, we see ourselves as visual artists expressing ideas on artboards that have a pre-defined width and height. To start a new project, we declare the size of the artboard in the first step.
What about responsive design? Not a problem! We diligently design on three artboards — one for mobile, one for tablet, and one for desktop — with content elegantly adapting, scaling, reflowing, reordering, and reprioritizing. We proudly hand off the artboards to developers while patting ourselves on the back: this is how responsive design should be done.
After weeks of arduous engineering, the product finally comes out. We find, to our great dismay, that some copy is hanging off the grid, the focal point of the hero image has been cropped out, the font sizes don’t even come close to the type ramp. What went wrong? Can’t the developers just see everything on all those artboards?
Nope.
We are the ones who paved the path
No matter how many screen sizes our artboards account for, some user’s browser will break loose from our prescription. With users resizing, rotating, and zooming the screen, new devices stretching, squashing, curving, and cutting (e.g. the speaker area in iPhone X) the screen, the sizes become infinite. Good luck making an artboard for each one of them.
Artboards are a lossy format. Using artboards in a handoff is a lossy process. When we pitch a finite number of plans against an infinite number of situations. We inevitably get in-betweens. Once there are in-betweens, there are unknowns. Once there are unknowns there is guesswork. Once there is guesswork, there are surprises. Engineers take the path of least resistance. We are ones who paved the path.
Until we get there
- As a designer, learn writing HTML, or better still, semantic HTML. If coding up the entire design is too hard, try coding up one component at a time, and not worrying about CSS. The HTML alone will prove invaluable for developers to understand the content structure. In addition, you are forced to optimize the information architecture as you work out the code from content.
- If coding by yourself is out of the question, pair up with the engineer who will receive the design. Work closely with him or her to prototype the design, validate responsive behaviors, and obtain feedback on the feasibility. Don’t call it an iteration until the design has seen played with in code.
- As a manager for large enterprise, co-locate your designers and developers, encourage interdisciplinary learning, understand that each minute spent on coding before the handoff translates to ten minutes saved from changing and fixing issues after the handoff.
- As a stakeholder in the handoff meeting, give the designer a thumbs-up when he or she demos live code running in browsers in place of mockups on artboards. That’s a design champion you are looking at.