
Firebase gets better analytics, crash reporting and more - jamest
https://techcrunch.com/2016/11/07/googles-firebase-developer-platform-gets-better-analytics-crash-reports-and-more?1
======
DigitalSea
This is great news. My last few web projects have all been based on Firebase
because I focus on the front-end these days and I don't have to worry about
scaling, databases, API endpoints and other nonsense which consumes a lot of
my day. The pain of even getting a VPS deployed with support for Node.js,
database and then figuring out some kind of redundancy to keep Node and my
database running can also consume your day.

I used to favour Node.js for my REST API backend, but you can't beat the
pricing for Firebase and generous free tier. One of the lesser known features
is the cloud configuration service which gives you an SDK, it allows me to
remotely turn settings on and off, syndicating them in realtime across all
devices.

Oh, and the authentication functionality that Firebase offers with the
painless SDK is absolutely fantastic. It's crazy easy to add Google/Facebook
login functionality to my application and not worry about dealing with the
pain of JSON Web Tokens, oAuth authentication and the other pain points of
integrating social login. Implementing authentication used to be painful,
fortunately services like Auth0 and Firebase are making it easier.

To those wondering who would use Firebase, I am a prime example. I am a front-
end developer, but I come from a full-stack background. As I focus on the
front-end, I've lost interest in configuring API's and backends, so Firebase
handling this for me without needing to really do anything is a huge plus. I
have no want, need or desire to ever touch a backend if I can avoid it.

For prototyping, you can't beat Firebase's cloud hosted database which
utilises a JSON format to store data aka NoSQL without the scaling pain like
MongoDB inflicted upon us. The rules engine that sits ontop of it allows you
to configure it however you want, support for indexes and more.

Makes me happy to see that Google is doubling down on Firebase, it truly is a
great product and I would be sad to see it discontinued.

~~~
girvo
Question: How do you deal with authorisation? I've still yet to come up with a
solution I'm happy with unfortunately; I'm currently relying on a custom token
generated server-side that grants given users particular claims that I then
check in the database rules, but it feels... brittle, I guess.

~~~
Kiro
> I'm currently relying on a custom token generated server-side

I don't understand. Where's this server? I thought the point of Firebase was
that you don't need a server.

~~~
girvo
For custom claims on tokens you need a server, unfortunately. I've not found a
way around it yet, but I was hoping someone had an idea on how to get rid of
it!

------
mentos
Firebase needs to get a C++ SDK for Unreal Engine 4 so I can put it to use in
the FPS I'm working on.

I would love to setup a master server browser list that updated in real time
so that you can see by the moment the availability of servers and stats of
current players in the server. I think Firebase would really make this
electrifying! Right now the delay that Steam's master server browser list has
is just so 1998.

After that I'd add realtime global chat to the main menu of the game and
server administration without having to log into a server. Then maybe I'd play
around with doing some funky stuff where I push player locations in real time
to Firebase and use that to drive a webclient that just renders the map
artwork and player location dots.

So many possibilities (!!!) but without a true C++ Firebase SDK I can't
justify the time to develop these features or the SDK myself as I have a
boatload of other tasks to complete for the game.

If anyone is interested in freelance C++ work and thinks they could create a
true socketed Firebase SDK solution (not REST) in UE4 send me an email at
contact@drivenarts.com

~~~
stewartmiles
Hi, Stewart here from the Firebase team.

We released a C++ API for the Realtime Database earlier today targeting iOS
and Android, you can get started with it here
[https://firebase.google.com/docs/database/cpp/start](https://firebase.google.com/docs/database/cpp/start)

Using the C++ API within Unreal (assuming you're targeting mobile) is a little
tricky as we have dependencies upon Android resources (e.g AARs) that can be
hard to integrate into Unreal's build system. You would probably need to list
the set of transitive dependencies (see
[https://groups.google.com/d/msg/firebase-
talk/15SdQA8xtnc/aw...](https://groups.google.com/d/msg/firebase-
talk/15SdQA8xtnc/awFGx_-PBwAJ)).

It would be informative for us to understand which platforms you're targeting
and which features of Firebase (we support more than the Realtime Database)
you would consider using.

Cheers, Stewart

~~~
mentos
Thanks for the response Stewart! In my post I completely forgot to mention
that the game is currently targeting PC.

Whats the outlook for a Firebase PC C++ SDK? (Right now I'd only be interested
in the real time database.)

Given UE4's success I think the effort to support the platform would be worth
it. The use cases I listed above are just the tip of the iceberg. Think about
it? :P

~~~
stewartmiles
Yep, thinking ... no commitments for desktop support at the moment I'm afraid
:)

------
ino
Excuse the tangent, but what problem does Firebase solve?

I was updating my app and AdMob and they want me to use Firebase now.
[https://firebase.google.com/docs/admob/ios/quick-
start](https://firebase.google.com/docs/admob/ios/quick-start)

I wanted to know why should I include it just to use AdMob so I checked the
video on the page:
[https://youtu.be/9qCxo0D-Sak](https://youtu.be/9qCxo0D-Sak) They promise to
explain benefits for me but they only tell me how to use it. The docs also
don't do it.

It seems to me that it solves more some problem Google has than the developers
have.

~~~
jamest
[Firebase Founder] The combination of the two is meant to help you maximize ad
revenue.

Since Firebase has a free & unlimited analytics product, you can see your
AdMob stats in the same place as your other analytics data.

From a conceptual point-of-view, the Firebase SDKs are now the place Google
puts 'core mobile offerings', AdMob is one of those

~~~
scsilver
With such a generous free tier, what are you guys doing to ensure you will be
around in 5 years? Love your service, it just seems too good to be true.

~~~
vlod
Google bought Firebase back in 2014:
[https://techcrunch.com/2014/10/21/google-acquires-
firebase-t...](https://techcrunch.com/2014/10/21/google-acquires-firebase-to-
help-developers-build-better-realtime-apps/)

------
bikamonki
I am a super happy Firebase user from day zero. I've built many production-
ready apps with it and will continue to do so. So far the only features
missing that will make it _perfect_ and a complete back-end solution are:

1\. Server code (something like parse server code or AWS lambda) to run event
triggers (eg: run more complex data validation or trigger a mail/sms after a
ref is created/updated)

2\. Full text search. When I need full text search on my apps I have to spin-
up a server (normally nodejs) and build/keep a searchable index. Then I think:
if I have to run/maintain this back-end piece I might as well build an API for
my app and solve the lack of back-end code as well.

3\. I am still not sold on React/Vue/Angular2 so the tried and tested Backbone
framework is my weapon of choice. Sadly enough, there is no _official_ library
to implement Backbone-Firebase bindings so I find myself hacking patches.

~~~
brazzledazzle
Have you taken a look at the AWS managed elasticsearch service for your
search/indexing?

~~~
bikamonki
Yes, it seems like a good solution. I've also rolled out my own: a simple
nodejs app that listens to child added/changed events and updates a simple
index which in turn can be queried through an API. For now that fits my needs.

------
bmpafa
I use firebase daily for my project. Love these new features in theory, but a
little bummed haven't seen analytics or remote config make its way to the web
SDK yet (all my projects are webapps).

Framing analytics as the 'heart of firebase' makes me a little worried about
the future of firebase for web projects. Is firebase moving away from webapps?

------
DougN7
Honest question to Firebase users - with Google's history of ending products,
aren't you nervous about building your business on top of this? This seems
pretty locked in.

~~~
ben_jones
I think the difference for Firebase, and contradictory to what happened with
Parse, is that Google is pretty invested in cloud database offerings through
Google cloud. My company doesn't use Firebase anymore (though we briefly did
while building our MVP), but we would consider it again if the situation was
right.

~~~
DougN7
I think you mean "(at the moment) Google is pretty invested in...".

I'm finding I don't trust other companies any more, even those with the best
intentions. I'll use them as long as I have an option to switch away to an
alternative. If there is no alternative without a rewrite, no way...

~~~
ben_jones
I don't know. Sure Google has axed a lot of projects, but how many have they
axed the size (and investment) of Google cloud? Just on HN you'd think they
have hundreds of people on it just from the "-source work on google cloud"
comments.

------
smnl
I've used Parse extensively as a backed for iOS apps before and lately started
trying out Firebase as a replacement. Firebase seems like a decent alternative
so far, but there's 2 important features that I'd like to see:

1\. Always immediate updates for Remote Config flags - currently Firebase uses
old cached flags for up to 12 hours and only allows immediate updates in the
"developer mode", but in production, sometimes you need to change a config
flag for all users immediately, perhaps to fix a bug, and can't afford having
clients still use the old cached values.

Also, it would be nice if Remote Config supported additional data types like
arrays, dicts, and dates.

2\. A non-realtime key-value datastore - most apps don't require a realtime
database, so it'd be great to have a simple datastore where you don't have to
worry about managing the number of simultaneous connections.

------
cornflake
The free version of Google Analytics gets capped at a certain volume of
traffic whereas Firebase doesn't. That's definitely one motivating factor to
make the switch.

I'll be interested to check it out when they get around to introducing Real-
Time user stats to firebase. That's a pretty crucial component of analytics
which I have open all the time.

Google contacted me to switch to firebase from analytics. Seems like they're
putting a lot of effort into re-launching the firebase brand this year.

~~~
stewartmiles
Checkout the sneak peak of Firebase Analytics's StreamView.
[https://youtu.be/2sCjSz_svdY?t=1787](https://youtu.be/2sCjSz_svdY?t=1787)

Also, it sounds like you may find the new DebugView feature interesting.
[https://youtu.be/2sCjSz_svdY?t=1346](https://youtu.be/2sCjSz_svdY?t=1346)

Cheers, Stewart (Firebase team)

~~~
cornflake
That keynote helps a lot, thanks Stewart

------
mahyarm
What do you do if firebase dies like parse and stackmob? This quora answer
makes a pretty persuasive argument as to why you shouldn't rely on these
platforms: [https://www.quora.com/Why-is-Parse-shutting-
down/answer/Tim-...](https://www.quora.com/Why-is-Parse-shutting-
down/answer/Tim-Hampson-1?share=1)

~~~
lonelycoder2
However the alternative is making your own stack which for small devs is more
resources then you may have. Instead of spending time developing the tech
that's core you have to create a backend. I had a project on parse but it
isn't very successful so I'm letting it die instead of migrating. If it was
successful I would have the time & money to migrate it.

------
rch
I stopped looking at Firebase for a while since they seemed to have trouble
with my multiple, simultaneous Google account logins. Pretty reasonable
growing pains actually, and based on clicking around now, possibly fixed.

No opinion on the current news, other than that it's nice to see continued
signs of life.

~~~
Raphael
The best way around that is to use Chrome's "Switch Person" feature.

~~~
rch
Disagree. Google manages multiple logins just fine.

------
gina650
Interviewed a new YC startup recently called Scaphold they are a BaaS using
GraphQL.

[https://soundcloud.com/user-925097294/mike-paris-founder-
of-...](https://soundcloud.com/user-925097294/mike-paris-founder-of-y-
combinator-backed-startup-scaphold-talks-on-building-great-startups)

~~~
bmpafa
Scaphold, along with Reindex, are pretty interesting. Don't know a lot about
graphql, but it looks like they're both positioning to be firebase
competitors. Both would have the distinct advantage (for the user,
disadvantage for them) of using regular graphql queries in an app, meaning a
project could easily migrate from one graphQL backend to another (whereas
Firebase would require significant refactoring).

~~~
gina650
yes it is scaphold.io and there was the first GraphQL summit last week in San
Francisco and they were mentioning all the companies changing over and hiring
for graphql skills.

------
Illniyar
Seriously? What about triggers, or running google functions at request? Who
needs more analytics functions.

------
hiou
So happy to be wrong about the future of Firebase. Firebase makes it so easy
for setting up the basics of any crud and I'm glad Google continues to support
it.

------
moflome
Good news & glad to see the continued investment in Firebase. It's quickly
become the go-to BASS for our client's React apps; works great with
Redux/Thunk.

Any update on the multi-domain hosting [0] issue?

[0] [https://groups.google.com/forum/#!topic/firebase-
talk/fcpBcB...](https://groups.google.com/forum/#!topic/firebase-
talk/fcpBcBOJUBU)

~~~
mbleigh
A solution is under active development. We don't communicate timelines, but
it's a high priority for the team.

------
Strom
> _Google decided to double down on Firebase_

So much so that they announced the closing down of another realtime service
just last week, the Channel API [1], and are trying to funnel everyone into
using Firebase instead. Frankly I'm not sure I even want to look into another
Google service as I feel it'll get deprecated in no time as well. Better to
use someone whose primary business I'm using.

[1]
[https://cloud.google.com/appengine/docs/deprecations/channel](https://cloud.google.com/appengine/docs/deprecations/channel)

~~~
jaxondu
Any idea what are the alternatives? Dont see similar offerings from AWS or
Azure.

One minus point for Firebase is its Android SDK relies on the availability of
Google Play services. Most of Android phones in China has no Google Play. So
apps can not run even when you do not utilize any of Google Play services. In
addition, there is no official words that you can use Firebase services within
the great China firewall. It's better to look elsewhere if you have China
market in mind.

~~~
Strom
Alternatives for the whole collection of Firebase services? Not sure, but for
the realtime messaging/sync part I found the following four that I'll take the
time to investigate as replacements for my Channel API usage.

* [https://pusher.com/](https://pusher.com/)

* [https://www.pubnub.com/](https://www.pubnub.com/)

* [https://www.ably.io/](https://www.ably.io/)

* [https://framework.realtime.co/](https://framework.realtime.co/)

------
Kiro
What kind of apps do you build with Firebase? The lack of server-side logic
must be really limiting.

~~~
willempienaar
Firebase is great for getting up and running quickly.

If you want server side logic then you can use Firebase as a queue. So let the
client request data through Firebase and then you have another service monitor
the queue and fill requests.

------
jefffriesen
Has there been any commitment stated anywhere to analytics for web apps?

------
wiradikusuma
Anyone has link to the new Firebase course in Udacity mentioned in the
article?

EDIT: Also, if possible, link to join the realtime analytics beta, as I just
checked in the Console, there's nothing new there.

------
sidcool
Firebase is fast becoming my favorite platform for Android development. Great
feature set. I just hope nothing like Parse befalls it.

------
meursault334
It's nice to see the Unity SDK out. What I would love to see is support for
unity3d with webgl.

