Search
10 Web Performance Audit Tips for Your Next Billion Users in 2019: TTI: Time to Interactive
21.5.2019
First Meaningful Paint is close to useless because it’s an illusion. It’s a decoy to keep the user from bouncing off your website while we get them the real thing. When does the user get this r
Iterating a React Design with Styled Components
16.5.2019
In a perfect world, our projects would have unlimited resources and time. Our teams would begin coding with well thought out and highly refined UX designs. There would be consensus among developers about the best way to approach styling. There’d be one or more CSS gurus on the team who could ensure...
Evergreen Googlebot
16.5.2019
I've heard people say that the #1 most exciting and important thing that came out of Google I/O this year was the evergreen Googlebot:
Today, we are happy to announce that Googlebot now runs the latest Chromium rendering engine (74 at the time of this post) when rendering pages for Search. Moving...
A Deep Dive into Native Lazy-Loading for Images and Frames
15.5.2019
Today's websites are packed with heavy media assets like images and videos. Images make up around 50% of an average website's traffic. Many of them, however, are never shown to a user because they're placed way below the fold.
What’s this thing about images being lazy, you ask? Lazy-loading...
Making the Move from jQuery to Vue
3.5.2019
As someone who has used jQuery for many. years and has recently become a Vue convert, I thought it would be an interesting topic to discuss the migration process of working with one to the other.
Before I begin though, I want to ensure one thing is crystal clear. I am not, in any way whatsoever...
Perceived Velocity through Version Numbers
30.4.2019
HTML5 and CSS3 were big. So big that they were buzzwords that actually meant something and were a massive success story in pushing web technology forward. JavaScript names their big releases now too: ES6, ES7, ES8... and it seems like it will keep going that way.
But HTML and CSS are done with that...
Make Browsing GitHub Easier and Faster with Octotree
22.4.2019
GitHub is an amazing tool that many of us developers use on a daily basis. While GitHub has many great features, one thing that I've always found it to lack is browsing speed. They've got keyboard
Tabs: It’s Complicated™
19.4.2019
I've said before one quick and powerful thing you can learn as a front-end developer just getting starting with JavaScript is changing classes.
const button = document.querySelector(".my-button");
const element = document.querySelector(".content");
button.addEventListener("click", function()...
Faking env() to Use it Now
18.4.2019
There is already an env() function in CSS, but it kinda came out of nowhere as an Apple thing for dealing with "The Notch" but it has made it's way to be a draft spec. The point will be for UAs or authors to declare variables that cannot be changed. Global const for CSS, sorta.
That spec doesn't...
The Ultimate Guide to JavaScript Algorithms: Integer Reversal
26.3.2019
Reversing an integer usually comes across as an easy thing to do for most developers. However, on closer evaluation, it gets a little tricky due to certain requirements and constraints involved. Th
Using <details> for Menus and Dialogs is an Interesting Idea
21.3.2019
One of the most empowering things you can learn as a new front-end developer who is starting to learn JavaScript is to change classes. If you can change classes, you can use your CSS skills to control a lot on a page. Toggle a class to one thing, style it this way, toggle to another class...
Productivity Tips I've Learned Building Scotch.io
19.3.2019
Productivity is a marathon. The more days and years I put into this coding thing (or anything like fitness for that matter), the more I realize that consistency is far more critical than bursts
The Whole Spreadsheets as Databases Thing is Pretty Cool
18.3.2019
A spreadsheet has always been a strong (if fairly literal) analogy for a database. A database has tables, which is like a single spreadsheet. Imagine a spreadsheet for tracking RSVPs for a wedding. Across the top, column titles like First Name, Last Name, Address, and Attending?. Those titles...
People Digging into Grid Sizing and Layout Possibilities
15.3.2019
Jen Simmons has been coining the term intrinsic design, referring to a new era in web layout where the sizing of content has gone beyond fluid columns and media query breakpoints and into, I dunno, something a bit more exotic. For example, columns that are sized more by content and guidelines than...
Perfect Image Optimization for Mobile with Optimole
14.3.2019
(This is a sponsored post.)
In 2015 there were 24,000 different Android devices, and each of them was capable of downloading images. And this was just the beginning. The mobile era is starting to gather pace with mobile visitors starting to eclipse desktop. One thing is certain, building...
Downsides of Smooth Scrolling
11.3.2019
Smooth scrolling has gotten a lot easier. If you want it all the time on your page, and you are happy letting the browser deal with the duration for you, it's a single line of CSS:
html {
scroll-behavior: smooth;
}
I tried this on version 17 of this site, and it was the second most-hated thing...
console.log() Faster with Turbo Console Log
11.3.2019
I've recently been live-coding on Twitch and the thing that I've loved about it is all the users in the chat that are helping me out by giving me the
Extracting Text from Content Using HTML Slot, HTML Template and Shadow DOM
6.3.2019
Chapter names in books, quotes from a speech, keywords in an article, stats on a report — these are all types of content that could be helpful to isolate and turn into a high-level summary of what's important.
For example, have you seen the way Business Insider provides an article's key points...
CSS Triangles, Multiple Ways
5.3.2019
I like Adam Laki's Quick Tip: CSS Triangles because it covers that ubiquitous fact about front-end techniques: there are always many ways to do the same thing. In this case, drawing a triangle can be done:
with border and a collapsed element
with clip-path: polygon()
with transform: rotate()...
Welcome to My New Office
19.2.2019
My first professional web development was at a small print shop where I sat in a windowless cubical all day. I suffered that boxed in environment for almost five years before I was able to find a remote job where I worked from home. The first thing I told myself when leaving that first...