Jay Oram
Head of Dev
12 Aug 2024
ActionRocket is known for pushing the boundaries of what is possible in CRM, especially email. But as a digital agency we produce multi-channel and end to end content for our clients, including websites and software online. I wanted to outline our approach to support and testing, as it's not something a lot of agencies talk about, plus we get questions like - "Do you support Chrome?"
What browsers should you support in 2024?
Well, all of them…
huh? How is that possible?
After our first few sites, I was tasked with coming up with a support document, but having not previously done one, I started as every web developer does and asked Google. But all of the results I got didn't really satisfy or meet what we did at ActionRocket - "We support Chrome version 120.0", "We dropped support for Internet Explorer", "We don't implement any new features - we only use the basic long standing elements of the web".
Then I read some blogs that actually agreed with what we do:
From Adactio: Baseline progressive enhancement
From Clearleft: A modern approach to browser support
What does your support document say?
"Previously agency support documents (all agencies, not just ActionRocket) focused on which browsers they support, this has become impossible with the rate at which browsers now update. Therefore we support developing a site starting with ‘Baseline’ support."
The web is always evolving and we focus on users over tech so all of our work is:
Accessible
Responsive to your device and preferences
Does what the user wants without tech getting in the way!
To meet the above requirements, we start with the 'Baseline' and work up from there - The Baseline is a set of features that all major browsers support, back by Apple, Google, Microsoft and Mozilla, the brands behind the most popular browsers, Safari, Chrome, edge and Firefox. It is a list of web features that have all been implemented across the core versions, the latest features are classified in two ways:
Newly available: The feature becomes supported by all of the core browsers, and is therefore interoperable.
Widely available: 30 months has passed since the newly interoperable date. The feature can be used by most sites without worrying about support.
We start all of our web projects supporting the 'Widely available' features. We then add any 'Newly available' features when applicable.
The resources we use to establish if a feature has Baseline support and to see if we should start building with it include
Read more about Baseline:
But some cool new things are not in 'Baseline' yet - so does that mean we can't try fun new things?
Progressive enhancement for the Win!
Web developer and brands all love the shiny new stuff - we can't help it. But as a business we need to make sure everything works, all the crucial, critical information is there and that we are not distracted by something that may not work for everyone.
Carrying over what we are experts in for email, we start with the crucial information, the must-haves in an email, then add the cool bits on top where supported, based on a clients users - if everyone uses a Mac and opens in Apple Mail, we can use the latest CSS to make an interactive email, but we will design it to look great and work in Microsoft Outlook for Desktop as well.
For websites we do the same, we use 'Baseline' as the baseline(!) of the project and anything new or experimental we add specific targeting, such as feature detection using javascript or CSS to only show to users that can see the enhancements.
Testing
How can you reliably test everything works with a moving target? In our testing document we outline that we specifically test in the most recent Operating System and use the latest 'stable' version of a browser.
A stable browser version is what most users see, they are released to the general public for use (not testing) and are supported by the company releasing it.
That test means it works for most users of a site. But we also offer to test in specific browsers depending on a brands user base. So our testing looks like:
Chrome, Edge, Firefox, Safari - Latest stable version.
Optional - Opera, QQ, Baidu, Kai OS Browser - but let us know if there is another browser you would like us to test.
After the above is tested and QA complete, we will add additional testing for specific progressive enhancements. As these will be detailed in the project plan and build notes.
Summary
We no longer support or test by current versions of browsers, but start with accessible HTML, use 'Baseline' supported web features, then progressively enhance with feature detection for any new or experimental web features.