Skip to main content Accessibility Feedback

Why mobile-first and progressive enhancement are the right way forward

Last summer, I predicted that 2014 would be the year that mobile traffic cracked the 50-percent mark at PAWS New England.

Just three months into the year, and it’s already happened.

The Numbers #

Over the last three years, traffic has grown by almost 5x. Desktop visitors now account for less than half of all traffic.

All TrafficMobile & Tablet
May 20115,229468 (~9%)
May 20128,5592,035 (~23%)
January 201321,6977,894 (~36%)
August 201315,6216,987 (~45%)
March 201424,95512,917 (~52%)

The Devices #

The PAWS New England website was accessed by 289 different mobile devices in March of 2014. These devices included a good number of high-end smart phones running Apple iOS and Android. They also included a long tail of not-so-smart and feature phones—including a healthy handful of old BlackBerry devices.

And as I discussed in Adopting a dog from your phone, people aren’t just browsing. They’re submitting adoption applications and making donations. Mobile is an essential part of our organization’s success.

Mobile-First and Progressive Enhancement #

Many of the long-tail devices that access the PAWS site have varying levels of support for things like icon fonts, modern JavaScript APIs, and even media queries.

By using a mobile-first code structure, and layering in JS functionality as a feature and not a requirement, we ensure that all users get an experience that’s appropriate to the size of their screen and capabilities of their device. Content for everyone, advanced layouts and features for browsers and devices that support them.

This approach lets us support more users with less testing… and ultimately allows us to save the lives of more dogs.

🚀 Make 2018 the year you master JavaScript! My pocket guides and mini courses are short, focused, and made for beginners. You can do this!

Have any questions or comments about this post? Email me at or contact me on Twitter at @ChrisFerdinandi.

Get Daily Developer Tips