Explore feasibility of bittorrent functionality for MoodleNet collections
MoodleNet is a web-based application. The web can be brittle, as resources stored in a single place can be overloaded or taken down without warning.
One way of dealing with this is via a Content Delivery Network (CDN). However, CDNs can be costly, annoying to configure, and not ideal for a federated social network like MoodleNet.
Bittorrent is a mature technology that allows files to be split up into pieces and both shared and downloaded from multiple nodes. A torrent usually consists of multiple files, not unlike a MoodleNet collection.
In the above example, a series of files available from archive.org are being downloaded using Transmission, a bittorrent app. The user may choose which of the files to download.
Application to MoodleNet
What if, when a user follows a collection, MoodleNet works in the background to sync all of the files within the collection via bittorrent? This could happen in one of two ways:
- User's device - we could use WebTorrent to sync files to the user's local device
- MoodleNet instance - we could use regular torrent technologies on the backend to sync user-followed collections to the server instance
The second option is potentially easier, but definitely something that would have to be switched on or off by the instance administrator due to the storage requirements. The first option is probably technically more complicated.
Something for Mayel to explore at some point over the next few months