SlideShare a Scribd company logo
Experimenting on Modern
Web Applications
Whelan Boyd
Product Manager, Optimizely
James Fox
Software Engineer, Optimizely
opticon2017
Agenda
Here
1. Dynamic Websites
2. Experimentation Challenges
3. Announcing “Support for Dynamic
Websites”
4. Technology Behind Solution
5. Get Started
6. Q&A
opticon2017
DYNAMIC WEBSITES
opticon2017
Our Ambition
• Optimizely X Web product “just works”
• Developers focus on higher complexity experiments
• Modernize your stack without concern
opticon2017
What is a Dynamic Website?
opticon2017
Dynamic
Websites
Here
1. Interactive
2. Single Page Applications
3. Infinite Scroll
4. Lazy Loaded Content
5. AJAX-heavy
6. Responsive
opticon2017
EVOLUTION OF THE
MODERN WEBPAGE
opticon2017
World’s
First Website
opticon2017
Evolution of the Modern Webpage
opticon2017
199
1
First Website
Simple HTML
Text
Amazon.com
1995
opticon2017
Evolution of the Modern Webpage
opticon2017
First Website
Simple HTML
Text
199
1
Table Based
Layouts
Still mostly text
Mid
90’s
Flash?
Looks cool!
opticon2017
Evolution of the Modern Webpage
opticon2017
First Website
Simple HTML
199
1
Table Based
Layouts
Still mostly text
Mid
90’s
Late
90’s
Flash :/
CNN.com
2000
opticon2017
Evolution of the Modern Webpage
opticon2017
First Website
Simple HTML
Text
199
1
Table Based
Layouts
Still mostly text
Mid
90’s
Late
90’s
Flash :/
Increased CSS
Support
Early
00’s
Facebook.com
2005
opticon2017
opticon2017
Evolution of the Modern Webpage
opticon2017
First Website
Simple HTML
Text
199
1
Table Based
Layouts
Still mostly text
Mid
90’s
Late
90’s
Flash :/
Increased CSS
Support
Early
00’s
Mid
00s
Web 2.0
AJAX and early
JavaScript
frameworks
2008
Broadband
Internet Becomes
Standard
Nike.com
2010
opticon2017
Smartphones Become Standard
Evolution of the Modern Webpage
opticon2017
First Website
Simple HTML
Text
1991
Table Based
Layouts
Still mostly text
Mid
90’s
Late
90’s
Flash :/
Increased CSS
Support
Early
00’s
Mid
2000s
Web 2.0
AJAX and early
JavaScript
frameworks
User Expectations Sky
High
Performance is King
Navigation - fast and
intuitive
2010’s
EMERGENCE OF
SINGLE-PAGE APPS
opticon2017
What are Single-Page Applications?
opticon2017
<HEAD>
<script src=cdn.optimizely.com/js/opticon.js></script>
<BODY><BODY> <BODY>
HOMEPAGE CATEGORY PRODUCT
Single HTTP
Document
opticon2017
Who are they?
opticon2017
opticon2017
opticon2017
opticon2017
Rest of the stack
opticon2017
Why are they so popular?
opticon2017
Benefits of Modern Single-Page
Apps
• User Experience
opticon2017
Fast Performance Easy navigation
• Developer Happiness
Benefits of Modern Single-Page
Apps
opticon2017
Modular components Maintainable, flexible
TL;DR: Webpages are only
getting more dynamic
opticon2017
What about experimentation?
opticon2017
DEMO - CURRENT
OFFERING
opticon2017
EXPERIMENTATION
CHALLENGES
opticon2017
What went wrong?
• “Additional Cards” not modified
• Experiments don’t activate when navigating
opticon2017
What could go wrong?
• Changes don’t apply at all
• Changes overwritten
• Changes don’t go away
opticon2017
Experimentation Challenges
• Team loses confidence
• Dependent on developers
opticon2017
Optimizely X – Current Tooling
opticon2017
Optimizely X – Page Activation
opticon2017
Optimizely X – Full Client
Activation
opticon2017
Optimizely X – Extensions
opticon2017
Optimizely X – Node SDK
opticon2017
Optimizely X - Node SDK demo app
opticon2017
Key takeaway
opticon2017
They’re all code interfaces
Our Ambition
• Optimizely “just works”
• Developers focus on higher impact experiments
• Modernize your stack without concern
opticon2017
Don’t Implement...Experiment
opticon2017
DEMO -
Support for Dynamic Websites
opticon2017
How it works
opticon2017
3 Core updates to Optimizely X
• Indefinite Element Detection
via MutationObserver API
• Change Dependency Configuration
Serial vs Parallel
• Smart(er) Pages
Activate & Deactivate
Triggers & Conditions
opticon2017
In Beta
Available Now
Coming Soon
opticon2017
Experiment
Original
opticon2017opticon2017
SAV
E
20%
SAV
E
15%
SAVE
10%
SAV
E
20%
SAV
E
15%
Experiment
Variation:
Show Sale
Badges
Remove Price
Element Detection
opticon2017
Element Detection – Optimizely Classic
SAV
E
20%
opticon2017
Element Detection –
Optimizely Classic
Polling…. (50ms)
50ms
.
.
.
100ms
125ms
150ms
200ms
250ms
1 sec
.
.
. 2 sec
2.125s
Element Detection – Optimizely X
SAV
E
20%
opticon2017
Polling… (20ms)
20ms
.
.
.
40ms
50ms
60ms
200ms
1 sec
.
.
. 2 sec
2.125s
.
.
.
SAVE
10%
Element Detection
– Optimizely X
.
.
.
.
With Indefinite Observation
using MutationObserver API
opticon2017
SAV
E
20%
SAV
E
15%
opticon2017
SAVE
10%
SAV
E
20%
SAV
E
15%
Observing DOM….
20ms
.
.
.
30ms
60ms
358ms
.
.
.
.
.
.
402ms
34ms
.
.
.
1.2 sec
.
.
.
.
.
.
.
.
.
Element Detection –
MutationObservers
What about performance?
• Observing all DOM changes without timeout?
• Actually more performant on most sites
Fewer invocations than polling
• Native Browser API
• Easy to throttle as an option
Change
dependencies
opticon2017
Change Dependencies - Classic
opticon2017
Custom Code
Footer Change
Buy Button Change
Navbar Change Polling….
Polling….
Wait DOM Ready
Timeout (fail)
Applied
Applied
Change Dependencies (X)
opticon2017
Change 1
Change 2
Change 3
Change 4
Custom Code
Footer Change
Buy Button Change
Navbar Change
Execute Immediately
Polling….
Polling…
Timeout
(fail)
Applied
Timeout
(fail)
Change Dependencies (X - parallel)
opticon2017
Footer ChangeCustom Code Navbar Change Buy Button Change
Observing…
.
Observing…
.
Execute Immediately Observing…
Applied AppliedApplied
Nav List Change
Observing…
. Applied
Smarter Pages
opticon2017
Single-Page App Lifecycle
opticon2017
<HEAD>
<BODY>
Category
<BODY>
Homepage
<BODY>
Product
Pages Lifecycle - Current
opticon2017
Setup Page
Trigger
Client
Activation
Page
Activation
Experiment
Decision
Observe &
Apply
Changes
<HEAD>
<script src=cdn.optimizely.com/js/123.js />
<BODY>
Category
<BODY>
Homepage
<BODY>
Product
Page
De-Activation
Cancel
Observation
Undo/Revert
Changes
Page
Load
User
Clic
k
Pages Lifecycle – Smart Pages
opticon2017
Setup Page
Triggers
Client
Activation
Page
Activation
Experiment
Decision
Observe &
Apply
Changes
<HEAD>
<script src=cdn.optimizely.com/js/123.js />
<BODY>
Category
<BODY>
Homepage
<BODY>
Product
Page
De-Activation
Cancel
Observation
Undo/Revert
Changes
Page
Load
User
Clic
k
Page
Activation
Experiment
Decision
Observe &
Apply
Changes
Page
De-Activation
Cancel
Observation
Undo/Revert
Changes
Page
Activation
Experiment
Decision
Observe &
Apply
Changes
Benefits
• Non-developers are self-sufficient
• Framework agnostic
• Eliminates flashing effect
opticon2017
Coming Soon
• Indefinite Element Detection – ask CSM about private beta
• Smart Pages – early 2018
opticon2017
opticon2017
Q&
A

More Related Content

PPTX
Opticon 2017 Day in the Life of a Modern Experimenter
PPTX
Opticon 2017 How Developers Can Take Experimentation
PPTX
Opticon 2017 Pushing the Boundaries of Experimentation
PPTX
Opticon 2017 Hooked: How to Succeed
PPTX
Opticon 2017 Beyond CRO
PPTX
How Optimizely Uses Optimizely - Opticon 2017
PPTX
Opticon 2017 Cracking the Code
PPTX
Opticon 2017 Do the Thing That Makes the Money
Opticon 2017 Day in the Life of a Modern Experimenter
Opticon 2017 How Developers Can Take Experimentation
Opticon 2017 Pushing the Boundaries of Experimentation
Opticon 2017 Hooked: How to Succeed
Opticon 2017 Beyond CRO
How Optimizely Uses Optimizely - Opticon 2017
Opticon 2017 Cracking the Code
Opticon 2017 Do the Thing That Makes the Money

What's hot (20)

PPTX
Opticon 2017 How Optimizely Uses Optimizely
PDF
Getting Started with Server-Side Testing
PPTX
Opticon 2017 Bend the B2B Curve
PPTX
7 Habits of Highly Effective Personalisation Organisations | Optimizely ANZ W...
PDF
A/B Testing for WordPress & Drupal
PPTX
Optimizely NYC Developer Meetup - Experimentation at Blue Apron
PPTX
Developer Night Opticon 2017
PDF
Opticon 2017 Decisions at Scale
PDF
Optimizely x Live Demo
PDF
Successful Testing with a Lean Team
PDF
Opticon 2015- Powerful Integrations with Optimizely
PDF
Optimizely X Seminar Amsterdam Nov 10
PDF
The Future of Optimizely for Technical Teams
PPTX
Test Everything: TrustRadius Delivers Customer Value with Experimentation
PPTX
Full Stack Experimentation
PPTX
AMC Networks Experiments Faster on the Server Side
PDF
Apply A/B Testing with NGINX Routing Policy
PDF
Meet Optimizely X Web Experimentation
PDF
The Art of the Start --Success in the first 100 Days
PDF
Introducing Program Management
Opticon 2017 How Optimizely Uses Optimizely
Getting Started with Server-Side Testing
Opticon 2017 Bend the B2B Curve
7 Habits of Highly Effective Personalisation Organisations | Optimizely ANZ W...
A/B Testing for WordPress & Drupal
Optimizely NYC Developer Meetup - Experimentation at Blue Apron
Developer Night Opticon 2017
Opticon 2017 Decisions at Scale
Optimizely x Live Demo
Successful Testing with a Lean Team
Opticon 2015- Powerful Integrations with Optimizely
Optimizely X Seminar Amsterdam Nov 10
The Future of Optimizely for Technical Teams
Test Everything: TrustRadius Delivers Customer Value with Experimentation
Full Stack Experimentation
AMC Networks Experiments Faster on the Server Side
Apply A/B Testing with NGINX Routing Policy
Meet Optimizely X Web Experimentation
The Art of the Start --Success in the first 100 Days
Introducing Program Management
Ad

Similar to Opticon 2017 Experimenting in Modern Web Applications (20)

PDF
Cincom Smalltalk Roadmap ESUG 2013
PPTX
5 Simple Actions to Make a Measurable Impact on Your Responsive Site
PPTX
Satisfying Business and Engineering Requirements: Client-server JavaScript, S...
PDF
Opticon 2015-Pushing the Boundaries of Optimizely
PPTX
Html5 today
PPTX
Cracking web development
PDF
5 Steps To Deliver The Fastest Mobile Shopping Experience This Holiday Season
PDF
Isomorphic javascript - Uppsala.js #8
PPTX
Angular.js in XPages
PPTX
Mobile First et AMP - Developers Meetup - May 2017
PDF
Performance and Scalability Art of Isomorphic React Applications
PDF
Production optimization with React and Webpack
PPTX
Chemicalize Pro - Cheminfo Stories 2020 Day 5
PDF
Opticon 2015-Experience Optimization in Modern Web Architecture
PPTX
German introduction to sp framework
PDF
What is Angular version 4?
PDF
Ionic Advisory: Your partner at every stage of development
PDF
Automating Screenshot Testing Component Library
PDF
Fast Delivery DevOps Israel
PPTX
Sitecore Experience Commerce 9 Update 2 New Features
Cincom Smalltalk Roadmap ESUG 2013
5 Simple Actions to Make a Measurable Impact on Your Responsive Site
Satisfying Business and Engineering Requirements: Client-server JavaScript, S...
Opticon 2015-Pushing the Boundaries of Optimizely
Html5 today
Cracking web development
5 Steps To Deliver The Fastest Mobile Shopping Experience This Holiday Season
Isomorphic javascript - Uppsala.js #8
Angular.js in XPages
Mobile First et AMP - Developers Meetup - May 2017
Performance and Scalability Art of Isomorphic React Applications
Production optimization with React and Webpack
Chemicalize Pro - Cheminfo Stories 2020 Day 5
Opticon 2015-Experience Optimization in Modern Web Architecture
German introduction to sp framework
What is Angular version 4?
Ionic Advisory: Your partner at every stage of development
Automating Screenshot Testing Component Library
Fast Delivery DevOps Israel
Sitecore Experience Commerce 9 Update 2 New Features
Ad

More from Optimizely (20)

PDF
Clover Rings Up Digital Growth to Drive Experimentation
PPTX
Make Every Touchpoint Count: How to Drive Revenue in an Increasingly Online W...
PPTX
The Science of Getting Testing Right
PDF
Atlassian's Mystique CLI, Minimizing the Experiment Development Cycle
PPTX
Autotrader Case Study: Migrating from Home-Grown Testing to Best-in-Class Too...
PPTX
Zillow + Optimizely: Building the Bridge to $20 Billion Revenue
PPTX
Empowering Agents to Provide Service from Anywhere: Contact Centers in the Ti...
PPTX
Experimentation Everywhere: Create Exceptional Online Shopping Experiences an...
PDF
Building an Experiment Pipeline for GitHub’s New Free Team Offering
PDF
Evolving Experimentation from CRO to Product Development
PDF
Overcoming the Challenges of Experimentation on a Service Oriented Architecture
PPTX
How The Zebra Utilized Feature Experiments To Increase Carrier Card Engagemen...
PPTX
Making Your Hypothesis Work Harder to Inform Future Product Strategy
PPTX
Kick Your Assumptions: How Scholl's Test-Everything Culture Drives Revenue
PPTX
Experimentation through Clients' Eyes
PPTX
Shipping to Learn and Accelerate Growth with GitHub
PDF
Optimizely Agent: Scaling Resilient Feature Delivery
PDF
The Future of Software Development
PPTX
Practical Use Case: How Dosh Uses Feature Experiments To Accelerate Mobile De...
PDF
Run High Impact Experimentation with High-quality Customer Discovery
Clover Rings Up Digital Growth to Drive Experimentation
Make Every Touchpoint Count: How to Drive Revenue in an Increasingly Online W...
The Science of Getting Testing Right
Atlassian's Mystique CLI, Minimizing the Experiment Development Cycle
Autotrader Case Study: Migrating from Home-Grown Testing to Best-in-Class Too...
Zillow + Optimizely: Building the Bridge to $20 Billion Revenue
Empowering Agents to Provide Service from Anywhere: Contact Centers in the Ti...
Experimentation Everywhere: Create Exceptional Online Shopping Experiences an...
Building an Experiment Pipeline for GitHub’s New Free Team Offering
Evolving Experimentation from CRO to Product Development
Overcoming the Challenges of Experimentation on a Service Oriented Architecture
How The Zebra Utilized Feature Experiments To Increase Carrier Card Engagemen...
Making Your Hypothesis Work Harder to Inform Future Product Strategy
Kick Your Assumptions: How Scholl's Test-Everything Culture Drives Revenue
Experimentation through Clients' Eyes
Shipping to Learn and Accelerate Growth with GitHub
Optimizely Agent: Scaling Resilient Feature Delivery
The Future of Software Development
Practical Use Case: How Dosh Uses Feature Experiments To Accelerate Mobile De...
Run High Impact Experimentation with High-quality Customer Discovery

Recently uploaded (20)

PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PPTX
Programs and apps: productivity, graphics, security and other tools
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Encapsulation_ Review paper, used for researhc scholars
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Network Security Unit 5.pdf for BCA BBA.
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
cuic standard and advanced reporting.pdf
PDF
Review of recent advances in non-invasive hemoglobin estimation
PPTX
sap open course for s4hana steps from ECC to s4
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
KodekX | Application Modernization Development
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Dropbox Q2 2025 Financial Results & Investor Presentation
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Programs and apps: productivity, graphics, security and other tools
Digital-Transformation-Roadmap-for-Companies.pptx
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Spectral efficient network and resource selection model in 5G networks
Mobile App Security Testing_ A Comprehensive Guide.pdf
Encapsulation_ Review paper, used for researhc scholars
20250228 LYD VKU AI Blended-Learning.pptx
Network Security Unit 5.pdf for BCA BBA.
“AI and Expert System Decision Support & Business Intelligence Systems”
Chapter 3 Spatial Domain Image Processing.pdf
cuic standard and advanced reporting.pdf
Review of recent advances in non-invasive hemoglobin estimation
sap open course for s4hana steps from ECC to s4
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Unlocking AI with Model Context Protocol (MCP)
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
KodekX | Application Modernization Development
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...

Opticon 2017 Experimenting in Modern Web Applications