Giter Site home page Giter Site logo

Comments (6)

barbeau avatar barbeau commented on June 12, 2024

Seems like Google Cloud Save in Google Play Game Services would be a good candidate here, since it also includes support for iOS and web. So, we could share favorites across platforms as well.

I'm interested in this to support saving favorites to Glass (#116) as well, although currently Glass does not support Google Play Services, which is required for Cloud Save. Maybe Glass could use the web REST API instead?

from onebusaway-android.

paulpv avatar paulpv commented on June 12, 2024

@barbeau FYI: I use Android's BackupManager on my [currently private] Glass app, but I haven't confirmed if it is actually backing up my settings to the cloud or not.

from onebusaway-android.

barbeau avatar barbeau commented on June 12, 2024

@paulpv I guess BackupManager would work for a one-time bootstrap of user data on Glass, which would restore the users favorites, etc. when they install the Glass app from their most recent backup from an Android device. But, it seems like even if you treat Glass app as read-only (i.e., the user can't edit/add/remove items), you really shouldn't be using this to keep Glass up-to-date with ongoing changes from Android device - from Data Backup docs:

Note: The backup service is not designed for synchronizing application data with other clients or saving data that you'd like to access during the normal application lifecycle. You cannot read or write backup data on demand and cannot access it in any way other than through the APIs provided by the Backup Manager.

And, I'd prefer to allow the user to do simple things from Glass like tag new stops as favorites, etc. For this, and syncing changes across multiple devices/platforms, seems like Cloud Save or something similar is needed.

from onebusaway-android.

barbeau avatar barbeau commented on June 12, 2024

Looks like Firebase Real-time database might be a good option for this - https://firebase.google.com/docs/database/.

from onebusaway-android.

barbeau avatar barbeau commented on June 12, 2024

From https://firebase.google.com/pricing/ for "Realtime Database":

SPARK (free) plan:

  • Simultaneous connections = 100
  • GB stored = 1 GB
  • GB Transferred = 10 GB
  • Daily private backups = NO

FLAME ($25/month) plan:

  • Simultaneous connections = Unlimited*
  • GB stored = 2.5 GB
  • GB Transferred = 20 GB
  • Daily private backups = YES

For FLAME Unlimited connections:

*Firebase imposes hard limits on the number of connections to your app's database at the same time. These limits are in place to protect both Firebase and our users from abuse.

The free plan limit is 100, and cannot be raised. The Flame and Blaze Plans have an initial limit of 10,000 simultaneous database connections. This is to prevent abuse and can be raised by contacting Firebase support with 24 hours notice.

This limit isn't the same as the total number of users of your app, because your users don't all connect at once. We encourage you to monitor your peak simultaneous database connections and upgrade if needed.

We're working hard to remove the initial 10,000 simultaneous connection cap on the Flame and Blaze plans.

Without running any numbers, I'm guessing that for something simple like storing the combination of userId and favorite stopIds we'd be able to squeeze into the FLAME package for $25/month. Free tier wouldn't work due to limited number of simultaneous connections at 100.

from onebusaway-android.

barbeau avatar barbeau commented on June 12, 2024

Looks like Cloud Firestore is replacing Firebase Realtime Database - see:
https://firebase.google.com/docs/database/rtdb-vs-firestore

from onebusaway-android.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.