1 00:00:00,480 --> 00:00:06,540 Right, so this application is going to be built on Firebase now, I probably don't need to tell you 2 00:00:06,570 --> 00:00:08,090 what Firebase is all about. 3 00:00:08,310 --> 00:00:12,230 It's basically a database that's hosted in the cloud by Google. 4 00:00:12,630 --> 00:00:17,730 But of course, it's not just that it contains authentication, it contains the database. 5 00:00:17,730 --> 00:00:19,830 As I say, it allows you to store files. 6 00:00:20,070 --> 00:00:25,890 It allows you to query all that data and set complex user permissions so people can access data that 7 00:00:25,890 --> 00:00:29,460 they shouldn't access, i.e. other people's messages for this particular app. 8 00:00:30,540 --> 00:00:38,310 Now, Firebase used to be sort of the go to solution, but recently Google have brought out fire store, 9 00:00:39,030 --> 00:00:41,040 Google Cloud Firestorm. 10 00:00:41,370 --> 00:00:48,480 Now, this is very similar to Firebase, except Fire Storm is much more scalable. 11 00:00:48,480 --> 00:00:54,630 It's effectively infinitely scalable because what people discovered was that Firebase itself scaled 12 00:00:54,630 --> 00:00:55,590 up to a certain point. 13 00:00:55,590 --> 00:01:01,710 And then you started to have to come up with complex developer strategies to mitigate surges in your 14 00:01:01,710 --> 00:01:02,220 demand. 15 00:01:02,220 --> 00:01:07,590 Or if your demand grew constantly, then Firebase always ran into issues. 16 00:01:07,830 --> 00:01:13,010 Fire Storm aims to fix that weather firestorm actually fixes that in practice. 17 00:01:13,410 --> 00:01:17,100 Well, you just have to do your own research to see if that's the case. 18 00:01:17,100 --> 00:01:19,100 But that's the idea behind it. 19 00:01:19,470 --> 00:01:20,860 Now, fire is fire. 20 00:01:21,060 --> 00:01:24,360 Fire story is still relatively new. 21 00:01:24,360 --> 00:01:27,780 So I wouldn't rely on it too much at this point. 22 00:01:27,780 --> 00:01:34,050 But by all means, if your app is going to be scaled very large very quickly, then go for Fire Storm, 23 00:01:34,320 --> 00:01:38,870 which is going to use Firebase here, because all of these things are pretty similar. 24 00:01:39,330 --> 00:01:39,750 So. 25 00:01:41,190 --> 00:01:47,700 And by pretty similar, I mean, our requirements as app developers are that we just need a basic store 26 00:01:47,700 --> 00:01:51,240 at this point, we can upgrade things later on if our apps take off. 27 00:01:51,990 --> 00:01:58,710 OK, so just a couple of highlights of Firebase and why you would choose a database as a service or 28 00:01:58,710 --> 00:02:02,760 a cloud store as a service, as this is known, instead of rolling your own? 29 00:02:03,180 --> 00:02:08,160 Well, basically, this takes care of all the infrastructure costs for you or the infrastructure complexity. 30 00:02:08,970 --> 00:02:13,260 If I boil that expression down, all that means is that they're running the servers. 31 00:02:13,260 --> 00:02:15,540 They're making sure the servers are always up. 32 00:02:15,840 --> 00:02:21,900 And as a developer, making a beta product, that is an invaluable service because rolling your own 33 00:02:21,900 --> 00:02:25,530 server is expensive and takes a long time. 34 00:02:25,710 --> 00:02:33,290 And when it crashes, you have to get out of bed at three thirty a.m. to go and fix it right at Firebase. 35 00:02:33,300 --> 00:02:34,860 Most of that is removed. 36 00:02:35,280 --> 00:02:41,820 One disadvantage of this is that if Google changed their pricing or they changed how their product is 37 00:02:41,820 --> 00:02:44,190 implemented, you have no say over that. 38 00:02:44,670 --> 00:02:45,050 Right? 39 00:02:45,360 --> 00:02:48,630 So it's like voting for the national president of your country. 40 00:02:48,990 --> 00:02:51,750 Your vote doesn't really matter. 41 00:02:52,050 --> 00:02:55,490 Only all the votes matter when counted up in aggregate. 42 00:02:55,860 --> 00:03:03,360 So be careful if you have a very custom app that relies on specific features in FIREBASE, I'd say be 43 00:03:03,360 --> 00:03:06,690 very careful before implementing it or using it. 44 00:03:07,440 --> 00:03:11,100 Have a good think about what you're doing and the future needs of your app. 45 00:03:11,550 --> 00:03:17,480 But for our app, again, simple, easy to do, lets us get started immediately. 46 00:03:17,490 --> 00:03:18,990 So great choice for us. 47 00:03:19,440 --> 00:03:22,110 So backed by Google one platform with products. 48 00:03:22,800 --> 00:03:24,660 Of course, it's not just for our store. 49 00:03:24,840 --> 00:03:26,220 We have machine learning. 50 00:03:26,220 --> 00:03:32,340 We have cloud functions which are effectively servers with that allow you to write applications that 51 00:03:32,340 --> 00:03:33,780 interact with your database. 52 00:03:34,170 --> 00:03:38,190 And those applications sit in the cloud so you don't have to have a server again. 53 00:03:38,790 --> 00:03:44,490 We've got authentication, we've got hosting cloud storage and of course, the real time database. 54 00:03:44,880 --> 00:03:51,840 Now, the fantastic thing about Firebase is that the real time database syncs data for offline use as 55 00:03:51,840 --> 00:03:52,170 well. 56 00:03:52,170 --> 00:03:54,270 If you specify that that's what you want. 57 00:03:54,690 --> 00:04:01,590 So your user can use the app even without a network connection that is very powerful. 58 00:04:01,590 --> 00:04:05,460 And it is where the whole app business is headed towards. 59 00:04:05,670 --> 00:04:07,530 Everyone is doing that these days. 60 00:04:08,190 --> 00:04:09,630 So improve our quality. 61 00:04:09,630 --> 00:04:10,680 We don't need to go through that. 62 00:04:11,610 --> 00:04:12,390 Grow your business. 63 00:04:12,390 --> 00:04:13,530 Now, this is quite important. 64 00:04:13,890 --> 00:04:17,370 We have in app messaging, we have analytics, Google analytics. 65 00:04:17,370 --> 00:04:19,980 If you've ever run a website, you'll be familiar with that. 66 00:04:20,430 --> 00:04:22,290 You can have user segmentation. 67 00:04:22,410 --> 00:04:25,230 I've never used the smart one a voice segment them myself. 68 00:04:26,790 --> 00:04:33,000 We have a B testing so you can see what combinations of apps work, best cloud messaging. 69 00:04:33,270 --> 00:04:35,910 These are very useful, of course, push messaging. 70 00:04:36,880 --> 00:04:41,860 And we can have remote config, dynamic links, that's all pretty complex stuff, so we're going to 71 00:04:41,860 --> 00:04:42,880 leave most of that out. 72 00:04:45,100 --> 00:04:49,940 There are extensions to Firebase haven't touched any of those, but we can trigger emails, run some 73 00:04:50,050 --> 00:04:51,560 subscription payments with Stripe. 74 00:04:51,880 --> 00:04:55,980 We don't have to do that if you're an Apple because Apple take care of all of that for us. 75 00:04:56,890 --> 00:04:59,080 We have lots of integration's. 76 00:05:01,140 --> 00:05:02,200 Yada, yada, yada. 77 00:05:02,880 --> 00:05:05,700 It is very easy to integrate as you're about to see. 78 00:05:06,970 --> 00:05:08,990 These are all the people that use it, blah, blah. 79 00:05:09,100 --> 00:05:12,430 OK, now let's look at pricing. 80 00:05:15,620 --> 00:05:22,520 So free we have the free and pay as you go, you get all these things for free and authentication, 81 00:05:22,520 --> 00:05:24,790 you get 10000 authentications a month. 82 00:05:24,800 --> 00:05:29,860 So logins or registers, I think, log in and register count as just one event together. 83 00:05:31,110 --> 00:05:34,260 You get phone authentication if you so wish. 84 00:05:35,260 --> 00:05:39,590 On the pay as you go, it's one cent, otherwise you get 10k free. 85 00:05:39,610 --> 00:05:41,030 Sorry I made a mistake there. 86 00:05:41,050 --> 00:05:43,060 This is for SMS authentication. 87 00:05:44,180 --> 00:05:45,860 And other authentication services. 88 00:05:45,890 --> 00:05:52,910 Well, you know, email, password, no problem, in you go, where you start to pay is for the amount 89 00:05:52,910 --> 00:05:55,890 of data that you've stored, but that doesn't cost that much. 90 00:05:55,910 --> 00:05:57,580 I mean, a gigabyte is 18 cents. 91 00:05:57,590 --> 00:05:58,490 This is per month. 92 00:06:00,250 --> 00:06:06,400 If you pay for 10 gigabytes of network egressed, that means data going out of a store, you need to 93 00:06:06,400 --> 00:06:08,140 rely on Google cloud pricing. 94 00:06:08,920 --> 00:06:14,140 If you want to write documents, you get this many per day, that many per day, and then you start 95 00:06:14,140 --> 00:06:16,840 paying these rates of reads, writes and deletes. 96 00:06:17,230 --> 00:06:22,570 So rates are always more expensive in computing terms because you have to change something on disk. 97 00:06:22,750 --> 00:06:29,080 A reed would just be get the data from a memory store so it's much cheaper to maintain in terms of the 98 00:06:29,080 --> 00:06:30,430 hardware cost over time. 99 00:06:31,240 --> 00:06:36,190 And then deletes, well, then that's pretty cheap and you won't do many deletes probably. 100 00:06:38,290 --> 00:06:44,140 OK, so if you want no JSH, it's on the free version and Narges 10:00 or later, you have to do the 101 00:06:44,140 --> 00:06:44,830 pay as you go. 102 00:06:45,040 --> 00:06:48,840 But the good thing about the pay as you go is you get a free tier of usage. 103 00:06:49,210 --> 00:06:52,060 So that's this is all for cloud functions. 104 00:06:53,320 --> 00:06:55,530 But cloud messaging is free. 105 00:06:55,930 --> 00:07:00,540 We have hosting gigabyte transferred in app messaging, machine learning. 106 00:07:00,820 --> 00:07:02,470 I am looking for this. 107 00:07:02,980 --> 00:07:11,460 So we have real time data base so you can have 200000 connections per database in real time. 108 00:07:11,980 --> 00:07:19,420 That is pretty much the hard limit of Firebase when it comes to having your users connected. 109 00:07:19,810 --> 00:07:26,550 So if you have two hundred thousand daily active users or did use Dao's, then you will be fine. 110 00:07:26,590 --> 00:07:32,260 Anything over that, you're going to start to run into issues and you might want to think about Firestones. 111 00:07:32,800 --> 00:07:40,560 You also pay one dollar per gigabyte downloaded off the database and five dollars per gigabyte stored. 112 00:07:41,200 --> 00:07:43,890 So again, you need to think very carefully about your app. 113 00:07:43,900 --> 00:07:50,110 You don't want to say sync the whole database, OK, because every time they load up, you're paying 114 00:07:50,260 --> 00:07:52,540 that rate for what they are downloading. 115 00:07:52,750 --> 00:07:58,480 And if you have a user generated content app, then you're going to be paying a lot of money if you're 116 00:07:58,480 --> 00:08:00,990 downloading that to all 200000 users. 117 00:08:02,200 --> 00:08:05,230 Okay, so we have also storage. 118 00:08:05,230 --> 00:08:07,630 These are four files that you're going to store. 119 00:08:07,900 --> 00:08:16,510 We have the test lab not bothered about that or actually the test lab allow you to run tests on physical 120 00:08:16,510 --> 00:08:17,950 and virtual devices. 121 00:08:18,520 --> 00:08:22,450 OK, if we go over to a store, I'm pretty sure. 122 00:08:23,080 --> 00:08:23,890 Where is the pricing? 123 00:08:27,140 --> 00:08:32,720 I think Firestar at this point is the same price as fire based. 124 00:08:33,630 --> 00:08:38,880 Except it's just much more scalable, so I'm just going to search for store on this page, we have stored 125 00:08:38,880 --> 00:08:41,100 data gigabytes stored. 126 00:08:46,020 --> 00:08:47,650 And I'm just looking at the differences here. 127 00:08:48,280 --> 00:08:52,610 OK, yeah, they are the same price the last time I looked, they were actually different prices and 128 00:08:52,890 --> 00:08:55,740 a store was pretty expensive. 129 00:08:55,740 --> 00:08:57,960 If you know different, then please leave a comment. 130 00:08:57,960 --> 00:08:59,220 But I think they are the same now. 131 00:08:59,820 --> 00:09:08,460 Now, one final thing I'll say before we finish this is you need to have or I need to understand when 132 00:09:08,460 --> 00:09:12,270 I'm making an app, what's my lifetime customer value? 133 00:09:12,300 --> 00:09:19,130 How much money will each customer on average make me and how much will that customer cost me in total? 134 00:09:19,560 --> 00:09:26,040 So if they're using my real time database and they download a gigabyte every month by a gigabyte every 135 00:09:26,040 --> 00:09:28,320 month, they're then they're costing me a dollar. 136 00:09:29,670 --> 00:09:36,280 I need to make more than a dollar from that end user to make firebase worthwhile. 137 00:09:36,960 --> 00:09:41,550 If those two numbers don't match up and you won't know if they match up until you've launched your app. 138 00:09:42,510 --> 00:09:47,790 Then what you have to do is run some sort of mitigation strategy, so only allow them to download, 139 00:09:47,790 --> 00:09:53,630 say, 100 megabits per month and then put them on a premium plan, you know, for 99 cents a month, 140 00:09:53,670 --> 00:09:55,270 you'll make your money in that way. 141 00:09:55,680 --> 00:10:00,210 So these are just all little things you have to be aware of for our particular app. 142 00:10:00,720 --> 00:10:06,750 We don't consider any of these strategies with cost and expense or the financials, really. 143 00:10:07,980 --> 00:10:13,080 But if you've got a big app idea and let's face it, who doesn't these days, then that is something 144 00:10:13,080 --> 00:10:14,090 that you need to think about. 145 00:10:14,370 --> 00:10:14,650 Right? 146 00:10:14,820 --> 00:10:15,900 So that's enough of that. 147 00:10:16,200 --> 00:10:19,770 Let's go ahead and sign up for a firebase account.