Editor's Pick
Accessibility
Don’t Use Web.dev for Accessibility Info
Web.dev is a site from Google Chrome developer relations that provides content both to evangelize Chrome and to more broadly support the web platform.
However, the accessibility content in many of Web.dev’s articles and posts is problematic.
My experience is a function of either stumbling across posts on my own or developers treating accessibility guidance in one of its articles as gospel — even when it is demonstrably wrong or harmful.
CSS
::backdrop
The ::backdrop CSS pseudo-element is a box the size of the viewport, which is rendered immediately beneath any element being presented in the top layer.
Eternium
Eternium is a simple, no-JavaScript, compilation-free, single-file, opt-in, responsive CSS library for layout and styling elements, especially forms and complex user interfaces. It requires less markup than other libraries. It's currently in beta.
"If" CSS Gets Inline Conditionals
A few sirens went off a couple of weeks ago when the CSS Working Group (CSSWG) resolved to add an if() conditional to the CSS Values Module Level 5 specification.
The accepted proposal is a green light for the CSSWG to work on the idea with the intent of circulating a draft specification for further input and considerations en route to, hopefully, become a recommended CSS feature. So, it’s gonna be a hot minute before any of this is baked, that is, if it gets fully baked.
But the idea of applying styles based on a conditional requirement is super exciting and worth an early look at the idea.
JavaScript
YouTube Embeds are Bananas Heavy and it’s Fixable
YouTube Embeds are like 1.3MB in size with no shared resources between multiple embeds. Using a <lite-youtube> Web Component is more like 100k, does share resources, and sacrifices no functionality.
Recreating the THX "Deep Note" in JavaScript
I recreated the iconic THX "Deep Note" using JavaScript and the Tone.js library. Here's how I did it.
UX
Why toggle switches suck (and what to do instead)
A couple of weeks ago I appeared as a guest on the Complimentary podcast hosted by Katie Langerman and Anthony Hobday. One of the topics that we talked about was the idea of using toggle switches (over radio buttons and checkboxes).
Like I said in the podcast there are definitely some bad reasons to use a toggle switch (they’re cool, different, fun). The so-called good reason to use one being that you need the action to take immediate effect.
But my problem is that this describes the outcome. It doesn’t explain why a particular action needs to take immediate effect in the first place.
International Consumer Protection and Enforcement Network (ICPEN) Sweep finds majority of websites and mobile apps use dark patterns in the marketing of subscription services
A global internet sweep that examined the websites and mobile apps of 642 traders has found that 75.7% of them employed at least one dark pattern, and 66.8% of them employed two or more dark patterns.
Dark patterns are defined as practices commonly found in online user interfaces and that steer, deceive, coerce, or manipulate consumers into making choices that often are not in their best interests.
Both ICPEN and the Global Privacy Enforcement Network (GPEN), who are working together to improve consumer and privacy protection for individuals around the world, published reports outlining their findings today. The ICPEN report can be found here and the GPEN report can be found on their website.
Miscellaneous
The dual nature of seniority in software development
On expectations vs. reality of senior software developer roles, and the unspoken requirement of professional mindreading for navigating politics in senior+ roles.
Breaking Down Silos: The Power of Standardized Technical Interviews
When I first joined Shutterstock, I quickly noticed a peculiar phenomenon. Engineers who had been with the company for years, proving their abilities time and again, still had to undergo full interview loops when applying for internal transfers. It was as if their track record within the company counted for nothing. This situation wasn't just inefficient; it was demoralizing for the employees and created unnecessary friction between teams.
This scenario is far from unique to Shutterstock. Many engineering organizations face significant challenges due to non-standardized interview processes and/or the absence of formal, detailed leveling frameworks. The consequences of this "nonsense" can be far-reaching.
To succeed, learn to be an asshole
To succeed, you need to know how to be a conman. It is not sufficient to be pleasant. You need to know when to raise your voice and when to make someone cry. And above all, you must know how to be an asshole and still decide not to act like one. You have to choose to not to use people.
Be the type of successful person whom people would want to be around.