Responsive web design

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

A screenshot of Wikipedia with a responsive skin (Timeless).
The same skin (Timeless) on mobile; note how the elements rearrange themselves so that they are more mobile friendly.
Content is like water, a saying that illustrates the principles of RWD
An example of how various elements of a web page adapt to the screen size of different devices such as the display of a desktop computer, tablet PC and a smartphone

Responsive web design (RWD) or responsive design is an approach to web design that aims to make web pages render well on a variety of devices and window or screen sizes from minimum to maximum display size to ensure usability and satisfaction.[1][2][3][4]

A responsive design adapts the web-page layout to the viewing environment[1] by using techniques such as fluid proportion-based grids,[5][6] flexible images,[7][8][9] and CSS3 media queries,[3][10][11] an extension of the @media rule,[12] in the following ways:

  • The fluid grid concept calls for page element sizing to be in relative units like percentages, rather than absolute units like pixels or points.[6]
  • Flexible images are also sized in relative units, so as to prevent them from displaying outside their containing element.[7]
  • Media queries allow the page to use different CSS style rules based on characteristics of the device the site is being displayed on, e.g. width of the rendering surface (browser window width or a physical display size).
  • Responsive layouts automatically adjust and adapt to any device screen size, whether it is a desktop, a laptop, a tablet, or a mobile phone.

Responsive web design became more important as users of mobile devices came to account for the majority of web site visitors.[13][14] In 2015, for instance, Google announced Mobilegeddon and started to boost the page ranking of mobile-friendly sites when searching from a mobile device.[15]

Responsive web design is an example of user interface plasticity.[16]

Related concepts[edit]

Mobile first, unobtrusive JavaScript, and progressive enhancement[edit]

Mobile-first design and progressive enhancement are related concepts that predate RWD.[17] Browsers of basic mobile phones do not understand JavaScript or media queries, so a recommended practice was to create a basic web site and enhance it for smartphones and personal computers, rather than rely on graceful degradation to make a complex, image-heavy site work on mobile phones.[18][19][20][21]

Progressive enhancement based on browser, device, or feature detection[edit]

In 2014, for the first time more users accessed the internet from their mobile devices than desktop.[22] Where a web site must support basic mobile devices that lack JavaScript, browser ("user agent") detection (also called "browser sniffing") and mobile device detection[19][23] 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 unless used in conjunction with a device capabilities database.

For more capable mobile phones and PCs, JavaScript frameworks like Modernizr, jQuery, and jQuery Mobile have been developed that can directly test browser support for HTML/CSS features (or identify the device or user agent). 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; some may report that a feature is available, when it is either missing or so poorly implemented that it is effectively nonfunctional.[24][25]

Challenges, and other approaches[edit]

Luke Wroblewski has summarized some of the RWD and mobile design challenges, and created a catalog of multi-device layout patterns.[26][27][28] He suggested 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.[29][30][31] Server-side CSS generator implementation of stylesheet languages like Sass can be part of such an approach. Google has recommended responsive design for smartphone websites over other approaches.[32]

Although many publishers have implemented responsive designs, one challenge for RWD adoption was that some banner advertisements and videos were not fluid.[33] However, search advertising and (banner) display advertising came to support specific device platform targeting and different advertisement size formats for desktop, smartphone, and basic mobile devices. Different landing page URLs have been used for different platforms,[34] or Ajax has been used to display different advertisement variants on a page.[23][27][35] CSS tables permitted hybrid fixed and fluid layouts.[36]

There have been many ways of validating and testing RWD designs,[37] ranging from mobile site validators and mobile emulators to simultaneous testing tools like Adobe Edge Inspect.[38] The Chrome, Firefox and Safari browsers and developer tools have offered responsive design viewport resizing tools, as do third parties.[39][40]

History[edit]

The first site to feature a layout that adapts to browser viewport width was Audi.com launched in late 2001,[41] created by a team at razorfish consisting of Jürgen Spangl and Jim Kalbach (information architecture), Ken Olling (design), and Jan Hoffmann (interface development). Limited browser capabilities meant that for Internet Explorer, the layout could adapt dynamically in the browser whereas for Netscape, the page had to be reloaded from the server when resized.

Cameron Adams created a demonstration in 2004.[42] By 2008, a number of related terms such as "flexible", "liquid",[43] "fluid", and "elastic" were being used to describe layouts. CSS3 media queries were almost ready for prime time in late 2008/early 2009.[44] Ethan Marcotte coined the term responsive web design[45]—and defined it to mean fluid grid / flexible images / media queries—in a May 2010 article in A List Apart.[1] He described the theory and practice of responsive web design in his brief 2011 book titled Responsive Web Design. Responsive design was listed as #2 in Top Web Design Trends for 2012 by .net magazine after progressive enhancement at #1.[46]

Mashable called 2013 the Year of Responsive Web Design.[47]

See also[edit]

References[edit]

  1. ^ a b c Marcotte, Ethan (May 25, 2010). "Responsive Web design". A List Apart.
  2. ^ "Ethan Marcotte's 20 favourite responsive sites". .net magazine. October 11, 2011.
  3. ^ a b Gillenwater, Zoe Mickley (December 15, 2010). Examples of flexible layouts with CSS3 media queries. Stunning CSS3. p. 320. ISBN 978-0-321-722133.
  4. ^ Schade, Amy (May 4, 2014). "Responsive Web Design (RWD) and User Experience". Nielsen Norman Group. Retrieved October 19, 2017.
  5. ^ "Core concepts of Responsive Web design". September 8, 2014.
  6. ^ a b Marcotte, Ethan (March 3, 2009). "Fluid Grids". A List Apart.
  7. ^ a b Marcotte, Ethan (June 7, 2011). "Fluid images". A List Apart.
  8. ^ Hannemann, Anselm (September 7, 2012). "The road to responsive images". net Magazine.
  9. ^ Jacobs, Denise (April 24, 2012). "50 fantastic tools for responsive web design". .net Magazine.
  10. ^ Gillenwater, Zoe Mickley (October 21, 2011). "Crafting quality media queries".
  11. ^ "Responsive design—harnessing the power of media queries". Google Webmaster Central. April 30, 2012.
  12. ^ "@media rule". w3.org. W3C.
  13. ^ "Cisco Visual Networking Index: Global Mobile Data Traffic Forecast Update 2014–2019 White Paper". Cisco. January 30, 2015. Retrieved August 4, 2015.
  14. ^ "Mobile share of U.S. organic search engine visits 2021". Statista. Retrieved October 29, 2021.
  15. ^ "Official Google Webmaster Central Blog: Rolling out the mobile-friendly update". Official Google Webmaster Central Blog. Retrieved August 4, 2015.
  16. ^ Thevenin, D.; Coutaz, J. (2002). "Plasticity of User Interfaces: Framework and Research Agenda". Proc. Interact'99, A. Sasse & C. Johnson Eds, IFIP IOS Press. Edinburgh. pp. 110–117.
  17. ^ "What is Responsive Web Design". July 23, 2012.
  18. ^ Wroblewski, Luke (November 3, 2009). "Mobile First".
  19. ^ a b Firtman, Maximiliano (July 30, 2011). Programming the Mobile Web. pp. 512. ISBN 978-0-596-80778-8.
  20. ^ "Graceful degradation versus progressive enhancement". February 3, 2009. Archived from the original on November 13, 2014.
  21. ^ Parker, Todd; Wachs, Maggie Costello; Jehl, Scott (February 2010). Designing with Progressive Enhancement. p. 456. ISBN 978-0-321-65888-3. Retrieved March 1, 2010.
  22. ^ "Mobile Websites | All The Way Up Media". All The Way Up Media. October 31, 2016. Retrieved October 8, 2017.
  23. ^ a b "Server-Side Device Detection: History, Benefits And How-To". Smashing magazine. September 24, 2012.
  24. ^ "BlackBerry Torch: The HTML5 Developer Scorecard | Blog". Sencha. August 18, 2010. Archived from the original on March 5, 2014. Retrieved September 11, 2012.
  25. ^ "Motorola Xoom: The HTML5 Developer Scorecard | Blog". Sencha. February 24, 2011. Archived from the original on February 13, 2015. Retrieved September 11, 2012.
  26. ^ Wroblewski, Luke (May 17, 2011). "Mobilism: jQuery Mobile".
  27. ^ a b Wroblewski, Luke (February 6, 2012). "Rolling Up Our Responsive Sleeves".
  28. ^ Wroblewski, Luke (March 14, 2012). "Multi-Device Layout Patterns".
  29. ^ Wroblewski, Luke (February 29, 2012). "Responsive Design ... or RESS".
  30. ^ Wroblewski, Luke (September 12, 2011). "RESS: Responsive Design + Server Side Components".
  31. ^ Andersen, Anders (May 9, 2012). "Getting Started with RESS".
  32. ^ "Building Smartphone-Optimized Websites".
  33. ^ Snyder, Matthew; Koren, Etai (April 30, 2012). "The state of responsive advertising: the publishers' perspective". .net Magazine.
  34. ^ "Google Partners Help". google.com. Retrieved May 21, 2015.
  35. ^ JavaScript and Responsive Web Design Google Developers
  36. ^ "The Role of Table Layouts in Responsive Web Design". Web Design Tuts+. Retrieved May 21, 2015.
  37. ^ Young, James (August 13, 2012). "Top responsive web design problems... testing". .net Magazine.
  38. ^ Rinaldi, Brian (September 26, 2012). "Browser testing... with Adobe Edge Inspect".
  39. ^ "Responsive Design View". Mozilla Developer Network. Retrieved May 21, 2015.
  40. ^ Malte Wassermann. "Responsive design testing tool – Viewport Resizer – Emulate various screen resolutions - Best developer device testing toolbar". maltewassermann.com. Retrieved May 21, 2015.
  41. ^ Kalbach, Jim (July 22, 2012). "The First Responsive Design Website: Audi (circa 2002)."[self-published source?]
  42. ^ Adams, Cameron (September 21, 2004). "Resolution dependent layout: Varying layout according to browser width". The Man in Blue.
  43. ^ "G146: Using liquid layout". w3.org. Retrieved May 21, 2015.
  44. ^ "Media Queries". w3.org. Retrieved May 21, 2015.
  45. ^ "OutSeller Group - Organize, Optimize, Maximize". outseller.net. Retrieved May 21, 2015.
  46. ^ Grannell, Craig (January 9, 2012). "15 top web design and development trends for 2012". .net Magazine. Archived from the original on September 11, 2013. Retrieved October 29, 2021.
  47. ^ Cashmore, Pete (December 11, 2012). "Why 2013 Is the Year of Responsive Web Design".