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.
A Plea for Lean Software
Software's girth has surpassed its functionality, largely because hardware advances make this possible. The way to streamline software lies in disciplined methodologies and a return to the essentials.
Measured by the number of its features
A primary cause of complexity is that software vendors uncritically adopt almost any feature that users want. Any incompatibility with the original system concept is either ignored or passes unrecognized, which renders the design more complicated and its use more cumbersome. When a system's power is measured by the number of its features, quantity becomes more important than quality. Every new release must offer additional features, even if some don't add functionality.
Essential vs. nice to have
Customers have trouble distinguishing between essential features and those that are just "nice to have." Examples of the latter class: those arbitrarily overlapping windows suggested by the uncritically but widely adopted desktop metaphor; and fancy icons decorating the screen display, such as antique mailboxes and garbage cans that are further enhanced by the visible movement of selected items toward their ultimate destination. These details are cute but not essential, and they have a hidden cost.
/
Increased complexity results in large part from our recent penchant for friendly user interaction. I've already mentioned windows and icons; color, gray-scales, shadows, pop-ups, pictures, and all kinds of gadgets can easily be added.
Dependence is more profitable than education
A customer who pays—in advance—for service contracts is a more stable income source than a customer who has fully mastered a product's use.
Customer dependence is more profitable than customer education.
What I find truly baffling are manuals—hundreds of pages long—that accompany software applications, programming languages, and operating systems. Unmistakably, they signal both a contorted design that lacks clear concepts and an intent to hook customers.
The most rewarding iterations
Initial designs for sophisticated software applications are invariably complicated, even when developed by competent engineers. Truly good solutions emerge after iterative improvements or after redesigns that exploit new insights, and the most rewarding iterations are those that result in program simplifications.
Evolutions of this kind, however, are extremely rare in current software practice—they require time-consuming thought processes that are rarely rewarded. Instead, software inadequacies are typically corrected by quickly conceived additions that invariably result in the well-known bulk.
Never enough time
Time pressure is probably the foremost reason behind the emergence of bulky software. The time pressure that designers endure discourages careful planning. It also discourages improving acceptable solutions; instead, it encourages quickly conceived software additions and corrections. Time pressure gradually corrupts an engineer's standard of quality and perfection. It has a detrimental effect on people as well as products.