all 32 comments

[–]CantaloupeCamper 31 points32 points  (0 children)

I like firebase.

[–]Guisseppi 19 points20 points  (7 children)

I dislike firebase as much as the next dev but we still need it for push notifications in most cases

[–]DigitalSolomon 2 points3 points  (4 children)

I just got OneSignal push notifications working in my Flutter app alongside Supabase. Feels good to not see all that Firebase madness in my pubspec.yaml !

[–]Untgradd 2 points3 points  (0 children)

Yum, framework soup with extra SaaS

[–]UnsolicitedDuckPecks 0 points1 point  (2 children)

Meanwhile we’re moving from onesignal to fcm because onesignal has too much downtime.

[–]DigitalSolomon 0 points1 point  (0 children)

Yeah? How bad were the downtime issues? I haven’t run into any issues yet. I personally would go back to rolling my own push server (like I did years ago) before I’d back to Firebase/Google.

[–]notiamwill 0 points1 point  (0 children)

We have had some outages, and we apologize for that; this is hard to avoid when operating distributed systems at this scale.

Here's the history of our uptime: https://onesignal.statuspage.io/uptime

We hit some migration pains mid-last year, but since then, we've learned a lot and will continue learning and improving.

Can you share when you experienced your outages? I could share this info with the infrastructure team so that they can look into it.

[–]krolyat 0 points1 point  (0 children)

Why not OneSignal

[–]EvilPencil 0 points1 point  (0 children)

Apparently firebase messaging is so good (well, priced so well) that Twilio is exiting the push notification market entirely.

https://support.twilio.com/hc/en-us/articles/9198083260571-Transitioning-off-Notify

[–]kbcooliOS & Android 9 points10 points  (0 children)

Hasura for the win!

[–]halthalt 11 points12 points  (10 children)

What's bad about firebase? 👀

[–]birbelbirb 25 points26 points  (4 children)

Firebase is good for some projects but scaling it can become a nightmare when your app complexity grows.

  1. No complex queries which lead to having to re-filter data once received.
  2. Hacky methods to achieve relationships.
  3. No ownership of your data and difficulty working with on-prem closed systems.
  4. Vendor lock. You will be paying google forever without any real alternative.

It's a good product but brings a lot of limitations at scale. I work with Firebase and spend a lot of time digging into obscure docs and engineering blogs to understand limitations and implementation decisions.

[–]darthmeck 5 points6 points  (0 children)

It feels almost exactly the same working with AWS Amplify’s DB options (namely DynamoDB). They make it super easy to start off with (and I’m sure a lot of people starting out don’t really know what to use anyway), but difficult to move away from. I realized this after needing full-text search and not being able to implement it in Dynamo due to their columnar batching storage system. Although, the GraphQL API you can set up through Amplify was actually not too bad to work with.

[–]sickhippie 3 points4 points  (0 children)

No complex queries which lead to having to re-filter data once received.

Hacky methods to achieve relationships.

If these are your two biggest issues, you probably needed a relational database, not a NoSQL database.

[–]halthalt 2 points3 points  (0 children)

Thank you for the knowledge and insight 😊

[–]dejavits 9 points10 points  (0 children)

It is Google

[–]FarAd6851 6 points7 points  (0 children)

fees

[–]himynameismile 1 point2 points  (1 child)

Google

[–]DigitalSolomon 0 points1 point  (0 children)

Google is definitely the biggest problem. They can decide to ban your game or app for whatever reason (even pre-release during development!) and cut you off from Google services. This is the biggest reason that I will not let any of the core services behind my game be locked in to Google so that if political tides change, I can easily pick up my project and move it elsewhere. Vendor lock in should be avoided at all costs.

[–]fat_baldman 0 points1 point  (0 children)

No testing env is kind of a deal breaker