Mobile Web Overview

Apr 22, 2019 | Publisher: Jack Zheng | Category: Technology |  | Collection: Mobile and Web Lecture Notes | Views: 1491 | Likes: 4

Mobile Web A Comprehensive Overview CSE 3203 Mobile System Overview IT 4213 Mobile Web Development IT 5443 Web Tech and App Development Jack G. Zheng Ver. April 2019 (Since 2013) Overview This lecture notes provides a high level overview of mobile web. This overview is comprehensive to cover as many aspects as possible but keep them at a high level: What is mobile web and why do we care about it? Mobile web definition, scope, and context Differences and challenges of using web on mobile devices Key supporting technologies Mobile website strategies: independent mobile site, one web (adaptive, responsive, hybrid) Mobile web app and web technologies used for native mobile apps Development tools, frameworks, and services High level design considerations and principles Learning resources 2 Some Key Data about Mobile Web traffic by operating systems, device type/vendor, browser type Web browsing by device type (mobile accounts for about 50%) Internet Trends by Mary Meeker Mobile usage as % of Web usage Time spent per adult user per day with digital media Cisco Mobile Visual Networking Index (VNI) Forecast index-vni/index.html#~mobile-forecast Average data connection speed Total of mobile connected device Average traffic (data usage) per device The percentage of mobile data traffic out of all fixed and mobile data traffic The percentage of mobile connections will be 'smart' connections Mobile traffic per mobile-connected end-user device per month 3 What is Mobile Web? Web sites vs. web apps Mobile web apps looks like and is used like native apps. Web apps are also web sites, just more functional oriented; they are too delivered via browsers, and share the same web site UI design principles and practices. It's mainly about user experience, particularly with a focus on user interfaces and interactions. Mobile web sites: focus on the optimization of web sites to be used on mobile devices. Mobile web apps: emphasizes functional features specifically designed for mobile devices. Web apps are also focused on functional features besides user interface and interaction. It has also impacted the application level architecture: Single page app Progressive web app Serverless architecture Mobile web refers to the use and development of web sites and web applications that are delivered over the Internet to smart mobile devices (and optimized for these devices). Extended Meaning of Mobile Web Narrowly speaking, mobile web (site or app) is delivered to browsers. They are dependent on browsers. Broadly speaking, mobile web also covers the use of web technologies in mobile app development, where browsers are not used. These methods may include: Hybrid web app Use of web components (like WebView) to display web pages in native apps mBaaS, web APIs and services that are used by various kinds of applications. 5 CSE 3203 and IT 5443 only provide a high level mobile web overview module. IT 4213 (the whole course) covers details of mobile web site design. Mobile Web Brief History 1997 Wireless Application Protocol 1.0 Networking protocol created to allow mobile devices to access the internet for services such as e-mail, stock prices, SMS, etc. It Is open, non proprietary. Uses WML (wireless markup language ) for text and graphics. Adopted by many vendors such as Sony, Motorola, etc. Allows for an explosion in mobile specific websites and browsers. 1994 pocketweb The first mobile browser for a PDA was PocketWeb for the Apple Newton created at TecO in 1994, followed by the first commercial product NetHopper released in August 1996. 2G 2007 2002 3G 2005 .mobi domain is created for mobile specific websites first iPhone is released. Native app market explodes. WAP 2.0 Released to address 1.0 shortcomings. Uses WML, XHMTL, and WCSS to give users a better experience 2010 4G 2013 Major companies try to leverage the power of the mobile phone by making mobile payment solutions common. HTML5 web development pushes to the forefront allowing for a better mobile web experience but WAP 2.0 still dominates. HTML5 mobile frameworks such as jQuery mobile become popular Wireless companies begin to advertise 4G wireless (10x3G) speeds en masse touting streaming TV, streaming movies, faster web access, etc. as customer benefits. Native app market grows by leaps and bounds as the iPhone and Android systems become household names. Opera Mini, SkyFire, are popular mobile browsers 4G Mobile App Development Options 7 Image originally from,_HTML5,_or_Hybrid:_ Understanding_Your_Mobile_Application_Development_Options A program designed to run directly on a specific mobile operating system. A web based application that runs in any web browser especially that designed for mobile devices. Applications developed using Web development technologies and wrapped in a mobile app container * New to the diagram: cross- platform native app (Xamarin) * New to the diagram: app like web site Comparison of the Three Development Options Native Apps Mobile Web Hybrid Device features Can fully utilize platform/OS features if allowed, such as camera, location, sensors, and interactions with file systems and other apps. Access to devices features are limited to the browser environment. Can utilize platform/OS features if provided by the SDK, which are usually provided as JavaScript APIs. UX/UI Best; smooth interaction as UI is very responsive. Not as good as native app; may have delays. Looks like an app, but may have performance issues. Development Platform Applications are platform dependent. They have to be written and/or compiled to a specific OS*. Example: - Android (Java) ( Android ) - iOS (Objective C, Swift) - Windows (.Net, C#) - * Xamarin (all) Web applications are cross platform and can use standard languages such as HTML/CSS/JavaScript. Programs runs in browsers, although they may have slightly differences in different browsers. Hybrid applications are developed using standard web technologies, but complied to each specific platform. Distribution / Installation App Store, or direct downloaded; need installation Web; no installation App Store, or direct downloaded; need installation App vs. Web The old desktop vs. web? 9 Why Web? What kind of apps is better with Web? Information and content focused (media, magazine, news, forum); simple interaction (mainly tapping for navigation); highly dynamic content; frequent updates. Example: Yahoo, Financial Times, Quora 10 Web has a broader reach Mobile Web Is Top Of Funnel, Mobile App Is Bottom Of Funnel web-is-top-of-funnel-mobile-app-is- bottom-of-funnel/ "The mobile web is the window of your store. Users window shop on your mobile website. Getting them to download and install and use your mobile app is like getting them to come into the store. And that's where the action is long term." apps-vs-mobile-web-do-you-have-to-choose/ Differences of Web on Mobile People use mobile devices differently because of their mobility Prefers short and simple interactions Use for multiple purposes and interactions between apps. Mobile device is not the only platform; usually used together with other devices multi-device experience Screen Screen size is smaller Screen resolution is lower and density is higher Fragmented market: properties vary a lot among devices Orientation: vertical screens accounts for 29% of usage overall Interaction method: touch is different form pointing device like mouse Connection and speed Mobile device connections are less stable, inconsistent, and slower; variable connectivity; frequent switching among networks; limited bandwidth and usage. Device capability: Slower processors and memory Limited multitasking and simultaneous browser tabs/windows More device functionalities integrated: cam, mic, sensors, GPS, etc. Browser capability Compatibility: browser behaviors are different from desktop browsers Fixed browser size (on the same device) Viewport difference and automatic zooming Delay: a more noticeable delay as the application resides on the web vs. directly on the native platform Weaker plug-in support, no Flash, PDF, etc. 11 Understand these differences and limitations will help us develop websites and applications tailored for mobile devices. This subject will be covered in details in IT 4213 module 2. The Problems Why make websites mobile friendly? Non-mobile-friendly sites create user experience and functional problems Search engines also include mobile friendliness as in ranking - A real story Design/content problem not optimized for mobile devices Content too small and difficult to view Content hidden Interaction problems Links are crowded and difficulty/inaccurate to tap Mouse hovering does not work mobile Slow and error-prone typing Performance problems because of connection issues and device capability Some interesting problems documented 12 Use a tool to examine the problems! Major Problematic Sites Not mobile friendly (as of April 2019) See more: KSU web applications Particularly problematic for small businesses: small-businesses-have-mobile-friendly-websites-ad6ef9f71eb5 See some studies here 13 More and more major sites have been changed mobile friendly since 2013 when this course was developed. Mobile Web Friendliness Testing Website based viewers Automated testing tools Loading speed test: Browser tools mode/emulate-mobile-viewports Other tools 14 This subject will be covered in details in IT 4213 module 11 Key Technologies behind Mobile Web HTML5/CSS3/JavaScript HTML5 represents a major advancement on the client development More powerful CSS3 and JavaScript make client applications more interactive and responsive Mobile browsers Mobile web are delivered through mobile browsers, which have reduced features than their desktop counterparts. Modern web browsers provide some new capabilities to create native-like web apps, such as launch from the home screen, run offline, access internal hardware, etc. 15 HTML 5 and Mobile Web How does HTML 5 play a role in facilitating mobile computing? Standardize mobile web development Eliminates the need to create, maintain, and support apps for different mobile platforms (native platforms) Enriches client processing and storage HTML5 provides a set of features and tools for building mobile apps Mobile friendly tags/attributes (number, phone - activate relevant phone features) JavaScript APIs to interact with device features 16 <a href="tel:+14155557777">Order Pizza Now!</a> <a href="sms:+14155558888?body=Hello">Text me!</a> Rise of JavaScript 17 #1 in GitHub since 2014 #1 in StackOverflow since 2013 Most in demand and salaries, 2015 can-find-a-developer-job/ Other rankings #1 The RedMonk Programming Language Rankings since 2015 #2 in student programmers in hackathon (#1 is HTML/CSS) #2 in Developer Economics survey SharePoint/WordPress is moving to JavaScript Mobile Browsers Mobile web are mainly delivered through mobile browsers. The use of web through mobile browsers has been increasing and passed the desktop browser use. Mobile browsers have a number of differences from their desktop counterparts. The bad Mobile browsers run with reduced features Weaker plug-in support, no Flash, PDF, etc. No developer tools Browser behaviors are different, like fixed browser size (on the same device), viewport difference and automatic zooming, switch between tabs, etc. The good Modern web browsers provide some new capabilities to create native-like web apps, such as launch from the home screen, run offline, access internal hardware, etc. Browsers have increase its capabilities to work with mobile devices through browser APIs; many of these are part of HTML5. Common types of APIs: XMLHttpRequest makes it possible to load additional content from the Web without loading a new document, a core component of AJAX. Form field type to work with mobile input URL type The Geolocation API makes the user's current location available to browser-based applications. Offline use, data storage, etc. Touch events, drawing Several APIs make the integration of Web applications with the local file system and storage seamless (Indexed Database). However, the standardization of these APIs are more troublesome. Many of these APIs are browser specific. Currently, two major mobile browsers are used (together represent over 80% of the market): Chrome and Safari (mostly on iOS devices) Chrome has been growing fast since 2014 to become the top mobile browser Additional market share data 18 Mobile browsers will be covered in details in IT4213 module 2 Mobile Website Delivery Strategy Two basic approaches 1. A separate mobile version site: has its own domain and address, and is independent from the main site. Ikea: (jQuery Mobile) Newegg: Nike: Staples: Wikipedia: Goodwill: (used a third party service, more like an app) 2. One Web One Web means making, as far as is reasonable, the same information and services available to users irrespective of the device they are using, but with different presentations (UI) Extended reading: Why Separate Mobile & Desktop Web Pages? One Web One Web means making, as far as is reasonable, the same information and services available to users irrespective of the device they are using, but with different presentations (UI) It does not mean that the content is available in exactly the same representation across all devices. The context of mobile use, device capability variations, bandwidth issues and mobile network capabilities all affect the representation. Three basic approaches Responsive web design (response to screen size) Adaptive (dynamic serving based on device detection and adaptation) adaptive/ Hybrid: RESS (Responsive Design + Server Side Components) Examples (responsive) or (adaptive) This subject will be covered in details in IT 4213 module 3 Key reading: design for multi-screen experiences websites-multi-screen-consumer.html Responsive Web Design Ethan Marcotte coined the term responsive web design and defined it to mean fluid grid/ flexible images/ media queries in a May 2010 article in A List Apart Basic principles and practices Fluid grid - no horizontal scrolling Adaptive/flexible image Media query Responsive Web Design (RWD) is a Web design approach aimed at crafting sites to provide an optimal viewing experience, easy reading and navigation with a minimum of resizing, panning, and scrolling, across a wide range of screen sizes and devices. Some interesting infographics about RWD learn-responsive-web-design/ This subject will be covered in details throughout IT 4213 Responsive Examples Responsive examples (more examples here) Non-responsive examples (not mobile friendly) (adaptive but not responsive) See more: Adjust the browser width and see the changes or use a tool like or browser developer tools. Adaptive (Dynamic Serving) Adaptive design aims to deliver website UI (content, style, function, etc.) and user experience that adapts to the capabilities of the device/browser. Also called dynamic serving as in resources/experience-design/building-websites-multi-screen-consumer/ Adaptation can be done either at the server side or at the client side - adaptive/ Of the Alexa 100 sites, fully 80% use adaptive web design in their delivery. brands Some examples (notice the webpage does not respond to size change well): Responsive design can somewhat be considered as a kind of adaptive design. It adapts UI based on screen size (width mainly). But adaptive design considers more features than just screen size. 23 Hybrid - RESS The two approaches are not mutually exclusive. Many sites combine techniques to achieve the best results. RESS: Responsive Design + Server Side Components A single set of page templates define an entire Web site for all devices (responsive) but key components within that site have device-class specific implementations that are rendered server side (server side components). Comparison of the three: 24 Mobile Web App Mobile web apps are still websites and delivered through browsers. They are more focused on a particular functionality without cluttered information and content. alternative-native-apps/ App-like web site looks and acts like a native mobile app (browser hidden, etc.) but is actually a web site This will give the website an "app" look and feel without installing anything at first But they are still dependent on the browser to drive them See an example "Sencha Fastbook "here: Some features: Launch from home screen (like an app): websites-to-the-home-screen-on-any-smartphone-or-tablet/ Running offline OS level notification Hardware capabilities like GPS, etc. Take it to another level: progressive web app (optimized app-like web site) 25 Extended reading: Progressive Web App Progressive web applications (PWAs) are web applications that load like regular web pages or websites but can offer the user functionality such as working offline, push notifications, and device hardware access traditionally available only to native applications. PWAs combine the flexibility of the web with the experience of a native application. Examples Twitter More readings mean-for-the-web/ mobile-apps/ 26 Apps using Web Technologies Mobile web also refers to the use of web technologies for mobile app development that are not dependent on web browsers These apps may include: Hybrid web app Use of web components (Web View) to display web pages in native apps app-browsers-explained/#.XEfp7VxKibh mBaaS, through the use of web APIs and services, used by various kinds of apps 27 This course will NOT cover these subjects. Hybrid Web Apps Hybrid apps are apps developed based on the web technologies (HTML, CSS, JavaScript) and wrapped in a platform specific native container Similar to Java and .Net's vision of Write-Once-Run-Anywhere Device features are exposed through JavaScript API The execution of the app relies on the browser engine of the OS it is installed in Gartner Says by 2016, More Than 50 Percent of Mobile Apps Deployed Will be Hybrid Major tools: Apache Cordova PhoneGap: Appcelerator Titanium IBM MobileFirst 28 Web View All the smartphone operating systems support the use of WebViews in apps. WebViews are a small view component to handle web page content (HTML/CSS, etc.). A WebView can be a tiny part of the app screen, as shown in Figure 1, a whole page, or anything in between. WebView Apps The entire app or at least most of it uses one big WebView Some example apps Facebook, Evernote, Instagram, LinkedIn, Uber, Slack, Twitter, Gmail, the Amazon Appstore, and many others are or have been WebView apps Quora (figure on the right) 29 /08/mobile-apps-native-hybrid-and- webviews.php Services and Service Providers Mobile backend as a service (MBaaS), also known as "backend as a service" (BaaS) is a model for providing mobile app developers (also web apps) with a way to use backend services through Web APIs These services usually include database, file storage, user access and management, push notifications, social networking services, emails, and others Developers can focus on front end development and don't need to develop and maintain a backend server themselves The global The Mobile Backend as a Service Market is expected to grow at USD ~$87 Billion by 2023, at ~64% of CAGR between 2017 and 2023. market-size-share-market-intelligence-company-profiles-and-trends- forecast-to-2023-2018-06-01 Top providers Kinvey Azure Sencha IBM 30 Mobile Application Framework A "framework" is a fundamental structure for supporting or enclosing something else, especially a skeletal support used as the basis for something being constructed on. The main aim of frameworks is to increase productivity by reducing efforts which eventually saves lot of time for developers to resolve any other important issues in the app. These frameworks provides inbuilt tools for developers to work instantly on difficult and lengthy part of coding. Major frameworks for mobile web Responsive UI Frameworks: these frameworks supports UI design on screens of various sizes Bootstrap Foundation Framework 7 HTML 5 mobile app: these frameworks mainly supports mobile devices, giving an app-like look and feel, and optimized for touch jQuery Mobile iUI Other mobile frameworks that are not just UI Angular React Other mobile (cross device) app frameworks that utilizes web technologies Ionic Ext JS Appcelerator More: 31 This subject will be covered in details in IT 4213 module 10 Development Tools Testing and validation resizer/ Feature check Live feature detection and Screen resolution: or Feature detection programming mode Modernizr: Responsive design test Emulator ome-devtools/device-mode/ US/docs/Tools/Responsive_Design_Mode Design tools Generator Design Considerations and Principles Be aware of the difference of user experience on mobile vs desktop Web site or app? Consider their pros and cons and select the most appropriate one. Follow the general conventions and design principles Design for small (multi) screen; adapt to screen size and density Design for touch friendly UI Reasonably and selectively apply design patterns and best practices Others Adopt a design language for consistency Handle browser compatibility and feature detection Design for mobile performance Apply a development strategy like mobile first Use a design tool to assist design and development This subject will be covered in details in IT 4213 module 4 and 11 Design for Small Screens The grand general principle of small screens is to keep the page short Most mobile websites are viewed in portrait mode with narrow width. Stretching a normal multi column webpage will make the page extra long. mobile/ Long stretching pages are more likely to get user lost and difficult to navigate Some general design practices Content/feature prioritization: a process to assess and determine the importance of content, and in turn determine how they will be displayed on the page. Generally non-major content (like menu) needs to be minimized or off screen (activated by command) Extra on demand: general information seeking practice that leads users to content interested after an extra action. Break into multiple steps/screens. Layout adjustment: change how content is arranged and grouped for different sizes of screens (viewports). 34 Design for Touch Friendly UI Understand the difference of touch oriented input. Challenges No keyboard shortcut No hover No right click No scrolling wheel No scroll bar Limited browser buttons Touch UI does offer opportunities to design better interaction methods and enable additional functionalities than traditional UI. Finger's advantages vs. mouse Accuracy: less accurate on pointing/tapping, but more accurate in movement (moving, dragging, drawing, etc.) Multi-point input Flexibility: gestures are richer and more advanced Direct action: horizontal scroll is easy 35 Basic Touch Friendly UI Principles Avoid touch weakness and maximize its advantages Aware of hot touch area positioning of common commands and actions - Set the right touch target size and style Rule of the thumb: thumb oriented operation is common Touchable areas instead of links really-hold-mobile-devices.php Size of touch targets: design-ideal-mobile-touchscreen-target-sizes/ Provide interaction feedback Take advantage of gestures Gestures represent the future UI opportunities Ease user input/typing Activate the most appropriate pseudo keyboard Mobile First Mobile First is a philosophy created by Luke Wroblewski that highlights the need to prioritize the mobile context when creating user experiences. Design for the smallest mobile device first; then progressively enhance the experience as more screen real estate becomes available. Allows websites to reach more people Forces designers to focus on core content and functionality (What do you do when you lose 80% of your screen real estate?) Let designers innovate and take advantage of new technologies (geolocation, touch events and more) More readings web-design/ 37 Design Patterns and Practices Design patterns and best practices are finer level design guides following the general principles. Layout "Multi-Device Layout Patterns" "Off Canvas Multi-Device Layouts" Navigation (menu placement) "Mobile web navigation must strike a balance between quick access to a site's information and unobtrusiveness." Patterns and best practices resources Google users-and-drive-conversions/ Android patters: Books Mobile UI Design Patterns Mobile Design Pattern Gallery - one sample chapter Designing mobile interfaces: 38 IT 4213 covers more detailed design patterns and best practices for layout, navigation, data presentation, and form (module 5 to 8). Data, Stats, and Reports Key organizational reports Cisco Visual Networking Index provider/visual-networking-index-vni/index.html KPCB Internet Trends General stats Browser: Other Reports Android devices: 39 Key Readings This lecture notes Mobile web differences Mobile development options Mobile web app: Developing Mobile Web Applications: When, Why, and How mobile-web-apps-when-why-and-how ONE web (responsive), adaptive, and separate mobile site (Google describes the three techniques) consumer/ Additional readings and resources Some history: Why Separate Mobile & Desktop Web Pages? One web: Mobile site design for performance: 40 Good Resources Community resources lweb 8 Online learning resources development--cs256 Vendor resources sites/ tals/ us/library/aa286514.aspx US/docs/Web/Guide/Mobile developers-ebook Influencers Books General news and resources bile/ 41

A comprehensive overview of mobile web, including mobile website design, mobile web app, and web technologies used for mobile apps. The first version was created in 2013 for a guest talk and eventually developed into a course module.

About Jack Zheng

Associate Professor at


Modal Header

Modal body