230 likes | 369 Views
This paper discusses the evolution of mobile web standards, focusing on the differences between mobile and stationary web design. It highlights important markup languages like WML and HTML5, as well as responsive web design techniques that ensure seamless user experiences across devices. The authors also explore methods of serving mobile sites, including client-side and server-side redirection, and the significance of CSS media queries. Finally, the paper examines challenges in archiving mobile sites and the need for specialized crawling techniques to capture dynamic content.
E N D
Archiving the Mobile Web Frank McCown, Monica Yarbrough, & Keith Enlow Computer Science Dept Harding University WADL 2013Indianapolis, INJuly 25, 2013
Mobile Web-Related Markup Languages Smartphone era http://en.wikipedia.org/wiki/File:Mobile_Web_Standards_Evolution_Vector.svg
Two Types of Mobile Web Smartphone Web Feature Phone Web cHTML (iMode), WML, WAP, etc. XHTML, HTML5, etc.
Serving Up Mobile Sites • Responsive web design • Same HTML content to desktop and mobile • CSS media queries alter appearance <!-- CSS media query on a link element --> <link rel="stylesheet" media="(max-width: 800px)" href="example.css" /> <!-- CSS media query within a style sheet --> <style> @media (max-width: 600px) { .sidebar { display: none; } } </style>
Serving Up Mobile Sites • Responsive web design • Same HTML content to desktop and mobile • CSS media queries alter appearance • Redirect mobile user agent to mobile site • Client-side redirection • Server-side redirection
Client-Side Redirection • JavaScript detects mobile user agent // From www.harding.edu varua = navigator.userAgent.toLowerCase(); if (queryString.match('version=mobile') || ua.match(/IEMobile|WindowsCE|NetFront|PlayStation|likeMac OS Z|MIDP|UP\.Browser|Symbian| Nintendo|BlackBerry|mobile/i)) { if (!ua.match('ipad')) { if (window.location.pathname.match('.html')) window.location= window.location.pathname.replace('.html', '.m.html'); else window.location= window.location.pathname + 'index.m.html'; } }
Server-Side Redirection • Server routes mobile user agent to different page Apache Example: RewriteEngineOn RewriteBase / RewriteCond %{HTTP_USER_AGENT} (android|bb\d+|meego).+mobile|avantgo|badda\/|blackberry|blazer|etc…|zte\-) [NC] RewriteRule ^$ http://detectmobilebrowser.com/mobile [R,L] https://developers.google.com/webmasters/smartphone-sites/details
Serving Up Mobile Sites • Responsive web design • Same HTML content to desktop and mobile • CSS media queries alter appearance • Redirect mobile user agent to mobile site • Client-side redirection • Server-side redirection • User-agent content negotiation • Dynamically serving different HTML for the same URL
User-Agent Content Negotiation • Server serves up different content for same URL • Use Vary: User-Agent header in response • Best method for serving content quickly
Archiving Mobile Sites • Responsive web design • Easy: Crawl like normal • Use client tools to view page formatted for mobile • Redirect mobile user agent to mobile site • Need to crawl with mobile user agent • Need JavaScript-enabled crawler to handle client-side redirection • User-agent content negotiation • Need to crawl with mobile user agent • Need to distinguish mobile vs. desktop for same URL