Serverless/ Peer-to-peer Loomio
I've been thinking recently about how exciting it would be to use the awesome interface that the Loomio crew have created in a different way, without a server. A robust peer-to-peer variant of Loomio would scale more easily for community users, without the hosting and bandwidth costs and security and privacy concerns of running a centralized server. This would require a number of tricky bits of re-engineering work, so I'm really just throwing the idea out there to see what people think.
There are three main things I can think of which would need to be done:
1) containerizing the Loomio back-end (using something like Docker?) and porting it to the different platforms people want to run it on (desktop/ mobile etc)
2) building in a lite HTTP server so the back-end can be installed on the user's machine, but still display the UI in their browser
3) building in (bindings to?) an encrypted P2P network, for discovery and message exchange between all the users (BitTorrent? GNUNet? FreeNet? Diaspora? BitMessage? Twister? other blockchains?)
I'm a bit behind on whether there's been any discussion on federating the various Loomio servers, so a user on Server A can join a group on Server B. I'm assuming this is something we want to enable. Whatever federation system is created to achieve this, could be modified to achieve 3), or vice versa, depending on which gets worked on the most.
A design I was working on as a possible online voting platform worked something like (2) in that the user accessed a plain html form run from a p2p network linking back to a secure electoral server.
Now that the contract for online voting has gone to electionz.com , I would suggest that the following for (2 & 3) be used:
A "hub and spoke" blockchain, where the desktops/laptops on faster broadband provide the hubs to the mobile spokes. My research indicates that this approach could rival global networks such as VISA for speed, as the spokes only need to connect when they are actively interacting, and the hubs do the bulk of the communication distribution across the chain.
In this way you achieve federation on a p2p network without requiring servers.