Sharing our knowledge
Nothing is more useful than the information you've been looking for. Our blogs communicate our recent findings and expertise within our skillset.
Please select a blog from the menu.
Written on Fri, 4th May 2012
By Amy Varga
Responsive Web Development is a front end web development approach for building websites that look good on all devices.
The Responsive approach to building a website begins with the development of the website for a lowest common denominator. The lowest common denominator's core experience is based on a Mobile First approach. It focuses on being fast and lightweight and independent of JavaScript or CSS media queries. Once this website has been built and tested, one can begin to optimise the website experience.
Browser features enable us to determe what device the user is using. Ultimately the device and browser will determine the website experience. Browser features can be detected using a device description repository (DDR) e.g. WURFL and / or client side JavaScript.
In my prototype I have used AJAX to initially return to the server the browser screen width, screen height and orientation. These features determine what content and stylesheets to include in the page.
Browser features include:
Whilst HTML5 can be made backwards compatible with HTML4 through the use of JavaScripts (polyfills) this approach is not ideal for small mobile devices as the addition of scripts increases the weight of the page and slows performance. For this reason we differentiate between HTML4 and HTML5 on mobile devices. BBC implement this approach using JavaScript. They call it Has The Mustard and it is based on whether the following methods are available to the browser:
A DDR like WURFL includes a device capability is_wireless_device which would enable us to determine whether a device is mobile or not. Without access to this capability, we will need to assume a device's mobility by its size.
To further improve performance of our website we use AMD (asynchronous module definition) loaders. AMD loaders enable JavaScript, CSS, text and il8n: