Right, so this application is going to be built on Firebase now, I probably don't need to tell you
what Firebase is all about.
It's basically a database that's hosted in the cloud by Google.
But of course, it's not just that it contains authentication, it contains the database.
As I say, it allows you to store files.
It allows you to query all that data and set complex user permissions so people can access data that
they shouldn't access, i.e. other people's messages for this particular app.
Now, Firebase used to be sort of the go to solution, but recently Google have brought out fire store,
Google Cloud Firestorm.
Now, this is very similar to Firebase, except Fire Storm is much more scalable.
It's effectively infinitely scalable because what people discovered was that Firebase itself scaled
up to a certain point.
And then you started to have to come up with complex developer strategies to mitigate surges in your
demand.
Or if your demand grew constantly, then Firebase always ran into issues.
Fire Storm aims to fix that weather firestorm actually fixes that in practice.
Well, you just have to do your own research to see if that's the case.
But that's the idea behind it.
Now, fire is fire.
Fire story is still relatively new.
So I wouldn't rely on it too much at this point.
But by all means, if your app is going to be scaled very large very quickly, then go for Fire Storm,
which is going to use Firebase here, because all of these things are pretty similar.
So.
And by pretty similar, I mean, our requirements as app developers are that we just need a basic store
at this point, we can upgrade things later on if our apps take off.
OK, so just a couple of highlights of Firebase and why you would choose a database as a service or
a cloud store as a service, as this is known, instead of rolling your own?
Well, basically, this takes care of all the infrastructure costs for you or the infrastructure complexity.
If I boil that expression down, all that means is that they're running the servers.
They're making sure the servers are always up.
And as a developer, making a beta product, that is an invaluable service because rolling your own
server is expensive and takes a long time.
And when it crashes, you have to get out of bed at three thirty a.m. to go and fix it right at Firebase.
Most of that is removed.
One disadvantage of this is that if Google changed their pricing or they changed how their product is
implemented, you have no say over that.
Right?
So it's like voting for the national president of your country.
Your vote doesn't really matter.
Only all the votes matter when counted up in aggregate.
So be careful if you have a very custom app that relies on specific features in FIREBASE, I'd say be
very careful before implementing it or using it.
Have a good think about what you're doing and the future needs of your app.
But for our app, again, simple, easy to do, lets us get started immediately.
So great choice for us.
So backed by Google one platform with products.
Of course, it's not just for our store.
We have machine learning.
We have cloud functions which are effectively servers with that allow you to write applications that
interact with your database.
And those applications sit in the cloud so you don't have to have a server again.
We've got authentication, we've got hosting cloud storage and of course, the real time database.
Now, the fantastic thing about Firebase is that the real time database syncs data for offline use as
well.
If you specify that that's what you want.
So your user can use the app even without a network connection that is very powerful.
And it is where the whole app business is headed towards.
Everyone is doing that these days.
So improve our quality.
We don't need to go through that.
Grow your business.
Now, this is quite important.
We have in app messaging, we have analytics, Google analytics.
If you've ever run a website, you'll be familiar with that.
You can have user segmentation.
I've never used the smart one a voice segment them myself.
We have a B testing so you can see what combinations of apps work, best cloud messaging.
These are very useful, of course, push messaging.
And we can have remote config, dynamic links, that's all pretty complex stuff, so we're going to
leave most of that out.
There are extensions to Firebase haven't touched any of those, but we can trigger emails, run some
subscription payments with Stripe.
We don't have to do that if you're an Apple because Apple take care of all of that for us.
We have lots of integration's.
Yada, yada, yada.
It is very easy to integrate as you're about to see.
These are all the people that use it, blah, blah.
OK, now let's look at pricing.
So free we have the free and pay as you go, you get all these things for free and authentication,
you get 10000 authentications a month.
So logins or registers, I think, log in and register count as just one event together.
You get phone authentication if you so wish.
On the pay as you go, it's one cent, otherwise you get 10k free.
Sorry I made a mistake there.
This is for SMS authentication.
And other authentication services.
Well, you know, email, password, no problem, in you go, where you start to pay is for the amount
of data that you've stored, but that doesn't cost that much.
I mean, a gigabyte is 18 cents.
This is per month.
If you pay for 10 gigabytes of network egressed, that means data going out of a store, you need to
rely on Google cloud pricing.
If you want to write documents, you get this many per day, that many per day, and then you start
paying these rates of reads, writes and deletes.
So rates are always more expensive in computing terms because you have to change something on disk.
A reed would just be get the data from a memory store so it's much cheaper to maintain in terms of the
hardware cost over time.
And then deletes, well, then that's pretty cheap and you won't do many deletes probably.
OK, so if you want no JSH, it's on the free version and Narges 10:00 or later, you have to do the
pay as you go.
But the good thing about the pay as you go is you get a free tier of usage.
So that's this is all for cloud functions.
But cloud messaging is free.
We have hosting gigabyte transferred in app messaging, machine learning.
I am looking for this.
So we have real time data base so you can have 200000 connections per database in real time.
That is pretty much the hard limit of Firebase when it comes to having your users connected.
So if you have two hundred thousand daily active users or did use Dao's, then you will be fine.
Anything over that, you're going to start to run into issues and you might want to think about Firestones.
You also pay one dollar per gigabyte downloaded off the database and five dollars per gigabyte stored.
So again, you need to think very carefully about your app.
You don't want to say sync the whole database, OK, because every time they load up, you're paying
that rate for what they are downloading.
And if you have a user generated content app, then you're going to be paying a lot of money if you're
downloading that to all 200000 users.
Okay, so we have also storage.
These are four files that you're going to store.
We have the test lab not bothered about that or actually the test lab allow you to run tests on physical
and virtual devices.
OK, if we go over to a store, I'm pretty sure.
Where is the pricing?
I think Firestar at this point is the same price as fire based.
Except it's just much more scalable, so I'm just going to search for store on this page, we have stored
data gigabytes stored.
And I'm just looking at the differences here.
OK, yeah, they are the same price the last time I looked, they were actually different prices and
a store was pretty expensive.
If you know different, then please leave a comment.
But I think they are the same now.
Now, one final thing I'll say before we finish this is you need to have or I need to understand when
I'm making an app, what's my lifetime customer value?
How much money will each customer on average make me and how much will that customer cost me in total?
So if they're using my real time database and they download a gigabyte every month by a gigabyte every
month, they're then they're costing me a dollar.
I need to make more than a dollar from that end user to make firebase worthwhile.
If those two numbers don't match up and you won't know if they match up until you've launched your app.
Then what you have to do is run some sort of mitigation strategy, so only allow them to download,
say, 100 megabits per month and then put them on a premium plan, you know, for 99 cents a month,
you'll make your money in that way.
So these are just all little things you have to be aware of for our particular app.
We don't consider any of these strategies with cost and expense or the financials, really.
But if you've got a big app idea and let's face it, who doesn't these days, then that is something
that you need to think about.
Right?
So that's enough of that.
Let's go ahead and sign up for a firebase account.