In central Africa or other economically less developed countries people often use very cheap smartphones, like from tecno or other producers. (The situation might be similar in India, where you also have many poor people that need and use cheap smartphones wherever possible.) Also, network might be unstable or slow in these places.
My question here is: Would it already be possible to run an IPFS based app on such smartphones that could help distributing e-Learning material to places that were not reachable for such information before?
Basically, the question is not only, if this is possible, but also if this would make sense. My idea is that it could make sense if such smartphones could distribute data peer to peer, not client server based. So, wherever these underprivileged people live, they might be able to help each other using IPFS, re-distributing learning material, even on slow internet and cheap devices.
For hardware I don’t think it will be a problem, I do Edge Computing stuff and I’ve tried ipfs in different arm and arm64 devices like RPis and OPis, with 256 or 512 MB of RAM and it works like a charm, although it’s true that the golang implementation is the one that works flawless, the js implementation is a bit slow and with 256 of RAM it gets stuck in some occasions, anyway a smartphone no matter how old it is has better hw than a RPi zero so there should be no problem for using one implementation or another. From the network side I can’t tell you anymore, my tests were carried on a local network.
For me it makes sense, especially because of the data volume that the e-learning platform could have, if it is a large volume of data you would also have the problem of the cost of storage in the central server and if the connection is bad you could also have many recurring requests flooding the network
What about a collaborative IPFS Cluster or an OrbitDB, depending on who you want to give write access.
If hardware is a limitation (nodes can’t sync the full base), you will have to have a policy to know what to sync. If you want to optimize for resilience, go with a massive IPFS Cluster (so that less popular content are replicated) or OrbitDB. If you want each person to choose what they sync in priority, let IPFS cache what they access organically. (I guess.)