Syncing to the cloud in a developing country
June 15, 2017 9:55 AM
Wondering if anyone has any advice on the best way to design an app that efficiently sends data to an online DB in a country where folks conserve their data carefully on 10 MB/day SIM cards. Specifically I have a question about Firebase, but any relevant stories or experiences welcome.
So I'm making an app that's supposed to record survey data in a small country without a lot of bandwidth--with limited 3 and 4G coverage but sometimes 2G--and then send it to the Net every day. Looking for good strategies on designing a communications system that can let people send stuff on demand (or commit it to a cache, anyway) when the signal is spotty.
I've been looking at using Firebase. What I am having trouble pinning down about Firebase is how much data it typically uses to maintain its Websockets-style connections. I think the technique is proprietary, so this info seems scarce.
Not sure if it will use up more data on the phone than on a your typical Websockets connection to a Socket.io kind of deal. Trying to figure out if it would be too much of a hog for these 10 MB/day SIM cards that people will be using. (I think it would just be a tiny percentage but I'm having trouble finding specific numbers.)
Also trying to establish numbers showing whether using the normal Firebase sync behavior is efficient enough to use in situation. The data is mostly just JSON objects making up forms, but may expand to deal with images.
The other complication is that apparently the locals strongly prefer to send/receive everything, old school, with the push of a button rather than have it sync passively, but Firebase's syncing - if it could work in this bandwidth climate - would solve so many problems. I'm also looking at things like compressed binary data formats (MessagePack).
Maybe there is a better alternative to Firebase for this? A custom backend? Pretty small budget on this app, but wondering how the communications engineers of Ask Metafilter would approach this. Any help much appreciated.
So I'm making an app that's supposed to record survey data in a small country without a lot of bandwidth--with limited 3 and 4G coverage but sometimes 2G--and then send it to the Net every day. Looking for good strategies on designing a communications system that can let people send stuff on demand (or commit it to a cache, anyway) when the signal is spotty.
I've been looking at using Firebase. What I am having trouble pinning down about Firebase is how much data it typically uses to maintain its Websockets-style connections. I think the technique is proprietary, so this info seems scarce.
Not sure if it will use up more data on the phone than on a your typical Websockets connection to a Socket.io kind of deal. Trying to figure out if it would be too much of a hog for these 10 MB/day SIM cards that people will be using. (I think it would just be a tiny percentage but I'm having trouble finding specific numbers.)
Also trying to establish numbers showing whether using the normal Firebase sync behavior is efficient enough to use in situation. The data is mostly just JSON objects making up forms, but may expand to deal with images.
The other complication is that apparently the locals strongly prefer to send/receive everything, old school, with the push of a button rather than have it sync passively, but Firebase's syncing - if it could work in this bandwidth climate - would solve so many problems. I'm also looking at things like compressed binary data formats (MessagePack).
Maybe there is a better alternative to Firebase for this? A custom backend? Pretty small budget on this app, but wondering how the communications engineers of Ask Metafilter would approach this. Any help much appreciated.
« Older Encouraging Dogs to Play Together? Should I? And... | Dealing with job performance anxiety (in STEM, if... Newer »
This thread is closed to new comments.