The scenario today
• Multiple devices (smart phones, tablets etc.)
• Faster connectivity (3G, 4G)
As a result:
Websites are accessed on multiple devices.
Elastic versions of websites which will FIT and be
USABLE on multiple devices.
Building Multiple Sites
You could create versions of your website for
each device and resolution…
But would that be possible, or practical ?
Problems with multiple versions
Managing multiple codebases
Multiple content management
Learning curve for platform specific technique
Handling multiple URLs impacts:
• Content reliability
Think Different !!!
Have Single Solution for multiple devices
Design your site so that it responds to the user
What we have:
• HTML 5 / CSS 3
• Media queries
• Browser support
• Good network bandwidth
Solution: Responsive Web Design
• Term introduced in 2010 by Ethan Marcotte
• Responsive Web Design is the approach
which suggests that design and
development should respond to the user‟s
behaviour and the environment screen size,
platform and orientation.
• Uses a set of techniques and ideas.
Make it Fluid
Fluid – The layout shrinks / expands depending on the
screen size & resolution.
Aspects of Fluid design:
• Fluid Grids
• Flexible images
• Flexible Containers, Margins & Padding
Formula: Target / Context = Result
Target – the size we want to be displayed by default
Context – depends on the attribute under calculation (usually
the parent element)
Adapt the content
Adaptive – The content becomes usable /
user friendly on each device.
Aspects of Adaptive Design:
• Content adaptation
• Media Queries
• Image Swapping
Combine Fluid Design with Adaptive Design
& Content to create a truly responsive web
But this is not enough…
Some issues to be resolved:
• “It takes time until I actually see something
on the site”
• “Though I‟m not processing scripts, they‟re
getting downloaded on my phone slowing it
• “Device has high screen resolution but
doesn‟t support CSS3”
Progressive Enhancement : PE
Mobile first approach:
• Create design for the least capable device and the
slowest connection speed
• Build up from there to larger breakpoints for faster
connections and add decorations for higher screen sizes
• Load JS only if the rendering device is capable
• Getting something on screen as soon as possible really
enhances the user experience
RWD + Server Side Detection : RESS
• Control the markup and CSS at server side based
on the device capability.
• Relies on device library on the server to detect
the device and return its capabilities.
• Helps serving the appropriate user journey.
• Example: WURFL
Hybrid Model = PE + RESS
Considerations for RWD
• Context sensitive interaction (e.g.
• Mobile first approach
Conditional and Lazy loading (e.g Gmail)
• Load it only when the user requires the content on his
• Falls within the Progressive Enhancement school of RWD
• Requires Server Side Detection
var lazyElement = document.getElementbyId(„lazy‟);
var lazyElementBody = lazyElement.innerHTML;
var jsCode = stripoutCommentBlock(lazyElementBody);
Thinking Native ?
Evaluate Native vs RWD on the basis of:
• Efforts – Time and Money
• Browser support for web apps
• Device capabilities
Help at hand…