Decentralized Data Sync
A solution addressing the need for social applications to work with occasional and unpredictable network connections
Mesh4X was developed for InSTEDD, addressing the need for social applications in low-resource environments or crisis to work with occasional and unpredictable network connections, and share data across platforms, allowing changes to flow between different datasources bi-directionally.
Mesh4X keeps track of the user’s data and its changes, and reconciles the differences whenever two data sources are connected to each other. Discovery within a network is automated, making it easy for multiple sources to sync their data in a distributed environment.
It currently has adapters for CSV files and Excel spreadsheets, and can be easily extended with new ones to other data sources, such as SQLite, Access or MySql. It supports the execution of Google Refine scripts for cleaning, normalizing and organizing the user’s data.
The initial version of Mesh4x, developed in collaboration with Clarius Consulting, was a set of libraries, services and applications, developed for .NET, Java and J2ME; whereas the current version, much easier and more intuitive to use, is entirely coded in JRuby, using a local Rails server as front-end and making heavy use of CouchDB for synchronizing data and managing conflicts.
Meshes and synchronization history listing.
Overview of the initial state of a mesh with shortcuts to setup for its main features.
Listing of sources with make up the mesh with its corresponding settings.
Conflict resolution system.