Web Dev Links: Front-End Ethics, “Bullshit” Web Design, Building CSS Systems & more

Also: Google’s safe browsing technology, checking out CSS, hating open offices, and your poor time-tracking skills.
Matrix Code 2
(Markus Spiske)

Hidde de Vries considers the ethics in front-end web development. ​“Ethics is important for everyone who makes things for the web: people working on design, product and management. But also for front-end developers. We drive a lot of how modern web products are built and uniquely know of weird details and consequences of products decisions. If ethics is about consequences, we are part of it. So let’s worry about what decisions are made.” (Via Smashing Magazine.)

This presentation by Alex Van Holtz contains a host of useful tips and tricks for Craft CMS. He covers several things that I’ve used here on Opus, such as matrix blocks and adding fields to image assets, but also covers so much more (like handy Twig templating techniques and Craft CMS config settings).

Wired offers an oral history of Google’s ​“safe browsing” technology. “[A]s its search platform spawned interconnected products like ad distribution and email hosting, the company realized its users and everyone on the web faced an escalation of online scams and abuse. So in 2005, a small team within Google started a project aimed at flagging possible social engineering attacks — warning users when a webpage might be trying to trick them into doing something detrimental.”

This cheeky post encourages developers to try out this promising new technology called CSS. ​“CSS solves JavaScript’s styling problems, and elegantly. The question is: are you willing to embrace the change, or are you married to an inferior methodology?”

Nick Heer calls out the bullshit practices that infest many modern websites. ​“In isolation, the few seconds that it takes to load some extra piece of surveillance JavaScript isn’t much. Neither is the time it takes for a user to hide an email subscription box, or pause an autoplaying video. But these actions compound on a single webpage, and then again across multiple websites, and those seemingly-small time increments become a swirling miasma of frustration and pain.”

I’ve designed several CSS systems and frameworks during my time at Firespring, and I love reading how others approach them. I really enjoyed reading Lindsay Grizzard’s piece about building the ​“perfect” CSS system, which then led me to an excellent piece by Lubos Kmetko on the ITCSS approach to organizing and maintaining your CSS. I’ve looked at ITCSS a little bit over the years, ever since Harry Roberts introduced it, but Kmetko’s article has convinced me to give it a go for my next framework.

This excellent Twitter thread by @duckinator lists all of the things you need if you want to do good work with CSS, starting with semantic HTML elements and going from there.

Lazy loading content now has native browser support in Chrome: ​“The goals of this bold experiment are to improve the overall render speed of content that appears within the users viewport (also known as above-the-fold), as well as, reduce network data and memory usage.” The syntax to use this on sites looks pretty simple, so hopefully it’ll become a real thing soon — it’s currently available only in Chrome Canary behind developer flags — and other browsers will begin supporting it, too.

These aren’t really specific to web development, but still interesting nevertheless…

David Heinemeier Hansson really hates the open-office plan. ​“We’re squandering human health and potential on an epic scale by forcing the vast majority of people who dislike or hate the open office into that configuration. Their work deteriorates, their job satisfaction declines. And for what? Because a minority of people kinda like that configuration? Because it’ll look good in a few photos? Because it’ll impress strangers who visit the office?”

Chances are, you’re far less productive during the day than you think you are. ​“When we analyzed over 225 million hours of working time, we found that the average knowledge worker (someone who deals with information for a living, like a writer, developer, designer, or manager), is only productive for 12.5 hours a week. That’s roughly 2.5 hours a day.”