A few weeks ago a developer named Felipe joined the DEV.HC Discord, where devs get together to mentor each other and build hApps. I was amazed when, in the course of just one week, he managed to put together a proof-of-concept for a peer-to-peer video chat hApp!
He’s calling it Doom (no, not that Doom, but ‘decentralised Zoom’), and you can check out the source code at the felri/doom GitHub repository.
Doom mashes together two peer-to-peer technologies. Holochain handles the ‘signalling’, or the ‘making the connection’ part. If Doom were the phone system, signalling would involve me pulling a phone book off my wall, looking your number up, dialing your number, and letting the phone network connect my phone to yours. But while the phone network is largely centralised, Holochain is almost entirely P2P.
The other P2P component is called WebRTC, and your computer already supports it — it’s built right into your browser. So once Holochain handles signalling and makes the introduction between my computer and yours, our web browsers take over and stream our video directly to each other.
What really excited me is that he put this together in only four evenings’ worth of work!
It is just a proof-of-concept, and will likely take more work to develop into a production-level product if Felipe chooses to do that. But this story opened my eyes to how quickly a developer can put together a fully P2P application with Holochain.
Here’s Felipe’s feedback on the development process:
80% of the time was in the frontend, the holochain part was pretty easy with a bunch of examples you guys sent me
everything took 4 nights of work
yeah, holochain is absurdly easy to play
And finally, here’s a demo video showing Felipe meeting with himself over a local network :)