A while later, Luke Wroblewski (opens in new tab) came up with a strategy which allowed developers and designers to collaborate and kick off a project 'Mobile First (opens in new tab)'. When this approach was created, Wroblewski had three reasons for why he felt applications needed to built using this strategy:
- Mobile is exploding
- Mobile forces you to focus
- Mobile extends your capabilities
Both Responsive Design and Mobile First have been revolutionary for our industry, but something is still missing.
If we're trying to deliver content to as many users as possible, across a vast range of screen resolutions and devices, shouldn't device capabilities and user context be one of the main principles? So for example...
- Do you think about the user's connection and the implications of RTT (Round Trip Time) (opens in new tab) on large assets?
- Do you have a strategy in place for delivering assets specific for certain screen resolutions (opens in new tab)?
Mobile may be exploding, but the network isn't changing any time soon. We need to change our approach.
Draining the price plan
If you think I'm just throwing buzzwords around here, I am – and that's part of the problem. RWD and Mobile First have became buzzwords. They have just been interpreted as "We need to have a responsive site, built on a mobile device first, so we can deliver content to everyone who visits our application".
As Tammy Everts wrote recently: 'There are more mobile-optimized sites than ever. So why are mobile pages getting bigger?' Enough said.
Performance First needs to become a mentality, if we're going to deliver applications which don't drain our users' price plan.
You may deliver content to mobile, but how many people will be waiting around for your content (opens in new tab) if performance is not considered?
From my perspective, I'm not sure Mobile First should even be a strategy considered when starting a project. Hold on there cowboy, let me explain...
Buzzwords are killing us
Recently, I have started to realise that agencies have started to add 'Responsive Web Design' as a separate service to their clients. I mean WTF? How can you feel it is acceptable to charge more to a client for a responsive site compared to a static site?
Responsive Web Design is not a separate entity; building in a responsive manner should be your default approach.
This is what I'm saying about buzzwords killing us. Just because RWD is still a relatively new concept does not mean it's an add-on to your process: it needs to be integrated into your current one. Did you add CSS as a separate service when you moved from table layout? I thought not.
Make it measurable
Your users will thank you if you take a Performance First approach. And you will thank yourself, because learning about performance will allow you to gain so much awesome knowledge, which will become helpful in so many areas. It's a win-win for everyone.
Now let me put forward my selling pitch to you dear reader;
- Performance First is measurable. It's advisable you set a Performance Budget when considering this approach. Setting a budget means you have something to adhere to, focus upon. You understand what your overall aim is.
- Performance First will make you more money. Performance is proven to increase conversions (opens in new tab).
- Performance First is the correct approach for the current situation. Mobile is exploding and this is just the start of things. All types of devices are coming, and being able to display assets and content to these devices is key. Performance is absolutely crucial.
I think I've put my point across, and I know what approach I'll be using going forward. If you take anything away from this article, or if only one paragraph sticks in your brain, please make it be this final one...
RWD should be default. Performance is currently a major problem for many people. Addressing it is proven to guarantee a happy business and happy users. Performance First FTW.
Words: Ben Cooper
Formerly of TH_NK (opens in new tab), Ben Cooper works as a front end developer at Clicksco (opens in new tab). His main skills are CSS Architecture and Front End Performance, so working with large codebases suits him down to a tee.