Index

A note on the digital index

A link in an index entry is displayed as the section title in which that entry appears. Because some sections have multiple index markers, it is not unusual for an entry to have several links to the same section. Clicking on any link will take you directly to the place in the text in which the marker appears.

Symbols

1xx: Informational (HTTP response), The HTTP Response
2xx: Success (HTTP response), The HTTP Response
3xx: Redirection (HTTP response), The HTTP Response
4xx: Client Error (HTTP response), The HTTP Response
5xx: Server Error (HTTP response), The HTTP Response

A

Account Settings page (Scientiamobile), The Wurfl
ACK (acknowledge) messages, What is Web Performance?
acknowledge (ACK) messages, What is Web Performance?
active mode (Timeline tool), Monitoring FPS in Google Chrome
Age (HTTP response header), The HTTP Response
Alexa, competitive analysis, The Problem with Responsive Design
anti-patterns, competitive analysis observations, Observations from Competitive Analysis
Application layer (network stack), The Network Stack
HTTP requests, The Application Layer
HTTP Responses, The HTTP Request
apps (Web)
continuous performance testing
automated headless browser testing, Maintaining a Steady Course
CI (Continuous Integration), Continuous Integration
feedback loops, Maintaining a Steady Course
performance
measuring, The Basics of Measuring Performance
runtime performance, Web Runtime Performance
tracking tools, Page load time
assessment of task, planning responsive design, Project Plans
async variable, An Example PhantomJS Script
automated headless browser testing, Maintaining a Steady Course
experiential resource loading, Automated Headless Browser Testing
PhantomJS modules, Automated Headless Browser Testing
validating web performance, Validate web performance

B

backend, responsive design
edge networks, Implications of Cache
implications of cache, Implications of Cache
server-side response, Web Application Stack
device detection services, Inspecting the User Agent
inspection of User Agent, Responding on the Server Side
sample code, The Wurfl
Web Application Stack, Charles
Web Stack, The Backend
Charles (inspecting network traffic), The HTTP Response
network stack, The Backend
Bakaus, Paul, Web Runtime Performance
bar charts, HTTP requests, Observations from Competitive Analysis
boilerplates
Ripple, Ripple
Skeleton, Skeleton
Bootstrap (Twitter), Looking at the State of Responsive Frameworks
evaluation, Evaluation
home page, Twitter Bootstrap
installation, Twitter Bootstrap
sample website, Evaluation
browsers
architecture, What is Web Performance?
negotiations with web server, What is Web Performance?

C

cache, backend responsive design, Implications of Cache
callback function, An Example PhantomJS Script
CDNs (Content Delivery Networks), Implications of Cache
Charles (HTTP monitoring tool), The HTTP Response
Chrome (Google), Developer Tools, Tools to Track Web Performance
FPS Monitor, Web Runtime Performance
Timeline tool, Monitoring FPS in Google Chrome
CI (Continuous Integration), Continuous Integration
feedback loop, Maintaining a Steady Course
Jenkins, Jenkins
sample PhantomJSScript, Continuous Integration
work flow, An Example PhantomJS Script
client-server transaction, Web Application Stack
code, backend server-side response, The Wurfl
comparison of frontend frameworks, Evaluation
competitive analysis, The Problem with Responsive Design
anti-patterns, Observations from Competitive Analysis
patterns, Load additional assets
Config.js file, Sample Code
connectEnd property (PerformanceTiming object), Tools to Track Web Performance
connection speeds, Assessing and Summarizing the Overall Task
connectStart property (PerformanceTiming object), Tools to Track Web Performance
content delivery networks (CDNs), Implications of Cache
Continuous Integration (CI), Continuous Integration
feedback loop, Maintaining a Steady Course
Jenkins, Jenkins
sample PhantomJSScript, Continuous Integration
work flow, An Example PhantomJS Script
continuous Web performance testing
automated headless browser testing, Maintaining a Steady Course
experiential resource loading, Automated Headless Browser Testing
PhantomJS modules, Automated Headless Browser Testing
validating web performance, Validate web performance
CI (Continuous Integration), Continuous Integration
Jenkins, Jenkins
sample PhantomJSScript, Continuous Integration
feedback loops, Maintaining a Steady Course
CPU usage, impact on runtime performance, Web Runtime Performance

D

Data Link layer (network stack), The Backend
dedicated experience (pattern), Load device-appropriate assets
dedicated sites, responsive sites versus, Observations from Competitive Analysis
DELETE method, The Application Layer
dependencies, planning responsive design, List Dependencies and Risks
design (responsive) (see responsive design)
detection services, Inspecting the User Agent
Developer Tools, Chrome, Tools to Track Web Performance
FPS Monitor, Web Runtime Performance
Timeline tool, Monitoring FPS in Google Chrome
device detection libraries, Lazy Loading
device detection services, Inspecting the User Agent
device pixel ratio, Working with Images
devices, average viewing distance, Assessing and Summarizing the Overall Task
directories, Semantic UI, Semantic UI
directory structure, lazy loading, Lazy Loading
distribution of file size, dedicated sites vs responsive sites, Observations from Competitive Analysis
DNS (Domain Name System) lookup, What is Web Performance?
Document Object Model (DOM) elements, What is Web Performance?
document type definition (DTD), What is Web Performance?
DOM (Document Object Model) elements, What is Web Performance?
Domain Name System (DNS) lookup, What is Web Performance?
domainLookupEnd property (PerformanceTiming object), Tools to Track Web Performance
domainLookupStart property (PerformanceTiming object), Tools to Track Web Performance
domComplete property (PerformanceTiming object), Tools to Track Web Performance
domContentLoadedEventEnd property (PerformanceTiming object), Tools to Track Web Performance
domContentLoadedEventStart property (PerformanceTiming object), Tools to Track Web Performance
domInteractive property (PerformanceTiming object), Tools to Track Web Performance
domLoading property (PerformanceTiming object), Tools to Track Web Performance
DTD (Document Type Description), What is Web Performance?

E

edge networks, backend responsive design, Implications of Cache
Edge Side Include (ESI) language, Edge Side Includes
ESI (Edge Side Include) language, Edge Side Includes
ETag (HTTP response header), The HTTP Response
evaluations
experiential resource loading, Automated Headless Browser Testing
Semantic UI, Evaluation
Skeleton, Evaluation
Twitter Bootstrap, Evaluation
ZURB Foundation, ZURB Foundation
Even Faster Websites (italic), The Basics of Measuring Performance
event handlers, onResourceReceived, An Example PhantomJS Script
expensive paints, impact on runtime performance, Web Runtime Performance
experiential resource loadiong, Automated Headless Browser Testing

F

feedback loops, continuous Web performance testing, Maintaining a Steady Course
fetchStart property (PerformanceTiming object), Tools to Track Web Performance
file size, dedicated versus responsive sites, Observations from Competitive Analysis
File System module (PhantomJS), Automated Headless Browser Testing
Firebug (Firefox), Tools to Track Web Performance
Firefox, Firebug, Tools to Track Web Performance
formatOutput function, An Example PhantomJS Script
Fortune 100 Companies (quotes) report, The Problem with Responsive Design
Foundation (ZURB), Evaluation
evaluation, ZURB Foundation
home page, ZURB Foundation
installation, ZURB Foundation
sample website, ZURB Foundation
FPS (Frames Per Second) Monitor, Web Runtime Performance
Frames mode (Timeline tool), Monitoring FPS in Google Chrome
Frames Per Second (FPS) Monitor, Web Runtime Performance
Frames Per Second web app, Web Runtime Performance
Frames view (Timeline tool), Monitoring FPS in Google Chrome
frameworks
comparison of frontend frameworks, Evaluation
Ripple, Ripple
Semantic UI, Evaluation
directories, Semantic UI
evaluation, Evaluation
homepage, Semantic UI
sample website, Evaluation
Skeleton, ZURB Foundation
evaluation, Evaluation
homepage, Skeleton
sample website, Evaluation
website boilerplate, Skeleton
state of frameworks, Looking at the State of Responsive Frameworks
Twitter Bootstrap, Looking at the State of Responsive Frameworks
evaluation, Evaluation
homepage, Twitter Bootstrap
installation, Twitter Bootstrap
sample website, Evaluation
ZURB Foundation, Evaluation
evaluation, ZURB Foundation
homepage, ZURB Foundation
installation, ZURB Foundation
sample website, ZURB Foundation
frontend, responsive design
images, The Frontend
picture element, Device Pixel Ratio
srcset attribute, Working with Images
lazy loading, The Picture Element
functions
callback, An Example PhantomJS Script
formatOutput, An Example PhantomJS Script
page.open, An Example PhantomJS Script
test, An Example PhantomJS Script

G

Gamache, Dave, ZURB Foundation
garbage collection, impact on runtime performance, Web Runtime Performance
GET method, The Application Layer
Github plug in, Jenkins
Google Chrome, Developer Tools, Tools to Track Web Performance
FPS Monitor, Web Runtime Performance
Timeline tool, Monitoring FPS in Google Chrome
Google Glass, This Matters Because of Scale
Google V8, What is Web Performance?
Grigorik, Ilya, Device Pixel Ratio
grouped bar charts, HTTP requests, Observations from Competitive Analysis

H

HEAD method, The Application Layer
header fields (HTTP Responses), The HTTP Request
headless browser testing, Maintaining a Steady Course
experiential resource loading, Automated Headless Browser Testing
PhantomJS modules, Automated Headless Browser Testing
validating web performance, Validate web performance
Hewitt, Joe, Tools to Track Web Performance
Hidayat, Ariya, Automating Responsive Web Performance Testing
High Performance Browser Networking (italic), Device Pixel Ratio
High Performance Websites (italic), The Basics of Measuring Performance
history, responsive design, How Did We Not Notice This?
home pages
Jenkins, Jenkins
Scientiamobile, The Wurfl
Semantic UI, Semantic UI
Skeleton, Skeleton
Twitter Bootstrap, Twitter Bootstrap
ZURB Foundation, ZURB Foundation
Host request header, The HTTP Request
HTTP requests, The Application Layer
as performance indicator, Number of HTTP requests
HTTP requests, grouped bar charts, Observations from Competitive Analysis
HTTP Responses, The HTTP Request
HTTPWatch, Tools to Track Web Performance
Hudson, Jenkins

I

If-Modified-Since request header, The HTTP Request
images, frontend responsive design, The Frontend
picture element, Device Pixel Ratio
srcset attribute, Working with Images
implications of cache, backend responsive design, Implications of Cache
index.js, Sample Code
indicators, Web app performance, The Basics of Measuring Performance
number of HTTP requests, Number of HTTP requests
page load time, Number of HTTP requests
page payload, Number of HTTP requests
input indicators, The Basics of Measuring Performance
inspection of User Agent, Responding on the Server Side
installation
PhantomJS, Automating Responsive Web Performance Testing
Twitter Bootstrap, Twitter Bootstrap
ZURB Foundation, ZURB Foundation
Interesting Stats page (HTTP Archive), The Frontend
issues with responsive design, The Problem with Responsive Design

J

Jain, Arvind, Tools to Track Web Performance
Jasmine (Pivotal Labs), Maintaining a Steady Course
JavaScript engines, What is Web Performance?
JavaScript heap, Frames mode
JavaScript Object Notation (JSON) object, Automated Headless Browser Testing
Jenkins, Jenkins
creating a new project, Jenkins
home page, Jenkins
Mac OS installer, Jenkins
test result output, Jenkins
jsHeapSizeLimit property (Memoryinfo object), The MemoryInfo Object
JSON (JavaScript Object Notation) object, Automated Headless Browser Testing

K

Kawaguchi, Kohsuke, Jenkins
key performance indicators (KPIs), A Journey Down the Slippery Slope, Crafting timelines
KPIs (Key Performance Indicators), A Journey Down the Slippery Slope, Crafting timelines

L

layout, Web runtime performance, Web Runtime Performance
lazy loading, The Picture Element
dedicated experiences from the frontend, Load device-appropriate assets
device appropriate content from client side, Lazy Loading
directory structure, Lazy Loading
waterfall chart, Lazy Loading
leading indicators, The Basics of Measuring Performance
lexical analysis, text characters, What is Web Performance?
loadEventEnd property (PerformanceTiming object), Tools to Track Web Performance
loadEventStart property (PerformanceTiming object), Tools to Track Web Performance
loading
additional assets (anti-pattern, Observations from Competitive Analysis
device-appropriate assets (patterns), Load device-appropriate assets
images at twice the size (anti-pattern), Load additional assets
same content for all devices (anti-pattern), Observations from Competitive Analysis

M

Mac OS installer, Jenkins, Jenkins
mdots, Why Not Use an MDot?
pointless redirects, Segmented URL
resource overhead, Why Not Use an MDot?
segmented source code, Why Not Use an MDot?
segmented URLs, Why Not Use an MDot?
mean file size, dedicated vs responsive sites, Observations from Competitive Analysis
measuring Web app performance, The Basics of Measuring Performance
number of HTTP requests, Number of HTTP requests
page load time, Number of HTTP requests
page payload, Number of HTTP requests
Meenan, Pat, Page load time
memory management, impact on runtime performance, Web Runtime Performance
Memory mode (Timeline tool), The MemoryInfo Object
memory profiling, Frames mode
MemoryInfo object, Memory Profiling
methods
DELETE, The Application Layer
GET, The Application Layer
HEAD, The Application Layer
OPTIONS, The Application Layer
POST, The Application Layer
PUT, The Application Layer
milestones, planning responsive design, Establishing rough milestones and timelines
Mirror API (Google Glass), This Matters Because of Scale
modern browser architecture, What is Web Performance?
modules, PhantomJS, Automated Headless Browser Testing
Multichannel Retailers (quotes) report, The Problem with Responsive Design

N

navigationStart property (PerformanceTiming object), Tools to Track Web Performance
Network layer (network stack), The Backend
network speeds, Assessing and Summarizing the Overall Task
network stack, The Backend
Application layer, The Network Stack
HTTP requests, The Application Layer
HTTP Responses, The HTTP Request
Data Link layer, The Backend
Network layer, The Backend
Transport layer, The Network Stack

P

page load time, performance indicator, Number of HTTP requests
page payload
comparison of frontend frameworks, Ripple
performance indicator, Number of HTTP requests
Page Visibility API, Tools to Track Web Performance
page.open function, An Example PhantomJS Script
paints, impact on runtime performance, Web Runtime Performance
parsing text characters, What is Web Performance?
patterns, competitive analysis observations, Load additional assets
payload
comparison of frontend frameworks, A Comparison of Frontend Frameworks
responsive sites versus dedicated sites, Observations from Competitive Analysis
perception of speed, What is Web Performance?
performance
continuous Web performance testing
automated headless browser testing, Maintaining a Steady Course
CI (Continuous Integration), Continuous Integration
feedback loops, Maintaining a Steady Course
SLAs (Service Level Agreements), How Did We Not Notice This?
Web applications
measuring, The Basics of Measuring Performance
runtime performance, Web Runtime Performance
tracking tools, Page load time
Performance DOM objects, Tools to Track Web Performance
performance indicators, Web app performance, The Basics of Measuring Performance, Number of HTTP requests
performance object, Tools to Track Web Performance
PerformanceTiming object, Tools to Track Web Performance
PhantomJS
installation, Automating Responsive Web Performance Testing
modules, Automated Headless Browser Testing
sample script, Continuous Integration
picture element, Device Pixel Ratio
Pivotal Labs, Jasmine, Maintaining a Steady Course
planning responsive design, A Journey Down the Slippery Slope
assessment and summarization of task, Project Plans
crafting rough milestones/timelines, Establishing rough milestones and timelines
dependencies and risks, List Dependencies and Risks
KPIs (Key Performance Indicators), Crafting timelines
SLAs (Service Level Agreements), Keep to Your Performance SLA
pointless redirects, mdots, Segmented URL
POST method, The Application Layer
properties
Memoryinfo object, The MemoryInfo Object
PerformanceTiming object, Tools to Track Web Performance
userAgent, Automated Headless Browser Testing
PUT method, The Application Layer

Q

qualitative indicators, The Basics of Measuring Performance
quantitative indicators, The Basics of Measuring Performance

R

real user monitoring (RUM), Tools to Track Web Performance
redirectEnd property (PerformanceTiming object), Tools to Track Web Performance
redirectStart/ property (PerformanceTiming object), Tools to Track Web Performance
rendering engines, What is Web Performance?
request headers (HTTP Requests), The Application Layer, The HTTP Request
request line (HTTP Requests), The Application Layer
requestStart property (PerformanceTiming object), Tools to Track Web Performance
resource loadiong, Automated Headless Browser Testing
resource overhead, mdots, Why Not Use an MDot?
responseEnd property (PerformanceTiming object), Tools to Track Web Performance
responseStart property (PerformanceTiming object), Tools to Track Web Performance
responsive design
absence of SLAs (Service Level Agreements), How Did We Not Notice This?
backend
edge networks, Implications of Cache
implications of cache, Implications of Cache
server-side response, Web Application Stack
Web Application Stack, Charles
Web Stack, The Backend
continuous Web performance testing
automaterd headless browser testing, Maintaining a Steady Course
CI (Continuous Integration), Continuous Integration
feedback loops, Maintaining a Steady Course
frameworks
comparison of frontend frameworks, Evaluation
Ripple, Ripple
Semantic UI, Evaluation
Skeleton, ZURB Foundation
state of frameworks, Looking at the State of Responsive Frameworks
Twitter Bootstrap, Looking at the State of Responsive Frameworks
ZURB Foundation, Evaluation
frontend
images, The Frontend
lazy loading, The Picture Element
history of, How Did We Not Notice This?
issues with responsive design, The Problem with Responsive Design
mdots, Why Not Use an MDot?
pointless redirects, Segmented URL
resource overhead, Why Not Use an MDot?
segmented source code, Why Not Use an MDot?
segmented URLs, Why Not Use an MDot?
observations from competitive analysis, The Problem with Responsive Design
project plans, A Journey Down the Slippery Slope
assessment and summarization of task, Project Plans
crafting rough milestones/timelines, Establishing rough milestones and timelines
dependencies and risks, List Dependencies and Risks
KPIs (Key Performance Indicators), Crafting timelines
SLAs (Service Level Agreements), Keep to Your Performance SLA
scale, Segmented URL
Web application performance
measuring, The Basics of Measuring Performance
runtime performance, Web Runtime Performance
tracking tools, Page load time
Responsive Design + Server-Side Components (RESS), Load device-appropriate assets
responsive sites, dedicated sites versus, Observations from Competitive Analysis
RESS (Responsive Design + Server-Side Components), Load device-appropriate assets
Ripple, Ripple
risks, planning responsive design, List Dependencies and Risks
rsponsive sites
dedicated sites versus, Observations from Competitive Analysis
RUM (real-user monitoring), Tools to Track Web Performance
runtime performance (web apps), Web Runtime Performance
Frames per second (FPS), Web Runtime Performance
memory profiling, Frames mode

S

Safari, What is Web Performance?
Scientiamobile home page, The Wurfl
Search Agency, The Problem with Responsive Design
segmented source code, mdots, Why Not Use an MDot?
segmented URLs, mdots, Why Not Use an MDot?
Semantic UI, Evaluation
directories, Semantic UI
evaluation, Evaluation
home page, Semantic UI
sample website, Evaluation
sequence diagrams
anti-patterns, Why Not Use an MDot?
negotiation between browser and web server, What is Web Performance?
serving device-appropriate experience, Lazy load dedicated experience from the frontend
server-side response, backend, Web Application Stack
device detection services, Inspecting the User Agent
inspection of User Agent, Responding on the Server Side
sample code, The Wurfl
Service Level Agreements (SLAs), How Did We Not Notice This?, Keep to Your Performance SLA
serving a dedicated experience (pattern), Load device-appropriate assets
Skeleton, ZURB Foundation
evaluation, Evaluation
home page, Skeleton
sample website, Evaluation
website boilerplate, Skeleton
SLAs (Service Level Agreements), How Did We Not Notice This?, Keep to Your Performance SLA
Souders, Steve, The Frontend
Source Code Management page (jenkins), Jenkins
source element, Device Pixel Ratio
Speed Index (WebPageTest), Page load time
speed, perception of, What is Web Performance?
srcset attribute, Working with Images
state of responsive frameworks, Looking at the State of Responsive Frameworks
state of the industry
absence of SLAs (Service Level Agreements), How Did We Not Notice This?
history leading to current state, How Did We Not Notice This?
issues with responsive design, The Problem with Responsive Design
mdots, Why Not Use an MDot?
pointless redirects, Segmented URL
resource overhead, Why Not Use an MDot?
segmented source code, Why Not Use an MDot?
segmented URLs, Why Not Use an MDot?
observations from competitive analysis, The Problem with Responsive Design
scale, Segmented URL
status codes (HTTP responses), What is Web Performance?
status line (HTTP Responses), The HTTP Request
summarization of task, planning responsive design, Project Plans
SYN (synchronize) messages, What is Web Performance?
SYN-ACK (synchronize-acknowledge) messages, What is Web Performance?
synchronize (SYN) messages, What is Web Performance?
synchronize-acknowledge (SYN-ACK) messages, What is Web Performance?
synchronous calls, impact on runtime performance, Web Runtime Performance
System module (PhantomJS), Automated Headless Browser Testing

T

TCP (Transmission Control Protocol) three-way handshake, What is Web Performance?
TCP/IP (Transmission Control Protocol/Internet Protocol) connections, What is Web Performance?
test function, An Example PhantomJS Script
testing Web performance
automated headless browser testing, Maintaining a Steady Course
CI (Continuous Integration), Continuous Integration
feedback loops, Maintaining a Steady Course
testsToRun array, An Example PhantomJS Script
Thornton, Jacob, Looking at the State of Responsive Frameworks
Timeline tool (Google Chrome), Monitoring FPS in Google Chrome, The MemoryInfo Object
timelines, planning responsive design, Establishing rough milestones and timelines
totalJSHeapSize property (Memoryinfo object), The MemoryInfo Object
tracking tools, Web app performance, Page load time
PerformanceTiming object, Tools to Track Web Performance
waterfall charts, Page load time
Web Performance Working Group, Tools to Track Web Performance
Transmission Control Protocol (TCP) three-way handshake, What is Web Performance?
Transmission Control Protocol/Internet Protocol (TCP/IP) connections, What is Web Performance?
Transport layer (network stack), The Network Stack
Twitter Bootstrap, Looking at the State of Responsive Frameworks
evaluation, Evaluation
home page, Twitter Bootstrap
installation, Twitter Bootstrap
sample website, Evaluation

U

UI layer, browser, What is Web Performance?
unit testing frameworks, Maintaining a Steady Course
unloadEventEnd property (PerformanceTiming object), Tools to Track Web Performance
unloadEventStart property (PerformanceTiming object), Tools to Track Web Performance
usedJSHeapSize property (Memoryinfo object), The MemoryInfo Object
User Agent
inspection, Responding on the Server Side
strings, Inspecting the User Agent
User-Agent request header, The HTTP Request
userAgent property, Automated Headless Browser Testing

V

validating web performance, Validate web performance
variables, async, An Example PhantomJS Script
Vary (HTTP response header), The HTTP Response
viewing distance, average distances for various devices, Assessing and Summarizing the Overall Task
viewports, Assessing and Summarizing the Overall Task

W

waterfall charts, Page load time
home page, rendered for desktop, The Problem with Responsive Design
home page, rendered for smartphone, The Problem with Responsive Design
lazy loading, Lazy Loading
Web Application Stack, Charles
Web Page module (PhantomJS), Automated Headless Browser Testing
web performance optimization
continuous performance testing
automated headless browser testing, Maintaining a Steady Course
CI (Continuous Integration), Continuous Integration
feedback loops, Maintaining a Steady Course
measuring, The Basics of Measuring Performance
runtime performance, Web Runtime Performance
tracking tools, Page load time
Web Performance Working Group, Tools to Track Web Performance
Web Server module (PhantomJS), Automated Headless Browser Testing
Web Stack, The Backend
Charles (inspecting network traffic), The HTTP Response
network stack, The Backend
Application layer, The Network Stack
Data Link layer, The Backend
Network layer, The Backend
Transport layer, The Network Stack
Weber, Jason, Tools to Track Web Performance
WebKit, What is Web Performance?
WebPageTest, Page load time, Tools to Track Web Performance
Wireless Universal Resource FiLe (Wurfl), Device Detection Services
work flow, CI (Continuous Integration), An Example PhantomJS Script
Wurfl (Wireless Universal Resource FiLe), Device Detection Services
Wurfl Cloud, The Wurfl
WurflCloudClient.js file, Sample Code

Y

YSlow reports (PhantomJS), Validate web performance

Z

ZURB Foundation, Evaluation
evaluation, ZURB Foundation
home page, ZURB Foundation
installation, ZURB Foundation
sample website, ZURB Foundation