CSS Utility Classes and “Separation of Concerns”

Haha, now this sounds all too familiar: Over the last several years, the way I write CSS has transitioned from a very “semantic” approach to something much more like what is often called “functional CSS.” The author lists 5 stages: Phase 1: “Semantic” CSS Phase 2: Decoupling styles from structure Phase 3: Content-agnostic CSS components …

Removing that ugly :focus ring (and keeping it too)

Update 2021-01-28: Nowadays we can use :focus-visible for this; No JavaScript needed! David Gilbertson: You click a button and see a blue border telling you that you’ve clicked on something that you know perfectly well you’ve just clicked on — because you just clicked on it. So it’s clear: the outline must go. But hold on a …

Fastlane Screencast: Integrate fastlane into your Ionic Framework build process

fastlane are an awesome bunch of tools. Josh Holtz has recently started Fastlane Screencast, a website with videos/tutorials for explaining and implementing built-in fastlane tools, fastlane actions, third-party fastlane plugins, continuous integration, and anything else that fastlane can possibly do. The first video covers integrating fastlane into your Ionic Framework build process: A second tutorial …

When Twitter Refuses to Delete Abusive Tweets …

Shahak Shapira: Over the last months, I reported about 300 hate tweets. Twitter failed to delete most of them, so I sprayed them in front of their office. Nice guerilla action. Hopefully this will now get Twitter’s attention. Sidenote: Dustin Curtis recently tweetranted (ranttweeted?) a few things Twitter could do to improve. Of course the …

Basecamp Employee Handbook

For over 10 years, we didn’t have a handbook. In those 10 years, when a new person joined the company, they were expected to figure things out for themselves. But when we grew from a company of 10, 20, 30 employees to a company of over 50, our “introduction by immersion” style stopped working. New …

Expo – Easily build apps with React Native

From time to time I’ve seen good things about Expo fly by on the Twitters, which piqued my interest: Expo is a set of tools, libraries and services which let you build native iOS and Android apps by writing JavaScript. Expo apps are React Native apps which contain the Expo SDK. The SDK is a …

Using Intersection Observers

With the Intersection Observer coming to Firefox, a nice article covering it appeared on Mozilla Hacks. The IntersectionObserver interface of the Intersection Observer API provides a way to asynchronously observe changes in the intersection of a target element with an ancestor element or with a top-level document’s viewport. To use it, create a new instance …

GridBugs – A Curated List of CSS Grid Interop Issues

Like Flexbugs, but then for CSS Grid Layout: Inspired by Flexbugs this list aims to be a community curated list of CSS Grid Layout bugs, incomplete implementations and interop issues. Grid shipped into browsers in a highly interoperable state, however there are a few issues – let’s document any we find here. By Rachel Andrew …