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 »
10,743 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 »
10,743 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
InVision App - Prototyping Made Beautiful With Prototyping Tools Ben Nadel's Company - Epicenter Consulting Recent Blog Comments
May 21, 2012 at 1:58 AM
Updated: Converting A ColdFusion Query To CSV Using QueryToCSV()
Hi Ben, why do you need to have so many double quotes when adding the field and field name to the row data? ----------------------------------------- <cfset LOCAL.RowData[ LOCAL.ColumnIndex ] = ... read »
AXL
May 21, 2012 at 1:24 AM
URL Rewriting And ColdFusion's WriteToBrowser Image Functionality (CFFileServlet)
@Mounir, Open your lower case URL Rewrite rule and add the following condition. Condition input: {REQUEST_URI} Check if input string: Does Not Match the Pattern Pattern: ^/CFFileServlet/_cf_ca ... read »
May 20, 2012 at 4:28 AM
Understanding The Complex And Circular Relationships Between Objects In JavaScript
@Will Vaughn I tried your javascript example but got this error:- foo.print is not a function ... read »
May 19, 2012 at 5:37 AM
A Graphical Explanation Of Javascript Closures In A jQuery Context
Thanks for this article, but I fear you missed an important point. If variables in the outer context change, these changes affect the inner anonymous functions as well. That means: if you change the ... read »
May 18, 2012 at 3:39 PM
Parsing CSV Data With An Input Stream And A Finite State Machine
Can you use file upload button with this? and read live? or does the file have to already be on the server saved? ... read »
May 18, 2012 at 1:06 AM
VIRGO (Aug. 23-Sept. 22): Dead On The Money!
A friend of mine and I were arguing about astrology and she told me that he believes in astrology. She hasn't provided me with any evidence that the belief makes any sense to me. She she been telling ... read »
May 17, 2012 at 11:32 PM
Using ColdFusion to Handle 404 Errors (Page Not Found) On Development Server
Very easy the configuration. I read a lot pages and I can't find the solution. I open the administrator and change this Administrator/server settings/Error Handlers/Missing Template Handler and p ... read »
May 17, 2012 at 3:13 PM
LOCAL Variables Scope Conflicts With ColdFusion Query of Queries
I never cease to be amazed that almost EVERY random CF issue I come across lands me on your site. Thank you for documenting your findings for the world. ... read »