SlideShare une entreprise Scribd logo
1  sur  82
Télécharger pour lire hors ligne
HI!
WHO AM I?
▸Pedro Teixeira
▸@pgte
▸Partner and Chief Futurist @ YLD
▸Node.js Developer
▸Offline-first enthusiast
HOW TO BUILD A
RELIABLE CHECKOUT
EXPERIENCE
…USING NODE.JS,
POUCHDB AND
REPLICATED TRANSACTION
DOCUMENTS
E-COMMERCE
THE CHECKOUT
EXPERIENCE
IS A JOURNEY THAT BEGINS
WITH THE OPTIMISTIC
CHECKOUT BUTTON
BUT ONLY REALLY
BEGINS WITH THE
CONFIRMATION BUTTON
BEHIND THE
SCENES…
WHICH
EVENTUALLY END
IN SUCCESS
AND A
CONFIRMATION
E-MAIL
WHAT
CAN GO
WRONG?
DUPLICATE
TRANSACTIONS
UNDEFINED
STATE
CLIENT
CRASHES
LET’S TALK
ABOUT
MOBILE
https://youtu.be/aqvz5Oqs238
(LAST SLIDE TAKEN FROM
ILYA GRIGORIK’S GOOGLE
IO TALK)
MAIN TAKEAWAY IS
DEVELOPING RELIABLE
MOBILE APPS IS
PARTICULARLY DIFFICULT
SOLUTION?
HELLO
OFFLINE-
FIRST!
SERVICE
WORKERS
HTTPS://WWW.YOUTUBE.COM/WATCH?V=CMGR0RSZHC8
DATA
AND
TRANSACTIONS
LET’S GRADE
HOW APPS DEAL WITH
NETWORKING FAILURES
E
NO ERROR
HANDLING
D
CUSTOMER IS NOTIFIED
OF THE ERROR
C
CUSTOMER CAN RECOVER
FROM ERROR
B
APP CAN RECOVER FROM
SOME SYSTEM ERRORS
A
APP CAN RECOVER FROM SOME
SYSTEM AND USER ERRORS
LAST STAGE IS
PARTICULARLY
EXPENSIVE
WHY?
LET’S LOOK AT
SYSTEMS
ARCHITECTURE
TOO MUCH
RESPONSIBILITY
HTTP
IS THE WRONG LEVEL
OF ABSTRACTION
“WORKS ON MY LAPTOP”
BUT
WAIT…
ALL WE NEED IS
SYNC
WHICH
SYNC
PROTOCOL?
‣OPEN-SOURCE
‣DOC-ORIENTED
‣MVCC
‣CHANGES FEED
‣REPLICATION
PROTOCOL
ONE DATABASE
PER CUSTOMER
ONE DOCUMENT PER
TRANSACTION
SYNC PROTOCOL REPLICATES
TRANSACTION DOC
(BI-DIRECTIONAL)
= OFFLINE TOLERANCE
THE CLERK
[MISSING IMAGE]
CLERK REACTS TO
TRANSACTION
STATE CHANGES
CLERK INJECTS
TRANSACTION STATE
CHANGES
(WHEN BACK-END EVENT OCCURS)
SHOW ME
THE CODE!
UI
POUCH-REDUX-MIDDLEWARE
BACK-END
POUCH-CLERK
CLERK
1. STATE TRANSITIONS
2. ASYNC UPDATERS
STATE
TRANSITIONS
ASYNC
UPDATERS
QUICK
DEMO
DEMO IS ALSO OPEN SOURCE
https://github.com/
pgte/pouch-clerk-example-app
FUTURE?
‣ LONG-RUNNING TRANSACTIONS
‣ COLLABORATIVE GAMES
‣ …
SUPPORT FOR
SLIDES
http://www.slideshare.net/pgte/how-to-build-a-reliable-checkout-
experience-66857209
THANK
YOU!
QS?

Contenu connexe

Similaire à How to build a reliable checkout experience

Understanding Technical Debt: A Primer for Product Owners and Founders
Understanding Technical Debt: A Primer for Product Owners and FoundersUnderstanding Technical Debt: A Primer for Product Owners and Founders
Understanding Technical Debt: A Primer for Product Owners and FoundersAndrea Goulet
 
103 Understanding Technical Debt
103 Understanding Technical Debt103 Understanding Technical Debt
103 Understanding Technical DebtProductCamp Boston
 
Observing, Remembering & Sharing
Observing, Remembering & SharingObserving, Remembering & Sharing
Observing, Remembering & SharingMichael Surtees
 
Enplug - interactive digital signage
Enplug - interactive digital signageEnplug - interactive digital signage
Enplug - interactive digital signageMarc Jarrett
 
Le DevOps, levier d'automatisation et de passage au cloud - ADN Ouest BRETAGNE
Le DevOps, levier d'automatisation et de passage au cloud - ADN Ouest BRETAGNELe DevOps, levier d'automatisation et de passage au cloud - ADN Ouest BRETAGNE
Le DevOps, levier d'automatisation et de passage au cloud - ADN Ouest BRETAGNEQuentin Adam
 
Cloud Native App Security
Cloud Native App SecurityCloud Native App Security
Cloud Native App SecurityDominik Guhr
 
Keycloak cloud native
Keycloak cloud nativeKeycloak cloud native
Keycloak cloud nativeJonathan Vila
 
Of innovation and impatience - Future Decoded 2015
Of innovation and impatience - Future Decoded 2015Of innovation and impatience - Future Decoded 2015
Of innovation and impatience - Future Decoded 2015Christian Heilmann
 
How to make people work together? - ending keynote - devfest du bout du monde...
How to make people work together? - ending keynote - devfest du bout du monde...How to make people work together? - ending keynote - devfest du bout du monde...
How to make people work together? - ending keynote - devfest du bout du monde...Quentin Adam
 
DEVOPS AND IT AUTOMATION, THE WAY OF THE EFFICIENT DEVELOPER - Wolves Summit ...
DEVOPS AND IT AUTOMATION, THE WAY OF THE EFFICIENT DEVELOPER - Wolves Summit ...DEVOPS AND IT AUTOMATION, THE WAY OF THE EFFICIENT DEVELOPER - Wolves Summit ...
DEVOPS AND IT AUTOMATION, THE WAY OF THE EFFICIENT DEVELOPER - Wolves Summit ...Quentin Adam
 
DevOpsDays Istanbul 2019 - AI with a devops mindset
DevOpsDays Istanbul 2019 - AI with a devops mindsetDevOpsDays Istanbul 2019 - AI with a devops mindset
DevOpsDays Istanbul 2019 - AI with a devops mindsetThiago de Faria
 
Digital transformation in the Public Sector. By Tommaso Di Bartolo. Silicon V...
Digital transformation in the Public Sector. By Tommaso Di Bartolo. Silicon V...Digital transformation in the Public Sector. By Tommaso Di Bartolo. Silicon V...
Digital transformation in the Public Sector. By Tommaso Di Bartolo. Silicon V...Tommaso Di Bartolo
 
What I learnt from building a chatbot - BrightonSEO 2017
What I learnt from building a chatbot - BrightonSEO 2017What I learnt from building a chatbot - BrightonSEO 2017
What I learnt from building a chatbot - BrightonSEO 2017Emilie Reynaud
 
Impact Analysis - LoopConf
Impact Analysis - LoopConfImpact Analysis - LoopConf
Impact Analysis - LoopConfChris Lema
 
Impactanalysis 150507054758-lva1-app6891
Impactanalysis 150507054758-lva1-app6891Impactanalysis 150507054758-lva1-app6891
Impactanalysis 150507054758-lva1-app6891Jose P. Banuelos
 
The Laws of User Experience: Making it or breaking it with the UX Factor
The Laws of User Experience: Making it or breaking it with the UX FactorThe Laws of User Experience: Making it or breaking it with the UX Factor
The Laws of User Experience: Making it or breaking it with the UX FactorEffectiveUI
 
The Laws of User Experience: Making it or Breaking It with the UX Factor
The Laws of User Experience: Making it or Breaking It with the UX FactorThe Laws of User Experience: Making it or Breaking It with the UX Factor
The Laws of User Experience: Making it or Breaking It with the UX FactorEffective
 
Le DevOps, levier d'automatisation et de passage au cloud - ADN Ouest Forum i...
Le DevOps, levier d'automatisation et de passage au cloud - ADN Ouest Forum i...Le DevOps, levier d'automatisation et de passage au cloud - ADN Ouest Forum i...
Le DevOps, levier d'automatisation et de passage au cloud - ADN Ouest Forum i...Quentin Adam
 
Project Management experiences, do's and don'ts
Project Management experiences, do's and don'tsProject Management experiences, do's and don'ts
Project Management experiences, do's and don'tsTapio Järvenpää
 

Similaire à How to build a reliable checkout experience (20)

Understanding Technical Debt: A Primer for Product Owners and Founders
Understanding Technical Debt: A Primer for Product Owners and FoundersUnderstanding Technical Debt: A Primer for Product Owners and Founders
Understanding Technical Debt: A Primer for Product Owners and Founders
 
103 Understanding Technical Debt
103 Understanding Technical Debt103 Understanding Technical Debt
103 Understanding Technical Debt
 
Observing, Remembering & Sharing
Observing, Remembering & SharingObserving, Remembering & Sharing
Observing, Remembering & Sharing
 
Enplug - interactive digital signage
Enplug - interactive digital signageEnplug - interactive digital signage
Enplug - interactive digital signage
 
Le DevOps, levier d'automatisation et de passage au cloud - ADN Ouest BRETAGNE
Le DevOps, levier d'automatisation et de passage au cloud - ADN Ouest BRETAGNELe DevOps, levier d'automatisation et de passage au cloud - ADN Ouest BRETAGNE
Le DevOps, levier d'automatisation et de passage au cloud - ADN Ouest BRETAGNE
 
Cloud Native App Security
Cloud Native App SecurityCloud Native App Security
Cloud Native App Security
 
Keycloak cloud native
Keycloak cloud nativeKeycloak cloud native
Keycloak cloud native
 
Of innovation and impatience - Future Decoded 2015
Of innovation and impatience - Future Decoded 2015Of innovation and impatience - Future Decoded 2015
Of innovation and impatience - Future Decoded 2015
 
How to make people work together? - ending keynote - devfest du bout du monde...
How to make people work together? - ending keynote - devfest du bout du monde...How to make people work together? - ending keynote - devfest du bout du monde...
How to make people work together? - ending keynote - devfest du bout du monde...
 
DEVOPS AND IT AUTOMATION, THE WAY OF THE EFFICIENT DEVELOPER - Wolves Summit ...
DEVOPS AND IT AUTOMATION, THE WAY OF THE EFFICIENT DEVELOPER - Wolves Summit ...DEVOPS AND IT AUTOMATION, THE WAY OF THE EFFICIENT DEVELOPER - Wolves Summit ...
DEVOPS AND IT AUTOMATION, THE WAY OF THE EFFICIENT DEVELOPER - Wolves Summit ...
 
DevOpsDays Istanbul 2019 - AI with a devops mindset
DevOpsDays Istanbul 2019 - AI with a devops mindsetDevOpsDays Istanbul 2019 - AI with a devops mindset
DevOpsDays Istanbul 2019 - AI with a devops mindset
 
Digital transformation in the Public Sector. By Tommaso Di Bartolo. Silicon V...
Digital transformation in the Public Sector. By Tommaso Di Bartolo. Silicon V...Digital transformation in the Public Sector. By Tommaso Di Bartolo. Silicon V...
Digital transformation in the Public Sector. By Tommaso Di Bartolo. Silicon V...
 
Metaverse + Sustainability Convergence
Metaverse + Sustainability ConvergenceMetaverse + Sustainability Convergence
Metaverse + Sustainability Convergence
 
What I learnt from building a chatbot - BrightonSEO 2017
What I learnt from building a chatbot - BrightonSEO 2017What I learnt from building a chatbot - BrightonSEO 2017
What I learnt from building a chatbot - BrightonSEO 2017
 
Impact Analysis - LoopConf
Impact Analysis - LoopConfImpact Analysis - LoopConf
Impact Analysis - LoopConf
 
Impactanalysis 150507054758-lva1-app6891
Impactanalysis 150507054758-lva1-app6891Impactanalysis 150507054758-lva1-app6891
Impactanalysis 150507054758-lva1-app6891
 
The Laws of User Experience: Making it or breaking it with the UX Factor
The Laws of User Experience: Making it or breaking it with the UX FactorThe Laws of User Experience: Making it or breaking it with the UX Factor
The Laws of User Experience: Making it or breaking it with the UX Factor
 
The Laws of User Experience: Making it or Breaking It with the UX Factor
The Laws of User Experience: Making it or Breaking It with the UX FactorThe Laws of User Experience: Making it or Breaking It with the UX Factor
The Laws of User Experience: Making it or Breaking It with the UX Factor
 
Le DevOps, levier d'automatisation et de passage au cloud - ADN Ouest Forum i...
Le DevOps, levier d'automatisation et de passage au cloud - ADN Ouest Forum i...Le DevOps, levier d'automatisation et de passage au cloud - ADN Ouest Forum i...
Le DevOps, levier d'automatisation et de passage au cloud - ADN Ouest Forum i...
 
Project Management experiences, do's and don'ts
Project Management experiences, do's and don'tsProject Management experiences, do's and don'ts
Project Management experiences, do's and don'ts
 

Dernier

Class 1 | NFPA 72 | Overview Fire Alarm System
Class 1 | NFPA 72 | Overview Fire Alarm SystemClass 1 | NFPA 72 | Overview Fire Alarm System
Class 1 | NFPA 72 | Overview Fire Alarm Systemirfanmechengr
 
Correctly Loading Incremental Data at Scale
Correctly Loading Incremental Data at ScaleCorrectly Loading Incremental Data at Scale
Correctly Loading Incremental Data at ScaleAlluxio, Inc.
 
National Level Hackathon Participation Certificate.pdf
National Level Hackathon Participation Certificate.pdfNational Level Hackathon Participation Certificate.pdf
National Level Hackathon Participation Certificate.pdfRajuKanojiya4
 
Module-1-(Building Acoustics) Noise Control (Unit-3). pdf
Module-1-(Building Acoustics) Noise Control (Unit-3). pdfModule-1-(Building Acoustics) Noise Control (Unit-3). pdf
Module-1-(Building Acoustics) Noise Control (Unit-3). pdfManish Kumar
 
Energy Awareness training ppt for manufacturing process.pptx
Energy Awareness training ppt for manufacturing process.pptxEnergy Awareness training ppt for manufacturing process.pptx
Energy Awareness training ppt for manufacturing process.pptxsiddharthjain2303
 
DEVICE DRIVERS AND INTERRUPTS SERVICE MECHANISM.pdf
DEVICE DRIVERS AND INTERRUPTS  SERVICE MECHANISM.pdfDEVICE DRIVERS AND INTERRUPTS  SERVICE MECHANISM.pdf
DEVICE DRIVERS AND INTERRUPTS SERVICE MECHANISM.pdfAkritiPradhan2
 
US Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of ActionUS Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of ActionMebane Rash
 
Comprehensive energy systems.pdf Comprehensive energy systems.pdf
Comprehensive energy systems.pdf Comprehensive energy systems.pdfComprehensive energy systems.pdf Comprehensive energy systems.pdf
Comprehensive energy systems.pdf Comprehensive energy systems.pdfalene1
 
Crushers to screens in aggregate production
Crushers to screens in aggregate productionCrushers to screens in aggregate production
Crushers to screens in aggregate productionChinnuNinan
 
Main Memory Management in Operating System
Main Memory Management in Operating SystemMain Memory Management in Operating System
Main Memory Management in Operating SystemRashmi Bhat
 
Python Programming for basic beginners.pptx
Python Programming for basic beginners.pptxPython Programming for basic beginners.pptx
Python Programming for basic beginners.pptxmohitesoham12
 
ROBOETHICS-CCS345 ETHICS AND ARTIFICIAL INTELLIGENCE.ppt
ROBOETHICS-CCS345 ETHICS AND ARTIFICIAL INTELLIGENCE.pptROBOETHICS-CCS345 ETHICS AND ARTIFICIAL INTELLIGENCE.ppt
ROBOETHICS-CCS345 ETHICS AND ARTIFICIAL INTELLIGENCE.pptJohnWilliam111370
 
Artificial Intelligence in Power System overview
Artificial Intelligence in Power System overviewArtificial Intelligence in Power System overview
Artificial Intelligence in Power System overviewsandhya757531
 
Turn leadership mistakes into a better future.pptx
Turn leadership mistakes into a better future.pptxTurn leadership mistakes into a better future.pptx
Turn leadership mistakes into a better future.pptxStephen Sitton
 
Novel 3D-Printed Soft Linear and Bending Actuators
Novel 3D-Printed Soft Linear and Bending ActuatorsNovel 3D-Printed Soft Linear and Bending Actuators
Novel 3D-Printed Soft Linear and Bending ActuatorsResearcher Researcher
 
Virtual memory management in Operating System
Virtual memory management in Operating SystemVirtual memory management in Operating System
Virtual memory management in Operating SystemRashmi Bhat
 
Internship PPT ukai thermal power station .pptx
Internship PPT ukai thermal power station .pptxInternship PPT ukai thermal power station .pptx
Internship PPT ukai thermal power station .pptxmalikavita731
 
Engineering Drawing section of solid
Engineering Drawing     section of solidEngineering Drawing     section of solid
Engineering Drawing section of solidnamansinghjarodiya
 
List of Accredited Concrete Batching Plant.pdf
List of Accredited Concrete Batching Plant.pdfList of Accredited Concrete Batching Plant.pdf
List of Accredited Concrete Batching Plant.pdfisabel213075
 

Dernier (20)

Class 1 | NFPA 72 | Overview Fire Alarm System
Class 1 | NFPA 72 | Overview Fire Alarm SystemClass 1 | NFPA 72 | Overview Fire Alarm System
Class 1 | NFPA 72 | Overview Fire Alarm System
 
Correctly Loading Incremental Data at Scale
Correctly Loading Incremental Data at ScaleCorrectly Loading Incremental Data at Scale
Correctly Loading Incremental Data at Scale
 
National Level Hackathon Participation Certificate.pdf
National Level Hackathon Participation Certificate.pdfNational Level Hackathon Participation Certificate.pdf
National Level Hackathon Participation Certificate.pdf
 
Module-1-(Building Acoustics) Noise Control (Unit-3). pdf
Module-1-(Building Acoustics) Noise Control (Unit-3). pdfModule-1-(Building Acoustics) Noise Control (Unit-3). pdf
Module-1-(Building Acoustics) Noise Control (Unit-3). pdf
 
Energy Awareness training ppt for manufacturing process.pptx
Energy Awareness training ppt for manufacturing process.pptxEnergy Awareness training ppt for manufacturing process.pptx
Energy Awareness training ppt for manufacturing process.pptx
 
DEVICE DRIVERS AND INTERRUPTS SERVICE MECHANISM.pdf
DEVICE DRIVERS AND INTERRUPTS  SERVICE MECHANISM.pdfDEVICE DRIVERS AND INTERRUPTS  SERVICE MECHANISM.pdf
DEVICE DRIVERS AND INTERRUPTS SERVICE MECHANISM.pdf
 
US Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of ActionUS Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of Action
 
Comprehensive energy systems.pdf Comprehensive energy systems.pdf
Comprehensive energy systems.pdf Comprehensive energy systems.pdfComprehensive energy systems.pdf Comprehensive energy systems.pdf
Comprehensive energy systems.pdf Comprehensive energy systems.pdf
 
Crushers to screens in aggregate production
Crushers to screens in aggregate productionCrushers to screens in aggregate production
Crushers to screens in aggregate production
 
Main Memory Management in Operating System
Main Memory Management in Operating SystemMain Memory Management in Operating System
Main Memory Management in Operating System
 
Python Programming for basic beginners.pptx
Python Programming for basic beginners.pptxPython Programming for basic beginners.pptx
Python Programming for basic beginners.pptx
 
ROBOETHICS-CCS345 ETHICS AND ARTIFICIAL INTELLIGENCE.ppt
ROBOETHICS-CCS345 ETHICS AND ARTIFICIAL INTELLIGENCE.pptROBOETHICS-CCS345 ETHICS AND ARTIFICIAL INTELLIGENCE.ppt
ROBOETHICS-CCS345 ETHICS AND ARTIFICIAL INTELLIGENCE.ppt
 
Artificial Intelligence in Power System overview
Artificial Intelligence in Power System overviewArtificial Intelligence in Power System overview
Artificial Intelligence in Power System overview
 
Turn leadership mistakes into a better future.pptx
Turn leadership mistakes into a better future.pptxTurn leadership mistakes into a better future.pptx
Turn leadership mistakes into a better future.pptx
 
Novel 3D-Printed Soft Linear and Bending Actuators
Novel 3D-Printed Soft Linear and Bending ActuatorsNovel 3D-Printed Soft Linear and Bending Actuators
Novel 3D-Printed Soft Linear and Bending Actuators
 
Designing pile caps according to ACI 318-19.pptx
Designing pile caps according to ACI 318-19.pptxDesigning pile caps according to ACI 318-19.pptx
Designing pile caps according to ACI 318-19.pptx
 
Virtual memory management in Operating System
Virtual memory management in Operating SystemVirtual memory management in Operating System
Virtual memory management in Operating System
 
Internship PPT ukai thermal power station .pptx
Internship PPT ukai thermal power station .pptxInternship PPT ukai thermal power station .pptx
Internship PPT ukai thermal power station .pptx
 
Engineering Drawing section of solid
Engineering Drawing     section of solidEngineering Drawing     section of solid
Engineering Drawing section of solid
 
List of Accredited Concrete Batching Plant.pdf
List of Accredited Concrete Batching Plant.pdfList of Accredited Concrete Batching Plant.pdf
List of Accredited Concrete Batching Plant.pdf
 

How to build a reliable checkout experience