Reading Notes, July 2020
Article: âThe Comeback of Fun in Visual Designâ
The cynics will say that the pendulum will swing back to flat in a few years and that itâs all part of the cyclical nature of design trends. I donât think the pendulum swings all the way back. Sure, thereâs an aspect of fashion to designâwhatâs in vogue today wonât be tomorrowâbut I think this is more about the scale balancing out than it is the pendulum swinging back. Fun and âjudicious expressivenessâ is back to stayânot because fashions have changed but because it has value. It took us losing it to realise that.
Shameless plug: I helped Michael write those particular lines, so is it cheating to cite this here on my blog? Either way, I agree with Michael and am excited about the reintroduction of fun into visual design.
Article: âAsk an expert: Why is CSS...the way it is?â
An interesting perspective from a technical director at the W3C on how and why CSS came to be what it is today. What struck me were the similarities between building platform features for the web and building just about any other piece of software. Read these excerpts and try to tell me they donât sound exactly like any other piece of software youâve ever worked on:
Once a feature is in place, itâs easier to slightly improve it than to add a new, better, but completely different feature that does the same thing.
This also explains why the first two improvements to specifying color in CSSâa named-color system and a hue-wheel, polar notationâwere adopted over much better, but more complicated, systems proposed at the same time. They were slight improvements, seen as easy to implement.
The idea lost momentum, and we chose the path of least resistance instead.
After a week of mailing list discussion and no suggestions for improvement, the consensus was that my syntax was good enough for now.
Article: âCraft is Cultureâ
A nice articulate piece on craft and culture.
Linux proved that there is no upper limit to how much value you could extract out of a message board or email list, if you got the social dynamics right. The internet made it easy for craft practitioners to find one another, fraternize and argue over methods and best practices, almost like artists. The fact that none of these people had ever met in person, or had any shared culture or life experience, made zero difference. Their craft was their shared culture.
I suspect that within a few years, we (and others) will go through a complete rethink of how hiring works, thatâs re-oriented around craft: how do we celebrate it, how do we communicate the ways that we celebrate it, how do we find people who crave celebration of that very specific thing, and then how do we hire them, wherever they are?
Craft is culture. If you care about craft, youâve done the hard part.
Article: âOver-engineering is under-engineeringâ
Honestly, I just really liked this line because it felt very relevant.
from an outsiderâs perspective the enterprise/startup web developer job looks...mostly dedicated to re-building things the browser already does, just with a âthis is our brandâ corporate spin.
Video: âThe Wet Codebaseâ by Dan Abramov
So what happens is that developers learn best practices from the previous generation and they try to follow them. Because there were concrete problems and concrete solutions that were born out of experience. And so the next generation tries to pass them on. But it's hard to explain all this context and all this trade off, so they just get flattened into these ideas of best practices and anti-patterns.
And so they get taught to the new generation. But if the new generation doesn't understand the trade offs and the reasons they came to these conclusions, they don't have the context to decide when it's actually a bad idea and how far can you stretch this. So they run into their own problems from trying to take these best practices and anti-patterns to the extreme. And so they teach the next generation.
So what to do about it?
I think one way to try to break this loop is just when we teach something to the next generation, we shouldn't just be two-dimensional and say here's best practices and anti-patterns. But we should try to explain what is it that you're actually trading away. What are the benefits and what are the costs of this idea?
Article: âAccessibilityâ
Jeremyâs comments on Open Prioritization, which is an experiment in crowd-funding prioritization of new features in browsers.
when numbers are used as the justification, youâre playing the numbers game from then on.
He is speaking about monetary justification in arguments, but I saw a corollary in data-driven decisions. Once you make a product decision based purely on data, it becomes hard to ever deviate from or change that decision. âBut the data said we should...â is the argument. Or âwhat does the data say?â becomes the leading question on decision making. Data is a cruel master.
He continues:
Youâll probably have to field questions like âWell, how many screen reader users are visiting our site anyway?â (To which the correct answer is âI donât know and I donât careâ
Sometimes I wish more product decisions were made on principles and values like this more than the crutch of data.
If you tie the justification ... to data, then what happens should the data change? ... If your justification isnât tied to numbers, then it hardly matters what the numbers say (though it does admitedly feel good to have your stance backed up)...The fundamental purpose of [your product] needs to be shared, not swapped out based on whoâs doing the talking.