SlideShare a Scribd company logo
1 of 51
Browser and Beyond @
Component Library
Development
Core Web Vitals
Production
Observability
Monitoring
Kaushal Anjali
Ankita
Apoorva
Faiza
Pallavi
Topics and Speakers
Kaushal
Anjali
Component library
A component library is an isolated cloud-based folder that consists of all the
designed/styled parts of a website or piece of software.
*
A common goal shared by all developers is to be able to design and develop
components that enable them to ship out their features
At redbus, we decided to create a reusable component library across the teams that
would aid developers in building UIs seamlessly and more efficiently.
*
*
Why Component Library?
1
1
1
2
Collaborate effectively with speed
Consistency in the UI
Reusability
Customization and Flexibility
1
2
3
4
Robust and Lesser Bugs
5
Atomic Design
● Multiple UI components that are isolated and reusable.
● Combining atoms to form Molecules, which can be combined to form
organisms and further, templates and pages.
Examples
Implementation Details
Tech stack for building the component library in-house consists of:
React + Typescript
Storybook
Styled components
Lerna
Courtesy: https://reactjs.org/, https://www.typescriptlang.org/, https://storybook.js.org/,
https://styled-components.com/, https://www.npmjs.com/package/lerna
f
Example
Conclusion
1
1
1
2
Next step
250+ components created
Used across multiple projects within redBus
~20 - 30% reduction in dev effort, timeline
Make components open source
1
2
3
4
100% componentisation
Open source component library updates
1
2
Open source Component Library - redBus Storybook
Open source code - Github Link
Use the Chrome Rendering Section:
Core Web Vitals
Ankita
Pallavi
● Web vitals is an initiative introduced by google
● Optimizing quality of user experience is key to
the success of your website
● Core Web vitals focuses on 3 main aspects :
Introduction
Courtesy: Web Vitals
CLS: Visual Stability
LCP: Loading Experience
FID: Interactivity
1
2
3
Use the Chrome Rendering Section:
Cumulative Layout Shift
What is CLS?
By definition, CLS is the movement of
page elements loaded on the page to
a different position from their existing
position due to some unexpected
factors.
I.e. Visual Stability of the page
What is a good CLS score?
To provide a good user experience, sites should strive to have a
CLS score of 0.1 or less.
*
Measuring the CLS score
Lighthouse - Chrome Dev Tools
Rendering Options
What are some CLS contributors?
Delay in loading relevant
CSS file , space is allocated
after browser starts
downloading the image
Advertisements
(Promotions/offers) ,
added at runtime
App installs,iFrame
injections, Third Party
content etc.
Component should not
be rendered based on
API response
Courtesy: Chrome Web Developers’ 2020 Summit,image showing the Cumulative Layout Shift (CLS) Reasons.
Optimizations
Before:
After:
Placeholders for banners at the top
and middle section of the page
Move components to the bottom of the
page such that they are not visible on
the initial load
Change up the animations/loaders
used on the page
2
Image Dimensions
1
3
4
Impact
Domain
Ranking
percentage
Date
Improved Domain Ranking/ SEO ranking
Improvements in TTI score. Quicker site
= greater chance of users converting
Provided a better user experience
1
2
3
Use the Chrome Rendering Section:
Largest Contentful Paint
What is LCP?
Courtesy: https://blockthrough.com/
LCP is measured
when the largest
element of a
webpage becomes
visible in the user’s
browser
The LCP element is
usually the hero
image or a large text
paragraph
What is a good LCP score?
To provide a good user experience, sites should have an LCP of
2.5sec or lesser
*
How can we measure the LCP score?
Lighthouse - Performance Tab PageSpeed Insights
Lighthouse - Chrome Dev Tools
What are some major LCP contributors?
Unoptimised Images
Courtesy:
1) Dominik Scythe on Unsplash
2) https://serverguy.com/
3) https://blog.duda.co/
Increased server response time
Render-blocking Resources
Optimizations
Courtesy: seo-hacker.com
Optimising Images
1
Preloading critical resources like fonts,
above the fold images, css and javascript
Using inline critical css and deferring non
critical resources
Making use of CDN, caching and service
worker
2
4
3
Use the Chrome Rendering Section:
First Input Delay
What is FID?
First Input Delay measures the interactivity
of your webpage.
Few Examples :
Courtesy of : Quantummetric
Choosing an option from a menu
Clicking on a link
Tapping on an accordion and it
opening up
1
2
3
What is a good FID score?
Your FID should happen within 100 milliseconds
*
Causes for Poor FID:
Long Tasks
Heavy Javascript Execution
Time
Large Javascript Bundles
Render Blocking JS
1
2
3
4
Courtesy: Chrome Web Developers’ 2020 Summit,image showing the FID Reasons.
Optimizations
Lazy loading JS chunks
Use of Web workers
Minifying CSS files
Deferring non-critical JS, third party
libraries
Optimize DOM size
1
5
4
3
2
Courtesy: https://moz.com/learn/seo/performance-metrics
Impact
Impact in loading time of PER/COL
mobile website by ~1.5-2 sec
Total block time was reduced from 1.2
sec to ~ 0.72 sec
Improvement in TTI of the page and
speed index of the page
1
2
3
Measuring Web Vitals
Lighthouse - Chrome Dev Tools
Rendering Options
Page Speed Insights
Observability
Observability
Apoorva
Faiza
E#E#ju4N8@Courtesy of KatieLingo
k$87ju4N8@k$87E#ju4N8@k$87
What is Observability?
An ‘observable’ system centralizes information and continuously monitors the system
to detect undesirable behaviours and lets debug production issues efficiently.
Why Observability?
Greater control over
complex systems.
Aids visibility in terms of
debugging and
performance tuning.
Real User Monitoring (RUM)
RUM captures real
user interaction on a
web browser to
quantify and
measure the
user experience
performance of the
application.
Distributed Tracing
Developer productivity.
Customizable data visualization.
Real User Monitoring - Impact
1
4
Visibility into user distribution to measure
performance.
2
Quick turnaround on issues before impacting
production.
3
Error Tracking
At redBus, we have error
dashboards to identify and
track down the errors.
Error Dashboard
How we track Errors ?
What caused the error?
Machine Learning (Anomaly Detection)
Spot anomalies according to
configuration using
unsupervised learning.
Data pulled from elastic search
for analysis and anomaly results
are displayed in Dashboards.
To determine when the request
rate on your web site drops
significantly.
ML Watcher Alert
Watcher alerts/notifies on scanning for recently created anomalies over a certain interval.
Anomaly Explorer
You can see an overall
score and shared
influencers for all the
metrics and all the
entities in the job
Observability Credits : ELK Stack
(ElasticSearch and Kibana)
Thank You
https://medium.com/redbus-in/engineering/home
https://github.com/redbus-labs/rbComponentLibrary
Twitter: @redbus_tech
Browser and Beyond @ redBus
PART 2
New Browser capabilities and experiments to be on par with native apps, (Auto OTP
reading on browser,Background data sync feature for PWA, Portals, etc.. )
*
Inhouse System for capturing Browser events for product and feature analysis.
redBus case Studies with Google Chrome Team.(Web Vitals/ One Tap SignIn)
*
*

More Related Content

What's hot

OpenControl Overview - Joshua McKenty
OpenControl Overview - Joshua McKentyOpenControl Overview - Joshua McKenty
OpenControl Overview - Joshua McKentyJulie Coonce
 
Automation testing strategy, approach & planning
Automation testing  strategy, approach & planningAutomation testing  strategy, approach & planning
Automation testing strategy, approach & planningSivaprasanthRentala1975
 
Ag04 gestire gruppi di lavoro, team multipli e progetti con visual studio alm
Ag04   gestire gruppi di lavoro, team multipli e progetti con visual studio almAg04   gestire gruppi di lavoro, team multipli e progetti con visual studio alm
Ag04 gestire gruppi di lavoro, team multipli e progetti con visual studio almDotNetCampus
 
The Quest for Continuous Delivery at Pluralsight
The Quest for Continuous Delivery at PluralsightThe Quest for Continuous Delivery at Pluralsight
The Quest for Continuous Delivery at PluralsightMike Clement
 
Cloud Native Future
Cloud Native FutureCloud Native Future
Cloud Native FutureJulie Coonce
 
Agile User Stories
Agile User StoriesAgile User Stories
Agile User Storieskahgeh75
 
The Tester’s Role: Balancing Technical Acumen and User Advocacy
The Tester’s Role: Balancing Technical Acumen and User AdvocacyThe Tester’s Role: Balancing Technical Acumen and User Advocacy
The Tester’s Role: Balancing Technical Acumen and User AdvocacyTechWell
 
Introduction to Agile-Scrum
Introduction to Agile-ScrumIntroduction to Agile-Scrum
Introduction to Agile-ScrumPraveen Nair
 
SnapComms Technical overview
SnapComms Technical overviewSnapComms Technical overview
SnapComms Technical overviewSnapComms
 
Embracing service-level-objectives of your microservices in your Cl/CD
Embracing service-level-objectives of your microservices in your Cl/CDEmbracing service-level-objectives of your microservices in your Cl/CD
Embracing service-level-objectives of your microservices in your Cl/CDNebulaworks
 
Create Engaging Apps with Visualforce and Bootstrap
Create Engaging Apps with Visualforce and BootstrapCreate Engaging Apps with Visualforce and Bootstrap
Create Engaging Apps with Visualforce and BootstrapSalesforce Developers
 
Dreamforce 14 : Responsive Design with Visualforce and Twitter Bootstrap
Dreamforce 14 : Responsive Design with Visualforce and Twitter BootstrapDreamforce 14 : Responsive Design with Visualforce and Twitter Bootstrap
Dreamforce 14 : Responsive Design with Visualforce and Twitter BootstrapKeir Bowden
 
Continuous Integration In The Cloud Final (1)
Continuous Integration In The Cloud Final (1)Continuous Integration In The Cloud Final (1)
Continuous Integration In The Cloud Final (1)Alexis Williams
 
Data-Driven Software Design
Data-Driven Software DesignData-Driven Software Design
Data-Driven Software DesignPatrick McKenzie
 
What business benefits from DevOps 2014
What business benefits from DevOps 2014What business benefits from DevOps 2014
What business benefits from DevOps 2014Erno Aapa
 
Email Notifications in Jenkins | Edureka
Email Notifications in Jenkins | EdurekaEmail Notifications in Jenkins | Edureka
Email Notifications in Jenkins | EdurekaEdureka!
 

What's hot (20)

OpenControl Overview - Joshua McKenty
OpenControl Overview - Joshua McKentyOpenControl Overview - Joshua McKenty
OpenControl Overview - Joshua McKenty
 
Automation testing strategy, approach & planning
Automation testing  strategy, approach & planningAutomation testing  strategy, approach & planning
Automation testing strategy, approach & planning
 
Automation_testing
Automation_testingAutomation_testing
Automation_testing
 
Ag04 gestire gruppi di lavoro, team multipli e progetti con visual studio alm
Ag04   gestire gruppi di lavoro, team multipli e progetti con visual studio almAg04   gestire gruppi di lavoro, team multipli e progetti con visual studio alm
Ag04 gestire gruppi di lavoro, team multipli e progetti con visual studio alm
 
The Quest for Continuous Delivery at Pluralsight
The Quest for Continuous Delivery at PluralsightThe Quest for Continuous Delivery at Pluralsight
The Quest for Continuous Delivery at Pluralsight
 
Cloud Native Future
Cloud Native FutureCloud Native Future
Cloud Native Future
 
A Story of Continuous Integration
A Story of Continuous IntegrationA Story of Continuous Integration
A Story of Continuous Integration
 
Agile User Stories
Agile User StoriesAgile User Stories
Agile User Stories
 
The Tester’s Role: Balancing Technical Acumen and User Advocacy
The Tester’s Role: Balancing Technical Acumen and User AdvocacyThe Tester’s Role: Balancing Technical Acumen and User Advocacy
The Tester’s Role: Balancing Technical Acumen and User Advocacy
 
Introduction to Agile-Scrum
Introduction to Agile-ScrumIntroduction to Agile-Scrum
Introduction to Agile-Scrum
 
SnapComms Technical overview
SnapComms Technical overviewSnapComms Technical overview
SnapComms Technical overview
 
DevOps Overview
DevOps OverviewDevOps Overview
DevOps Overview
 
Embracing service-level-objectives of your microservices in your Cl/CD
Embracing service-level-objectives of your microservices in your Cl/CDEmbracing service-level-objectives of your microservices in your Cl/CD
Embracing service-level-objectives of your microservices in your Cl/CD
 
Create Engaging Apps with Visualforce and Bootstrap
Create Engaging Apps with Visualforce and BootstrapCreate Engaging Apps with Visualforce and Bootstrap
Create Engaging Apps with Visualforce and Bootstrap
 
Dreamforce 14 : Responsive Design with Visualforce and Twitter Bootstrap
Dreamforce 14 : Responsive Design with Visualforce and Twitter BootstrapDreamforce 14 : Responsive Design with Visualforce and Twitter Bootstrap
Dreamforce 14 : Responsive Design with Visualforce and Twitter Bootstrap
 
Continuous Integration In The Cloud Final (1)
Continuous Integration In The Cloud Final (1)Continuous Integration In The Cloud Final (1)
Continuous Integration In The Cloud Final (1)
 
Data-Driven Software Design
Data-Driven Software DesignData-Driven Software Design
Data-Driven Software Design
 
What business benefits from DevOps 2014
What business benefits from DevOps 2014What business benefits from DevOps 2014
What business benefits from DevOps 2014
 
Email Notifications in Jenkins | Edureka
Email Notifications in Jenkins | EdurekaEmail Notifications in Jenkins | Edureka
Email Notifications in Jenkins | Edureka
 
Selenium at Salesforce Scale
Selenium at Salesforce ScaleSelenium at Salesforce Scale
Selenium at Salesforce Scale
 

Similar to Browser and Beyond @ redBus Component Library Development

Browser core red bus presentation
Browser core red bus presentation Browser core red bus presentation
Browser core red bus presentation redBus India
 
Browser-Based Load Testing with Grafana K6
Browser-Based Load Testing with Grafana K6Browser-Based Load Testing with Grafana K6
Browser-Based Load Testing with Grafana K6Knoldus Inc.
 
CrUx Report and Improving Web vitals
CrUx Report and Improving Web vitalsCrUx Report and Improving Web vitals
CrUx Report and Improving Web vitalsPratyush Majumdar
 
An Introduction to Pagespeed Optimisation
An Introduction to Pagespeed OptimisationAn Introduction to Pagespeed Optimisation
An Introduction to Pagespeed OptimisationPratyush Majumdar
 
Raybiztech Content Management Approach
Raybiztech Content Management ApproachRaybiztech Content Management Approach
Raybiztech Content Management Approachray biztech
 
Single page applications
Single page applicationsSingle page applications
Single page applicationsDiego Cardozo
 
How to prepare for Google's page experience update
How to prepare for Google's page experience updateHow to prepare for Google's page experience update
How to prepare for Google's page experience updateBuiltvisible
 
Web application architecture guide how it works types, components, best pract...
Web application architecture guide how it works types, components, best pract...Web application architecture guide how it works types, components, best pract...
Web application architecture guide how it works types, components, best pract...Katy Slemon
 
Why do we use react JS on the website_.pdf
Why do we use react JS on the website_.pdfWhy do we use react JS on the website_.pdf
Why do we use react JS on the website_.pdfnearlearn
 
SharePoint customized code analyzer
SharePoint customized code analyzer SharePoint customized code analyzer
SharePoint customized code analyzer Microsoft
 
ngStockholm #8 at NetEnt - Micro Frontend Architecture
ngStockholm #8 at NetEnt - Micro Frontend ArchitecturengStockholm #8 at NetEnt - Micro Frontend Architecture
ngStockholm #8 at NetEnt - Micro Frontend ArchitectureIshaan Puniani
 
Tech Stack & Web App Development For Startups
Tech Stack & Web App Development For StartupsTech Stack & Web App Development For Startups
Tech Stack & Web App Development For StartupsZimbleCode
 
Social networking app to trade user belongings
Social networking app to trade user belongingsSocial networking app to trade user belongings
Social networking app to trade user belongingsMike Taylor
 
Social networking app to trade user belongings
Social networking app to trade user belongingsSocial networking app to trade user belongings
Social networking app to trade user belongingsMike Taylor
 
Over view of software artitecture
Over view of software artitectureOver view of software artitecture
Over view of software artitectureABDEL RAHMAN KARIM
 

Similar to Browser and Beyond @ redBus Component Library Development (20)

Browser core red bus presentation
Browser core red bus presentation Browser core red bus presentation
Browser core red bus presentation
 
Browser-Based Load Testing with Grafana K6
Browser-Based Load Testing with Grafana K6Browser-Based Load Testing with Grafana K6
Browser-Based Load Testing with Grafana K6
 
CrUx Report and Improving Web vitals
CrUx Report and Improving Web vitalsCrUx Report and Improving Web vitals
CrUx Report and Improving Web vitals
 
An Introduction to Pagespeed Optimisation
An Introduction to Pagespeed OptimisationAn Introduction to Pagespeed Optimisation
An Introduction to Pagespeed Optimisation
 
Core Web Vitals in Website Design.pdf
Core Web Vitals in Website Design.pdfCore Web Vitals in Website Design.pdf
Core Web Vitals in Website Design.pdf
 
Raybiztech Content Management Approach
Raybiztech Content Management ApproachRaybiztech Content Management Approach
Raybiztech Content Management Approach
 
Single page applications
Single page applicationsSingle page applications
Single page applications
 
How to prepare for Google's page experience update
How to prepare for Google's page experience updateHow to prepare for Google's page experience update
How to prepare for Google's page experience update
 
Modern Web Applications
Modern Web ApplicationsModern Web Applications
Modern Web Applications
 
Web application architecture guide how it works types, components, best pract...
Web application architecture guide how it works types, components, best pract...Web application architecture guide how it works types, components, best pract...
Web application architecture guide how it works types, components, best pract...
 
Why do we use react JS on the website_.pdf
Why do we use react JS on the website_.pdfWhy do we use react JS on the website_.pdf
Why do we use react JS on the website_.pdf
 
Php Web Frameworks
Php Web FrameworksPhp Web Frameworks
Php Web Frameworks
 
SharePoint customized code analyzer
SharePoint customized code analyzer SharePoint customized code analyzer
SharePoint customized code analyzer
 
Presemtation Tier Optimizations
Presemtation Tier OptimizationsPresemtation Tier Optimizations
Presemtation Tier Optimizations
 
ngStockholm #8 at NetEnt - Micro Frontend Architecture
ngStockholm #8 at NetEnt - Micro Frontend ArchitecturengStockholm #8 at NetEnt - Micro Frontend Architecture
ngStockholm #8 at NetEnt - Micro Frontend Architecture
 
Tech Stack & Web App Development For Startups
Tech Stack & Web App Development For StartupsTech Stack & Web App Development For Startups
Tech Stack & Web App Development For Startups
 
Social networking app to trade user belongings
Social networking app to trade user belongingsSocial networking app to trade user belongings
Social networking app to trade user belongings
 
Social networking app to trade user belongings
Social networking app to trade user belongingsSocial networking app to trade user belongings
Social networking app to trade user belongings
 
Over view of software artitecture
Over view of software artitectureOver view of software artitecture
Over view of software artitecture
 
Isset Presentation @ EECI2009
Isset Presentation @ EECI2009Isset Presentation @ EECI2009
Isset Presentation @ EECI2009
 

Recently uploaded

Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile servicerehmti665
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxAsutosh Ranjan
 
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...ZTE
 
Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxupamatechverse
 
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSMANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSSIVASHANKAR N
 
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escortsranjana rawat
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxJoão Esperancinha
 
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSHARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSRajkumarAkumalla
 
Introduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxIntroduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxupamatechverse
 
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130Suhani Kapoor
 
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).pptssuser5c9d4b1
 
What are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxWhat are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxwendy cai
 
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escortsranjana rawat
 
High Profile Call Girls Nashik Megha 7001305949 Independent Escort Service Na...
High Profile Call Girls Nashik Megha 7001305949 Independent Escort Service Na...High Profile Call Girls Nashik Megha 7001305949 Independent Escort Service Na...
High Profile Call Girls Nashik Megha 7001305949 Independent Escort Service Na...Call Girls in Nagpur High Profile
 
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSKurinjimalarL3
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
Software Development Life Cycle By Team Orange (Dept. of Pharmacy)
Software Development Life Cycle By  Team Orange (Dept. of Pharmacy)Software Development Life Cycle By  Team Orange (Dept. of Pharmacy)
Software Development Life Cycle By Team Orange (Dept. of Pharmacy)Suman Mia
 
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVHARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVRajaP95
 

Recently uploaded (20)

Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile service
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptx
 
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...
 
Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptx
 
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSMANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
 
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
 
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSHARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
 
Introduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxIntroduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptx
 
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
 
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
 
What are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxWhat are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptx
 
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
 
High Profile Call Girls Nashik Megha 7001305949 Independent Escort Service Na...
High Profile Call Girls Nashik Megha 7001305949 Independent Escort Service Na...High Profile Call Girls Nashik Megha 7001305949 Independent Escort Service Na...
High Profile Call Girls Nashik Megha 7001305949 Independent Escort Service Na...
 
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
 
Software Development Life Cycle By Team Orange (Dept. of Pharmacy)
Software Development Life Cycle By  Team Orange (Dept. of Pharmacy)Software Development Life Cycle By  Team Orange (Dept. of Pharmacy)
Software Development Life Cycle By Team Orange (Dept. of Pharmacy)
 
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVHARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
 

Browser and Beyond @ redBus Component Library Development

  • 2. Component Library Development Core Web Vitals Production Observability Monitoring Kaushal Anjali Ankita Apoorva Faiza Pallavi Topics and Speakers
  • 4. Component library A component library is an isolated cloud-based folder that consists of all the designed/styled parts of a website or piece of software. * A common goal shared by all developers is to be able to design and develop components that enable them to ship out their features At redbus, we decided to create a reusable component library across the teams that would aid developers in building UIs seamlessly and more efficiently. * *
  • 5. Why Component Library? 1 1 1 2 Collaborate effectively with speed Consistency in the UI Reusability Customization and Flexibility 1 2 3 4 Robust and Lesser Bugs 5
  • 6. Atomic Design ● Multiple UI components that are isolated and reusable. ● Combining atoms to form Molecules, which can be combined to form organisms and further, templates and pages.
  • 8. Implementation Details Tech stack for building the component library in-house consists of: React + Typescript Storybook Styled components Lerna Courtesy: https://reactjs.org/, https://www.typescriptlang.org/, https://storybook.js.org/, https://styled-components.com/, https://www.npmjs.com/package/lerna
  • 10. Conclusion 1 1 1 2 Next step 250+ components created Used across multiple projects within redBus ~20 - 30% reduction in dev effort, timeline Make components open source 1 2 3 4 100% componentisation Open source component library updates 1 2
  • 11. Open source Component Library - redBus Storybook
  • 12. Open source code - Github Link
  • 13. Use the Chrome Rendering Section: Core Web Vitals Ankita Pallavi
  • 14. ● Web vitals is an initiative introduced by google ● Optimizing quality of user experience is key to the success of your website ● Core Web vitals focuses on 3 main aspects : Introduction Courtesy: Web Vitals CLS: Visual Stability LCP: Loading Experience FID: Interactivity 1 2 3
  • 15. Use the Chrome Rendering Section: Cumulative Layout Shift
  • 16. What is CLS? By definition, CLS is the movement of page elements loaded on the page to a different position from their existing position due to some unexpected factors. I.e. Visual Stability of the page
  • 17. What is a good CLS score? To provide a good user experience, sites should strive to have a CLS score of 0.1 or less. *
  • 18. Measuring the CLS score Lighthouse - Chrome Dev Tools Rendering Options
  • 19. What are some CLS contributors? Delay in loading relevant CSS file , space is allocated after browser starts downloading the image Advertisements (Promotions/offers) , added at runtime App installs,iFrame injections, Third Party content etc. Component should not be rendered based on API response Courtesy: Chrome Web Developers’ 2020 Summit,image showing the Cumulative Layout Shift (CLS) Reasons.
  • 20. Optimizations Before: After: Placeholders for banners at the top and middle section of the page Move components to the bottom of the page such that they are not visible on the initial load Change up the animations/loaders used on the page 2 Image Dimensions 1 3 4
  • 21. Impact Domain Ranking percentage Date Improved Domain Ranking/ SEO ranking Improvements in TTI score. Quicker site = greater chance of users converting Provided a better user experience 1 2 3
  • 22. Use the Chrome Rendering Section: Largest Contentful Paint
  • 23. What is LCP? Courtesy: https://blockthrough.com/ LCP is measured when the largest element of a webpage becomes visible in the user’s browser The LCP element is usually the hero image or a large text paragraph
  • 24. What is a good LCP score? To provide a good user experience, sites should have an LCP of 2.5sec or lesser *
  • 25. How can we measure the LCP score? Lighthouse - Performance Tab PageSpeed Insights Lighthouse - Chrome Dev Tools
  • 26. What are some major LCP contributors? Unoptimised Images Courtesy: 1) Dominik Scythe on Unsplash 2) https://serverguy.com/ 3) https://blog.duda.co/ Increased server response time Render-blocking Resources
  • 27. Optimizations Courtesy: seo-hacker.com Optimising Images 1 Preloading critical resources like fonts, above the fold images, css and javascript Using inline critical css and deferring non critical resources Making use of CDN, caching and service worker 2 4 3
  • 28. Use the Chrome Rendering Section: First Input Delay
  • 29. What is FID? First Input Delay measures the interactivity of your webpage. Few Examples : Courtesy of : Quantummetric Choosing an option from a menu Clicking on a link Tapping on an accordion and it opening up 1 2 3
  • 30. What is a good FID score? Your FID should happen within 100 milliseconds *
  • 31. Causes for Poor FID: Long Tasks Heavy Javascript Execution Time Large Javascript Bundles Render Blocking JS 1 2 3 4 Courtesy: Chrome Web Developers’ 2020 Summit,image showing the FID Reasons.
  • 32. Optimizations Lazy loading JS chunks Use of Web workers Minifying CSS files Deferring non-critical JS, third party libraries Optimize DOM size 1 5 4 3 2 Courtesy: https://moz.com/learn/seo/performance-metrics
  • 33. Impact Impact in loading time of PER/COL mobile website by ~1.5-2 sec Total block time was reduced from 1.2 sec to ~ 0.72 sec Improvement in TTI of the page and speed index of the page 1 2 3
  • 34. Measuring Web Vitals Lighthouse - Chrome Dev Tools Rendering Options Page Speed Insights
  • 36. E#E#ju4N8@Courtesy of KatieLingo k$87ju4N8@k$87E#ju4N8@k$87 What is Observability? An ‘observable’ system centralizes information and continuously monitors the system to detect undesirable behaviours and lets debug production issues efficiently.
  • 37. Why Observability? Greater control over complex systems. Aids visibility in terms of debugging and performance tuning.
  • 38. Real User Monitoring (RUM) RUM captures real user interaction on a web browser to quantify and measure the user experience performance of the application.
  • 39.
  • 41. Developer productivity. Customizable data visualization. Real User Monitoring - Impact 1 4 Visibility into user distribution to measure performance. 2 Quick turnaround on issues before impacting production. 3
  • 42.
  • 43. Error Tracking At redBus, we have error dashboards to identify and track down the errors.
  • 45. How we track Errors ?
  • 46. What caused the error?
  • 47. Machine Learning (Anomaly Detection) Spot anomalies according to configuration using unsupervised learning. Data pulled from elastic search for analysis and anomaly results are displayed in Dashboards. To determine when the request rate on your web site drops significantly.
  • 48. ML Watcher Alert Watcher alerts/notifies on scanning for recently created anomalies over a certain interval.
  • 49. Anomaly Explorer You can see an overall score and shared influencers for all the metrics and all the entities in the job Observability Credits : ELK Stack (ElasticSearch and Kibana)
  • 51. Browser and Beyond @ redBus PART 2 New Browser capabilities and experiments to be on par with native apps, (Auto OTP reading on browser,Background data sync feature for PWA, Portals, etc.. ) * Inhouse System for capturing Browser events for product and feature analysis. redBus case Studies with Google Chrome Team.(Web Vitals/ One Tap SignIn) * *

Editor's Notes

  1. This is the speaker notes
  2. This is the speaker notes
  3. This is the speaker notes
  4. this is speaker notes
  5. This is the speaker notes
  6. This is the speaker notes