Adapting web pages for mobile devices Fredrik Andersson Hannes Nevalainen.

Slides:



Advertisements
Similar presentations
Building Fast 3rd-Party Webapps O'Reilly Velocity Web Performance and Operations Conference 24 June Lessons.
Advertisements

Archana Mandape. 234 million Wireless subscriptions in USA. Many players in the smart phone market. Apple iPhone OS, RIM BlackBerry OS and Android OS.
©2013 AKAMAI | FASTER FORWARD TM It's all about Performance Measured and Perceived Performance on Desktop and Mobile Devices San Mateo Meetup, July 2013.
Developing HTML5 Application using MVVM pattern Pekka Ylenius.
Building Mobile Apps in the Cloud – Comparing Approaches.
Analysis and Performance Information Systems 337 Prof. Harry Plantinga.
It’s always better live. MSDN Events Developing ASP.NET AJAX Controls with Silverlight.
High Performance Websites (Based on Steve Souder’s lecture) By Bhoomi Patel.
Putting the Network to Work
Responsive Web Design Design websites so that they can adapt to different devices seamlessly. Image by Muhammed RafizeldiMuhammed Rafizeldi.
Definition from Wikipedia.  The Prototype JavaScript Framework  implemented as a single file of JavaScript code  named prototype.js (
Responsive Web Design, Discoverability, and Mobile Challenge
Overview of HTML. Three Different Approaches  Text editor like Notepad  HTML editor such as: –KompoZer –DreamWeaver –Microsoft Expression Web –iWeb.
© 2010 UEI, Inc. All Rights Reserved UEIPAC HMI.
Performance, SEO, Accessibility Ivan Zhekov Telerik Corporation
Mobile Web Development Strategies Best Practices Performance Tips.
Presented by…. Group 2 1. Programming language 2Introduction.
Suleyman YILDIRIM.  Overview  Browser support  Scalability  Performance  Demos  Added value to the project.
Introduction The performance of web is getting important due to the fact that more and more services have been presented by web interfaces recently. Our.
Web 2.0: Concepts and Applications 11 The Web Becomes 2.0.
Philly.NET Hands-on Labs JAVASCRIPT SERIES. July 9: JavaScript Syntax Visual Studio ◦Projects ◦Editors ◦Debugging ◦Script blocks ◦Minification and bundling.
Mobile App Support Jacob Poirier Geri Hengesbach Andrea Menke Erin Rossell.
ASP.NET + Ajax Jesper Tørresø ITNET2 F08. Ajax Ajax (Asynchronous JavaScript and XML) A group of interrelated web development techniques used for creating.
Software Requirements Specification (SRS)
By: Toms Linnes Mrunal Patel.  Universal  With qooxdoo you build rich, interactive applications, native-like apps for mobile devices light weight single.
Responsive design - Bedrock to our site Responsive site templates included.
PACS - 09/19/15 1 favicon A ‘Favorite icon’ is a file containing one or more small icons associated with a particular website or web page. Web browsers.
Copyright © Terry Felke-Morris WEB DEVELOPMENT & DESIGN FOUNDATIONS WITH HTML5 7 TH EDITION Chapter 7 Key Concepts 1 Copyright © Terry Felke-Morris.
Building great standards based websites for the big wide world with ASP.NET 4 Tatham Oddie Senior Consultant Readify ASP.NET Damian Edwards.
Building Rich Web Applications with Ajax Linda Dailey Paulson IEEE – Computer, October 05 (Vol.38, No.10) Presented by Jingming Zhang.
Session: 1. © Aptech Ltd. 2Introduction to the Web / Session 1  Explain the evolution of HTML  Explain the page structure used by HTML  List the drawbacks.
Wijmo Troy Taylor. What is Wijmo? -Wijmo is a kit of over 40 UI widgets, optimized for client-side web development. -HTML5 -jQuery -CSS3 -SVG.
Department of Computer Science Internet Performance Measurements using Firefox Extensions Scot L. DeDeo Professor Craig Wills.
Webview and Web services. Web Apps You can make your web content available to users in two ways in a traditional web browser in an Android application,
PERFORMANCE ENHANCEMENT IN ASP.NET By Hassan Tariq Session #1.
Internet & World Wide Web How to Program, 5/e © by Pearson Education, Inc. All Rights Reserved.
HTML5 Video Player For SharePoint HTML5 Background Why creating video player in HTML5 is easy? Can we do it without Javascript? Easy or Difficult?
Web Technologies Lecture 2 HTML and CSS. HTML Hyper Text Markup Language – Describes web documents – Made up of nested HTML markup tags – Tags are the.
Web Technologies Lecture 7 Synchronous vs. asynchronous.
Restricted © Siemens AG All rights reserved A Developer’s Insights Into Performance Optimizations for Mobile Web Apps CT DC AA EM LP2 | June 2015.
Web 2.0: Concepts and Applications 11 The Web Becomes 2.0.
LESSON 15 – UNIT 0 ADAPTING YOUR WEB SITE FOR MOBILE DEVICES.
Rich Internet Applications 9. HTML 5 and RIAs. HTML 5 Standard currently under development by W3C Aims to improve the language with support for the latest.
Browser Compatibility Testing, using different browsers Conditional Statements.
INTRODUCING HYBRID APP KAU with MICT PARK IT COMPANIES Supported by KOICA
Google Maps API v3: Built First for Mobile Susannah Raub Google June 24, 2010.
PhoneGap Cross-Platform Development Company India
JQuery Fundamentals Introduction Tutorial Videos
CSCI 1720 W3.CSS – Part 1 East Tennessee State University Department of Computing CSCI 1720 Intermediate Web Design.
Web Technologies Computing Science Thompson Rivers University
CNIT131 Internet Basics & Beginning HTML
Debugging Front-end Performance
50 Performance Tricks to Make your HTML5 apps and sites Faster
Ad-blocker circumvention System
Information Systems 337 Prof. Harry Plantinga Assessment.
What is the Difference between AMP and PWA
Episerver Performance A-Z
Client-Side Web Technologies
Web & Mobile optimization
Web Browser server client 3-Tier Architecture Apache web server PHP
HTML5 Level I Session I Chapter 1 - Introduction to Web Development
Modern web applications
Modern web applications
Secure Web Programming
Overview The World Wide Web has changed the way that people
Web Client Side Technologies Raneem Qaddoura
Web Technologies Computing Science Thompson Rivers University
Client-Server Model: Requesting a Web Page
Web Client Side Technologies Raneem Qaddoura
WCF Data Services and Silverlight
Presentation transcript:

Adapting web pages for mobile devices Fredrik Andersson Hannes Nevalainen

Background Mobile is important Source: eTForecasts

Problem description Priorities No extra development Fully featured Appearance

Limits ? 2012 The screens are growing…

Project Constraints Static web server Strictly client side JSON API Rich user interface

VisualChange

VisualChange::CSS Responsive web design 66 out of 1162 CSS properties changed Reusable interface components easy to modify

VisualChange::MediaQueries

VisualChange::ViewPort Default width 980 px Can be changed in JavaScript Non consistent behavior between devices ”Smart” zoom

VisualChange::Zoom

JavaScript::Performance

Mobile is slow

JavaScript::Performance JavaScript on mobile devices is slow Avoid excessive DOM manipulation No animations requestAnimationFrame Not available yet… GPU rendering Tricky and error prone

Common JavaScript::Initialization Different devices with different features Mobile Desktop

Network Latency > 100 ms on 3G networks Concurrent request limits 6 on desktops 1-6 on smart phones Optimize payload and number of requests

Network::Images Sprites Combine several images into one Data-URI Image data inlined <img src=”data:image/png; base64, ” /> VS Base64 encoded

Network::JavaScript Bundle combine libraries to one file Modernizr, RequireJS, jQuery, Underscore, Backbone, jQuery UI, jQuery.jScrollPane, jQuery.MouseWheel, jQuery.MouseWheel Intent, jQuery.TinyPubSub, jQuery.Color, jQuery.Spin,… Inline modules Dependencies between modules => hard to bundle Views have many dependencies == many requests Long dependency chains are expensive

Network::InlineModules

Network::Minimization Minimization UglifyJS, Google Closure, YUI Compressor gzip

Network:: Minimization

Missing ; before statement on line 1

Network::CacheManifest List of files Fetch and cache all files in list JavaScript hooks CACHE MANIFEST # :v2 # Files to cache CACHE: index.html stylesheet.css images/logo.png scripts/main.js # Online resources NETWORK: login.php /myapi

Network::Charts transferred content is gzipped Total size (339kB)

Network::Charts

BuildProcess Automate into build process Do after each change make dev

BrowserSupport Tested browsers Chrome 17 Firefox 10 IE9 Mobile Safari (Android, iOS, Meego) IE9 No Cache manifest