Designing for a Responsive Web
The web as we know it is changing. In the past, designers and developers only had to concern themselves with one medium: the computer screen. In recent years, however, a plethora of fully internet-enabled devices with scores of different shapes and capabilities have cropped up, meaning that we now have to design our websites to fit comfortably in as many screen sizes, shapes, and resolutions as you can possibly think of.
Our old fixed-width layout approach is out of the question now. So what do we do? The answer, my dear reader, lies with Responsive Web Design.
What is Responsive Web Design?
The idea of Responsive Web Design, a term coined by Ethan Marcotte, is that our websites should adapt their layout and design to fit any device that chooses to display it.
In his book, the aptly titled “Responsive Web Design” he outlines the three parts to a responsive website:
- A fluid grid
- Fluid images
- Media queries
Because this article is intended for designers not developers, and because I don’t want to step on Ethan’s toes content-wise, I will not be discussing these three things.
However, it is important for you, as a designer, to understand the basic concepts of RWD so as to better design websites that will become responsive when coded. I very highly recommend you read these three articles by Ethan: Fluid Grids, Fluid Images, and Responsive Web Design.
If you only read one of those, make it the last one, written in May of last year. Reading it changed the way I, and I suspect many others like me, see the internet. Ethan’s work is nothing short of genius, and I believe everyone who makes a living from the web should be required to read this article.
The Designer’s Role
If you’re a designer who only designs, meaning you aren’t responsible for the HTML and CSS of the site on which you are working, a lot of this might just go over your head. You may even be wondering why exactly you need to know about Responsive Web Design.
I’ve always believed that whoever’s designing a website should be the one later breathing life into it, through HTML and CSS. I understand that this is obviously not the case for a lot of projects, and I would respect a person’s abilities should they choose to only put together the design or only write the code.
It’s important to understand that a website is not one or the other, it’s a marriage of both design and code, each depending on one another to create a seamless experience. To truly learn how to design a website, you must understand how the design will later be implemented in code, even if it’s only a rudimentary understanding.
I’ll remind you again: this article is for designers. In the coming paragraphs, I’ll discuss exactly how, as designers, we should change the way we design to better fit the process of responsive web design.
Grid Systems and You
Even if you’re not designing for Responsive Web Design, you should be designing with some sort of grid system. As the modern, educated designer you are, you should already have an understanding of what it means to use a grid, so I’ll skip the frilly bits.
One of the pillars of Responsive Web Design is The Fluid Grid. Essentially, it means that your grid, which was traditionally measured in pixels should now be thought of in terms of percent of the total page width. The actual calculated width of each column in a responsive web site changes every time the browser window changes size, and cannot be guaranteed to be the same across different devices.
This is why you must use a grid when designing for Responsive Web Design. It is a necessity, not a nicety. You cannot create a responsive web site without a grid-based design; it’s simply out of the question, it wouldn’t work.
Knowing that your design won’t have the exact same pixel measure for each column as in your design comp, there are a few other measures you should take to insure that your grid scales without issue.
-
Try to refrain from using textured borders in your columns, like this:
These kinds of things would be difficult for your developers to use in a responsive web site, because they wouldn’t scale well horizontally. If you make the column wider or thinner, the textured borders would struggle.
-
Horizontal gradients are another no-go.
For the same reason as the previous point, namely the inability to scale horizontally, do not do this. Yes, it’s possible with new CSS3 properties, but if you’re targeting an audience of less tech-savvy users, many won’t have a compatible browser and the effect will be useless.
-
If you do have a textured background in a column, make sure it is one that can be tiled easily. Do: use grain, grunge, whatever. Don’t: use a photograph, illustration, or otherwise un-tilable image.
Thinking With Proportions
In scaling your design down horizontally to accommodate smaller screens, there will come a point at which some text on the page will simply be too big. Sure, that 100pt headline looks great in your psd, but it simply won’t work on an iPhone screen, for example: it’ll be too large and the text will have to wrap over several lines, reducing the impact of your original decision.
Here the developer, using CSS media queries, will adjust the font size to better fit the screen. This is a design decision, so as a designer, you should have a say in it, right?
To help the developer as well as to help maintain the integrity of your original design, you should decide what text on the page should remain constant, that is, stay the same size at any screen width, and what text should be adjusted. A good example of the constantly-sized text would be body copy, or small headers that act as a larger version of the body copy.
You should also decide, concerning the text that will be adjusted, how it should be adjusted.
Here’s the wrong way to do it: x should always be 20pt bigger than y. Not only is this thinking a big hassle for the developer, it also doesn’t make much sense in the responsive canvas, because you’re factoring in a constant, a value that will never change no matter what the screen size. For RWD, this is a huge mistake, as it doesn’t properly take into account the inherent fluidity of the web.
Here’s the right way to do it: x should always be 1.5 times as big as y. This way accepts that the only true meaning a design gets out of font-size is how big or small the text is compared with the other text on the page. A constant value, like 24pt or 67pt, is meaningless.
Once you have all this figured out, make sure to convey this information to the developer. That’s the only way to make sure that your decisions, as the designer, are displayed in the actual web page that viewers will load into their browser and enjoy.
Make it Modular
The final piece in the Responsive puzzle is Media Queries. In case you’re unfamiliar, Media Queries are a way to apply CSS rules to the page based on (for our purposes) the size of the displaying browser.
The incredible power of this is that you can adjust, and indeed re-design, the entire layout of your website to fit a smaller or larger browser than the one for which you originally designed.
In order to best design for this eventuality, you should start thinking about the different parts of your design, such as main content, sidebar, header, and navigation, not as pieces of a puzzle that must stay in the same place relative to one another, but as modules that can be re-organized, re-sized, and shuffled without their original significance getting lost.
Here’s an example: imagine that you’re designing a website that looks like this (I’m sure you’ve worked with similar layouts before):
The crucial part of this example is the identification of groups of elements that must stay together for any layout. For example, all the navigation links must stay together, because otherwise they would make no sense. This is a module, a section of information that can be moved around amongst the other modules without losing its meaning.
Building your site with these modules in mind makes it easy to imagine how your layout will adapt for different viewport sizes. For instance:
See how although the modules are in different places, they still display the same information as the original, just in a form more easily digested by mobile devices or other, differently-sized browsers.
There isn’t anything you will have to change in your layout to make this modularity work, it’s just a different way to look at the same image. Hopefully though, this new perspective will help you make more informed decisions as you work on your future design projects.
Conclusion
Like so much on the internet, Responsive Web Design is evolutionary, not revolutionary. It’s simply the natural next step for the web, not a complete rethinking of everything. As designers, we must continually adapt our workflows, and this time is no different.
Responsive Web Design is the future, or at least, it will be when developers and designers alike embrace it. As web designers and developers, we are the only ones with the power to see this wonderful new standard come to fruition. Make it happen, for you, for me, for the internet at large!



Great article with sound advise on how to approach responsive web design from a process pov – thank you!
Also see Think Vitamin for a similar article!
http://thinkvitamin.com/design/beginners-guide-to-responsive-web-design/
Yep, responsive web design is a hot topic at the moment – in fact, Ethan was presenting more ideas on RWD workflow at An Event Apart in Minneapolis just a few hours ago.
There’s more RWD content coming soon to Webdesigntuts+, including an interview with Ethan himself – check back soon!
Great article! With the widespread use of different devices connecting to the web in different ways becoming the norm, it is crucial for designers as well as developers to keep all of the different possibilities in mind. Thanks for the tips!
Talking about fluid layouts and such on a web design/developer site that leaves my netbook with horizontal scroll bars is ironic.
Great article, now only if tutsplus started implementing these same concepts.
Fair comment, though the Tuts+ design is getting on for 18 months old now.. Owing to the size of the network, site redesigns don’t happen over night – though responsiveness is certainly something which will be looked at during the next face-lift :)
Gotta admit – I miss the days when fluid or fixed were preferences. Testing on 100 different browsers is taxing enough. Now we’re supposed to take into consideration literally every possible device on the planet? Good grief. Call me a dinosaur (started making websites in the mid 90s), but I wish these devices were just smart enough to make websites work in them as-is. So a person may have to zoom. Oh well, that’s the life of a mobile user.
I agree completely.
It should be noted that iOS devices, from the iPod touch to the iPad, have a browser that will render a desktop page just like desktop Safari. It uses the same Webkit that desktop Safari uses, so even if there is no mobile-formatted page available, generally speaking, iOS users will be fine.
I tend to see mobile or tablet-formatted sites to be an “extra”. It is not crucial to usability unless a big chunk of the client’s traffic comes from those devices.
Oh no, I’m a bad boy! I don’t use grid-systems :(
Oh, no Connor. Use it! :D
I don’t use grid systems either. I think it’s more professional to make it with out relying on third party stuff. And I find it fun to code and make the layout align correctly. Haha
Some great tips as always from the Tuts+ network!
It’s important to have flexibility in pages, as well as fixed width and height areas. These combined can create great looking sites.
I am hearing a lot about responsive web as a term for using media queries in css wich holds different resolutions. However another method is by using adaptive. Im wondering what is better to use.
I have been looking into adapt.js wich basically is another way of creating websites wich resize at viewports but am wondering if this is a superior method over media queries.
Im wondering if webdesigntuts can shed some light on this. What is the best way to implement this at the time of writing?
I would recommend you dive into media queries, if only for the fact that you’re currently trying to achieve the same goal through a method which will never become standard or native to any browser. There are javascript fallbacks for non-supporting browsers (css3-mediaqueries.js and respond.js for example) so you can cover your back there.
Another nice feature of media queries is that they can be contained within one css file (in the same way that you might have already used CSS2′s
@media print {}or@media screen {}), there’s no need to load additional files as the viewport is resized.Either way, the surface is only just being scratched where responsive web design is concerned, so experiment and share your findings!
What happens if we don’t want to give the user the power to control the width and typography of our layouts?
Hmm, not sure what you mean (?) Ultimately, the power to decide how browsing is done lies with the end user – there’s not much you can do about it..
:D Having just checked out your site I can see where the challenge lies! Anything’s possible..
I think to say that “You cannot create a responsive web site without a grid-based design; it’s simply out of the question, it wouldn’t work.” is simply not true and very misleading to people investigating RWD for the first time. We don’t use grid systems, nor have any desire to, and responsive design works just fine.
Another point is that we design our RWD sites from the smallest size up in an attempt to reduce the bandwidth for mobile devices. There are several articles on the web discussing this point; be sure to check them out!
timmdrumm,
I was thinking the same thing about that statement. For me, the grid system isn’t very semantic — I see it as just another form of tables actually. And I hate going into the code of an existing website and trying to figure out what #col42b means. :)
However, I have designed some basic guidelines for the page in an overlay. Since I’m on a Mac, I use Slammer for this. Sadly Slammer is looking like abandon ware. Anyway, it’s a nice way to line things up. I am also finding SCSS extremely useful for responsive designs because you can think in pixels and SCSS will do the conversion to percentages for you much quicker than you can move between your text editor and your calculator.
Great Post!! Its gonna userfull to me.Thanx for the post.
I think “responsive web design” is a nomenclature for web development and it should be handled by a hosting company instead of the designer/developer. Why waste creative juice when RWD could be “number crunched” from the hosting side of the project.
What if there was a hosting company where you just submit your framework and poof, the hosting company processes the modifications required to work across all devices. Wait, that could be an idea worth exploring further…
I personally am loving ZURB’s Foundation, available at http://foundation.zurb.com/ – if you haven’t checked it out already, now’s the time to do so. they maintain a github repository and it is under a pretty quick release cycle right now with a lot of work being done on it, and I absolutely love it!
Thanks for this post.
Although it can be somewhat of a challenge to implement a responsive design and requires more thinking up front, it’s well worth your time in the end. Responsive design is really giving websites the ability to be flexible enough to be viewed on a multitude of devices and more and more clients are asking for it.
If you’re looking for more examples of responsive design, check out http://www.gottaloveresponsivedesign.com. It’s a gallery fully of responsive web design examples.
That is a completely well-defined explanation. I’m gonna learn a lot from this, thanks a lot.!