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

What's hot (20)

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

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

PDF
Optimizely for Developers
Optimizely
 
PDF
Opticon 2015-Experience Optimization in Modern Web Architecture
Optimizely
 
PPTX
Opticon18: Developer Night
Optimizely
 
PDF
Optimizely in 2014: A Year in Review
Optimizely
 
PDF
Opticon 2015-Pushing the Boundaries of Optimizely
Optimizely
 
PPTX
Modernize 2018: Advanced Experimentation Workshop - Web Marketing ROI & Optim...
Optimizely
 
PDF
Modernize 2018: Advanced Experimentation Workshop - Web Marketing ROI & Optim...
Web Marketing ROI
 
PPTX
Developer Night - Opticon18
Optimizely
 
PDF
Optimizely's Vision for Product Development Teams
Optimizely
 
PDF
Speed Matters - Strategies to Improve Your Site Performance
Optimizely
 
PDF
Opticon 2017 Experiment, Roll Out, and Launch
Optimizely
 
PDF
Maximizing Optimizely Website Performance
Optimizely
 
PPTX
Taking Your Product Development to the Next Level with Full Stack
Optimizely
 
PPTX
Optimizely Product Vision: The Future of Experimentation
Optimizely
 
PDF
The Future of Software Development
Optimizely
 
PDF
Introducing Support for Dynamic Websites
Optimizely
 
PDF
Before launching your experiment. QA tips and tools.
Optimizely
 
PPTX
Optimising AJAX Applications for Organic Search
Judith Lewis
 
PPTX
High Performance Web/Mobile Pages - Automation
soheil416
 
Optimizely for Developers
Optimizely
 
Opticon 2015-Experience Optimization in Modern Web Architecture
Optimizely
 
Opticon18: Developer Night
Optimizely
 
Optimizely in 2014: A Year in Review
Optimizely
 
Opticon 2015-Pushing the Boundaries of Optimizely
Optimizely
 
Modernize 2018: Advanced Experimentation Workshop - Web Marketing ROI & Optim...
Optimizely
 
Modernize 2018: Advanced Experimentation Workshop - Web Marketing ROI & Optim...
Web Marketing ROI
 
Developer Night - Opticon18
Optimizely
 
Optimizely's Vision for Product Development Teams
Optimizely
 
Speed Matters - Strategies to Improve Your Site Performance
Optimizely
 
Opticon 2017 Experiment, Roll Out, and Launch
Optimizely
 
Maximizing Optimizely Website Performance
Optimizely
 
Taking Your Product Development to the Next Level with Full Stack
Optimizely
 
Optimizely Product Vision: The Future of Experimentation
Optimizely
 
The Future of Software Development
Optimizely
 
Introducing Support for Dynamic Websites
Optimizely
 
Before launching your experiment. QA tips and tools.
Optimizely
 
Optimising AJAX Applications for Organic Search
Judith Lewis
 
High Performance Web/Mobile Pages - Automation
soheil416
 
Ad

More from Optimizely (20)

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

Recently uploaded (20)

PPTX
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
PDF
Blockchain Transactions Explained For Everyone
CIFDAQ
 
PDF
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 
PDF
Predicting the unpredictable: re-engineering recommendation algorithms for fr...
Speck&Tech
 
PDF
HCIP-Data Center Facility Deployment V2.0 Training Material (Without Remarks ...
mcastillo49
 
PPTX
Top iOS App Development Company in the USA for Innovative Apps
SynapseIndia
 
PDF
Log-Based Anomaly Detection: Enhancing System Reliability with Machine Learning
Mohammed BEKKOUCHE
 
PDF
Human-centred design in online workplace learning and relationship to engagem...
Tracy Tang
 
PDF
SFWelly Summer 25 Release Highlights July 2025
Anna Loughnan Colquhoun
 
PDF
Persuasive AI: risks and opportunities in the age of digital debate
Speck&Tech
 
PPTX
✨Unleashing Collaboration: Salesforce Channels & Community Power in Patna!✨
SanjeetMishra29
 
PDF
CIFDAQ Token Spotlight for 9th July 2025
CIFDAQ
 
PDF
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
PDF
LLMs.txt: Easily Control How AI Crawls Your Site
Keploy
 
PDF
SWEBOK Guide and Software Services Engineering Education
Hironori Washizaki
 
PDF
Chris Elwell Woburn, MA - Passionate About IT Innovation
Chris Elwell Woburn, MA
 
PDF
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
PPTX
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
PDF
Why Orbit Edge Tech is a Top Next JS Development Company in 2025
mahendraalaska08
 
PDF
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
Blockchain Transactions Explained For Everyone
CIFDAQ
 
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 
Predicting the unpredictable: re-engineering recommendation algorithms for fr...
Speck&Tech
 
HCIP-Data Center Facility Deployment V2.0 Training Material (Without Remarks ...
mcastillo49
 
Top iOS App Development Company in the USA for Innovative Apps
SynapseIndia
 
Log-Based Anomaly Detection: Enhancing System Reliability with Machine Learning
Mohammed BEKKOUCHE
 
Human-centred design in online workplace learning and relationship to engagem...
Tracy Tang
 
SFWelly Summer 25 Release Highlights July 2025
Anna Loughnan Colquhoun
 
Persuasive AI: risks and opportunities in the age of digital debate
Speck&Tech
 
✨Unleashing Collaboration: Salesforce Channels & Community Power in Patna!✨
SanjeetMishra29
 
CIFDAQ Token Spotlight for 9th July 2025
CIFDAQ
 
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
LLMs.txt: Easily Control How AI Crawls Your Site
Keploy
 
SWEBOK Guide and Software Services Engineering Education
Hironori Washizaki
 
Chris Elwell Woburn, MA - Passionate About IT Innovation
Chris Elwell Woburn, MA
 
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
Why Orbit Edge Tech is a Top Next JS Development Company in 2025
mahendraalaska08
 
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 

Opticon 2017 Experimenting in Modern Web Applications