Demystifying Page Load Performance with WProf

Size: px
Start display at page:

Download "Demystifying Page Load Performance with WProf"

Transcription

1 Demystifying Page Load Performance with WProf Xiao (Sophia) Wang, Aruna Balasubramanian, Arvind Krishnamurthy, and David Wetherall University of Washington

2 Web is the critical part of the Internet 1

3 Page load is critical Amazon can increase 1% revenue by decreasing page load time by 0.1s. 2

4 Page load is critical but slow Amazon can increase 1% revenue by decreasing page load time by 0.1s. Page load is slow even on top 200 websites 2

5 Page load is critical but slow Amazon can increase 1% revenue by decreasing page load time by 0.1s. Page load is slow even on top 200 websites Median page load time is 3 seconds. 2

6 Page load is critical but slow Amazon can increase 1% revenue by decreasing page load time by 0.1s. Page load is slow even on top 200 websites A few top pages take more than 10 seconds to load. 2

7 Many techniques aim to optimize page load time Optimization techniques Server placement: CDNs Web pages and cache: mod_pagespeed, Silo Application level: SPDY TCP/DNS: TCP fast open, ASAP, DNS preresolution, TCP pre-connect Problem Unclear whether they help or hurt page loads* * * 3

8 Many techniques aim to optimize page load time Optimization techniques Server placement: CDNs Web pages and cache: mod_pagespeed, Silo Application level: SPDY TCP/DNS: TCP fast open, ASAP, DNS preresolution, TCP pre-connect Problem Unclear whether they help or hurt page loads* * * Page load process is poorly understood. 3

9 Difficult to understand page load Factors that affect page load Page structure Inter-dependencies between network and computation activities Browser implementations 4

10 Difficult to understand page load <html> <script src="b.js"></script> <img src="c.png"/> </html> <html> <img src="c.png"/> <script src="b.js"></script> </html> 5

11 Difficult to understand page load html <html> <script src="b.js"></script> <img src="c.png"/> </html> b.js c.png <html> <img src="c.png"/> <script src="b.js"></script> </html> 5

12 Difficult to understand page load html <html> <script src="b.js"></script> <img src="c.png"/> </html> b.js c.png html <html> <img src="c.png"/> <script src="b.js"></script> </html> c.png b.js 5

13 Difficult to understand page load html <html> <script src="b.js"></script> <img src="c.png"/> </html> b.js c.png html <html> <img src="c.png"/> <script src="b.js"></script> </html> c.png b.js Understanding dependencies is the key to understand page load. 5

14 Overview of our work Model the page load process Build the WProf tool Study page load on real pages

15 Overview of our work Model the page load process How a page is loaded? How to infer dependencies? Build the WProf tool Study page load on real pages

16 How a page is loaded 6

17 How a page is loaded Concurrencies among the four components 6

18 How a page is loaded Dependencies: one component can block others 6

19 How a page is loaded A page load starts with a user-initiated request. 6

20 How a page is loaded index.html 1 <html> 2 <script src="main.js"/> 3 </html> Object Loader downloads the corresponding Web page. 6

21 How a page is loaded index.html 1 <html> 2 <script src="main.js"/> 3 </html> Upon receiving the first chunk of the root page, the HTML Parser starts to parse the page. 6

22 How a page is loaded index.html 1 <html> 2 <script src="main.js"/> 3 </html> HTML Parser requests embedded objects, i.e., JavaScript. 6

23 How a page is loaded index.html 1 <html> 2 <script src="main.js"/> 3 </html> main.js... Object Loader requests the inlined JS and sends it for evaluation. 6

24 How a page is loaded index.html 1 <html> 2 <script src="main.js"/> 3 </html> main.js... JS evaluation can modify the DOM and its completion resumes HTML parsing. 6

25 How a page is loaded index.html 1 <html> 2 <script src="main.js"/> 3 </html> HTML continues being parsed and added to the DOM. 6

26 How a page is loaded index.html 1 <html> 2 <script src="main.js"/> 3 </html> Rendering Engine progressively renders the page (i.e., layout and painting). 6

27 How to infer dependencies Goal Extract as many dependencies as possible across browsers Methodology Design test pages Examine documents Inspect browser code 7

28 How to infer dependencies Goal Extract as many dependencies as possible across browsers Methodology Design test pages Examine documents Inspect browser code 7

29 Reverse engineer page loads with test pages Design test pages 8

30 Reverse engineer page loads with test pages Design test pages HTML JS IMG CSS IMG HTML IMG An example Web page 8

31 Reverse engineer page loads with test pages Design test pages An object follows another HTML JS IMG CSS IMG HTML IMG An example Web page 8

32 Reverse engineer page loads with test pages Design test pages An object follows another An object embeds another HTML JS IMG CSS IMG HTML IMG An example Web page 8

33 Reverse engineer page loads with test pages Design test pages Observe timings from DevTools html HTML js JS img IMG HTML html img IMG JS js 9

34 Reverse engineer page loads with test pages Design test pages Observe timings from DevTools html HTML js JS img IMG HTML html img IMG JS js 9

35 Dependency policy categories Flow dependency Natural order that activities occur 10

36 Dependency policy categories Flow dependency Output dependency Correctness of execution when multiple processes access to the same resource 10

37 Dependency policy categories Flow dependency Output dependency Lazy/Eager binding Tradeoffs between data downloads and page load latencies 10

38 Dependency policy categories Flow dependency Output dependency Lazy/Eager binding Resource constraints Limited computing power or network resources (# TCP conn.) 10

39 Output dependency index.html 1 <html> 2 <link rel="stylesheet" href="c.css"> 3 <script src="f.js"/>... 11

40 Output dependency index.html 1 <html> 2 <link rel="stylesheet" href="c.css"> 3 <script src="f.js"/>... Elapsed time html 11

41 Output dependency index.html 1 <html> 2 <link rel="stylesheet" href="c.css"> 3 <script src="f.js"/>... Elapsed time html c.css 11

42 Output dependency index.html 1 <html> 2 <link rel="stylesheet" href="c.css"> 3 <script src="f.js"/>... Elapsed time html c.css 11

43 Output dependency index.html 1 <html> 2 <link rel="stylesheet" href="c.css"> 3 <script src="f.js"/>... Elapsed time html c.css 11

44 Output dependency index.html 1 <html> 2 <link rel="stylesheet" href="c.css"> 3 <script src="f.js"/>... Elapsed time html c.css f.js 11

45 Output dependency index.html 1 <html> 2 <link rel="stylesheet" href="c.css"> 3 <script src="f.js"/>... Elapsed time html c.css f.js 11

46 Output dependency index.html 1 <html> 2 <link rel="stylesheet" href="c.css"> 3 <script src="f.js"/>... Elapsed time html c.css f.js 11

47 Dependency policies 12

48 Dependency policies Flow Output Lazy/Eag er binding Resource constraint

49 Dependency policies across browsers Dependency IE Firefox WebKit Output all no O3 no O3 Late binding all all all Eager binding Preloads Preloads Preloads img, js, css img, js, css css, js Net resource 6 conn. 6 conn. 6 conn. 13

50 Dependency policies across browsers Dependency IE Firefox WebKit Output all no O3 no O3 Late binding all all all Eager binding Preloads Preloads Preloads img, js, css img, js, css css, js Net resource 6 conn. 6 conn. 6 conn. O3: CSS downloads and evaluation block HTML parsing. 13

51 Overview of our work Model the page load process Build the WProf tool Profiling in browsers Generating dependency graphs Analyzing critical paths Study page load on real pages

52 WProf architecture Browser Stack Web page instances Browser extension/plug-in framework Native browser 14

53 WProf architecture Browser Stack Web page instances Browser extension/plug-in framework Native browser WProf profiler Rendering Engine JavaScript Engine CSS Engine HTML Parser Object Loader 14

54 WProf architecture Browser Stack Web page instances Browser extension/plug-in framework Native browser WProf profiler Rendering Engine JavaScript Engine CSS Engine HTML Parser Object Loader Activity timing Dependen cies 14

55 WProf architecture Browser Stack Web page instances Browser extension/plug-in framework Native browser WProf profiler - Log activity timings - Track dependencies by using HTML tags under parsing when an activity occurs Rendering Engine JavaScript Engine CSS Engine HTML Parser Object Loader Activity timing Dependen cies 14

56 WProf architecture Browser Stack Web page instances Browser extension/plug-in framework Native browser WProf profiler Lightweight Our evaluation suggests negligible performance overhead. Rendering Engine JavaScript Engine CSS Engine HTML Parser Object Loader Activity timing Dependen cies 14

57 WProf architecture Browser Stack Web page instances Browser extension/plug-in framework Native browser WProf profiler Implementation - Built on WebKit - Extended in Chrome and Safari - Written in C++ Rendering Engine JavaScript Engine CSS Engine HTML Parser Object Loader Activity timing Dependen cies 14

58 WProf architecture Browser Stack Web page instances Critical paths Browser extension/plug-in framework Native browser Dependency graphs WProf profiler Rendering Engine JavaScript Engine CSS Engine HTML Parser Object Loader Activity timing Dependen cies 14

59 WProf architecture Browser Stack Web page instances Critical paths Browser extension/plug-in framework Native browser Dependency graphs WProf profiler Rendering Engine JavaScript Engine CSS Engine HTML Parser Object Loader Activity timing Dependen cies 14

60 Dependency graph <html> <head> <link rel="stylesheet" src="./main.css"> <script src="./main.js" /> </head> <!--request a JS--> <body onload="..."> <img src="test.png" /> </body> </html> 15

61 Critical path analysis Critical path: the longest bottleneck path. 16

62 Critical path analysis Critical path: the longest bottleneck path. 16

63 Critical path analysis Critical path: the longest bottleneck path. 16

64 Critical path analysis Critical path: the longest bottleneck path. 16

65 Critical path analysis Critical path: the longest bottleneck path. 16

66 Critical path analysis Critical path: the longest bottleneck path. 16

67 Critical path analysis Critical path: the longest bottleneck path. 16

68 Critical path analysis Critical path: the longest bottleneck path. 16

69 Critical path analysis Critical path: the longest bottleneck path. 16

70 Critical path analysis Critical path: the longest bottleneck path. Improving activities off the critical path doesn't help page load. 16

71 Overview of our work Model the page load process Build the WProf tool Study page load with real pages

72 Experimental setup Location UW Seattle campus network Browser WProf-instrumented Chrome Web pages 150 out of top 200 Alexa pages Page load time Minimum out of 5 repeats 17

73 How much does computation contribute to page load time? 18

74 Computation is significant Network Computation Network/Computation as a fraction of page load time 19

75 Computation is significant Network Computation Network/Computation as a fraction of page load time Computation is ~35% of page load time (median) on the critical path. 19

76 How much does caching help page load performance? 20

77 How much does caching help? Caching eliminates 80% Web object loads It doesn't reduce page load time as much 21

78 How much does caching help? Caching eliminates 80% Web object loads It doesn't reduce page load time as much Caching only eliminates 40% Web object loads on the critical path 21

79 Summary of other results Most object downloads are not critical JS blocks parsing on 60% top pages SPDY doesn't help much as expected Minification with mod_pagespeed doesn't reduce received bytes on the critical path 22

80 Related work Industry tools DevTools, Pagespeed Insights Academic WebProphet [NSDI'2010] Only consider network time 23

81 Conclusion Model page load process WProf automatically extracts dependencies and analyzes critical paths WProf can be used to Understand performance of any page load Explain behaviors of current optimizations Perform what-if analysis Project website: wprof.cs.washington.edu 24

Demystifying Page Load Performance with WProf

Demystifying Page Load Performance with WProf Demystifying Page Load Performance with WProf Xiao Sophia Wang, Aruna Balasubramanian, Arvind Krishnamurthy, and David Wetherall University of Washington Abstract Web page load time is a key performance

More information

An In-depth study of Mobile Browser Performance

An In-depth study of Mobile Browser Performance An In-depth study of Mobile Browser Performance Javad Nejati jnejati@cs.stonybrook.edu Aruna Balasubramanian arunab@cs.stonybrook.edu ABSTRACT Mobile page load times are an order of magnitude slower compared

More information

Klotski: Reprioritizing Web Content to Improve User Experience on Mobile Devices

Klotski: Reprioritizing Web Content to Improve User Experience on Mobile Devices Klotski: Reprioritizing Web Content to Improve User Experience on Mobile Devices Michael Butkiewicz, Daimeng Wang, Zhe Wu, Harsha V. Madhyastha, Vyas Sekar UC Riverside University of Michigan CMU Motivation:

More information

RICE UNIVERSITY. Speeding Up Mobile Browsers without Infrastructure Support. Zhen Wang. Master of Science

RICE UNIVERSITY. Speeding Up Mobile Browsers without Infrastructure Support. Zhen Wang. Master of Science RICE UNIVERSITY Speeding Up Mobile Browsers without Infrastructure Support by Zhen Wang A THESIS SUBMITTED IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE Master of Science APPROVED, THESIS COMMITTEE

More information

How Speedy is SPDY? Xiao Sophia Wang, Aruna Balasubramanian, Arvind Krishnamurthy, and David Wetherall, University of Washington

How Speedy is SPDY? Xiao Sophia Wang, Aruna Balasubramanian, Arvind Krishnamurthy, and David Wetherall, University of Washington How Speedy is? Xiao Sophia Wang, Aruna Balasubramanian, Arvind Krishnamurthy, and David Wetherall, University of Washington https://www.usenix.org/conference/nsdi4/technical-sessions/wang This paper is

More information

Web Development CSE2WD Final Examination June 2012. (a) Which organisation is primarily responsible for HTML, CSS and DOM standards?

Web Development CSE2WD Final Examination June 2012. (a) Which organisation is primarily responsible for HTML, CSS and DOM standards? Question 1. (a) Which organisation is primarily responsible for HTML, CSS and DOM standards? (b) Briefly identify the primary purpose of the flowing inside the body section of an HTML document: (i) HTML

More information

WompMobile Technical FAQ

WompMobile Technical FAQ WompMobile Technical FAQ What are the technical benefits of WompMobile? The mobile site has the same exact URL as the desktop website. The mobile site automatically and instantly syncs with the desktop

More information

Setup The package simply needs to be installed and configured for the desired CDN s distribution server.

Setup The package simply needs to be installed and configured for the desired CDN s distribution server. NTT DATA Sitecore CDN Connector Overview The CDN Connector for Sitecore allows developers to route all media requests (dynamic and static) through a proxy CDN. It is designed to be plug-n-play requiring

More information

Mobile Web Applications. Gary Dubuque IT Research Architect Department of Revenue

Mobile Web Applications. Gary Dubuque IT Research Architect Department of Revenue Mobile Web Applications Gary Dubuque IT Research Architect Department of Revenue Summary Times are approximate 10:15am 10:25am 10:35am 10:45am Evolution of Web Applications How they got replaced by native

More information

Latency Amplification: Characterizing the Impact of Web Page Content on Load Times

Latency Amplification: Characterizing the Impact of Web Page Content on Load Times Latency Amplification: Characterizing the Impact of Web Page Content on Load Times Abstract Cătălin Avram University of Waterloo Web users like sites that load quickly. Longer web page load times translate

More information

Front-End Performance Testing and Optimization

Front-End Performance Testing and Optimization Front-End Performance Testing and Optimization Abstract Today, web user turnaround starts from more than 3 seconds of response time. This demands performance optimization on all application levels. Client

More information

Configuring iplanet 6.0 Web Server For SSL and non-ssl Redirect

Configuring iplanet 6.0 Web Server For SSL and non-ssl Redirect Introduction Configuring iplanet 6.0 Web Server For SSL and non-ssl Redirect This document describes the process for configuring an iplanet web server for the following situation: Require that clients

More information

USING RUST TO BUILD THE NEXT GENERATION WEB BROWSER

USING RUST TO BUILD THE NEXT GENERATION WEB BROWSER USING RUST TO BUILD THE NEXT GENERATION WEB BROWSER Lars Bergstrom Mozilla Research Mike Blumenkrantz Samsung R&D America Why a new web engine? Support new types of applications and new devices All modern

More information

PLAYER DEVELOPER GUIDE

PLAYER DEVELOPER GUIDE PLAYER DEVELOPER GUIDE CONTENTS CREATING AND BRANDING A PLAYER IN BACKLOT 5 Player Platform and Browser Support 5 How Player Works 6 Setting up Players Using the Backlot API 6 Creating a Player Using the

More information

Slide.Show Quick Start Guide

Slide.Show Quick Start Guide Slide.Show Quick Start Guide Vertigo Software December 2007 Contents Introduction... 1 Your first slideshow with Slide.Show... 1 Step 1: Embed the control... 2 Step 2: Configure the control... 3 Step 3:

More information

DepTracker: Tracking JavaScript Dependencies on the Web. Ameesh Kumar Goyal

DepTracker: Tracking JavaScript Dependencies on the Web. Ameesh Kumar Goyal DepTracker: Tracking JavaScript Dependencies on the Web by Ameesh Kumar Goyal B.S., Massachusetts Institute of Technology (2014) Submitted to the Department of Electrical Engineering and Computer Science

More information

Dynamic Content Acceleration: Lightning-Fast Web Apps with Amazon CloudFront and Amazon Route 53

Dynamic Content Acceleration: Lightning-Fast Web Apps with Amazon CloudFront and Amazon Route 53 Dynamic Content Acceleration: Lightning-Fast Web Apps with Amazon CloudFront and Amazon Route 53 Constantin Gonzalez, Solutions Architect Amazon Web Services Germany GmbH 2014 Amazon.com, Inc. and its

More information

Polaris: Faster Page Loads Using Fine-grained Dependency Tracking

Polaris: Faster Page Loads Using Fine-grained Dependency Tracking Polaris: Faster Page Loads Using Fine-grained Dependency Tracking Ravi Netravali *, Ameesh Goyal *, James Mickens, Hari Balakrishnan * * MIT CSAIL Harvard University Abstract To load a web page, a browser

More information

Content Delivery Networks (CDN) Dr. Yingwu Zhu

Content Delivery Networks (CDN) Dr. Yingwu Zhu Content Delivery Networks (CDN) Dr. Yingwu Zhu Web Cache Architecure Local ISP cache cdn Reverse Reverse Proxy Reverse Proxy Reverse Proxy Proxy L4 Switch Content Content Content Server Content Server

More information

Update logo and logo link on A Master. Update Date and Product on B Master

Update logo and logo link on A Master. Update Date and Product on B Master Cover Be sure to: Update META data Update logo and logo link on A Master Update Date and Product on B Master Web Performance Metrics 101 Contents Preface...3 Response Time...4 DNS Resolution Time... 4

More information

Why Mobile Performance is Hard

Why Mobile Performance is Hard Matt Welsh mdw@google.com Google, Inc. http://www.flickr.com/photos/nao-cha/2660459899/ Why Mobile Performance is Hard In a nutshell: Despite 20 years of research and engineering, mobile performance still

More information

Visualizing a Neo4j Graph Database with KeyLines

Visualizing a Neo4j Graph Database with KeyLines Visualizing a Neo4j Graph Database with KeyLines Introduction 2! What is a graph database? 2! What is Neo4j? 2! Why visualize Neo4j? 3! Visualization Architecture 4! Benefits of the KeyLines/Neo4j architecture

More information

Monitoring the Real End User Experience

Monitoring the Real End User Experience An AppDynamics Business White Paper HOW MUCH REVENUE DOES IT GENERATE? Monitoring the Real End User Experience Web application performance is fundamentally associated in the mind of the end user; with

More information

Building Web Applications with HTML5, CSS3, and Javascript: An Introduction to HTML5

Building Web Applications with HTML5, CSS3, and Javascript: An Introduction to HTML5 Building Web Applications with HTML5, CSS3, and Javascript: An Introduction to HTML5 Jason Clark Head of Digital Access & Web Services Montana State University Library pinboard.in #tag pinboard.in/u:jasonclark/t:lita-html5/

More information

CIS 467/602-01: Data Visualization

CIS 467/602-01: Data Visualization CIS 467/602-01: Data Visualization HTML, CSS, SVG, (& JavaScript) Dr. David Koop Assignment 1 Posted on the course web site Due Friday, Feb. 13 Get started soon! Submission information will be posted Useful

More information

JISIS and Web Technologies

JISIS and Web Technologies 27 November 2012 Status: Draft Author: Jean-Claude Dauphin JISIS and Web Technologies I. Introduction This document does aspire to explain how J-ISIS is related to Web technologies and how to use J-ISIS

More information

Improving Magento Front-End Performance

Improving Magento Front-End Performance Improving Magento Front-End Performance If your Magento website consistently loads in less than two seconds, congratulations! You already have a high-performing site. But if your site is like the vast

More information

Abusing HTML5. DEF CON 19 Ming Chow Lecturer, Department of Computer Science TuCs University Medford, MA 02155 mchow@cs.tucs.edu

Abusing HTML5. DEF CON 19 Ming Chow Lecturer, Department of Computer Science TuCs University Medford, MA 02155 mchow@cs.tucs.edu Abusing HTML5 DEF CON 19 Ming Chow Lecturer, Department of Computer Science TuCs University Medford, MA 02155 mchow@cs.tucs.edu What is HTML5? The next major revision of HTML. To replace XHTML? Yes Close

More information

WebRTC. crash course on web performance. Ilya Grigorik - @igrigorik Make The Web Fast Google

WebRTC. crash course on web performance. Ilya Grigorik - @igrigorik Make The Web Fast Google Building Faster Websites WebRTC crash course on web performance Ilya Grigorik - Make The Web Fast Google Web performance in one slide... Critical rendering path HTML Network DOM JavaScript CSS Render Tree

More information

Visualizing an OrientDB Graph Database with KeyLines

Visualizing an OrientDB Graph Database with KeyLines Visualizing an OrientDB Graph Database with KeyLines Visualizing an OrientDB Graph Database with KeyLines 1! Introduction 2! What is a graph database? 2! What is OrientDB? 2! Why visualize OrientDB? 3!

More information

HTTP/2: Operable and Performant. Mark Nottingham @mnot (@akamai)

HTTP/2: Operable and Performant. Mark Nottingham @mnot (@akamai) HTTP/2: Operable and Performant Mark Nottingham @mnot (@akamai) This talk may be disappointing. As we know, there are known knowns; there are things we know we know. We also know there are known unknowns;

More information

Table of Contents. Overview... 2. Supported Platforms... 3. Demos/Downloads... 3. Known Issues... 3. Note... 3. Included Files...

Table of Contents. Overview... 2. Supported Platforms... 3. Demos/Downloads... 3. Known Issues... 3. Note... 3. Included Files... Table of Contents Overview... 2 Supported Platforms... 3 Demos/Downloads... 3 Known Issues... 3 Note... 3 Included Files... 5 Implementing the Block... 6 Configuring The HTML5 Polling Block... 6 Setting

More information

Mobile Application Performance Report

Mobile Application Performance Report Mobile Application Performance Report Optimization Recommendations and Performance Analysis Report Prepared for - http://www.google.com VS http://www.yahoo.com Emulated Device Type: ipad OVERALL PERFORMANCE

More information

Using HTML5 Pack for ADOBE ILLUSTRATOR CS5

Using HTML5 Pack for ADOBE ILLUSTRATOR CS5 Using HTML5 Pack for ADOBE ILLUSTRATOR CS5 ii Contents Chapter 1: Parameterized SVG.....................................................................................................1 Multi-screen SVG.......................................................................................................4

More information

Website Optimization Tips for Speed

Website Optimization Tips for Speed Website Optimization Tips for Speed Sothern California WordPress Meetup Microsoft HQ, Los Angeles - 3/20/2012 Belsien Thomas belsien@wppowerguide.com S Overview Of Website Optimization Content Optimizations

More information

Interactive Data Visualization for the Web Scott Murray

Interactive Data Visualization for the Web Scott Murray Interactive Data Visualization for the Web Scott Murray Technology Foundations Web technologies HTML CSS SVG Javascript HTML (Hypertext Markup Language) Used to mark up the content of a web page by adding

More information

A Resource Monitoring Scheme for Web Applications

A Resource Monitoring Scheme for Web Applications A Resource Monitoring Scheme for Web Applications Prithviraj Sahu Department of Computer Science and Engineering National Institute of Technology Rourkela Rourkela - 769008, India A Resource Monitoring

More information

Phishing by data URI

Phishing by data URI Phishing by data URI Henning Klevjer henning@klevjers.com October 22, 2012 1 Abstract Historically, phishing web pages have been hosted by web servers that are either compromised or owned by the attacker.

More information

1. Minimize HTTP Requests. 2. Put Stylesheets at the Top

1. Minimize HTTP Requests. 2. Put Stylesheets at the Top This document provides a set of recommendations that can help to increase the loading speed of your website as well as potentially decrease your bandwidth usage. Not all of the recommendations may be applicable

More information

Web Design Technology

Web Design Technology Web Design Technology Terms Found in web design front end Found in web development back end Browsers Uses HTTP to communicate with Web Server Browser requests a html document Web Server sends a html document

More information

Official Amazon Checkout Extension for Magento Commerce. Documentation

Official Amazon Checkout Extension for Magento Commerce. Documentation Official Amazon Checkout Extension for Magento Commerce Documentation 1. Introduction This extension provides official integration of your Magento store with Inline Checkout by Amazon service. Checkout

More information

10 Web Performance Optimization Disasters. WebRTC. Don't let this happen to you! Google Make the Web Fast team

10 Web Performance Optimization Disasters. WebRTC. Don't let this happen to you! Google Make the Web Fast team 10 Web Performance Optimization Disasters WebRTC Don't let this happen to you! Joshua Marantz jmarantz@google.com Google Make the Web Fast team Web Performance Optimization (WPO) Landscape aka FEO, WCO

More information

CREATE A CUSTOM THEME WEBSPHERE PORTAL 8.0.0.1

CREATE A CUSTOM THEME WEBSPHERE PORTAL 8.0.0.1 CREATE A CUSTOM THEME WEBSPHERE PORTAL 8.0.0.1 WITHOUT TEMPLATE LOCALIZATION, WITHOUT WEBDAV AND IN ONE WAR FILE Simona Bracco Table of Contents Introduction...3 Extract theme dynamic and static resources...3

More information

Mobile Performance Management Tools Prasanna Gawade, Infosys April 2014

Mobile Performance Management Tools Prasanna Gawade, Infosys April 2014 Mobile Performance Management Tools Prasanna Gawade, Infosys April 2014 Computer Measurement Group, India 1 Contents Introduction Mobile Performance Optimization Developer Tools Purpose and Overview Mobile

More information

AjaxScope: Remotely Monitoring Client-side Web-App Behavior

AjaxScope: Remotely Monitoring Client-side Web-App Behavior AjaxScope: Remotely Monitoring Client-side Web-App Behavior Emre Kıcıman emrek@microsoft.com Ben Livshits livshits@microsoft.com Internet Services Research Center Microsoft Research Runtime Analysis &

More information

Copyright 2013-2014 by Object Computing, Inc. (OCI). All rights reserved. AngularJS Testing

Copyright 2013-2014 by Object Computing, Inc. (OCI). All rights reserved. AngularJS Testing Testing The most popular tool for running automated tests for AngularJS applications is Karma runs unit tests and end-to-end tests in real browsers and PhantomJS can use many testing frameworks, but Jasmine

More information

2009-12-26 PST_WEBZINE_0X04. How to solve XSS and mix user's HTML/JavaScript code with your content with just one script

2009-12-26 PST_WEBZINE_0X04. How to solve XSS and mix user's HTML/JavaScript code with your content with just one script ACS - Active Content Signatures By Eduardo Vela Nava ACS - Active Content Signatures How to solve XSS and mix user's HTML/JavaScript code with your content with just one script Eduardo Vela Nava (sirdarckcat@gmail.com)

More information

TIME SCHEDULE OBJECTIVES

TIME SCHEDULE OBJECTIVES COURSE TITLE : WEB DESIGN COURSE CODE : 3073 COURSE CATEGORY : B PERIODS/WEEK : 4 PERIODS/ SEMESTER : 72 CREDITS : 4 TIME SCHEDULE MODULE TOPICS PERIODS 1 Internet fundamentals 18 2 Html, css and web design

More information

A Model of the Operation of The Model-View- Controller Pattern in a Rails-Based Web Server

A Model of the Operation of The Model-View- Controller Pattern in a Rails-Based Web Server A of the Operation of The -- Pattern in a Rails-Based Web Server January 10, 2011 v 0.4 Responding to a page request 2 A -- user clicks a link to a pattern page in on a web a web application. server January

More information

What is an Adrenaline Web Browser?

What is an Adrenaline Web Browser? A Case for Parallelizing Web Pages Haohui Mai, Shuo Tang, Samuel T. King University of Illinois and Valkyrie Computer Systems Calin Cascaval, Pablo Montesinos Qualcomm Research ABSTRACT Mobile web browsing

More information

A BASELINE FOR WEB PERFORMANCE WITH PHANTOMJS

A BASELINE FOR WEB PERFORMANCE WITH PHANTOMJS 2 WebSocket 3 Polling A BASELINE FOR WEB PERFORMANCE WITH PHANTOMJS @WESLEYHALES DO YOU AUTOMATE BROWSER PERF? You might occasionally test your sites using Firebug, Chrome DevTools, PageSpeed, YSlow, etc..

More information

Online Multimedia Winter semester 2015/16

Online Multimedia Winter semester 2015/16 Multimedia im Netz Online Multimedia Winter semester 2015/16 Tutorial 12 Major Subject Ludwig-Maximilians-Universität München Online Multimedia WS 2015/16 - Tutorial 12-1 Today s Agenda Imperative vs.

More information

79 Tips and Tricks for Magento Performance Improvement. for Magento Performance Improvement

79 Tips and Tricks for Magento Performance Improvement. for Magento Performance Improvement 79 Tips and Tricks for Magento Performance Improvement A Checklist to Faster Load Times and Higher Conversion Rates Your website visitors crave fast load times and speedy product search. In fact, almost

More information

Web Development 1 A4 Project Description Web Architecture

Web Development 1 A4 Project Description Web Architecture Web Development 1 Introduction to A4, Architecture, Core Technologies A4 Project Description 2 Web Architecture 3 Web Service Web Service Web Service Browser Javascript Database Javascript Other Stuff:

More information

Web Browsing Examples. How Web Browsing and HTTP Works

Web Browsing Examples. How Web Browsing and HTTP Works How Web Browsing and HTTP Works 1 1 2 Lets consider an example that shows how web browsing and HTTP work. The example will cover a simple, but very common case. There are many more details of HTTP that

More information

Team Members: Christopher Copper Philip Eittreim Jeremiah Jekich Andrew Reisdorph. Client: Brian Krzys

Team Members: Christopher Copper Philip Eittreim Jeremiah Jekich Andrew Reisdorph. Client: Brian Krzys Team Members: Christopher Copper Philip Eittreim Jeremiah Jekich Andrew Reisdorph Client: Brian Krzys June 17, 2014 Introduction Newmont Mining is a resource extraction company with a research and development

More information

1 of 8 9/14/2011 5:40 PM

1 of 8 9/14/2011 5:40 PM file:///z:/sites/gemini/public_html/westbendmarketingfirm.htm 1 of 8 9/14/2011 5:40 PM

More information

1. When will an IP process drop a datagram? 2. When will an IP process fragment a datagram? 3. When will a TCP process drop a segment?

1. When will an IP process drop a datagram? 2. When will an IP process fragment a datagram? 3. When will a TCP process drop a segment? Questions 1. When will an IP process drop a datagram? 2. When will an IP process fragment a datagram? 3. When will a TCP process drop a segment? 4. When will a TCP process resend a segment? CP476 Internet

More information

ATIS Open Web Alliance. Jim McEachern Senior Technology Consultant ATIS

ATIS Open Web Alliance. Jim McEachern Senior Technology Consultant ATIS Jim McEachern Senior Technology Consultant ATIS Objective This presentation provides an introduction to the, and the motivation behind its formation. 2 Overview SPDY was introduced by Google to reduce

More information

HTTP is Stateless. it simply allows a browser to request a single document from a web server. it remembers nothing between invoca9ons.

HTTP is Stateless. it simply allows a browser to request a single document from a web server. it remembers nothing between invoca9ons. Session & cookies HTTP is Stateless it simply allows a browser to request a single document from a web server it remembers nothing between invoca9ons Short lived EVERY resource that is accessed via HTTP

More information

A Tale of the Weaknesses of Current Client-Side XSS Filtering

A Tale of the Weaknesses of Current Client-Side XSS Filtering Call To Arms: A Tale of the Weaknesses of Current Client-Side XSS Filtering Martin Johns, Ben Stock, Sebastian Lekies About us Martin Johns, Ben Stock, Sebastian Lekies Security Researchers at SAP, Uni

More information

SlowShop.com SuperShop.com A practical example of how FusionReactor v5 can identify 10 common problems in ColdFusion applications.

SlowShop.com SuperShop.com A practical example of how FusionReactor v5 can identify 10 common problems in ColdFusion applications. SlowShop.com SuperShop.com A practical example of how FusionReactor v5 can identify 10 common problems in ColdFusion applications. Intergral Information Solutions David Stockton Senior Technical Consultant

More information

Introduction to Mobile Performance Testing

Introduction to Mobile Performance Testing Introduction to Mobile Performance Testing Shlomi Zalma, Wilson Mar DT3338 at Noon, June 13, 2013 HOL330 in Sands 305 Why performance test mobile apps? Mobile apps are now: how customers locate stores

More information

Going Beyond SAP ITS Mobile Apps to a Responsive Design Mobile Apps. JK (JayaKumar Pedapudi) Principal Consultant NTT DATA, Inc.

Going Beyond SAP ITS Mobile Apps to a Responsive Design Mobile Apps. JK (JayaKumar Pedapudi) Principal Consultant NTT DATA, Inc. Going Beyond SAP ITS Mobile Apps to a Responsive Design Mobile Apps JK (JayaKumar Pedapudi) Principal Consultant NTT DATA, Inc. Introduction. Learning Points. What is Responsive Design and its Role? Design

More information

Project Plan Log Monitoring Compliance

Project Plan Log Monitoring Compliance Project Plan Log Monitoring Compliance The Capstone Experience Team Spectrum Health Kathryn Bonnen Collin Lotus Will Seeger Wayne Stiles Department of Computer Science and Engineering Michigan State University

More information

Web. Services. Web Technologies. Today. Web. Technologies. Internet WWW. Protocols TCP/IP HTTP. Apache. Next Time. Lecture #3 2008 3 Apache.

Web. Services. Web Technologies. Today. Web. Technologies. Internet WWW. Protocols TCP/IP HTTP. Apache. Next Time. Lecture #3 2008 3 Apache. JSP, and JSP, and JSP, and 1 2 Lecture #3 2008 3 JSP, and JSP, and Markup & presentation (HTML, XHTML, CSS etc) Data storage & access (JDBC, XML etc) Network & application protocols (, etc) Programming

More information

Website Performance: Kyle Simpson

Website Performance: Kyle Simpson Website Performance: Kyle Simpson (Video: 0_Introduction.mp4): Introduction 00:00:0000:07:50: An introduction and a discussion about how developers need to change their mindset to think about web performance

More information

IMRG Peermap API Documentation V 5.0

IMRG Peermap API Documentation V 5.0 IMRG Peermap API Documentation V 5.0 An Introduction to the IMRG Peermap Service... 2 Using a Tag Manager... 2 Inserting your Unique API Key within the Script... 2 The JavaScript Snippet... 3 Adding the

More information

Outline. 1.! Development Platforms for Multimedia Programming!

Outline. 1.! Development Platforms for Multimedia Programming! Outline 1.! Development Platforms for Multimedia Programming! 1.1.! Classification of Development Platforms! 1.2.! A Quick Tour of Various Development Platforms! 2.! Multimedia Programming with Python

More information

XSS-GUARD : Precise Dynamic Prevention of Cross Site Scripting (XSS) Attacks

XSS-GUARD : Precise Dynamic Prevention of Cross Site Scripting (XSS) Attacks XSS-GUARD : Precise Dynamic Prevention of Cross Site Scripting (XSS) Attacks Prithvi Bisht (http://cs.uic.edu/~pbisht) Joint work with : V.N. Venkatakrishnan Systems and Internet Security Laboratory Department

More information

SUBJECT CODE : 4074 PERIODS/WEEK : 4 PERIODS/ SEMESTER : 72 CREDIT : 4 TIME SCHEDULE UNIT TOPIC PERIODS 1. INTERNET FUNDAMENTALS & HTML Test 1

SUBJECT CODE : 4074 PERIODS/WEEK : 4 PERIODS/ SEMESTER : 72 CREDIT : 4 TIME SCHEDULE UNIT TOPIC PERIODS 1. INTERNET FUNDAMENTALS & HTML Test 1 SUBJECT TITLE : WEB TECHNOLOGY SUBJECT CODE : 4074 PERIODS/WEEK : 4 PERIODS/ SEMESTER : 72 CREDIT : 4 TIME SCHEDULE UNIT TOPIC PERIODS 1. INTERNET FUNDAMENTALS & HTML Test 1 16 02 2. CSS & JAVASCRIPT Test

More information

Protection, Usability and Improvements in Reflected XSS Filters

Protection, Usability and Improvements in Reflected XSS Filters Protection, Usability and Improvements in Reflected XSS Filters Riccardo Pelizzi System Security Lab Department of Computer Science Stony Brook University May 2, 2012 1 / 19 Riccardo Pelizzi Improvements

More information

Web Development. How the Web Works 3/3/2015. Clients / Server

Web Development. How the Web Works 3/3/2015. Clients / Server Web Development WWW part of the Internet (others: Email, FTP, Telnet) Loaded to a Server Viewed in a Browser (Client) Clients / Server Client: Request & Render Content Browsers, mobile devices, screen

More information

Getting Started with AWS. Hosting a Static Website

Getting Started with AWS. Hosting a Static Website Getting Started with AWS Hosting a Static Website Getting Started with AWS: Hosting a Static Website Copyright 2016 Amazon Web Services, Inc. and/or its affiliates. All rights reserved. Amazon's trademarks

More information

Magento Performance Optimization Whitepaper

Magento Performance Optimization Whitepaper Websites Decay Fast Even one year is a long time on the web, as Magento platform is changing, evolving as it takes on new e-commerce challenges one at a time in steady, ongoing iteration. When you created

More information

WHITE PAPER : WEB PERFORMANCE MANAGEMENT

WHITE PAPER : WEB PERFORMANCE MANAGEMENT WHITE PAPER : WEB PERFORMANCE MANAGEMENT Software as a service (SaaS) continues its fast-paced growth as companies seek shorter deployment times, faster ROI and more flexible pay-as-you-go pricing. Gartner

More information

Responsive Web Design (RWD) Best Practices Guide Version: 2013.11.20

Responsive Web Design (RWD) Best Practices Guide Version: 2013.11.20 Responsive Web Design (RWD) Best Practices Guide Version: 2013.11.20 This document includes best practices around responsive web design (RWD) when developing hybrid applications. Details on each checklist

More information

From Internet Data Centers to Data Centers in the Cloud

From Internet Data Centers to Data Centers in the Cloud From Internet Data Centers to Data Centers in the Cloud This case study is a short extract from a keynote address given to the Doctoral Symposium at Middleware 2009 by Lucy Cherkasova of HP Research Labs

More information

c. Write a JavaScript statement to print out as an alert box the value of the third Radio button (whether or not selected) in the second form.

c. Write a JavaScript statement to print out as an alert box the value of the third Radio button (whether or not selected) in the second form. Practice Problems: These problems are intended to clarify some of the basic concepts related to access to some of the form controls. In the process you should enter the problems in the computer and run

More information

WebCenter User experience. John Sim @JRSim_UIX

WebCenter User experience. John Sim @JRSim_UIX WebCenter User experience ipads - Xbox John Sim @JRSim_UIX About Fishbowl Solutions Specializing on portals & content management for 13 years Customers throughout North America & EMEA Enterprise-wide consulting

More information

the intro for RPG programmers Making mobile app development easier... of KrengelTech by Aaron Bartell aaronbartell@mowyourlawn.com

the intro for RPG programmers Making mobile app development easier... of KrengelTech by Aaron Bartell aaronbartell@mowyourlawn.com the intro for RPG programmers Making mobile app development easier... Copyright Aaron Bartell 2012 by Aaron Bartell of KrengelTech aaronbartell@mowyourlawn.com Abstract Writing native applications for

More information

Why? Mobile. 0Your content is no more than 3 taps away from Angry Birds. 0 Many people access your website via smartphones and other mobile devices

Why? Mobile. 0Your content is no more than 3 taps away from Angry Birds. 0 Many people access your website via smartphones and other mobile devices Why? Mobile 0 Many people access your website via smartphones and other mobile devices 0Your content is no more than 3 taps away from Angry Birds Image src: http://www.angrybirds.com/ It is 2013? 0 Which

More information

MOBILE SEO TECHNIQUES

MOBILE SEO TECHNIQUES MOBILE SEO TECHNIQUES http://www.tutorialspoint.com/seo/mobile-seo-techniques.htm Copyright tutorialspoint.com Millions of users these days access the web using smartphones running on Android, ios, or

More information

COMMONWEALTH OF PENNSYLVANIA DEPARTMENT S OF Human Services, INSURANCE, AND AGING

COMMONWEALTH OF PENNSYLVANIA DEPARTMENT S OF Human Services, INSURANCE, AND AGING COMMONWEALTH OF PENNSYLVANIA DEPARTMENT S OF Human Services, INSURANCE, AND AGING INFORMATION TECHNOLOGY GUIDELINE Name Of Guideline: Domain: Application Date Issued: 03/18/2014 Date Revised: 02/17/2016

More information

Web Performance. Sergey Chernyshev. March '09 New York Web Standards Meetup. New York, NY. March 19 th, 2009

Web Performance. Sergey Chernyshev. March '09 New York Web Standards Meetup. New York, NY. March 19 th, 2009 Web Performance Sergey Chernyshev March '09 New York Web Standards Meetup New York, NY March 19 th, 2009 About presenter Doing web stuff since 1995 Director, Web Systems and Applications at trutv Personal

More information

JW Player Quick Start Guide

JW Player Quick Start Guide JW Player Quick Start Guide Getting Started Embedding the JW Player on your website is a simple, 3-step process: 1. Upload the jwplayer.js and player.swf files from the download ZIP to your server. All

More information

PageSpeed Insights. http://www.konyadizayn.net/images/haberler/20131205161909_2738asyatasimacilik.jpg (expiration not specified)

PageSpeed Insights. http://www.konyadizayn.net/images/haberler/20131205161909_2738asyatasimacilik.jpg (expiration not specified) PageSpeed Insights Mobile 30 / 100 Speed Should Fix: Leverage browser caching Setting an expiry date or a maximum age in the HTTP headers for static resources instructs the browser to load previously downloaded

More information

Building Rich Internet Applications with PHP and Zend Framework

Building Rich Internet Applications with PHP and Zend Framework Building Rich Internet Applications with PHP and Zend Framework Stanislav Malyshev Software Architect, Zend Technologies IDG: RIAs offer the potential for a fundamental shift in the experience of Internet

More information

WIRIS quizzes web services Getting started with PHP and Java

WIRIS quizzes web services Getting started with PHP and Java WIRIS quizzes web services Getting started with PHP and Java Document Release: 1.3 2011 march, Maths for More www.wiris.com Summary This document provides client examples for PHP and Java. Contents WIRIS

More information

React+d3.js. Build data visualizations with React and d3.js. Swizec Teller. This book is for sale at http://leanpub.com/reactd3js

React+d3.js. Build data visualizations with React and d3.js. Swizec Teller. This book is for sale at http://leanpub.com/reactd3js React+d3.js Build data visualizations with React and d3.js Swizec Teller This book is for sale at http://leanpub.com/reactd3js This version was published on 2016-04-11 This is a Leanpub book. Leanpub empowers

More information

AJAX The Future of Web Development?

AJAX The Future of Web Development? AJAX The Future of Web Development? Anders Moberg (dit02amg), David Mörtsell (dit01dml) and David Södermark (dv02sdd). Assignment 2 in New Media D, Department of Computing Science, Umeå University. 2006-04-28

More information

MASTERTAG DEVELOPER GUIDE

MASTERTAG DEVELOPER GUIDE MASTERTAG DEVELOPER GUIDE TABLE OF CONTENTS 1 Introduction... 4 1.1 What is the zanox MasterTag?... 4 1.2 What is the zanox page type?... 4 2 Create a MasterTag application in the zanox Application Store...

More information

10CS73:Web Programming

10CS73:Web Programming 10CS73:Web Programming Question Bank Fundamentals of Web: 1.What is WWW? 2. What are domain names? Explain domain name conversion with diagram 3.What are the difference between web browser and web server

More information

Typography and Drupal. What does Drupal provide? Ashok Modi DDCLA 2011

Typography and Drupal. What does Drupal provide? Ashok Modi DDCLA 2011 Typography and Drupal What does Drupal provide? Ashok Modi DDCLA 2011 About the presenter Canadian (migrated after the igloo melted) Work at the California Institute of the Arts (http://calarts.edu) "Computer

More information

WebIOPi. Installation Walk-through Macros

WebIOPi. Installation Walk-through Macros WebIOPi Installation Walk-through Macros Installation Install WebIOPi on your Raspberry Pi Download the tar archive file: wget www.cs.unca.edu/~bruce/fall14/webiopi-0.7.0.tar.gz Uncompress: tar xvfz WebIOPi-0.7.0.tar.gz

More information

WebProphet: Automating Performance Prediction for Web Services

WebProphet: Automating Performance Prediction for Web Services WebProphet: Automating Performance Prediction for Web Services Zhichun Li Ming Zhang Zhaosheng Zhu Yan Chen Albert Greenberg Yi-Min Wang Northwestern University Microsoft Research Data Domain Inc. Abstract

More information

Designing for Magento

Designing for Magento Designing for Magento View 1. Creating a new theme a. How to duplicate a design theme b. How to setup new theme in administration area c. Adding custom stylesheets and js libraries to theme(part I) d.

More information

Website Planning Checklist

Website Planning Checklist Website Planning Checklist The following checklist will help clarify your needs and goals when creating a website you ll be surprised at how many decisions must be made before any production begins! Even

More information

Web Design Basics. Cindy Royal, Ph.D. Associate Professor Texas State University

Web Design Basics. Cindy Royal, Ph.D. Associate Professor Texas State University Web Design Basics Cindy Royal, Ph.D. Associate Professor Texas State University HTML and CSS HTML stands for Hypertext Markup Language. It is the main language of the Web. While there are other languages

More information

Progressive Enhancement With GQuery and GWT. Ray Cromwell ray@timefire.com

Progressive Enhancement With GQuery and GWT. Ray Cromwell ray@timefire.com Progressive Enhancement With GQuery and GWT Ray Cromwell ray@timefire.com Web Application Models Web 1.0, 1 Interaction = 1 Page Refresh Pure JS, No Navigation Away from Page Mixed Model, Page Reloads

More information