I just read this post by Jonathan Stark called 'Mobile Last?’ about his experience at the Rails Rumble hackathon and having come across the same assumptions from various people on a frequent basis, I wanted to write down a few thoughts on it.
In case you haven’t read the article yet, you should really do so, but here’s the quick gist:
The Rails Rumble is a distributed programming competition where hundreds of teams from all over the world have 48 hours to build an innovative web application.
However, there’s one thing that really sticks in my craw: only one of the top ten winning entries was even a little bit mobile friendly. That’s right… 90% of the entries were virtually unusable on even the most modern smartphone. My reaction to this ranged from shock to frustration to sadness.
As I have mentioned, I hear the point of building mobile-first (or even) responsive in general being more work quite often. I find this being the same sort of myth as saying that responsive sites can’t be fast (they can!). It always depends on how you do it and what you’re after. There’s no question that responsive websites can be a lot of work, depending on the level of detail you want to put into it. But for now that’s not the point.
What I have noticed over the last years, is that web design in general has become a lot harder and as we know, especially building responsive sites can be a very daunting task. At the same time, building websites has nowadays become very easy. Maybe too easy.
Today, we have a lot of tools on hand, that make building websites easier. Frameworks and plugins make building websites so easy, people have to think less about what they are doing. The web has become a plug-and-play playground. Are we losing our craft to build for the web?
By doing it this way, understanding underlying paradigms, languages and technologies isn’t mandatory anymore and I believe that this might be part of the problem. Don’t get me wrong, I believe that it’s great that everyone can create for the web. But as developers, we should know our tools, as much inside out as possible. Many people advertise their sites as being responsive; in reality they are just plugged together by using different frameworks which are spitting out 3 different fixed-width screen size layouts that adapt for the assumed 'most common’ screen sizes. I’m not arguing that adaptive design is wrong, but you need to first know the rules before you can break them – meaning to understand what’s right for you.
To get back on the topic of building mobile-first and why it is considered so much more work: only practice makes 'perfect’.
The more you do it, the better you get at it. The more you get used to the underlying thinking, understanding and applying the processes involved in doing things mobile-first over and over, you will gain experience and at some point it will all feel normal to you. And this is when you’ll start to agree that building mobile-first isn’t that much harder than you might initially have thought.
No single framework can teach you how to build great sites, you only learn and become better by understanding the basic skills and concepts first, there's no fast-forward. When you have this down, you can control the tools and not let the tools control you. Once you’re in control, you’ll be faster to apply and work with these techniques & tools and will find building mobile-first responsive sites just comes natural to you.