5th May 2012
The term Responsive Web Design was first used by Ethan Marcotte in an article he wrote for A List Apart back in 2010. He was talking about designing for an ever increasing array of devices and proposed creating flexible websites, rather than two distinct versions for desktop and mobile. He wrote:
“Rather than tailoring disconnected designs to each of an ever-increasing number of web devices, we can treat them as facets of the same experience. We can design for an optimal viewing experience, but embed standards-based technologies into our designs to make them not only more flexible, but more adaptive to the media that renders them.”
The idea was that this would also provide a degree of ‘future proofing’, since the number of available devices grows rapidly and we don’t really know what is going to come out next.
To put the concept into perspective, think of all the devices you currently use to access web based content – your desktop, laptop, iPad, smart phone, games console and so on. The first thing to note is that they all have different screen sizes and resolutions. A principle concept of responsive web design is that a page should respond to these constraints and the layout, images and other media adjust accordingly.
Next, consider all the ways you interact with these different devices. If you’re using a smart phone you’ll most likely have a touch screen. If you’re on an iPad you’ll know that you can flip between landscape and portrait view. If you’re on a games console you’ll probably have a hand held controller rather than a keyboard and mouse. A responsive website should also overcome these issues.
Ethan Marcotte’s article sets out three elements essential to creating a responsive design:
The key to this is to stop thinking in fixed pixels and convert to percentages (possibly with a fixed max-width dependent on your design). You’ll also need to scale any images, fonts and other media to fit too.
These allow different styles to be loaded for different devices.
To give you an example, a standard web page might reference one CSS stylesheet called main.css like this:
<link rel=”stylesheet” type=”text/css” href=”main.css” media=”all”>
Now let’s say we want to define a different set of styles for the iPhone. Instead of using one universal stylesheet we can use media queries to load a separate stylesheet, in this example called iphone.css, for any devices with a screen width less than 480px.
<link rel=”stylesheet” type=”text/css” media=”screen and (max-device-width: 480px)” href=”iphone.css”>
Within the stylesheet we can address specific issues related to displaying our site at that size.
This is a solid concept, but there is still a way to go before responsive web design fulfills all the promise of its ideals. As Belfast based design studio Front point out in their article ‘The Goldilocks Approach to Responsive Web Design’
“The current approach to responsive design is still based on a few popular devices and, as a result, is likely to become obsolete as fast as they do.”
The other big issue is that in order to provide all of these different device options, there is the potential for page sizes to go through the roof. This is a massive problem, considering that responsive web design is supposed to make sites more accessible, not less.