A Book Apart: Responsive Web Design By Ethan Marcotte

Posted January 18, 2012 at 10:31 AM by Ben Nadel

Tags: Books

Last weekend, I read Mobile First by Luke Wroblewski. It was a compelling read that talked about the broader benefits of designing to the constraints of a mobile experience. At the end of his book, he suggested that Ethan Marcotte's book on Responsive Web Design would be a perfect compliment to the "mobile first" approach to web development. And so, with a long train ride this past weekend, I picked up Responsive Web Design and gave it a read.


 
 
 

 
Responsive Web Design by Ethan Marcotte review by Ben Nadel.  
 
 
 

"Responsive web design," has become a pretty popular topic on Twitter and in the "blogosphere." And yet, before reading Ethan Marcotte's book, I wasn't quite sure what it was. I knew that it had to do with accommodating a variety of screen resolutions; but other than that, I wasn't sure - I've been historically slow to learn about anything that appears to be geared towards mobile development.

The biggest question in my mind, going into the book, was whether or not, "responsive web design," was supposed to be a replacement for mobile web site development. I have very mixed feelings about what I want a mobile experience to be. As the owner of an Apple iPhone, I tend to like having the "desktop" version of websites with the ability to zoom and pan the touch-screen. That said, I don't actually do a whole lot of reading on my iPhone - it's used primarily for quick look-ups, email, and apps (Twitter, Chase, NPR, This American Life, etc.).

After reading Mobile First by Luke Wroblewski, however, I definitely found myself enjoying the idea of creating websites optimized for the kinds of actions that mobile users might typically perform. That said, I have also many times found myself frustrated that I couldn't access some desktop-version piece of functionality from my mobile device (I'm looking at you, Twitter).

Ok, so to frame the rest of the conversation, let's first answer the question as to whether or not "responsive web design" is supposed to be a replacement for mobile web development. For this, I'll defer to a passage in Ethan Marcotte's book:

But most importantly, responsive web design isn't intended to serve as a replacement for mobile web sites. Responsive design is, I believe, one part design philosophy, one part front-end development strategy. And as a development strategy, it's meant to be evaluated to see if it meets the needs of the project you're working on. Perhaps there's a compelling reason to keep your site's desktop and mobile experiences separarte, or perhaps your content would be better served by a responsive approach. Only you and your users know for certain.

While I agree with mobile web designers who say that certain users of certain sites deserved different content, I think the reverse is also true: many sites can benefit from serving one document up to multiple contexts or devices. And those are perfect candidates for a responsive approach. (Page 151 of 217)

Ok, so "responsive web design" is not intended to be a replacement for mobile website development; but, it certainly can be depending on the type of website you are creating.

So, what is "responsive web design?" It's basically a combination of flexible layouts and CSS (Cascading Style Sheets) media queries that can be used to change the rendering of existing HTML based on the dimensions of the current browser window. It's not about serving up different content to different devices; rather, it's about serving up a single repository of content and then using different stylesheets for different devices and resolutions.

To me, this sounds complicated. Fortunately, Ethan Marcotte does an excellent job of breaking down the concept into simple topics and then explaining how each aspect works. As an example, he took the complexities of using EM for font-size and percentages for width / margin / padding and created a simple mathematical formula to follow:

target / context = result

He also advocates putting the above equation directly into the comments of your stylesheet:

font-size: 1.5em ; /* (24px / 16px) */
padding: 0px 4% ; /* (20px / 500px) */

This allows the developer to mentally model the display based on a more tangible pixel-based system while defining the actual formatting using flexible units of measurement.

It's tips like this that turn the big hairy topic of responsive web design into something that feels quite manageable. Even to someone like me that uses "px" to define everything!

At first, the conversation takes a "scale down" approach to understanding responsive web design - that is, how can we take our desktop version and scale it down to fit smaller screens. After the concepts of responsive web design are broken down and examined, however, Marcotte goes on to explain that a "scale up" approach is probably the most beneficial.

When using a "scale up" approach to responsive web design, we get the benefits of a "mobile first" thought process and we don't have to worry about device capabilities. If a particular device doesn't support CSS media queries - and it lacks the ability to use JavaScript work-arounds - it doesn't matter; since a mobile-first approach can work on all devices, we are guaranteed to have a usable, functional experience no matter what environment the page is being rendered in.

Responsive Web Design by Ethan Marcotte really does a great job of taking an intimidating topic and making it quite accessible. I have yet to put any of this into practice; but, I'm definitely looking forward to using responsive web design as a way to help "future proof" website development. Definitely a recommended read.




Reader Comments

Jan 18, 2012 at 10:56 AM // reply »
1 Comments

I am doing a project involving responsive design, check out getskeleton.com. So far I am enjoying working with it.


Jan 18, 2012 at 10:58 AM // reply »
11,238 Comments

@Adam,

Thanks, I'll check it out. I don't have much experience with grid systems (in general). Definitely looking forward to seeing what kind of wisdom they can bring to the table.


Jan 19, 2012 at 11:47 AM // reply »
1 Comments

Thanks for the info, definitely gonna check it out!


Jan 20, 2012 at 3:29 AM // reply »
2 Comments

Good informative stuff defined


Jan 24, 2012 at 10:34 AM // reply »
11,238 Comments

@Steve, @Janey,

Enjoy!


Jan 25, 2012 at 5:30 AM // reply »
1 Comments

Recently i am collecting materials regarding Responsive web design. I think Ethan Marcotte's book will be perfect guide for me. Thanks for the share


Mar 1, 2012 at 1:19 AM // reply »
2 Comments

Hey that was really needful. Thanks for sharing. I'll surely be looking for more.


Mar 1, 2012 at 1:19 AM // reply »
2 Comments

Hey that was really needful. Thanks for sharing. I'll surely be looking for more.


Apr 3, 2012 at 6:17 AM // reply »
1 Comments

Great article Ben - I am loving some of the new responsive sites that are coming out!


Apr 7, 2012 at 1:17 AM // reply »
1 Comments

I recently experimented with responsive web design. I love the concept, but in practical application, I don't think its necessarily always right for mobile sites. It works wonders for adapting a standard website for tablets ... but the mobile user fundamentally needs different (and less) content than the typical website visitor. For this reason, simply *displaying* the content differnetly falls short of a good user experience for mobile, in a lot of cases.


Post A Comment

Comment Etiquette: Please do not post spam. Please keep the comments on-topic. Please do not post unrelated questions or large chunks of code. And, above all, please be nice to each other - we're trying to have a good conversation here.

Please review the following issues:

Author Name:


Author Email:

Author Website:

Comment:

Supported HTML tags for formatting: <strong>bold</strong>   <em>italic</em>   <code>code</code>







  • Help Wanted - Find Your Next ColdFusion Job
Ben Nadel's Company - Epicenter Consulting Recent Blog Comments
May 17, 2013 at 7:42 PM
HashKeyCopier - An AngularJS Utility Class For Merging Cached And Live Data
Ben - thanks so much for posting these Angular articles and findings, they've been a huge help towards learning one of the more 'complex' JavaScript frameworks out there (IMO). I have been using Angu ... read »
May 16, 2013 at 5:01 PM
UPDATE: Parsing CSV Data Files In ColdFusion With csvToArray()
Your code was the closest thing I've found to obtaining some direction for converting ISO fields to values that CF can translate properly. Thank you for posting! ... read »
May 15, 2013 at 10:37 PM
Very Simple Pusher And ColdFusion Powered Chat
hi id making plz easy ... read »
May 15, 2013 at 6:07 PM
Making SOAP Web Service Requests With ColdFusion And CFHTTP
Ben, you once again saved my bacon at work. Thank you, thank you, thank you! ... read »
May 15, 2013 at 4:15 PM
What If All User Interface (UI) Data Came In Reports?
@Josh, Thanks! @Ben, I definitely recommend the David West book "Object Thinking" I've been quoting from. It goes deeply into the philosophy and history of OO programming. His breadth ... read »
May 15, 2013 at 11:36 AM
Ask Ben: Print Part Of A Web Page With jQuery
I found this helpfull when you need to keep (refresh) the original parent page after closing the iframe child print dialog (Hoping you're not using a form at this time so it won't submit again): On ... read »
May 14, 2013 at 7:13 PM
What If All User Interface (UI) Data Came In Reports?
@Jonah, If there's any books you'd recommend on the subject of domain modelling, I'd love to hear it. I just downloaded the free PDF of "Domain Driven Design Quickly". Figured I'd give it ... read »
May 14, 2013 at 6:57 PM
The UX Of Prototyping: Low-Fidelity Is The New High-Fidelity
@Phillip, I'm not sure I follow what you mean? Are you saying that you looked at the list of widgets provided by the jQuery UI and let that be your style guide? ... read »
InVision App - Prototyping Made Beautiful With Prototyping Tools