SlideShare a Scribd company logo
1 of 30
1FutureStack16, November 16-17, 2016Love Can’t Wait – Aideen Nasirishargh, Zoosk Inc. 1Confidential and Proprietary |
Love Can’t Wait!
Aideen Nasirishargh, Zoosk Inc.
2FutureStack16, November 16-17, 2016Love Can’t Wait – Aideen Nasirishargh, Zoosk Inc. 2Confidential and Proprietary |
No Signal
3FutureStack16, November 16-17, 2016Love Can’t Wait – Aideen Nasirishargh, Zoosk Inc. 3Confidential and Proprietary |
I Can’t Wait!
4FutureStack16, November 16-17, 2016Love Can’t Wait – Aideen Nasirishargh, Zoosk Inc. 4Confidential and Proprietary |
Where is the Exit Door?!
5FutureStack16, November 16-17, 2016Love Can’t Wait – Aideen Nasirishargh, Zoosk Inc.
Aideen Nasirishargh, Zoosk Inc.
FUTURESTACK16, 17-18 NOVEMBER 2016, SAN FRANCISCO
6FutureStack16, November 16-17, 2016Love Can’t Wait – Aideen Nasirishargh, Zoosk Inc.
Outline
● What is Love? Why Can’t It Wait?
● Introducing Time To Flirt (TTF)
● Cleanup Causes Happiness
● Happy End!
● Q&A
Introduction
What is Love, Why Can’t It Wait?
8FutureStack16, November 16-17, 2016Love Can’t Wait – Aideen Nasirishargh, Zoosk Inc.
What is Love?
Zoosk
• Zoosk’s mission is to empower
everyone to lead a more fulfilling
love life.
• Products:
• Zoosk.com, Zoosk Apps
• Lively App
• Numbers:
38 Million users
13 Million Facebook Fans
3 Million messages per day
25 Languages
80 Countries
40 Currencies
Zoosk’s Engineering Timeline
2007 Founded by two engineers as
a Facebook App
2008 Zoosk.com opens for business
2010 Launched ios & Android apps
2011 Launched SPA for Web using
Google Closure
2012 Launched SPA for MobileWeb
in AngularJS
2013 Top10 Grossing iOS App in US
2014 Photo Verification Feature
2015 Launched Android Wear
2016 Launched Lively, our video-
based App (currently in iOS)
9FutureStack16, November 16-17, 2016Love Can’t Wait – Aideen Nasirishargh, Zoosk Inc.
Zoosk Clients
● Browser Based (Javascript)
– Desktop Web (Cupid)
• Our oldest client, for www.zoosk.com and our Facebook App
• 300K LOC on top of Google Closure and AngularJS
– Mobile Web (Touch)
• Optimized for Mobile and Tablet (Swipe, Less CPU)
• https://about.zoosk.com/en/engineering-blog/creating-full-page-mobile-swipe-with-angularjs/
– Responsive Pages (Vulcan)
• https://about.zoosk.com/en/engineering-blog/responsive-web-design-vs-adaptive-web-design-which-one-is-for-me/
● Native Applications
– iOS App for iPhone and iPad
– Android and Android Wear Apps
• https://about.zoosk.com/en/engineering-blog/zoosk-wearables-2/
10FutureStack16, November 16-17, 2016Love Can’t Wait – Aideen Nasirishargh, Zoosk Inc.
Browser-Based vs Native
Browser-Based
• Needs less user engagement to start
• Less commitment for user, easier to
bounce
• Good: Faster iterations for Build,
Measure, Learn* (A/B testing, MVP)
• Bad: No standard, much variety
• Ugly: Load Time can be higher due to
downloading assets, including JS, CSS,
Images, every time (Cache vs Inline)
Native
• High barrier to start – Installing the app
• Re-engagement is easier through
notifications
• Good: More standards, less concerns
about the code size
• Bad: Legacy devices, not easy to fix a
bug quickly, less control.
• Ugly: Users are reluctant to download**
* Source: The Lean Startup: http://theleanstartup.com/principles
* Source: http://qz.com/253618/most-smartphone-users-
download-zero-apps-per-month/
11FutureStack16, November 16-17, 2016Love Can’t Wait – Aideen Nasirishargh, Zoosk Inc.
Why Can’t Love Wait?
● How long are you going to wait?
● What next? What if it’s crashed and never loads?
● #bounce after X seconds
12FutureStack16, November 16-17, 2016Love Can’t Wait – Aideen Nasirishargh, Zoosk Inc.
How bad is it?
Source: http://infographicjournal.com/how-page-load-time-can-impact-conversions/
13FutureStack16, November 16-17, 2016Love Can’t Wait – Aideen Nasirishargh, Zoosk Inc.
Really?!
Source: http://infographicjournal.com/how-page-load-time-can-impact-conversions/
Introducing Time To Flirt (TTF)
Make it faster, please!
15FutureStack16, November 16-17, 2016Love Can’t Wait – Aideen Nasirishargh, Zoosk Inc.
How to make it faster?
1. Initial Load
– e.g. Landing on a user’s profile from an email notification
– First time loading, requires loading assets if cache is empty
2. Consequent Actions
– e.g. Sending a message, or, going to another person’s profile
– Some data are cached, and transmitting the data to/from the server can be
reduced to AJAX calls
● Common Solution: Move to Single Page Application (SPA)
– Initial Load might be heavier (requires loading router)
– Consequent Actions are way faster (no full page reload)
– We did it, gradually, starting from 2011
16FutureStack16, November 16-17, 2016Love Can’t Wait – Aideen Nasirishargh, Zoosk Inc.
Introducing TTF (Time to Flirt)
● Step 0: What to measure
– Asynchronous loading/usability of various sections in SPA
– Loading what is needed, and then preloading possible assets likely to be
needed in near future (e.g. next user’s profile picture, while in Search)
● Let’s define a metric!
– A true one coming from the user’s perspective
– Inspired by Twitter’s “Time To Tweet”* in March 2012, we defined Time to
Search and Time to Flirt.
– Time To Flirt: The time from clicking on a Zoosk date card URI, to seeing
the user's datecard, and being able to send a message or greeting.
– Time To Search: akin to TTF, this is the time it takes to load up and show
the first search result to our user.
– * https://blog.twitter.com/2012/improving-performance-on-twittercom
17FutureStack16, November 16-17, 2016Love Can’t Wait – Aideen Nasirishargh, Zoosk Inc.
Initial Improvements (2014)
1. Delay loading of images in notification
tray (the hidden elements)
2. Prefetch first Search Results (whatever it takes from the server side to
load the first page) into the HTML source of the page’s bootstrap code
3. Optimize prefetching of photos (never over-optimize!)
4. Consolidate similar blocking assets (e.g. JS modules) into one file
from CDN in order to save on the number of HTTP requests
5. Inlining JS code (300KB) on MobileWeb SPA (it was 2014!)
18FutureStack16, November 16-17, 2016Love Can’t Wait – Aideen Nasirishargh, Zoosk Inc.
It’s good, but not accurate!
● We used custom performance (timing) events in Google Analytics to
measure our performance and created a dashboard.
● Result:
● Average Sucks!
19FutureStack16, November 16-17, 2016Love Can’t Wait – Aideen Nasirishargh, Zoosk Inc.
Average Sucks!
● Average needs O(1) space to compute.
● Outliers! Up to 60 seconds for the
average of ~10 seconds.
● Lack of enough accurate data blocked
us from implementing and experimenting
other TTF-improvement ideas
● Alternatives in 2014:
– Parse, Keen.io, other 3rd party storage services
– Our own BI systems (Hive/Hadoop) + d3.js
– New Relic Insights was barely born!
20FutureStack16, November 16-17, 2016Love Can’t Wait – Aideen Nasirishargh, Zoosk Inc.
Fast Forward to 2016 – NewRelic SPA Pro
● Extremely easy setup
● Well-documented API
● NRQL and Insights data, vs W3C (https://www.w3.org/TR/navigation-timing-2/ )
21FutureStack16, November 16-17, 2016Love Can’t Wait – Aideen Nasirishargh, Zoosk Inc.
Fast Forward to 2016 – NewRelic SPA Pro
● Percentile vs Avg in NRQL!
Cleanup Causes Happiness
Keep your heart fresh and well-
monitored!
23FutureStack16, November 16-17, 2016Love Can’t Wait – Aideen Nasirishargh, Zoosk Inc.
Build, Learn, and Don’t Forget to Cleanup!
● A/B Tests at Zoosk
– 400+ per year!
– On Web SPA’s when using shared templates or Abstraction, both codes for
A (control) vs B (test) experiment are download at all times.
– if (group_for_experiment(123) === ‘A’) {
// code for group A
} else {
// code for group B
}
– Browser-based = Both codes are downloaded
• … and with up to 3 times shipping per day cache is not always the
answer
24FutureStack16, November 16-17, 2016Love Can’t Wait – Aideen Nasirishargh, Zoosk Inc.
Massive cleanup of 100+ experiments,
● 100 out of 140 Mobile Web Experiments since 2014
● 20K+ LOC (10% codebase)
● Page load +15%
Happy Ending
Let’s Share the Results!
26FutureStack16, November 16-17, 2016Love Can’t Wait – Aideen Nasirishargh, Zoosk Inc.
Happy Ending
● Percentile vs Average
(get rid of outliers!)
● Accurate Tracking
● Real Time, and compare
with yesterday.
● Result: Visible and
Reliable 15% faster load
time
27FutureStack16, November 16-17, 2016Love Can’t Wait – Aideen Nasirishargh, Zoosk Inc.
Happy Ending
● Also 10% boost in initial
page landings!
28FutureStack16, November 16-17, 2016Love Can’t Wait – Aideen Nasirishargh, Zoosk Inc.
Other Wins (two weeks ago)
● Limiting agent to certain pages
● Instructing custom events (added to the Page Action)
● Improved load time by Inlining JS, vs, serving from CDN
29FutureStack16, November 16-17, 2016Love Can’t Wait – Aideen Nasirishargh, Zoosk Inc.
Takeaways for Engineers – How to Sell it!
● Performance as a Feature
– You need a POC! Pick a good one
● Mocha hagotdi!
● Have a Routine for that.
– Major cleanup every 6 months
– Keeping artifacts sizes under a
certain size
– 10% faster PageLoad every year?
Thank You!
Any question?

More Related Content

Viewers also liked

Power point visual fundamentals project
Power point visual fundamentals projectPower point visual fundamentals project
Power point visual fundamentals projectkatiedawn1003
 
Track Welcome: Operating Dynamic Infrastructure [FutureStack]
Track Welcome: Operating Dynamic Infrastructure [FutureStack]Track Welcome: Operating Dynamic Infrastructure [FutureStack]
Track Welcome: Operating Dynamic Infrastructure [FutureStack]New Relic
 
ワイン検定ブロンズ資料
ワイン検定ブロンズ資料ワイン検定ブロンズ資料
ワイン検定ブロンズ資料Hitomi Takagi
 
Labour unrest-at-toyota
Labour unrest-at-toyotaLabour unrest-at-toyota
Labour unrest-at-toyotaPallav Tyagi
 
Track Welcome: New Relic 101 [FutureStack16]
Track Welcome: New Relic 101 [FutureStack16]Track Welcome: New Relic 101 [FutureStack16]
Track Welcome: New Relic 101 [FutureStack16]New Relic
 
Comparative Analysis of Operational Work Aspects of FedEx-USA and Blue Dart-I...
Comparative Analysis of Operational Work Aspects of FedEx-USA and Blue Dart-I...Comparative Analysis of Operational Work Aspects of FedEx-USA and Blue Dart-I...
Comparative Analysis of Operational Work Aspects of FedEx-USA and Blue Dart-I...siva prasad
 
Case Study: HR Tech helps staffing firm attain efficiency
Case Study: HR Tech helps staffing firm attain efficiencyCase Study: HR Tech helps staffing firm attain efficiency
Case Study: HR Tech helps staffing firm attain efficiencyEdGE NetWorks
 
Using the Lean Canvas to Map and Drive your Startup
Using the Lean Canvas to Map and Drive your Startup Using the Lean Canvas to Map and Drive your Startup
Using the Lean Canvas to Map and Drive your Startup Isaac Souweine
 

Viewers also liked (13)

Power point visual fundamentals project
Power point visual fundamentals projectPower point visual fundamentals project
Power point visual fundamentals project
 
CV Mrityunjay Pandey
CV Mrityunjay PandeyCV Mrityunjay Pandey
CV Mrityunjay Pandey
 
Track Welcome: Operating Dynamic Infrastructure [FutureStack]
Track Welcome: Operating Dynamic Infrastructure [FutureStack]Track Welcome: Operating Dynamic Infrastructure [FutureStack]
Track Welcome: Operating Dynamic Infrastructure [FutureStack]
 
ワイン検定ブロンズ資料
ワイン検定ブロンズ資料ワイン検定ブロンズ資料
ワイン検定ブロンズ資料
 
Labour unrest-at-toyota
Labour unrest-at-toyotaLabour unrest-at-toyota
Labour unrest-at-toyota
 
Resume
ResumeResume
Resume
 
Track Welcome: New Relic 101 [FutureStack16]
Track Welcome: New Relic 101 [FutureStack16]Track Welcome: New Relic 101 [FutureStack16]
Track Welcome: New Relic 101 [FutureStack16]
 
Comparative Analysis of Operational Work Aspects of FedEx-USA and Blue Dart-I...
Comparative Analysis of Operational Work Aspects of FedEx-USA and Blue Dart-I...Comparative Analysis of Operational Work Aspects of FedEx-USA and Blue Dart-I...
Comparative Analysis of Operational Work Aspects of FedEx-USA and Blue Dart-I...
 
Case Study: HR Tech helps staffing firm attain efficiency
Case Study: HR Tech helps staffing firm attain efficiencyCase Study: HR Tech helps staffing firm attain efficiency
Case Study: HR Tech helps staffing firm attain efficiency
 
Using the Lean Canvas to Map and Drive your Startup
Using the Lean Canvas to Map and Drive your Startup Using the Lean Canvas to Map and Drive your Startup
Using the Lean Canvas to Map and Drive your Startup
 
Power and Politics
Power and PoliticsPower and Politics
Power and Politics
 
Rules and Guidelines on Debate Competition
Rules and Guidelines on Debate CompetitionRules and Guidelines on Debate Competition
Rules and Guidelines on Debate Competition
 
Blue Dart
Blue DartBlue Dart
Blue Dart
 

Similar to Love Can't Wait! Optimizing PageLoad Time of SPAs at Zoosk [FutureStack16]

Webinar: Are you ready for your peak season?
Webinar: Are you ready for your peak season?Webinar: Are you ready for your peak season?
Webinar: Are you ready for your peak season?Jennifer Finney
 
Welcome to a new reality - DeepCrawl Webinar 2018
Welcome to a new reality - DeepCrawl Webinar 2018Welcome to a new reality - DeepCrawl Webinar 2018
Welcome to a new reality - DeepCrawl Webinar 2018Bastian Grimm
 
QCon SP - recommended for you
QCon SP - recommended for youQCon SP - recommended for you
QCon SP - recommended for youTatiana Al-Chueyr
 
Designing analytics for big data
Designing analytics for big dataDesigning analytics for big data
Designing analytics for big dataJ Singh
 
How to scale mobile application security testing
How to scale mobile application security testingHow to scale mobile application security testing
How to scale mobile application security testingNowSecure
 
Webinar: Load Testing for Your Peak Season
Webinar: Load Testing for Your Peak SeasonWebinar: Load Testing for Your Peak Season
Webinar: Load Testing for Your Peak SeasonSOASTA
 
Indextank east bay ruby meetup slides
Indextank east bay ruby meetup slidesIndextank east bay ruby meetup slides
Indextank east bay ruby meetup slidesYogiWanKenobi
 
Introduction to Apache Airflow - Programmatically Manage Your Workflows for ...
 Introduction to Apache Airflow - Programmatically Manage Your Workflows for ... Introduction to Apache Airflow - Programmatically Manage Your Workflows for ...
Introduction to Apache Airflow - Programmatically Manage Your Workflows for ...Xiaodong DENG
 
How to be Successful with Responsive Sites (Koombea & NGINX) - English
How to be Successful with Responsive Sites (Koombea & NGINX) - EnglishHow to be Successful with Responsive Sites (Koombea & NGINX) - English
How to be Successful with Responsive Sites (Koombea & NGINX) - EnglishKoombea
 
Measuring the End User
Measuring the End User Measuring the End User
Measuring the End User APNIC
 
Content migration for sitecore
Content migration for sitecoreContent migration for sitecore
Content migration for sitecoreSurendra Sharma
 
An Iterative Approach to Service Oriented Architecture
An Iterative Approach to Service Oriented ArchitectureAn Iterative Approach to Service Oriented Architecture
An Iterative Approach to Service Oriented ArchitectureEric Saxby
 
Introduction to Apache Spark 2.0
Introduction to Apache Spark 2.0Introduction to Apache Spark 2.0
Introduction to Apache Spark 2.0Knoldus Inc.
 
Donald Ferguson - Old Programmers Can Learn New Tricks
Donald Ferguson - Old Programmers Can Learn New TricksDonald Ferguson - Old Programmers Can Learn New Tricks
Donald Ferguson - Old Programmers Can Learn New TricksServerlessConf
 
Web Performance in the Age of HTTP2 - Topconf Tallinn 2016 - Holger Bartel
Web Performance in the Age of HTTP2 - Topconf Tallinn 2016 - Holger BartelWeb Performance in the Age of HTTP2 - Topconf Tallinn 2016 - Holger Bartel
Web Performance in the Age of HTTP2 - Topconf Tallinn 2016 - Holger BartelHolger Bartel
 
WSO2Con ASIA 2016: An Introduction to the WSO2 Analytics Platform
WSO2Con ASIA 2016: An Introduction to the WSO2 Analytics PlatformWSO2Con ASIA 2016: An Introduction to the WSO2 Analytics Platform
WSO2Con ASIA 2016: An Introduction to the WSO2 Analytics PlatformWSO2
 
Webinar: How to Load Test for Your Mobile Peak
Webinar: How to Load Test for Your Mobile PeakWebinar: How to Load Test for Your Mobile Peak
Webinar: How to Load Test for Your Mobile PeakJennifer Finney
 
Collin Stocks 2016-09-06
Collin Stocks 2016-09-06Collin Stocks 2016-09-06
Collin Stocks 2016-09-06Collin Stocks
 

Similar to Love Can't Wait! Optimizing PageLoad Time of SPAs at Zoosk [FutureStack16] (20)

Finding sensitive information in text data
Finding sensitive information in text dataFinding sensitive information in text data
Finding sensitive information in text data
 
Webinar: Are you ready for your peak season?
Webinar: Are you ready for your peak season?Webinar: Are you ready for your peak season?
Webinar: Are you ready for your peak season?
 
Welcome to a new reality - DeepCrawl Webinar 2018
Welcome to a new reality - DeepCrawl Webinar 2018Welcome to a new reality - DeepCrawl Webinar 2018
Welcome to a new reality - DeepCrawl Webinar 2018
 
QCon SP - recommended for you
QCon SP - recommended for youQCon SP - recommended for you
QCon SP - recommended for you
 
Designing analytics for big data
Designing analytics for big dataDesigning analytics for big data
Designing analytics for big data
 
How to scale mobile application security testing
How to scale mobile application security testingHow to scale mobile application security testing
How to scale mobile application security testing
 
Webinar: Load Testing for Your Peak Season
Webinar: Load Testing for Your Peak SeasonWebinar: Load Testing for Your Peak Season
Webinar: Load Testing for Your Peak Season
 
Indextank east bay ruby meetup slides
Indextank east bay ruby meetup slidesIndextank east bay ruby meetup slides
Indextank east bay ruby meetup slides
 
Introduction to Apache Airflow - Programmatically Manage Your Workflows for ...
 Introduction to Apache Airflow - Programmatically Manage Your Workflows for ... Introduction to Apache Airflow - Programmatically Manage Your Workflows for ...
Introduction to Apache Airflow - Programmatically Manage Your Workflows for ...
 
How to be Successful with Responsive Sites (Koombea & NGINX) - English
How to be Successful with Responsive Sites (Koombea & NGINX) - EnglishHow to be Successful with Responsive Sites (Koombea & NGINX) - English
How to be Successful with Responsive Sites (Koombea & NGINX) - English
 
Measuring the End User
Measuring the End User Measuring the End User
Measuring the End User
 
Splunk
SplunkSplunk
Splunk
 
Content migration for sitecore
Content migration for sitecoreContent migration for sitecore
Content migration for sitecore
 
An Iterative Approach to Service Oriented Architecture
An Iterative Approach to Service Oriented ArchitectureAn Iterative Approach to Service Oriented Architecture
An Iterative Approach to Service Oriented Architecture
 
Introduction to Apache Spark 2.0
Introduction to Apache Spark 2.0Introduction to Apache Spark 2.0
Introduction to Apache Spark 2.0
 
Donald Ferguson - Old Programmers Can Learn New Tricks
Donald Ferguson - Old Programmers Can Learn New TricksDonald Ferguson - Old Programmers Can Learn New Tricks
Donald Ferguson - Old Programmers Can Learn New Tricks
 
Web Performance in the Age of HTTP2 - Topconf Tallinn 2016 - Holger Bartel
Web Performance in the Age of HTTP2 - Topconf Tallinn 2016 - Holger BartelWeb Performance in the Age of HTTP2 - Topconf Tallinn 2016 - Holger Bartel
Web Performance in the Age of HTTP2 - Topconf Tallinn 2016 - Holger Bartel
 
WSO2Con ASIA 2016: An Introduction to the WSO2 Analytics Platform
WSO2Con ASIA 2016: An Introduction to the WSO2 Analytics PlatformWSO2Con ASIA 2016: An Introduction to the WSO2 Analytics Platform
WSO2Con ASIA 2016: An Introduction to the WSO2 Analytics Platform
 
Webinar: How to Load Test for Your Mobile Peak
Webinar: How to Load Test for Your Mobile PeakWebinar: How to Load Test for Your Mobile Peak
Webinar: How to Load Test for Your Mobile Peak
 
Collin Stocks 2016-09-06
Collin Stocks 2016-09-06Collin Stocks 2016-09-06
Collin Stocks 2016-09-06
 

More from New Relic

7 Tips & Tricks to Having Happy Customers at Scale
7 Tips & Tricks to Having Happy Customers at Scale7 Tips & Tricks to Having Happy Customers at Scale
7 Tips & Tricks to Having Happy Customers at ScaleNew Relic
 
7 Tips & Tricks to Having Happy Customers at Scale
7 Tips & Tricks to Having Happy Customers at Scale7 Tips & Tricks to Having Happy Customers at Scale
7 Tips & Tricks to Having Happy Customers at ScaleNew Relic
 
New Relic University at Future Stack Tokyo 2019
New Relic University at Future Stack Tokyo 2019New Relic University at Future Stack Tokyo 2019
New Relic University at Future Stack Tokyo 2019New Relic
 
FutureStack Tokyo 19 -[事例講演]株式会社リクルートライフスタイル:年間9300万件以上のサロン予約を支えるホットペッパービューティ...
FutureStack Tokyo 19 -[事例講演]株式会社リクルートライフスタイル:年間9300万件以上のサロン予約を支えるホットペッパービューティ...FutureStack Tokyo 19 -[事例講演]株式会社リクルートライフスタイル:年間9300万件以上のサロン予約を支えるホットペッパービューティ...
FutureStack Tokyo 19 -[事例講演]株式会社リクルートライフスタイル:年間9300万件以上のサロン予約を支えるホットペッパービューティ...New Relic
 
FutureStack Tokyo 19 -[New Relic テクニカル講演]モニタリングと可視化がデジタルトランスフォーメーションを救う! - サ...
FutureStack  Tokyo 19 -[New Relic テクニカル講演]モニタリングと可視化がデジタルトランスフォーメーションを救う! - サ...FutureStack  Tokyo 19 -[New Relic テクニカル講演]モニタリングと可視化がデジタルトランスフォーメーションを救う! - サ...
FutureStack Tokyo 19 -[New Relic テクニカル講演]モニタリングと可視化がデジタルトランスフォーメーションを救う! - サ...New Relic
 
FutureStack Tokyo 19 -[特別講演]システム開発によろこびと驚きの連鎖を
FutureStack Tokyo 19 -[特別講演]システム開発によろこびと驚きの連鎖をFutureStack Tokyo 19 -[特別講演]システム開発によろこびと驚きの連鎖を
FutureStack Tokyo 19 -[特別講演]システム開発によろこびと驚きの連鎖をNew Relic
 
FutureStack Tokyo 19 -[パートナー講演]アマゾン ウェブ サービス ジャパン株式会社: New Relicを活用したAWSへのアプリ...
FutureStack Tokyo 19 -[パートナー講演]アマゾン ウェブ サービス ジャパン株式会社: New Relicを活用したAWSへのアプリ...FutureStack Tokyo 19 -[パートナー講演]アマゾン ウェブ サービス ジャパン株式会社: New Relicを活用したAWSへのアプリ...
FutureStack Tokyo 19 -[パートナー講演]アマゾン ウェブ サービス ジャパン株式会社: New Relicを活用したAWSへのアプリ...New Relic
 
FutureStack Tokyo 19_インサイトとデータを組織の力にする_株式会社ドワンゴ 池田 明啓 氏
FutureStack Tokyo 19_インサイトとデータを組織の力にする_株式会社ドワンゴ 池田 明啓 氏FutureStack Tokyo 19_インサイトとデータを組織の力にする_株式会社ドワンゴ 池田 明啓 氏
FutureStack Tokyo 19_インサイトとデータを組織の力にする_株式会社ドワンゴ 池田 明啓 氏New Relic
 
Three Monitoring Mistakes and How to Avoid Them
Three Monitoring Mistakes and How to Avoid ThemThree Monitoring Mistakes and How to Avoid Them
Three Monitoring Mistakes and How to Avoid ThemNew Relic
 
Intro to Multidimensional Kubernetes Monitoring
Intro to Multidimensional Kubernetes MonitoringIntro to Multidimensional Kubernetes Monitoring
Intro to Multidimensional Kubernetes MonitoringNew Relic
 
FS18 Chicago Keynote
FS18 Chicago Keynote FS18 Chicago Keynote
FS18 Chicago Keynote New Relic
 
10 Things You Can Do With New Relic - Number 9 Will Shock You
10 Things You Can Do With New Relic - Number 9 Will Shock You10 Things You Can Do With New Relic - Number 9 Will Shock You
10 Things You Can Do With New Relic - Number 9 Will Shock YouNew Relic
 
Ground Rules for Code Reviews
Ground Rules for Code ReviewsGround Rules for Code Reviews
Ground Rules for Code ReviewsNew Relic
 
Understanding Microservice Latency for DevOps Teams: An Introduction to New R...
Understanding Microservice Latency for DevOps Teams: An Introduction to New R...Understanding Microservice Latency for DevOps Teams: An Introduction to New R...
Understanding Microservice Latency for DevOps Teams: An Introduction to New R...New Relic
 
Monitor all your Kubernetes and EKS stack with New Relic
Monitor all your Kubernetes and EKS stack with New Relic	Monitor all your Kubernetes and EKS stack with New Relic
Monitor all your Kubernetes and EKS stack with New Relic New Relic
 
Host for the Most: Cloud Cost Optimization
Host for the Most: Cloud Cost OptimizationHost for the Most: Cloud Cost Optimization
Host for the Most: Cloud Cost OptimizationNew Relic
 
New Relic Infrastructure in the Real World: AWS
New Relic Infrastructure in the Real World: AWSNew Relic Infrastructure in the Real World: AWS
New Relic Infrastructure in the Real World: AWSNew Relic
 
Best Practices for Measuring your Code Pipeline
Best Practices for Measuring your Code PipelineBest Practices for Measuring your Code Pipeline
Best Practices for Measuring your Code PipelineNew Relic
 
Top Three Mistakes People Make with Monitoring
Top Three Mistakes People Make with MonitoringTop Three Mistakes People Make with Monitoring
Top Three Mistakes People Make with MonitoringNew Relic
 

More from New Relic (20)

7 Tips & Tricks to Having Happy Customers at Scale
7 Tips & Tricks to Having Happy Customers at Scale7 Tips & Tricks to Having Happy Customers at Scale
7 Tips & Tricks to Having Happy Customers at Scale
 
7 Tips & Tricks to Having Happy Customers at Scale
7 Tips & Tricks to Having Happy Customers at Scale7 Tips & Tricks to Having Happy Customers at Scale
7 Tips & Tricks to Having Happy Customers at Scale
 
New Relic University at Future Stack Tokyo 2019
New Relic University at Future Stack Tokyo 2019New Relic University at Future Stack Tokyo 2019
New Relic University at Future Stack Tokyo 2019
 
FutureStack Tokyo 19 -[事例講演]株式会社リクルートライフスタイル:年間9300万件以上のサロン予約を支えるホットペッパービューティ...
FutureStack Tokyo 19 -[事例講演]株式会社リクルートライフスタイル:年間9300万件以上のサロン予約を支えるホットペッパービューティ...FutureStack Tokyo 19 -[事例講演]株式会社リクルートライフスタイル:年間9300万件以上のサロン予約を支えるホットペッパービューティ...
FutureStack Tokyo 19 -[事例講演]株式会社リクルートライフスタイル:年間9300万件以上のサロン予約を支えるホットペッパービューティ...
 
FutureStack Tokyo 19 -[New Relic テクニカル講演]モニタリングと可視化がデジタルトランスフォーメーションを救う! - サ...
FutureStack  Tokyo 19 -[New Relic テクニカル講演]モニタリングと可視化がデジタルトランスフォーメーションを救う! - サ...FutureStack  Tokyo 19 -[New Relic テクニカル講演]モニタリングと可視化がデジタルトランスフォーメーションを救う! - サ...
FutureStack Tokyo 19 -[New Relic テクニカル講演]モニタリングと可視化がデジタルトランスフォーメーションを救う! - サ...
 
FutureStack Tokyo 19 -[特別講演]システム開発によろこびと驚きの連鎖を
FutureStack Tokyo 19 -[特別講演]システム開発によろこびと驚きの連鎖をFutureStack Tokyo 19 -[特別講演]システム開発によろこびと驚きの連鎖を
FutureStack Tokyo 19 -[特別講演]システム開発によろこびと驚きの連鎖を
 
FutureStack Tokyo 19 -[パートナー講演]アマゾン ウェブ サービス ジャパン株式会社: New Relicを活用したAWSへのアプリ...
FutureStack Tokyo 19 -[パートナー講演]アマゾン ウェブ サービス ジャパン株式会社: New Relicを活用したAWSへのアプリ...FutureStack Tokyo 19 -[パートナー講演]アマゾン ウェブ サービス ジャパン株式会社: New Relicを活用したAWSへのアプリ...
FutureStack Tokyo 19 -[パートナー講演]アマゾン ウェブ サービス ジャパン株式会社: New Relicを活用したAWSへのアプリ...
 
FutureStack Tokyo 19_インサイトとデータを組織の力にする_株式会社ドワンゴ 池田 明啓 氏
FutureStack Tokyo 19_インサイトとデータを組織の力にする_株式会社ドワンゴ 池田 明啓 氏FutureStack Tokyo 19_インサイトとデータを組織の力にする_株式会社ドワンゴ 池田 明啓 氏
FutureStack Tokyo 19_インサイトとデータを組織の力にする_株式会社ドワンゴ 池田 明啓 氏
 
Three Monitoring Mistakes and How to Avoid Them
Three Monitoring Mistakes and How to Avoid ThemThree Monitoring Mistakes and How to Avoid Them
Three Monitoring Mistakes and How to Avoid Them
 
Intro to Multidimensional Kubernetes Monitoring
Intro to Multidimensional Kubernetes MonitoringIntro to Multidimensional Kubernetes Monitoring
Intro to Multidimensional Kubernetes Monitoring
 
FS18 Chicago Keynote
FS18 Chicago Keynote FS18 Chicago Keynote
FS18 Chicago Keynote
 
SRE-iously
SRE-iouslySRE-iously
SRE-iously
 
10 Things You Can Do With New Relic - Number 9 Will Shock You
10 Things You Can Do With New Relic - Number 9 Will Shock You10 Things You Can Do With New Relic - Number 9 Will Shock You
10 Things You Can Do With New Relic - Number 9 Will Shock You
 
Ground Rules for Code Reviews
Ground Rules for Code ReviewsGround Rules for Code Reviews
Ground Rules for Code Reviews
 
Understanding Microservice Latency for DevOps Teams: An Introduction to New R...
Understanding Microservice Latency for DevOps Teams: An Introduction to New R...Understanding Microservice Latency for DevOps Teams: An Introduction to New R...
Understanding Microservice Latency for DevOps Teams: An Introduction to New R...
 
Monitor all your Kubernetes and EKS stack with New Relic
Monitor all your Kubernetes and EKS stack with New Relic	Monitor all your Kubernetes and EKS stack with New Relic
Monitor all your Kubernetes and EKS stack with New Relic
 
Host for the Most: Cloud Cost Optimization
Host for the Most: Cloud Cost OptimizationHost for the Most: Cloud Cost Optimization
Host for the Most: Cloud Cost Optimization
 
New Relic Infrastructure in the Real World: AWS
New Relic Infrastructure in the Real World: AWSNew Relic Infrastructure in the Real World: AWS
New Relic Infrastructure in the Real World: AWS
 
Best Practices for Measuring your Code Pipeline
Best Practices for Measuring your Code PipelineBest Practices for Measuring your Code Pipeline
Best Practices for Measuring your Code Pipeline
 
Top Three Mistakes People Make with Monitoring
Top Three Mistakes People Make with MonitoringTop Three Mistakes People Make with Monitoring
Top Three Mistakes People Make with Monitoring
 

Recently uploaded

Semantic Shed - Squashing and Squeezing.pptx
Semantic Shed - Squashing and Squeezing.pptxSemantic Shed - Squashing and Squeezing.pptx
Semantic Shed - Squashing and Squeezing.pptxMike Bennett
 
Cyber awareness ppt on the recorded data
Cyber awareness ppt on the recorded dataCyber awareness ppt on the recorded data
Cyber awareness ppt on the recorded dataTecnoIncentive
 
Decoding Patterns: Customer Churn Prediction Data Analysis Project
Decoding Patterns: Customer Churn Prediction Data Analysis ProjectDecoding Patterns: Customer Churn Prediction Data Analysis Project
Decoding Patterns: Customer Churn Prediction Data Analysis ProjectBoston Institute of Analytics
 
Predictive Analysis for Loan Default Presentation : Data Analysis Project PPT
Predictive Analysis for Loan Default  Presentation : Data Analysis Project PPTPredictive Analysis for Loan Default  Presentation : Data Analysis Project PPT
Predictive Analysis for Loan Default Presentation : Data Analysis Project PPTBoston Institute of Analytics
 
Data Factory in Microsoft Fabric (MsBIP #82)
Data Factory in Microsoft Fabric (MsBIP #82)Data Factory in Microsoft Fabric (MsBIP #82)
Data Factory in Microsoft Fabric (MsBIP #82)Cathrine Wilhelmsen
 
Advanced Machine Learning for Business Professionals
Advanced Machine Learning for Business ProfessionalsAdvanced Machine Learning for Business Professionals
Advanced Machine Learning for Business ProfessionalsVICTOR MAESTRE RAMIREZ
 
wepik-insightful-infographics-a-data-visualization-overview-20240401133220kwr...
wepik-insightful-infographics-a-data-visualization-overview-20240401133220kwr...wepik-insightful-infographics-a-data-visualization-overview-20240401133220kwr...
wepik-insightful-infographics-a-data-visualization-overview-20240401133220kwr...KarteekMane1
 
Conf42-LLM_Adding Generative AI to Real-Time Streaming Pipelines
Conf42-LLM_Adding Generative AI to Real-Time Streaming PipelinesConf42-LLM_Adding Generative AI to Real-Time Streaming Pipelines
Conf42-LLM_Adding Generative AI to Real-Time Streaming PipelinesTimothy Spann
 
Bank Loan Approval Analysis: A Comprehensive Data Analysis Project
Bank Loan Approval Analysis: A Comprehensive Data Analysis ProjectBank Loan Approval Analysis: A Comprehensive Data Analysis Project
Bank Loan Approval Analysis: A Comprehensive Data Analysis ProjectBoston Institute of Analytics
 
Student Profile Sample report on improving academic performance by uniting gr...
Student Profile Sample report on improving academic performance by uniting gr...Student Profile Sample report on improving academic performance by uniting gr...
Student Profile Sample report on improving academic performance by uniting gr...Seán Kennedy
 
The Power of Data-Driven Storytelling_ Unveiling the Layers of Insight.pptx
The Power of Data-Driven Storytelling_ Unveiling the Layers of Insight.pptxThe Power of Data-Driven Storytelling_ Unveiling the Layers of Insight.pptx
The Power of Data-Driven Storytelling_ Unveiling the Layers of Insight.pptxTasha Penwell
 
6 Tips for Interpretable Topic Models _ by Nicha Ruchirawat _ Towards Data Sc...
6 Tips for Interpretable Topic Models _ by Nicha Ruchirawat _ Towards Data Sc...6 Tips for Interpretable Topic Models _ by Nicha Ruchirawat _ Towards Data Sc...
6 Tips for Interpretable Topic Models _ by Nicha Ruchirawat _ Towards Data Sc...Dr Arash Najmaei ( Phd., MBA, BSc)
 
Networking Case Study prepared by teacher.pptx
Networking Case Study prepared by teacher.pptxNetworking Case Study prepared by teacher.pptx
Networking Case Study prepared by teacher.pptxHimangsuNath
 
modul pembelajaran robotic Workshop _ by Slidesgo.pptx
modul pembelajaran robotic Workshop _ by Slidesgo.pptxmodul pembelajaran robotic Workshop _ by Slidesgo.pptx
modul pembelajaran robotic Workshop _ by Slidesgo.pptxaleedritatuxx
 
FAIR, FAIRsharing, FAIR Cookbook and ELIXIR - Sansone SA - Boston 2024
FAIR, FAIRsharing, FAIR Cookbook and ELIXIR - Sansone SA - Boston 2024FAIR, FAIRsharing, FAIR Cookbook and ELIXIR - Sansone SA - Boston 2024
FAIR, FAIRsharing, FAIR Cookbook and ELIXIR - Sansone SA - Boston 2024Susanna-Assunta Sansone
 
SMOTE and K-Fold Cross Validation-Presentation.pptx
SMOTE and K-Fold Cross Validation-Presentation.pptxSMOTE and K-Fold Cross Validation-Presentation.pptx
SMOTE and K-Fold Cross Validation-Presentation.pptxHaritikaChhatwal1
 
Defining Constituents, Data Vizzes and Telling a Data Story
Defining Constituents, Data Vizzes and Telling a Data StoryDefining Constituents, Data Vizzes and Telling a Data Story
Defining Constituents, Data Vizzes and Telling a Data StoryJeremy Anderson
 
convolutional neural network and its applications.pdf
convolutional neural network and its applications.pdfconvolutional neural network and its applications.pdf
convolutional neural network and its applications.pdfSubhamKumar3239
 
Data Analysis Project Presentation: Unveiling Your Ideal Customer, Bank Custo...
Data Analysis Project Presentation: Unveiling Your Ideal Customer, Bank Custo...Data Analysis Project Presentation: Unveiling Your Ideal Customer, Bank Custo...
Data Analysis Project Presentation: Unveiling Your Ideal Customer, Bank Custo...Boston Institute of Analytics
 

Recently uploaded (20)

Semantic Shed - Squashing and Squeezing.pptx
Semantic Shed - Squashing and Squeezing.pptxSemantic Shed - Squashing and Squeezing.pptx
Semantic Shed - Squashing and Squeezing.pptx
 
Cyber awareness ppt on the recorded data
Cyber awareness ppt on the recorded dataCyber awareness ppt on the recorded data
Cyber awareness ppt on the recorded data
 
Decoding Patterns: Customer Churn Prediction Data Analysis Project
Decoding Patterns: Customer Churn Prediction Data Analysis ProjectDecoding Patterns: Customer Churn Prediction Data Analysis Project
Decoding Patterns: Customer Churn Prediction Data Analysis Project
 
Predictive Analysis for Loan Default Presentation : Data Analysis Project PPT
Predictive Analysis for Loan Default  Presentation : Data Analysis Project PPTPredictive Analysis for Loan Default  Presentation : Data Analysis Project PPT
Predictive Analysis for Loan Default Presentation : Data Analysis Project PPT
 
Data Factory in Microsoft Fabric (MsBIP #82)
Data Factory in Microsoft Fabric (MsBIP #82)Data Factory in Microsoft Fabric (MsBIP #82)
Data Factory in Microsoft Fabric (MsBIP #82)
 
Advanced Machine Learning for Business Professionals
Advanced Machine Learning for Business ProfessionalsAdvanced Machine Learning for Business Professionals
Advanced Machine Learning for Business Professionals
 
wepik-insightful-infographics-a-data-visualization-overview-20240401133220kwr...
wepik-insightful-infographics-a-data-visualization-overview-20240401133220kwr...wepik-insightful-infographics-a-data-visualization-overview-20240401133220kwr...
wepik-insightful-infographics-a-data-visualization-overview-20240401133220kwr...
 
Conf42-LLM_Adding Generative AI to Real-Time Streaming Pipelines
Conf42-LLM_Adding Generative AI to Real-Time Streaming PipelinesConf42-LLM_Adding Generative AI to Real-Time Streaming Pipelines
Conf42-LLM_Adding Generative AI to Real-Time Streaming Pipelines
 
Bank Loan Approval Analysis: A Comprehensive Data Analysis Project
Bank Loan Approval Analysis: A Comprehensive Data Analysis ProjectBank Loan Approval Analysis: A Comprehensive Data Analysis Project
Bank Loan Approval Analysis: A Comprehensive Data Analysis Project
 
Student Profile Sample report on improving academic performance by uniting gr...
Student Profile Sample report on improving academic performance by uniting gr...Student Profile Sample report on improving academic performance by uniting gr...
Student Profile Sample report on improving academic performance by uniting gr...
 
The Power of Data-Driven Storytelling_ Unveiling the Layers of Insight.pptx
The Power of Data-Driven Storytelling_ Unveiling the Layers of Insight.pptxThe Power of Data-Driven Storytelling_ Unveiling the Layers of Insight.pptx
The Power of Data-Driven Storytelling_ Unveiling the Layers of Insight.pptx
 
6 Tips for Interpretable Topic Models _ by Nicha Ruchirawat _ Towards Data Sc...
6 Tips for Interpretable Topic Models _ by Nicha Ruchirawat _ Towards Data Sc...6 Tips for Interpretable Topic Models _ by Nicha Ruchirawat _ Towards Data Sc...
6 Tips for Interpretable Topic Models _ by Nicha Ruchirawat _ Towards Data Sc...
 
Networking Case Study prepared by teacher.pptx
Networking Case Study prepared by teacher.pptxNetworking Case Study prepared by teacher.pptx
Networking Case Study prepared by teacher.pptx
 
modul pembelajaran robotic Workshop _ by Slidesgo.pptx
modul pembelajaran robotic Workshop _ by Slidesgo.pptxmodul pembelajaran robotic Workshop _ by Slidesgo.pptx
modul pembelajaran robotic Workshop _ by Slidesgo.pptx
 
FAIR, FAIRsharing, FAIR Cookbook and ELIXIR - Sansone SA - Boston 2024
FAIR, FAIRsharing, FAIR Cookbook and ELIXIR - Sansone SA - Boston 2024FAIR, FAIRsharing, FAIR Cookbook and ELIXIR - Sansone SA - Boston 2024
FAIR, FAIRsharing, FAIR Cookbook and ELIXIR - Sansone SA - Boston 2024
 
SMOTE and K-Fold Cross Validation-Presentation.pptx
SMOTE and K-Fold Cross Validation-Presentation.pptxSMOTE and K-Fold Cross Validation-Presentation.pptx
SMOTE and K-Fold Cross Validation-Presentation.pptx
 
Defining Constituents, Data Vizzes and Telling a Data Story
Defining Constituents, Data Vizzes and Telling a Data StoryDefining Constituents, Data Vizzes and Telling a Data Story
Defining Constituents, Data Vizzes and Telling a Data Story
 
Data Analysis Project: Stroke Prediction
Data Analysis Project: Stroke PredictionData Analysis Project: Stroke Prediction
Data Analysis Project: Stroke Prediction
 
convolutional neural network and its applications.pdf
convolutional neural network and its applications.pdfconvolutional neural network and its applications.pdf
convolutional neural network and its applications.pdf
 
Data Analysis Project Presentation: Unveiling Your Ideal Customer, Bank Custo...
Data Analysis Project Presentation: Unveiling Your Ideal Customer, Bank Custo...Data Analysis Project Presentation: Unveiling Your Ideal Customer, Bank Custo...
Data Analysis Project Presentation: Unveiling Your Ideal Customer, Bank Custo...
 

Love Can't Wait! Optimizing PageLoad Time of SPAs at Zoosk [FutureStack16]

  • 1. 1FutureStack16, November 16-17, 2016Love Can’t Wait – Aideen Nasirishargh, Zoosk Inc. 1Confidential and Proprietary | Love Can’t Wait! Aideen Nasirishargh, Zoosk Inc.
  • 2. 2FutureStack16, November 16-17, 2016Love Can’t Wait – Aideen Nasirishargh, Zoosk Inc. 2Confidential and Proprietary | No Signal
  • 3. 3FutureStack16, November 16-17, 2016Love Can’t Wait – Aideen Nasirishargh, Zoosk Inc. 3Confidential and Proprietary | I Can’t Wait!
  • 4. 4FutureStack16, November 16-17, 2016Love Can’t Wait – Aideen Nasirishargh, Zoosk Inc. 4Confidential and Proprietary | Where is the Exit Door?!
  • 5. 5FutureStack16, November 16-17, 2016Love Can’t Wait – Aideen Nasirishargh, Zoosk Inc. Aideen Nasirishargh, Zoosk Inc. FUTURESTACK16, 17-18 NOVEMBER 2016, SAN FRANCISCO
  • 6. 6FutureStack16, November 16-17, 2016Love Can’t Wait – Aideen Nasirishargh, Zoosk Inc. Outline ● What is Love? Why Can’t It Wait? ● Introducing Time To Flirt (TTF) ● Cleanup Causes Happiness ● Happy End! ● Q&A
  • 7. Introduction What is Love, Why Can’t It Wait?
  • 8. 8FutureStack16, November 16-17, 2016Love Can’t Wait – Aideen Nasirishargh, Zoosk Inc. What is Love? Zoosk • Zoosk’s mission is to empower everyone to lead a more fulfilling love life. • Products: • Zoosk.com, Zoosk Apps • Lively App • Numbers: 38 Million users 13 Million Facebook Fans 3 Million messages per day 25 Languages 80 Countries 40 Currencies Zoosk’s Engineering Timeline 2007 Founded by two engineers as a Facebook App 2008 Zoosk.com opens for business 2010 Launched ios & Android apps 2011 Launched SPA for Web using Google Closure 2012 Launched SPA for MobileWeb in AngularJS 2013 Top10 Grossing iOS App in US 2014 Photo Verification Feature 2015 Launched Android Wear 2016 Launched Lively, our video- based App (currently in iOS)
  • 9. 9FutureStack16, November 16-17, 2016Love Can’t Wait – Aideen Nasirishargh, Zoosk Inc. Zoosk Clients ● Browser Based (Javascript) – Desktop Web (Cupid) • Our oldest client, for www.zoosk.com and our Facebook App • 300K LOC on top of Google Closure and AngularJS – Mobile Web (Touch) • Optimized for Mobile and Tablet (Swipe, Less CPU) • https://about.zoosk.com/en/engineering-blog/creating-full-page-mobile-swipe-with-angularjs/ – Responsive Pages (Vulcan) • https://about.zoosk.com/en/engineering-blog/responsive-web-design-vs-adaptive-web-design-which-one-is-for-me/ ● Native Applications – iOS App for iPhone and iPad – Android and Android Wear Apps • https://about.zoosk.com/en/engineering-blog/zoosk-wearables-2/
  • 10. 10FutureStack16, November 16-17, 2016Love Can’t Wait – Aideen Nasirishargh, Zoosk Inc. Browser-Based vs Native Browser-Based • Needs less user engagement to start • Less commitment for user, easier to bounce • Good: Faster iterations for Build, Measure, Learn* (A/B testing, MVP) • Bad: No standard, much variety • Ugly: Load Time can be higher due to downloading assets, including JS, CSS, Images, every time (Cache vs Inline) Native • High barrier to start – Installing the app • Re-engagement is easier through notifications • Good: More standards, less concerns about the code size • Bad: Legacy devices, not easy to fix a bug quickly, less control. • Ugly: Users are reluctant to download** * Source: The Lean Startup: http://theleanstartup.com/principles * Source: http://qz.com/253618/most-smartphone-users- download-zero-apps-per-month/
  • 11. 11FutureStack16, November 16-17, 2016Love Can’t Wait – Aideen Nasirishargh, Zoosk Inc. Why Can’t Love Wait? ● How long are you going to wait? ● What next? What if it’s crashed and never loads? ● #bounce after X seconds
  • 12. 12FutureStack16, November 16-17, 2016Love Can’t Wait – Aideen Nasirishargh, Zoosk Inc. How bad is it? Source: http://infographicjournal.com/how-page-load-time-can-impact-conversions/
  • 13. 13FutureStack16, November 16-17, 2016Love Can’t Wait – Aideen Nasirishargh, Zoosk Inc. Really?! Source: http://infographicjournal.com/how-page-load-time-can-impact-conversions/
  • 14. Introducing Time To Flirt (TTF) Make it faster, please!
  • 15. 15FutureStack16, November 16-17, 2016Love Can’t Wait – Aideen Nasirishargh, Zoosk Inc. How to make it faster? 1. Initial Load – e.g. Landing on a user’s profile from an email notification – First time loading, requires loading assets if cache is empty 2. Consequent Actions – e.g. Sending a message, or, going to another person’s profile – Some data are cached, and transmitting the data to/from the server can be reduced to AJAX calls ● Common Solution: Move to Single Page Application (SPA) – Initial Load might be heavier (requires loading router) – Consequent Actions are way faster (no full page reload) – We did it, gradually, starting from 2011
  • 16. 16FutureStack16, November 16-17, 2016Love Can’t Wait – Aideen Nasirishargh, Zoosk Inc. Introducing TTF (Time to Flirt) ● Step 0: What to measure – Asynchronous loading/usability of various sections in SPA – Loading what is needed, and then preloading possible assets likely to be needed in near future (e.g. next user’s profile picture, while in Search) ● Let’s define a metric! – A true one coming from the user’s perspective – Inspired by Twitter’s “Time To Tweet”* in March 2012, we defined Time to Search and Time to Flirt. – Time To Flirt: The time from clicking on a Zoosk date card URI, to seeing the user's datecard, and being able to send a message or greeting. – Time To Search: akin to TTF, this is the time it takes to load up and show the first search result to our user. – * https://blog.twitter.com/2012/improving-performance-on-twittercom
  • 17. 17FutureStack16, November 16-17, 2016Love Can’t Wait – Aideen Nasirishargh, Zoosk Inc. Initial Improvements (2014) 1. Delay loading of images in notification tray (the hidden elements) 2. Prefetch first Search Results (whatever it takes from the server side to load the first page) into the HTML source of the page’s bootstrap code 3. Optimize prefetching of photos (never over-optimize!) 4. Consolidate similar blocking assets (e.g. JS modules) into one file from CDN in order to save on the number of HTTP requests 5. Inlining JS code (300KB) on MobileWeb SPA (it was 2014!)
  • 18. 18FutureStack16, November 16-17, 2016Love Can’t Wait – Aideen Nasirishargh, Zoosk Inc. It’s good, but not accurate! ● We used custom performance (timing) events in Google Analytics to measure our performance and created a dashboard. ● Result: ● Average Sucks!
  • 19. 19FutureStack16, November 16-17, 2016Love Can’t Wait – Aideen Nasirishargh, Zoosk Inc. Average Sucks! ● Average needs O(1) space to compute. ● Outliers! Up to 60 seconds for the average of ~10 seconds. ● Lack of enough accurate data blocked us from implementing and experimenting other TTF-improvement ideas ● Alternatives in 2014: – Parse, Keen.io, other 3rd party storage services – Our own BI systems (Hive/Hadoop) + d3.js – New Relic Insights was barely born!
  • 20. 20FutureStack16, November 16-17, 2016Love Can’t Wait – Aideen Nasirishargh, Zoosk Inc. Fast Forward to 2016 – NewRelic SPA Pro ● Extremely easy setup ● Well-documented API ● NRQL and Insights data, vs W3C (https://www.w3.org/TR/navigation-timing-2/ )
  • 21. 21FutureStack16, November 16-17, 2016Love Can’t Wait – Aideen Nasirishargh, Zoosk Inc. Fast Forward to 2016 – NewRelic SPA Pro ● Percentile vs Avg in NRQL!
  • 22. Cleanup Causes Happiness Keep your heart fresh and well- monitored!
  • 23. 23FutureStack16, November 16-17, 2016Love Can’t Wait – Aideen Nasirishargh, Zoosk Inc. Build, Learn, and Don’t Forget to Cleanup! ● A/B Tests at Zoosk – 400+ per year! – On Web SPA’s when using shared templates or Abstraction, both codes for A (control) vs B (test) experiment are download at all times. – if (group_for_experiment(123) === ‘A’) { // code for group A } else { // code for group B } – Browser-based = Both codes are downloaded • … and with up to 3 times shipping per day cache is not always the answer
  • 24. 24FutureStack16, November 16-17, 2016Love Can’t Wait – Aideen Nasirishargh, Zoosk Inc. Massive cleanup of 100+ experiments, ● 100 out of 140 Mobile Web Experiments since 2014 ● 20K+ LOC (10% codebase) ● Page load +15%
  • 26. 26FutureStack16, November 16-17, 2016Love Can’t Wait – Aideen Nasirishargh, Zoosk Inc. Happy Ending ● Percentile vs Average (get rid of outliers!) ● Accurate Tracking ● Real Time, and compare with yesterday. ● Result: Visible and Reliable 15% faster load time
  • 27. 27FutureStack16, November 16-17, 2016Love Can’t Wait – Aideen Nasirishargh, Zoosk Inc. Happy Ending ● Also 10% boost in initial page landings!
  • 28. 28FutureStack16, November 16-17, 2016Love Can’t Wait – Aideen Nasirishargh, Zoosk Inc. Other Wins (two weeks ago) ● Limiting agent to certain pages ● Instructing custom events (added to the Page Action) ● Improved load time by Inlining JS, vs, serving from CDN
  • 29. 29FutureStack16, November 16-17, 2016Love Can’t Wait – Aideen Nasirishargh, Zoosk Inc. Takeaways for Engineers – How to Sell it! ● Performance as a Feature – You need a POC! Pick a good one ● Mocha hagotdi! ● Have a Routine for that. – Major cleanup every 6 months – Keeping artifacts sizes under a certain size – 10% faster PageLoad every year?