nboughton / stargazer

Repo for Stargazer app
https://nboughton.uk/apps/stargazer
Other
55 stars 21 forks source link

Remove google sync #7

Closed SteveLillis closed 2 years ago

SteveLillis commented 2 years ago

@nboughton The Google drive based sync approach feels too brittle to me due to a number of difficult-to-circumvent race conditions, and I didn't like that it was blocking the release of all the recent quality of life improvements.

This PR removes the Google functionality so that the app can be released when appropriate, while I rethink the approach to perhaps use a Dexie syncable or similar.

Dexie Cloud looks promising but isn't publicly available yet.

Otherwise I may just cave and host a small server somewhere, it would certainly make things simpler.

SteveLillis commented 2 years ago

@nboughton Ok, I've given this some thought and I think that the most sensible approach for me to enable users to persist their information whilst retaining the support for offline:

So all in all it'd be about $30 per month to host. How does that sound to you? Is it outside of what you were thinking for Stargazer? If so, let me know and I'll give some more thought to how I might make Google work for this. Or perhaps find another free alternative.

Either way, I think it would be good to merge this removal of the half-implemented google sync, so that users can have access to all of the improvements that have otherwise been added.


Edit Another idea I had that would do away with race conditions (or at least, put the emphasis on the user), is if I simplify the Google Drive approach so that instead of trying to keep devices in sync, we simply let the user manually upload/download campaigns themselves (i.e. duplicate the export functionality but in a "export to Google Drive" sense)

nboughton commented 2 years ago

I'm definitely against attempting to host user data. Shawn is going to be paying for the app hosting once Stargazer is out of beta and ideally I think the app and architecture shouldn't rely on us providing storage hosting as a 3rd party.

I think the middle ground of having an Export to GDrive/Load from GDrive buttons in the left drawer is probably the best compromise to avoid race conditions if we want gdrive support in the app.

I'll merge this PR and get a couple of bits I've been meaning to add into the app this week before pushing an update live.

SteveLillis commented 2 years ago

I'm definitely against attempting to host user data. Shawn is going to be paying for the app hosting once Stargazer is out of beta and ideally I think the app and architecture shouldn't rely on us providing storage hosting as a 3rd party.

I think the middle ground of having an Export to GDrive/Load from GDrive buttons in the left drawer is probably the best compromise to avoid race conditions if we want gdrive support in the app.

I'll merge this PR and get a couple of bits I've been meaning to add into the app this week before pushing an update live.

Thanks! That's great context for me to know. I'll set about switching this to an import/export GDrive as discussed.