Responsive Design vs Separate Sites

In a post from a few weeks ago on Signal v. Noise, David Heinemeier Hansson posits that responsive design stops being worth it when designing anything more complex than a blog1.

There’s a point on the trade-off curve where rearranging everything, hiding half the page, and then presenting it as “the same template, just styled differently” is simply not meaningful. Nor is it simple. Nor is it efficient. A one-size-fits-all HTML base document is not a trophy-worthy accomplishment in itself, lest we forget.

I should say at this point that whilst I'm a big believer in responsive design, I'm not dogmatic about it. It has strengths and weaknesses, just like the alternatives do, and you should use whatever approach is best for the task at hand. Certainly, building separate desktop and mobile sites is not an unreasonable approach in 20142.

But in 2016? Or 2018? Even now, the lines between "mobile" and "tablet" and "desktop" are getting blurred with new classes of device and an endless list of screen sizes in the wild.

Sooner or later, it will become almost impossible to draw a line between what the desktop and mobile sites should be, and RWD will be the only practical choice most of the time. We'll look pretty stupid as an industry if, when that day comes, we give a collective shrug and say "we probably should have figured this stuff out earlier".

Yes, it's difficult and there are limits forced upon us by technology. But it's only because we're using responsive design today, even when it might not be the easiest method, that we're finding these limits and making real progress towards removing them.


  1. It wasn't the main point I wanted to make, but this quote betrays a shallow and outdated understanding of RWD — we've come a long way from "hiding half the page". 
  2. So long as you use the same URL structure on both, and send users to the correct path when redirecting, and don't omit content or features from the mobile site, and don't disable zooming, and don't try to force users to install an app. None of these things is a given.