Blog posts
All 166 of my blog posts, most recent first...
2024
Simplifying dates in JavaScript
Replacing jQuery UI datepicker with HTML date input
Code formatting and style guides
A dedicated pull request channel
Converting jQuery to vanilla JavaScript with an AI assistant
Positioning popover elements (pseudo-anchoring)
The connection between communication languages and programming languages
Making a selected value readable when the text is long
When should we use components and when should we just use HTML?
The development burden of user choice
Please stop using flags to represent languages
Why should we care about Web Accessibility?
Rebranding Tips - Part 4 - Typography
Rebranding Tips - Part 3 - Colours
Rebranding Tips - Part 2 - Brand Names
Rebranding Tips - Part 1 - Logos
2023
Pronunciation of Terms in Web Development
How Widespread is Ad Blocking?
Practical Tips to Reduce your Carbon Footprint
WordPress to Eleventy - Part 2, The How
WordPress to Eleventy - Part 1, The Why
Who'd be a front end developer?
UI Performance - Critical Rendering Path Optimisation
2022
CARPET - A Front End Checklist
How I'd Learn Front End Web Development Now
2021
Emmet - Write HTML and CSS Faster
New Image Formats - WebP and AVIF
Transitioning to Modern JavaScript
2020
Learning to Write Code that is Good Enough
Reasons for Developers to Have a Blog
Clicking Off Things to Close Them
2019
Performance Perception Trick: Processing Lists Faster
Should Designers Be Able to Code?
When to Reach for a Framework (and When Not To)
2018
Why Are We Making Web Development So Hard?
Learning Experiences as a Freelancer
Super Fast Tree View in JavaScript
Google Analytics - Why You Should Replace IDs in URLs
Experiment: Font Size vs Colour Contrast
A New Found Appreciation for Images on the Web
Lightning Fast Filtering in JavaScript
2017
Do IT Qualifications Hold Value?
Different Conditional Syntaxes in JavaScript
Why It's Still Worth Learning Bootstrap
Measuring Front End Performance
Front End Performance Enhancements
HTML Semantics - Header or Sidebar?
International box-sizing Awareness Day
iOS vs Android vs Windows in 2017
Opera Neon - First Impressions
What I Learned in 2016 (Part 3)
What I Learned in 2016 (Part 2)
What I Learned in 2016 (Part 1)
2016
When to Hide and When to Disable
Getting Feedback on Codepen Demos
Beautifying Native Form Elements
Star Wars Mini Projects in Codepen
What to Look For in a Web Designer or Design Agency
Google Maps - The Bits They Don't Tell You
Bilingual Equality with a Splash Page
Website Redesign - chrissmith.xyz
Setting Default Styling for Custom UI Components
2015
Questioning the UX of an App I've Never Seen
2014
What I Learned in 2014: Part 3 - The Best of the Rest
What I Learned in 2014: Part 2 - Javascript and Google Maps
What I Learned in 2014: Part 1 - HTML, CSS, Fonts and Images
2011
How to choose the right web host
2010
How to pick the right domain name
Static Website or Content Management System?
2009
Good web design – following conventions
Web traffic through quality links
Monitoring your Marketing with Unique URLs
Don't put all your eggs in Google's basket
Hits schmits! What do Web Statistics really mean?
Need a website? Confused about what you need? Read this.
Online ways to launch a website
Web Development - it's not like building a shed
The new language of Social Media
Marketing through Facebook, for free
Moving from Print to Web in Stages
Amazon - design a 4 year old can use
2008
I want an ecommerce site. Maybe you don't?
eMarketing Award Distinction :)
The Information Hungry Search Box
Website Design - the Finishing Touches
Web Design for the non-designer
Beat the Credit Crunch - Move Online
Content Management Systems explained
Web Design for Different Screen Sizes
Links, link exchanges and strategies
What is a website visitor worth?
Google Chrome - first impressions