Responsive design

Your Current Website Is Costing You More Than You Think

Your Current Website Is Costing You More Than You Think

We are fixated on launch dates. A website “going live” is treated like a finish line — a moment to aim for, stress over, and eventually celebrate. Budgets get signed off. Deadlines get pushed. Everyone breathes out once it’s done. But nothing meaningful has actually…

Why CSS Clamp Makes Media Queries Less Necessary

Why CSS Clamp Makes Media Queries Less Necessary

Typography often reveals whether a site feels polished or patched together. Resize your browser window and watch the text closely. Does it scale smoothly, or does it jump at fixed breakpoints? For years, developers relied on media queries to manage font sizes across devices. The…

Why OKLCH Is Changing How We See the Web

Why OKLCH Is Changing How We See the Web

Why Are We Still Talking About Colour? For years, web developers have defined colour using systems built for machines, not people. When we write #4A90E2 or rgb(255, 0, 0), we’re describing how a display produces colour — not how a human perceives it. As digital…

Image srcset & sizes with Cloudflare Images

There are various ways to handle responsive images, one of the more time consuming ways is to add images using srcset and sizes. This method has the advantage that you then serve the right image size based on the device resolution. The downside is that you are…

Mobile device detection using PHP and USER-Agent

When designing responsive websites, the main focus is using the template framework which has been chosen for the site, eg bootstrap to create views for different devices. This works to a certain extent but also creates a lot of code bloat which may load unnecessarily.

A little known attribute for HTML image - decoding async

The HTML image tag has a hidden attribute called decoding. When the image tag loads, content below the image has to wait for the image to finish loading before the rest of the content is displayed. With the decoding attribute you have three options which allow…