letsdoitworld / World-Cleanup-Day

☀️ World Cleanup Day: App (React Native) & Platform (Node). Join us in building software for a cleaner planet! PRs welcome!
https://www.letsdoitworld.org/
GNU General Public License v3.0
109 stars 45 forks source link

offline mapping mode #12

Open KristiinaKerge opened 7 years ago

KristiinaKerge commented 7 years ago

When creating a trashpoint, if there is no Internet connection, keep the data locally until it can be sent to the database. Display the user a message: Your trashpoint is going to be created when your device is connected to the Internet

KristiinaKerge commented 7 years ago

https://drive.google.com/open?id=0B-AbsGblifS-QjhyRGduRGo2WmM

lynxlynxlynx commented 7 years ago

To add further motivation, this was a blocker identified already in the first pilot. Also, at the very end of October I'll have to sell the idea of the app at the African Leaders' Academy, so being able to live-test it, without mobile data availability and extra roaming charges for most of the attendees, is pretty critical.

krishaamer commented 7 years ago

Here's some community working on this issue in general and using CouchDB (which we also use).

https://blog.couchdb.org/2017/10/18/join-the-offline-first-community-at-offline-camp-oregon/

https://www.youtube.com/channel/UC8LJKi0UlvZygUMC8wsKFEQ/videos

KristiinaKerge commented 6 years ago

@lynxlynxlynx @krishaamer @iiasunshine what kind of competence we need to solve it

lynxlynxlynx commented 6 years ago

I'd say no special competences are needed, as it's a common mobile dev thing to do.

KristiinaKerge commented 6 years ago

we are using couchdb and for offline we can use https://github.com/pouchdb/pouchdb/wiki/Who-or-What-Is-Using-Pouch so it seems that we need expert of couchdb to make the offline mode

KristiinaKerge commented 6 years ago

What map would be the best - Google map, Openstreetmap, Carto? @jaakla @lynxlynxlynx @krishaamer

jaakla commented 6 years ago

Disclaimer: I'm head of Carto Mobile. Google has probably the best worldwide map, main/only issue is that it does not work offline on mobile (nor web). It can also become expensive if you exceed free limits, but this should not be issue; and some users hit technical limits for more complex cases (bigger datasets for example). But 90% apps/websites use them anyway.

Openstreetmap is really a map database, not map service, so you need a provider of map tiles for this. For web you have a few choices providers, biggest commercial ones are probably mapbox and carto, but there are many more. Mapbox advantage may be that they have nice style customization tool (Studio), carto is simpler, faster and cheaper, others have different features and specialities. For mobile apps again mapbox and carto should have the best mobile map SDKs on top of openstreetmap, both have offline features: mapbox allows to download limited areas,e.g. cities, carto allows areas and also whole countries (and carto has also offline routing and search, mapbox does not). Other mobile solutions are quite far away from these two for general use, at least technically.

KristiinaKerge commented 6 years ago

we can do it with out the map. user takes picture, adds type, ammount, hashtag and saves confirmation message says that when you are back online your trash point will be added to the map

jaakla commented 6 years ago

Map view gives nice visual way to avoid duplicates, and see which areas are under- and over-mapped. Otherwise, map-less mapping might work also, as need for manual entry or location fix is probably rare case for ordinary mappers.

KristiinaKerge commented 6 years ago

We will have the first version without map, because we have to make new release with it by the end of Feb.