Why I’m not that crazy about mobile-first

March 9th, 2014

It comes down to one simple reason: I’ve never (literally never) had a project where mobile came first.

I’ve never had a designer give me a mobile layout before a desktop layout.

I’ve never had a client mention mobile anything in a first meeting (I always bring it up though).

I’ve never had a project manager or producer who wanted to talk mobile in the early stages of a project.

In the real world, at least the world of small business websites, non-profit websites, and blogs, mobile-first doesn’t exist, except as a mere technique in the developer’s workflow.

Mobile-first proponents complain that mobile development is often an afterthought, tacked onto a project. I think, in part, they are right. Its the best kind of afterthought. A mobile theme is always a value-added item, that the client expects to pay for, and is generally happy to do so. If there is a designer, I usually get the mobile layout after the desktop is all done. The reason this is not a problem is that I’ve already given the site a well structured (probably floated) layout. Its not that hard to reduce it to a single column with a few media queries. If the site is coded well from the beginning, adding mobile styles at the end is simple.

Mobile back-end code can also be added easily, if different content is needed on the mobile layout, by using conditional PHP. Its not that hard. Making a javascript driven mobile menu is a certain amount of work, with lots of fussy tweaking, but menus always require tweaking. If you need to style two different menus it will take some time, but it makes no difference which one you do first.

So, maybe mobile-first is just a matter of CSS coding technique, simply a way to structure a stylesheet. I have heard that a mobile-first stylesheet is simpler, with less duplication of code. If that were true, I think it would be a good reason to use a mobile-first stylesheet. I just don’t see it. I like to try to assemble the desktop theme as efficiently as possible (I hate duplication of code), and then reduce it to a tablet theme, and then a mobile theme. I don’t think this requires more (or less) code than building it the other way around.

Leave a Reply

Your email address will not be published. Required fields are marked *