SlideShare une entreprise Scribd logo
1  sur  16
Enjeux de la latence
applicative
Janvier 2015
Motwin
• Clients : Betclic, Consors Bank, BNP Paribas, CST,
AXA, La Banque Postale
• 15 personnes (13 à Grenobles, 2 à Paris)
2
Motwin édite un logiciel
d’optimisation d’APIs pour des
applications sensibles au temps pour
mobiles, objets connectés et web.
Définitions / rappels
• Latence ≠ bande passante
– Latence réseau (RTD) = délai d’un aller-retour pour le
plus petit paquet possible
– Bande passante = quantité total de données
transférable en même temps
• Latence applicative : délai entre l’action d’un
utilisateur et les conséquences de cette action
– Souvent l’affichage de nouvelles informations
3
4
Notre cerveau
Sources : Public Library of Science, Appdynamics, “Timing responses to questions in dialogue”, Sofia Strömbergsson, Anna
Hjalmarsson, Jens Edlund, David House - Department of Speech, Music and Hearing, KTH, Stockholm, Sweden
Nombres Arabes (150ms)
Comparaison (190ms)
Mouvement (330ms)
Correction d’erreur (470ms)
Temps de réaction :
100 à 500 ms
Temps de réponse à une
question entre humains :
100 à 500 ms
Mémoire court terme :
500 ms
Mémoire sensorielle
Durée : 0,5 max pour visuel
2 sec pour audio
Mémoire court-terme
Durée : 30 secondes max
Mémoire long-terme
Temps de réponse
moyenne à une question
(milliseconde)
460
310
180
90
Question ouverte
Question à réponse
simple
Question dont la
réponse est Oui/Non
Question incluant les
réponses possibles
5
Effet du temps de réaction d’une
application sur l’homme
5
Délai de
réaction d’une
application
Impact /
sensation sur
l’utilisateur
0,1 Secondes0,5 2 3 5 101 4
« Instantané »
Parfait (eq.
Relation
humaine)
Sans attente
« Lent »
40 à 60%
d’abandon sur le
web desktop
« Très Lent »
30 à 40%
d’abandon sur le
web mobile
Perte d’attention
Enervement
Fatigue
Temps
« normal »
6
Pour Google, Amazon, Wallmart, Redhat,
ebay, …
6Source : http://blog.radware.com/applicationdelivery/applicationaccelerationoptimization/2013/06/web-performance-poverty-line/
Source : http://www.ebaytechblog.com/2013/03/29/measuring-real-user-experience-with-site-speed-gauge/#.VFIHLvTF9CN
Source : http://www.webperformancetoday.com/2011/11/08/velocity-faster-mobile-sites-business-kpis-case-studies/
- 100 ms = - 1% Revenue & - 5% pages vues
« If the display time increases
500ms , research fell by 25% »
« If the display time
increases by 100 ms, the
revenue goes down to 1% »
7
Le temps de communication
est une fonction de
La perception,
La latence,
Le débit,
La quantité de donnée ,
Le nombre de requêtes,
Le protocole.
Afficher des éléments rapidement
Programmation : flush , Post-load , pre-load
CDN
Akamai Technologies, Edgecast,
level 3, Amazon, OVH, CDNetworks
Mémoires Cache
Au niveau serveur et devices
Préparer la mémoire cache en avance
Infrastructures
Bande passante & CPU
Compresser
Gzip/deflate via accept-
encoding / content-
encoding
Formats de
données
Ex : JSON > HTML
Protocole de communication (binaire,
push, websocket,SSE,…)
Qualité de programmation
Réduire le nombre de request en les regroupant, Mettre les scripts après le
maximum de requests , Eviter les requêtes interdépendantes , Domain
Sharding, Web : éviter les expressions CSS, les Redirects, ….
Adapter
Quantité / qualité selon
le device
Netflix UI
8
Netflix solution (1/2)
9
Interface Table Doc JSON JSON Patch
Taille tableau dépend du device
JSON patch : standard de
gestion des évolutions
d’un document par
versionning
Simplification of Netflix (JSONG +
Cache)
Netflix solution (2/2)
10
Device Cache ServerApplication
First visit
Second visit or
during first visit
1 request : JSON
JSON Patch
= 0 Latency
Simplification of Netflix (JSONG +
Cache)
11
Pourquoi Google, ebay,
Twitter, Facebook, Amazon :
protocoles full-duplex et
des APIs de type push
(websocket, SPDY, MQTT,…)
12
Latence réseau (RTD)
4G = Fibre optique Trans-continental
0 100 200 300 400
EDGE/2G
3G
4G
Trans-continental optic fiber
Trans-country optic fiber
ADSL
In-town private network
Source : http://www.digitalsociety.org/2010/08/conflating-broadband-speed-with-internet-speed-is-misleading/
http://www.dslreports.com/
Pour l’ADSL en HTTP la première donnée « utile »
arrive après 40 ms, en 3G après 300 ms
131313
« Hello !»
« Yes ?! »
« Cool ! »
« I want this »
« OK »
« Here! »
HTTP
1st page
2nd page
« Hello !»
« Again?! »
« Cool ! »
« I want this »
« OK »
« Here! »
1st page – Data refresh (*)
« Yeah … »
« Cool !»
« OK »
« Here! »
« Hello !»
« Yes ?! »
« I want this »
« OK »
« Tiens! »
1st page
2nd page
«I want this »
« Here! »
1st page – data refresh
« Here! »
Bidirectional protocol
Note: (* ) upgradeable scenario with long polling
Protocole « classique » versus protocole
bidirectionnel (full-duplex)
« Hello !»
« I want this »
« Cool ? »
14
Conclusions
• Au-delà de 2 secondes de temps de réaction,
l’expérience utilisateur sera pauvre
• Pour créer un expérience émotionnelle,
l’objectif est un temps de réaction de 500ms
• Il est quasiment impossible d’obtenir ces
temps de réponse sur mobile sans mettre en
œuvre des protocoles full-duplex
• Les grands investissent sur la latence … et
plus il y aura d’applications rapides, plus les
lentes seront mal vécues !
15
Merci. Question ?
nicolas.babel@motwin.com
@motwin_inc
www.motwin.com
Prochain produit : www.streamdata.io
Proxy aaS (API Poll JSON) {API Incremental Push}
Beta testeur recherché !
Motwin news #1
Motwin news #2
Hackathon « Mobile Banking Factory ² ». 50000€ de prix
pour des applications mobiles sur la « mobilité
connectée » (CAStore, PSA, Uber, Orange, … et Motwin)
mobilebankingfactory2.bemyapp.com
Beta : streamdata.io
16
API
HTTP
Poll
JSON
API
Push
JSON
Patch
Provider
Proxy aaS
Motwin Clients /
Applications
var streamdata.io =
ProxyaaS (API JSON Poll) {JSON Patch Push}

Contenu connexe

En vedette

Grupo 2 de informatica
Grupo 2 de informaticaGrupo 2 de informatica
Grupo 2 de informaticadadf100
 
LibreOffice suite de productividad
LibreOffice suite de productividadLibreOffice suite de productividad
LibreOffice suite de productividadarnaldo mas
 
36 historia de la cruz roja de vinaròs
36 historia de la cruz roja de vinaròs36 historia de la cruz roja de vinaròs
36 historia de la cruz roja de vinaròsaulamilitar
 
Ts102804895
Ts102804895Ts102804895
Ts102804895pahim01
 
35 el cuartel militar como vivienda colectiva en españa y sus posesiones dura...
35 el cuartel militar como vivienda colectiva en españa y sus posesiones dura...35 el cuartel militar como vivienda colectiva en españa y sus posesiones dura...
35 el cuartel militar como vivienda colectiva en españa y sus posesiones dura...aulamilitar
 
Presentación rominag.
Presentación rominag.Presentación rominag.
Presentación rominag.mariroro
 
J.carmona presentaciones power point actividades 37 71
J.carmona  presentaciones power point actividades 37 71J.carmona  presentaciones power point actividades 37 71
J.carmona presentaciones power point actividades 37 71wiichiitho
 
Le seigneur a dit a mon seigneur ... et nul n'osa dire que jesus est dieu
Le seigneur a dit a mon seigneur ... et nul n'osa dire que jesus est dieuLe seigneur a dit a mon seigneur ... et nul n'osa dire que jesus est dieu
Le seigneur a dit a mon seigneur ... et nul n'osa dire que jesus est dieuhanifiyyah
 
Projet Epitech (version étudiants)
Projet Epitech (version étudiants)Projet Epitech (version étudiants)
Projet Epitech (version étudiants)Lumistos
 
Oral these mbamci s. hardel
Oral these mbamci s. hardelOral these mbamci s. hardel
Oral these mbamci s. hardelStephane Hardel
 
Trabajo final grupo 100103 a 224
Trabajo final grupo 100103 a 224Trabajo final grupo 100103 a 224
Trabajo final grupo 100103 a 224Yefer Cortes
 
Estatutos rev.1
Estatutos rev.1Estatutos rev.1
Estatutos rev.1julian57
 
Medios de comunicación guiado y no guiados
Medios de comunicación guiado y no guiadosMedios de comunicación guiado y no guiados
Medios de comunicación guiado y no guiadosapaca18
 
Mi teléfono fijo
Mi teléfono fijoMi teléfono fijo
Mi teléfono fijojorsuap
 

En vedette (19)

Grupo 2 de informatica
Grupo 2 de informaticaGrupo 2 de informatica
Grupo 2 de informatica
 
Power dcadei
Power dcadeiPower dcadei
Power dcadei
 
LibreOffice suite de productividad
LibreOffice suite de productividadLibreOffice suite de productividad
LibreOffice suite de productividad
 
36 historia de la cruz roja de vinaròs
36 historia de la cruz roja de vinaròs36 historia de la cruz roja de vinaròs
36 historia de la cruz roja de vinaròs
 
Ts102804895
Ts102804895Ts102804895
Ts102804895
 
35 el cuartel militar como vivienda colectiva en españa y sus posesiones dura...
35 el cuartel militar como vivienda colectiva en españa y sus posesiones dura...35 el cuartel militar como vivienda colectiva en españa y sus posesiones dura...
35 el cuartel militar como vivienda colectiva en españa y sus posesiones dura...
 
Conflictos
ConflictosConflictos
Conflictos
 
Presentación rominag.
Presentación rominag.Presentación rominag.
Presentación rominag.
 
J.carmona presentaciones power point actividades 37 71
J.carmona  presentaciones power point actividades 37 71J.carmona  presentaciones power point actividades 37 71
J.carmona presentaciones power point actividades 37 71
 
Le seigneur a dit a mon seigneur ... et nul n'osa dire que jesus est dieu
Le seigneur a dit a mon seigneur ... et nul n'osa dire que jesus est dieuLe seigneur a dit a mon seigneur ... et nul n'osa dire que jesus est dieu
Le seigneur a dit a mon seigneur ... et nul n'osa dire que jesus est dieu
 
Projet Epitech (version étudiants)
Projet Epitech (version étudiants)Projet Epitech (version étudiants)
Projet Epitech (version étudiants)
 
Oral these mbamci s. hardel
Oral these mbamci s. hardelOral these mbamci s. hardel
Oral these mbamci s. hardel
 
Alexandra cedeño
Alexandra cedeñoAlexandra cedeño
Alexandra cedeño
 
CE N’EST PLUS DU CHINOIS !
CE N’EST PLUS DU CHINOIS !CE N’EST PLUS DU CHINOIS !
CE N’EST PLUS DU CHINOIS !
 
Trabajo final grupo 100103 a 224
Trabajo final grupo 100103 a 224Trabajo final grupo 100103 a 224
Trabajo final grupo 100103 a 224
 
L'ABC de la Ville-musique
L'ABC de la  Ville-musiqueL'ABC de la  Ville-musique
L'ABC de la Ville-musique
 
Estatutos rev.1
Estatutos rev.1Estatutos rev.1
Estatutos rev.1
 
Medios de comunicación guiado y no guiados
Medios de comunicación guiado y no guiadosMedios de comunicación guiado y no guiados
Medios de comunicación guiado y no guiados
 
Mi teléfono fijo
Mi teléfono fijoMi teléfono fijo
Mi teléfono fijo
 

Similaire à 20150126 latence 10 minutes - human talk

Réduire les données et la latence avec push et json patch - RivieraDev Conf ...
Réduire les données et la latence  avec push et json patch - RivieraDev Conf ...Réduire les données et la latence  avec push et json patch - RivieraDev Conf ...
Réduire les données et la latence avec push et json patch - RivieraDev Conf ...streamdata.io
 
1 pourquoi le big data aujourdhui
1 pourquoi le big data aujourdhui1 pourquoi le big data aujourdhui
1 pourquoi le big data aujourdhuiRomain Jouin
 
Pourquoi la MISE A DISPOSITION D’APPLICATIONS joue un rôle important dans l’é...
Pourquoi la MISE A DISPOSITION D’APPLICATIONS joue un rôle important dans l’é...Pourquoi la MISE A DISPOSITION D’APPLICATIONS joue un rôle important dans l’é...
Pourquoi la MISE A DISPOSITION D’APPLICATIONS joue un rôle important dans l’é...Citrix
 
BBL - Monitoring - kyriba
BBL - Monitoring - kyribaBBL - Monitoring - kyriba
BBL - Monitoring - kyribaOlivier BAZOUD
 
2012 02-09-eranea-presentation-jug-lausanne
2012 02-09-eranea-presentation-jug-lausanne2012 02-09-eranea-presentation-jug-lausanne
2012 02-09-eranea-presentation-jug-lausanneDidier Durand
 
Softshake 2015 - Comment tester et optimiser la performance d'un SI ?
Softshake 2015 - Comment tester et optimiser la performance d'un SI ?Softshake 2015 - Comment tester et optimiser la performance d'un SI ?
Softshake 2015 - Comment tester et optimiser la performance d'un SI ?cyrilpicat
 
Latence et streaming api Devoxx France 2015
Latence et streaming api  Devoxx France 2015Latence et streaming api  Devoxx France 2015
Latence et streaming api Devoxx France 2015streamdata.io
 
Softshake 2015 comment tester et optimiser la performance d'un si
Softshake 2015   comment tester et optimiser la performance d'un siSoftshake 2015   comment tester et optimiser la performance d'un si
Softshake 2015 comment tester et optimiser la performance d'un siMarc Bojoly
 
PerfUG Comment tester et optimiser la performance d'un SI ?
PerfUG Comment tester et optimiser la performance d'un SI ?PerfUG Comment tester et optimiser la performance d'un SI ?
PerfUG Comment tester et optimiser la performance d'un SI ?Marc Bojoly
 
Eco Conception logicielle : Comment réduire par deux la consommation d’...
Eco Conception logicielle : Comment réduire par deux la consommation d’...Eco Conception logicielle : Comment réduire par deux la consommation d’...
Eco Conception logicielle : Comment réduire par deux la consommation d’...Microsoft
 
Presentation websockets
Presentation websocketsPresentation websockets
Presentation websocketsBert Poller
 
Techniques accélération des pages web #kiwiparty
Techniques accélération des pages web #kiwipartyTechniques accélération des pages web #kiwiparty
Techniques accélération des pages web #kiwipartyJean-Pierre Vincent
 
IBM Bluemix Nice Meetup #2 - CEEI NCA - 20161011 -
IBM Bluemix Nice Meetup #2 - CEEI NCA - 20161011 - IBM Bluemix Nice Meetup #2 - CEEI NCA - 20161011 -
IBM Bluemix Nice Meetup #2 - CEEI NCA - 20161011 - IBM France Lab
 
Décryptage des LLMs au-delà de la hype - Lyon Data science
Décryptage des LLMs au-delà de la hype - Lyon Data scienceDécryptage des LLMs au-delà de la hype - Lyon Data science
Décryptage des LLMs au-delà de la hype - Lyon Data scienceMarie-Alice Blete
 
Introduction dans la Programmation Web Course 1
Introduction dans la Programmation Web Course 1Introduction dans la Programmation Web Course 1
Introduction dans la Programmation Web Course 1Vlad Posea
 
Exchange 2013 Dimensionnement et Performance
Exchange 2013 Dimensionnement et Performance Exchange 2013 Dimensionnement et Performance
Exchange 2013 Dimensionnement et Performance Microsoft Technet France
 
Core Web Vitals : les comprendre et se préparer pour le SEO
Core Web Vitals : les comprendre et se préparer pour le SEOCore Web Vitals : les comprendre et se préparer pour le SEO
Core Web Vitals : les comprendre et se préparer pour le SEODigimood - Agence SEO / SEA
 
Avec Hadoop, Excel et… 1€, réalisez votre premier Mobile BigData Tracker en m...
Avec Hadoop, Excel et… 1€, réalisez votre premier Mobile BigData Tracker en m...Avec Hadoop, Excel et… 1€, réalisez votre premier Mobile BigData Tracker en m...
Avec Hadoop, Excel et… 1€, réalisez votre premier Mobile BigData Tracker en m...Microsoft
 

Similaire à 20150126 latence 10 minutes - human talk (20)

Réduire les données et la latence avec push et json patch - RivieraDev Conf ...
Réduire les données et la latence  avec push et json patch - RivieraDev Conf ...Réduire les données et la latence  avec push et json patch - RivieraDev Conf ...
Réduire les données et la latence avec push et json patch - RivieraDev Conf ...
 
1 pourquoi le big data aujourdhui
1 pourquoi le big data aujourdhui1 pourquoi le big data aujourdhui
1 pourquoi le big data aujourdhui
 
Pourquoi la MISE A DISPOSITION D’APPLICATIONS joue un rôle important dans l’é...
Pourquoi la MISE A DISPOSITION D’APPLICATIONS joue un rôle important dans l’é...Pourquoi la MISE A DISPOSITION D’APPLICATIONS joue un rôle important dans l’é...
Pourquoi la MISE A DISPOSITION D’APPLICATIONS joue un rôle important dans l’é...
 
BBL - Monitoring - kyriba
BBL - Monitoring - kyribaBBL - Monitoring - kyriba
BBL - Monitoring - kyriba
 
2012 02-09-eranea-presentation-jug-lausanne
2012 02-09-eranea-presentation-jug-lausanne2012 02-09-eranea-presentation-jug-lausanne
2012 02-09-eranea-presentation-jug-lausanne
 
Softshake 2015 - Comment tester et optimiser la performance d'un SI ?
Softshake 2015 - Comment tester et optimiser la performance d'un SI ?Softshake 2015 - Comment tester et optimiser la performance d'un SI ?
Softshake 2015 - Comment tester et optimiser la performance d'un SI ?
 
Latence et streaming api Devoxx France 2015
Latence et streaming api  Devoxx France 2015Latence et streaming api  Devoxx France 2015
Latence et streaming api Devoxx France 2015
 
Softshake 2015 comment tester et optimiser la performance d'un si
Softshake 2015   comment tester et optimiser la performance d'un siSoftshake 2015   comment tester et optimiser la performance d'un si
Softshake 2015 comment tester et optimiser la performance d'un si
 
Do you speak technique ?
Do you speak technique ?Do you speak technique ?
Do you speak technique ?
 
PerfUG Comment tester et optimiser la performance d'un SI ?
PerfUG Comment tester et optimiser la performance d'un SI ?PerfUG Comment tester et optimiser la performance d'un SI ?
PerfUG Comment tester et optimiser la performance d'un SI ?
 
Eco Conception logicielle : Comment réduire par deux la consommation d’...
Eco Conception logicielle : Comment réduire par deux la consommation d’...Eco Conception logicielle : Comment réduire par deux la consommation d’...
Eco Conception logicielle : Comment réduire par deux la consommation d’...
 
Presentation websockets
Presentation websocketsPresentation websockets
Presentation websockets
 
Techniques accélération des pages web #kiwiparty
Techniques accélération des pages web #kiwipartyTechniques accélération des pages web #kiwiparty
Techniques accélération des pages web #kiwiparty
 
IBM Bluemix Nice Meetup #2 - CEEI NCA - 20161011 -
IBM Bluemix Nice Meetup #2 - CEEI NCA - 20161011 - IBM Bluemix Nice Meetup #2 - CEEI NCA - 20161011 -
IBM Bluemix Nice Meetup #2 - CEEI NCA - 20161011 -
 
Drupal & Mobilité
Drupal & MobilitéDrupal & Mobilité
Drupal & Mobilité
 
Décryptage des LLMs au-delà de la hype - Lyon Data science
Décryptage des LLMs au-delà de la hype - Lyon Data scienceDécryptage des LLMs au-delà de la hype - Lyon Data science
Décryptage des LLMs au-delà de la hype - Lyon Data science
 
Introduction dans la Programmation Web Course 1
Introduction dans la Programmation Web Course 1Introduction dans la Programmation Web Course 1
Introduction dans la Programmation Web Course 1
 
Exchange 2013 Dimensionnement et Performance
Exchange 2013 Dimensionnement et Performance Exchange 2013 Dimensionnement et Performance
Exchange 2013 Dimensionnement et Performance
 
Core Web Vitals : les comprendre et se préparer pour le SEO
Core Web Vitals : les comprendre et se préparer pour le SEOCore Web Vitals : les comprendre et se préparer pour le SEO
Core Web Vitals : les comprendre et se préparer pour le SEO
 
Avec Hadoop, Excel et… 1€, réalisez votre premier Mobile BigData Tracker en m...
Avec Hadoop, Excel et… 1€, réalisez votre premier Mobile BigData Tracker en m...Avec Hadoop, Excel et… 1€, réalisez votre premier Mobile BigData Tracker en m...
Avec Hadoop, Excel et… 1€, réalisez votre premier Mobile BigData Tracker en m...
 

20150126 latence 10 minutes - human talk

  • 1. Enjeux de la latence applicative Janvier 2015
  • 2. Motwin • Clients : Betclic, Consors Bank, BNP Paribas, CST, AXA, La Banque Postale • 15 personnes (13 à Grenobles, 2 à Paris) 2 Motwin édite un logiciel d’optimisation d’APIs pour des applications sensibles au temps pour mobiles, objets connectés et web.
  • 3. Définitions / rappels • Latence ≠ bande passante – Latence réseau (RTD) = délai d’un aller-retour pour le plus petit paquet possible – Bande passante = quantité total de données transférable en même temps • Latence applicative : délai entre l’action d’un utilisateur et les conséquences de cette action – Souvent l’affichage de nouvelles informations 3
  • 4. 4 Notre cerveau Sources : Public Library of Science, Appdynamics, “Timing responses to questions in dialogue”, Sofia Strömbergsson, Anna Hjalmarsson, Jens Edlund, David House - Department of Speech, Music and Hearing, KTH, Stockholm, Sweden Nombres Arabes (150ms) Comparaison (190ms) Mouvement (330ms) Correction d’erreur (470ms) Temps de réaction : 100 à 500 ms Temps de réponse à une question entre humains : 100 à 500 ms Mémoire court terme : 500 ms Mémoire sensorielle Durée : 0,5 max pour visuel 2 sec pour audio Mémoire court-terme Durée : 30 secondes max Mémoire long-terme Temps de réponse moyenne à une question (milliseconde) 460 310 180 90 Question ouverte Question à réponse simple Question dont la réponse est Oui/Non Question incluant les réponses possibles
  • 5. 5 Effet du temps de réaction d’une application sur l’homme 5 Délai de réaction d’une application Impact / sensation sur l’utilisateur 0,1 Secondes0,5 2 3 5 101 4 « Instantané » Parfait (eq. Relation humaine) Sans attente « Lent » 40 à 60% d’abandon sur le web desktop « Très Lent » 30 à 40% d’abandon sur le web mobile Perte d’attention Enervement Fatigue Temps « normal »
  • 6. 6 Pour Google, Amazon, Wallmart, Redhat, ebay, … 6Source : http://blog.radware.com/applicationdelivery/applicationaccelerationoptimization/2013/06/web-performance-poverty-line/ Source : http://www.ebaytechblog.com/2013/03/29/measuring-real-user-experience-with-site-speed-gauge/#.VFIHLvTF9CN Source : http://www.webperformancetoday.com/2011/11/08/velocity-faster-mobile-sites-business-kpis-case-studies/ - 100 ms = - 1% Revenue & - 5% pages vues « If the display time increases 500ms , research fell by 25% » « If the display time increases by 100 ms, the revenue goes down to 1% »
  • 7. 7 Le temps de communication est une fonction de La perception, La latence, Le débit, La quantité de donnée , Le nombre de requêtes, Le protocole. Afficher des éléments rapidement Programmation : flush , Post-load , pre-load CDN Akamai Technologies, Edgecast, level 3, Amazon, OVH, CDNetworks Mémoires Cache Au niveau serveur et devices Préparer la mémoire cache en avance Infrastructures Bande passante & CPU Compresser Gzip/deflate via accept- encoding / content- encoding Formats de données Ex : JSON > HTML Protocole de communication (binaire, push, websocket,SSE,…) Qualité de programmation Réduire le nombre de request en les regroupant, Mettre les scripts après le maximum de requests , Eviter les requêtes interdépendantes , Domain Sharding, Web : éviter les expressions CSS, les Redirects, …. Adapter Quantité / qualité selon le device
  • 9. Netflix solution (1/2) 9 Interface Table Doc JSON JSON Patch Taille tableau dépend du device JSON patch : standard de gestion des évolutions d’un document par versionning Simplification of Netflix (JSONG + Cache)
  • 10. Netflix solution (2/2) 10 Device Cache ServerApplication First visit Second visit or during first visit 1 request : JSON JSON Patch = 0 Latency Simplification of Netflix (JSONG + Cache)
  • 11. 11 Pourquoi Google, ebay, Twitter, Facebook, Amazon : protocoles full-duplex et des APIs de type push (websocket, SPDY, MQTT,…)
  • 12. 12 Latence réseau (RTD) 4G = Fibre optique Trans-continental 0 100 200 300 400 EDGE/2G 3G 4G Trans-continental optic fiber Trans-country optic fiber ADSL In-town private network Source : http://www.digitalsociety.org/2010/08/conflating-broadband-speed-with-internet-speed-is-misleading/ http://www.dslreports.com/ Pour l’ADSL en HTTP la première donnée « utile » arrive après 40 ms, en 3G après 300 ms
  • 13. 131313 « Hello !» « Yes ?! » « Cool ! » « I want this » « OK » « Here! » HTTP 1st page 2nd page « Hello !» « Again?! » « Cool ! » « I want this » « OK » « Here! » 1st page – Data refresh (*) « Yeah … » « Cool !» « OK » « Here! » « Hello !» « Yes ?! » « I want this » « OK » « Tiens! » 1st page 2nd page «I want this » « Here! » 1st page – data refresh « Here! » Bidirectional protocol Note: (* ) upgradeable scenario with long polling Protocole « classique » versus protocole bidirectionnel (full-duplex) « Hello !» « I want this » « Cool ? »
  • 14. 14 Conclusions • Au-delà de 2 secondes de temps de réaction, l’expérience utilisateur sera pauvre • Pour créer un expérience émotionnelle, l’objectif est un temps de réaction de 500ms • Il est quasiment impossible d’obtenir ces temps de réponse sur mobile sans mettre en œuvre des protocoles full-duplex • Les grands investissent sur la latence … et plus il y aura d’applications rapides, plus les lentes seront mal vécues !
  • 15. 15 Merci. Question ? nicolas.babel@motwin.com @motwin_inc www.motwin.com Prochain produit : www.streamdata.io Proxy aaS (API Poll JSON) {API Incremental Push} Beta testeur recherché ! Motwin news #1 Motwin news #2 Hackathon « Mobile Banking Factory ² ». 50000€ de prix pour des applications mobiles sur la « mobilité connectée » (CAStore, PSA, Uber, Orange, … et Motwin) mobilebankingfactory2.bemyapp.com
  • 16. Beta : streamdata.io 16 API HTTP Poll JSON API Push JSON Patch Provider Proxy aaS Motwin Clients / Applications var streamdata.io = ProxyaaS (API JSON Poll) {JSON Patch Push}