Responsive Designs
All of our work is done using "Responsive Web Design" This will make your website automatically change its appearance based on the type of device used to view the site without extra programming, or extra costs.
Elements of responsive web design
A site designed with RWD[1][4] uses CSS3 media queries,[3][5][6] an extension of the @media rule,[7] to adapt the layout to the viewing environment—along with fluid proportion-based grids[8] and flexible images:.[9][10][11][12]
- Media queries allow the page to use different CSS style rules based on characteristics of the device the site is being displayed on, most commonly the width of the browser.
- The fluid grid concept calls for page element sizing to be in relative units like percentages or EMs, rather than absolute units like pixels or points.[8]
- Flexible images are also sized in relative units (up to 100%), so as to prevent them from displaying outside their containing element.[9]
[edit]Related concepts
[edit]Mobile first, unobtrusive JavaScript, and progressive enhancement
"Mobile First" and "Unobtrusive JavaScript"/"Progressive Enhancement" (strategies for when a new site design is being considered) are related concepts that predated RWD: browsers of basic mobile phones do not understand Javascript or media queries, so the recommended practice is to create a basic web site then enhance it for smart phones and PCs—rather than try "graceful degradation" to make a complex, image-heavy site work on the most basic mobile phones.[13][14][15][16]
[edit]Progressive enhancement based on browser-, device-, or feature-detection
Where a web site must support basic mobile devices that lack JavaScript, Browser ("user agent") detection (also called "browser sniffing"), and mobile device detection[14][17] are two ways of deducing if certain HTML and CSS features are supported (as a basis for progressive enhancement)—however, these methods are not completely reliable.
For more capable mobile phones and PCs, JavaScript frameworks like Modernizr, jQuery, and jQuery Mobile that can directly test browser support for HTML/CSS features (or identify the device or user agent) are popular. Polyfills can be used to add support for features—e.g. to support media queries (required for RWD), and enhance HTML5 support, on Internet Explorer. Feature detection also might not be completely reliable with older browsers: some may report that a feature is available, when it is either missing or so poorly implemented that it is effectively nonfunctional.[18][19]
[edit]Challenges, and other approaches
Luke Wroblewski has summarized some of the RWD and mobile design challenges, and created a catalog of multi-device layout patterns.[20][21][22] He suggests that, compared with a simple RWD approach, Device Experience or RESS (Responsive Web Design with Server Side Components) approaches can provide a user experience that is better optimized for mobile devices.[23][24][25] Server-side "dynamic CSS" implementation of stylesheet languages like Sass can be part of such an approach.
One problem for RWD is that banner advertisements and videos are not fluid.[26] However search advertising and (banner) display advertising support specific device platform targeting and different advertisement size formats for desktop, smartphone, and basic mobile devices. Different landing page URLs can be used for different platforms,[27] or AJAXcan be used to display different ad variants on a page.[17][21][28]
There are now many ways of validating and testing RWD designs,[29] ranging from mobile site validators and mobile emulators[30] to simultaneous testing tools like Adobe Edge Inspect.[31]
[edit]History
Ethan Marcotte coined the term Responsive Web Design (RWD) in his article in A List Apart.[1] He describes the theory and practice of responsive web design in his brief 2011 book on the subject.[32] Responsive Design was listed as #2 in Top Web Design Trends for 2012 by .net magazine[33] after Progressive Enhancement at #1. They also listed 20 of Ethan Marcotte's favorite responsive sites.[2]



