Un super blog, que je recommande de parcourir, vient de publier un article très intéressant, en anglais :
https://brr.fyi/posts/engineering-for-slow-internetJe vous fais un résumé vite fait :
L'auteur a travaillé sur la gestion SI d'une base en Antarctique. Là-bas, Internet, c'est par satellite, et il n'y a qu'une très faible bande passante (quelques douzaines de mégabits) pour les usages non-scientifiques de presque 1 000 personnes. D'ailleurs, il n'y a même pas de satellite joignable tout court la plupart du temps. La connexion moyenne en bout de chaîne pour un appareil : 750 ms de latence, et entre 2 Kbps (oui, vraiment) et 2 Mbps (avec beaucoup de chance), avec congestion extrême et beaucoup de pertes de paquets.
Avec ce genre de connexion, on s'aperçoit très vite des présuppositions faites par certaines applications, qui les rendent très difficilement utilisables :
- 20 Mo de Javascript inévitables pour une appli de discussion, mais leur téléchargement bloque complètement si la connexion tousse pendant quelques secondes... et aucune mise en cache de ce qui était déjà téléchargé
- Timeouts hardcodés
- Téléchargements de mises à jour sans bouton pause, sans possibilité de reprendre un téléchargement qui échoue en cours de route, sans aucune information
- etc.
L'auteur a écrit une longue liste de recommandations afin de rendre les connexions (très) lentes et instables compatibles avec ces applications. J'imagine qu'elles sont également très pertinentes vis-à-vis de l'internet mobile avec de mauvaises conditions radio, ou dans des pays en voie de développement.