« A simple approach to building a real-time collaborative text editor » by Rudi Chen, 06.10.2017
▻http://digitalfreepen.com/2017/10/06/simple-real-time-collaborative-text-editor.html
« A simple approach to building a real-time collaborative text editor » by Rudi Chen, 06.10.2017
▻http://digitalfreepen.com/2017/10/06/simple-real-time-collaborative-text-editor.html
"Local-First Software : You Own Your Data, in spite of the Cloud"
▻https://martin.kleppmann.com/papers/local-first.pdf
Un article de motivation pour les chercheurs en informatique et les programmeurs, un appel à développer des logiciels qui travaillent avant tout en local, avec des fichiers stockés localement et contrôlés par l’utilisateur mais tout en permettant le stockage externe et surtout la collaboration avec d’autres. (Le contraire de l’idéologie « cloud » où on est « remote-first » et où ne peut plus rien faire sans accès au réseau et aux GAFA.)
Il existe depuis longtemps de nombreuses solutions en ce sens (la plus proche étant #git + un dépôt distant par exemple un gitlab) mais aucune n’est parfaite. L’article explique pourquoi, et ce qu’il faudrait améliorer.
Il y a quelques mois ici, et en page web directement :)
▻https://seenthis.net/messages/787478
C’est the point qui me gave au plus haut point avec nextcloud etc (qu’on utilise pour l’instant au boulot). Dès que tu n’as plus le net ou même une faible connexion, t’as plus aucun fichier distant, tu galères à mort… Mais les solutions techniques ne sont pas toujours faciles à mettre en œuvre, ça dépend du type de contenu.
#développement #conception #logiciel #autonomie #sécurité #cloud #collaboration #synchronisation #pérennité #local-first #CRDT
Local-first software
You own your data, in spite of the cloud
▻https://www.inkandswitch.com/local-first.html
C’est très long, mais bien fait. Idéalement, les applications et documents devraient :
– être rapides
– être accessibles simultanément sur plusieurs dispositifs
– fonctionner sans connexion
– être modifiables par plusieurs personnes en même temps
– être encore accessibles à long terme
– n’être accessibles qu’aux personnes autorisées (et pas la NSA)
– rester sous contrôle de l’utilisateur.trice
▻https://en.wikipedia.org/wiki/Conflict-free_replicated_data_type
Un début d’implémentation (où ils en sont) :
▻https://github.com/automerge/hypermerge
#développement #conception #logiciel #autonomie #sécurité #cloud #collaboration #synchronisation #pérennité #local-first #CRDT
Passionnant (enfin si on veut, moins que manger du fromage), mais compliqué, et ça implique à l’avenir, en tout cas pour de multiples apps des connaissances encore plus compliquées que maintenant (quoique ils disent que leurs devs ont pas mis longtemps à l’intégrer). Enfin bon, moi je regarde que si ya des trucs clés en main :p
algorithm - Differences between OT and CRDT - Stack Overflow
▻http://stackoverflow.com/questions/26694359/differences-between-ot-and-crdt
Both approaches are similar in that they provide eventual consistency. The difference is in how they do it. One way of looking at it is:
– OT does it by changing operations. Operations are sent over the wire and concurrent operations are transformed once they are received.
– CRDTs do it by changing state. Operations are made on the local CRDT. Its state is sent over the wire and is merged with the state of a copy. It doesn’t matter how many times or in what order merges are made - all copies converge.
A comprehensive study of Convergent and Commutative Replicated Data Types
▻https://hal.archives-ouvertes.fr/inria-00555588/document
Backstage Blog - Roshi: a CRDT system for timestamped events - SoundCloud Developers
▻https://developers.soundcloud.com/blog/roshi-a-crdt-system-for-timestamped-events
CRDTs: Consistency without concurrency control - RR-6956.pdf
▻https://hal.archives-ouvertes.fr/file/index/docid/397981/filename/RR-6956.pdf