Project Thali: Giving Users More Flexibility and Control Through a P2P Web

If there’s a common theme among the people on my team, it’s their ability to overcome some of the thorniest technical challenges with what might be considered the most unorthodox of approaches.

Yaron Goland is a great example. Throughout a lengthy career at Microsoft (as well as a six-year hiatus outside the company), one of Yaron’s ambitions has been to create a Web experience built on a P2P model.

Now, as a software architect with the Microsoft Open Technologies Hub, Yaron is finally pursuing this vision through a project he calls Thali. While on-site a few months back for the Accela hackfest, Yaron sat down to talk about his vision for P2P web, as well as Thali’s role within the hackfest. 


 Building a P2P Web has, of course, been possible for quite some time. But it’s only within the last couple of years that advances in mobile technology have enabled greater flexibility and control. 


There are a number of similar projects underway, but what sets Thali apart from the others is this: Rather than relying on the cloud as a repository for a user’s personal data, Thali anchors it to their personal devices and creates a mesh network that gives the user more control and access to that data from any one of their devices.


Of course, there are some challenges that come with P2P—things like security, discoverability and ensuring the federation of updates across devices. Yaron has been working hard to address these, alongside his colleagues at MS Open Tech, as well as with members of the open source community such as CouchBase and PouchDB,

CouchBase architect Wayne Carter especially appreciated the thoroughness and thoughtfulness that Yaron put into his feedback, and this exchange really sets the standard for how we work together moving forward. 


We’re pretty excited about Thali’s potential but there’s still work to be done, and Yaron and his team would appreciate your help in bringing it to completion. Check out the Thali page for more details about the project and how to get involved.