7 ms·
Firebase Leaves Beta Today
- ibdknox 13y agoBefore I worked for ReadyForZero and before I started Light Table, I built a whole bunch of "real-time" infrastructure for a little live-blogging as a service company I started called TypeWire. It was miserable, difficult, full of quirks, had very unusual scaling characteristics and just a huge mess. I sincerely wish something like Firebase had existed back then, because it would've completely trivialized what I was trying to do. And that's the way things should be. We shouldn't be constantly rebuilding infrastructure, we should be solving problems - and Firebase is a wonderful way to get you back to solving problems. I've been good friends with these guys for a while, and I'm impressed with how well they've done, how much people seem to love the service, and just the general quality they instill in what they do. Congratulations guys, it's been awesome watching you get to here.
- RaphiePS 13y agoThis is one of the reasons I'm absolutely itching for the Light Table plugin system -- it'd be awesome to collaboratively edit (and maybe evaluate!) code using Firebase. Can't wait!
- jph 13y agoFirebase is terrific and this is great news it's fully launched. I've talked with their founder in depth about their growth plans and I'm very impressed and excited for them.
- Kiro 13y agoI love Firebase and was planning on using it as a back-end for a JavaScript game I'm making. However, since there doesn't seem to be a way to prevent cheating without adding an extra server layer I had to drop the idea. Something as simple as preventing people from just manually setting their own score on a leaderboard seems to be impossible. I would be very happy to be proven wrong though.
- tocomment 13y agoThat's a great point. I'd be eager to hear a response as well.
- fictorial 13y agoYou typically cannot trust the game client so either you'd have to submit the scores to your own backend and then forward to Firebase or perhaps use .validate rules as per: https://www.firebase.com/docs/security/security-rules.html https://www.firebase.com/docs/security/security-rules.html
- deleted 13y ago[deleted]
- mayop100 13y agoI'm guessing you were using Firebase before our security and validation rules were released. We now have a very powerful method for controlling data access and validation that can secure your data. There's a screencast on our website that explains how this works here: https://www.firebase.com/docs/security-quickstart.html https://www.firebase.com/docs/security-quickstart.html
- Kiro 13y agoThanks but I don't see how security rules will prevent someone from manually setting their own score. Take your 404 Astroids game as an example. Right now anyone can set their own score as they wish. Is there a way to prevent that using security rules?
- mayop100 13y agoYou can enforce this as well as any other backend can. Games are a bit of a special case because you not only want to enforce access controls and a particular data model, you also want to make sure the client didn't "cheat". It turns out this is an issue with any game that runs on the client though -- regardless of if you're using Firebase or not. Preventing cheating is tough because at some step in the process here you're relying on the client to tell the server the truth. Since the game runs on the client, you can't ensure that the code hasn't been tampered with, or that an AI isn't playing the game, or that the user hasn't cheated is some other way. With Firebase security rules, you can enforce that only that user can set the score, and you can enforce that the score is of a valid format, but fundamentally there's no way to ensure that the score is "real".
- justin_vanw 13y agoCongratulations on arbitrarily incrementing a version number? I really don't understand why anyone would be willing to use something like this for anything beyond a toy website. I would be very wary of using a closed source commercial database for any core infrastructure, I can't imagine a scenario where I would be willing to use any kind of 'highly proprietary database as a service'. It's vendor lock of the worst kind.
- corylehey 13y agoyou clearly haven't used firebase
- Afforess 13y agoFirebase can take over having to use server side cookies & site settings for each user. You can use an oAuth login and then sync their settings to the firebase backend. That's how I've used it, with great success. Firebase makes it possible to make a fully-featured and complex website with pure HTML/CSS/JS and no big backend crap (looks at PHP/MySQL)
- justin_vanw 13y agoI'm not saying you can't get value out of it. If your website is very simple, or not very valuable, then use whatever gets it done nicely. However, if you are doing anything serious or valuable or even moderately complex, locking into a single vendor like this is a bad decision. You can go along fine, but sooner or later you will need to do something that is just not possible inside of the proprietary system. At that point, you are either going to have to jump ship and reimplement features (introducing regressions and wasting development time), or try to convince the vendor to make changes to enable you, or give up. You are handing over a lot of power to someone and in exchange paying them a lot of money. I'm not saying it's never a good decision, I'm saying if there were something my company depended on to function, I would think very hard before I chose a solution that permanently locked me into a single vendor.
- deleted 13y ago[deleted]
- fudged71 13y agoWhen the floods hit Alberta, I saw a need for a realtime communications app to match volunteers with the victims who needed them. So I had a weekend project on my hands. Without much/any javascript/web experience I was able to take their existing twitter-clone implementation and transform it into a flood relief application http://highriver.abfloods.ca/ http://highriver.abfloods.ca/ It never really got the traffic that I had hoped, but the whole development process went very well and I got the support from them that I needed. Thank you! I'm looking forward to their upcoming developments.
- fictorial 13y agoCongratulations! Firebase is very compelling. Personally, I have been trying to determine if I should buy or build a new mobile game backend that has an average of 50-250K iPhone app downloads/month. I'm adding online multiplayer to an otherwise single-player game. I've looked at Firebase and a number of other offerings include Exit Games' Photon Cloud. Firebase had seemed to be expensive for my use case of ~ 400K MAU. However, Firebase's experience of 1 CCU = ~ 1400 MAU [1] would be easily supported under the "Candle" or "Bonfire" tiers which are not expensive. Exit Games' has a different experience [2] but I'm probably comparing apples to oranges a bit. Games vs Big Brother. Well, there is Roll20 so maybe it's at least comparable experiences. 1 CCU = 1400 MAU vs 1 CCU = 20 MAU That's a big difference. Am I thinking about this strangely? [1] "In our experience, 1 concurrent corresponds to roughly 1,400 monthly visits." https://www.firebase.com/pricing.html#pricing-faq https://www.firebase.com/pricing.html#pricing-faq [2] "To calculate monthly active users (MAU) we assume a CCU to translate into 10 daily active users (DAU) and each of these into 20 MAU" https://cloud.exitgames.com/Pricing https://cloud.exitgames.com/Pricing
- Afforess 13y agoI agree Firebase's plans are poorly worded. If your app just has to sync stuff (and can then disconnect from Firebase) you can have a lot of users and will still only have a few concurrent connections. If your app relies on real-time data with a Firebase connection, you will have a lot of concurrent connections. Source: Been using Firebase beta as a developer for 2 months
- mayop100 13y agoThe stat listed on our site is for a typical website. If you have a mobile app, or an atypical website, your mileage may vary. Even for highly engaging, paid apps I suspect you'll find it's in the 100 to 1 range (or more). 1 CCU = 20 MAU is very high. For example, World of warcraft peaked at ~10% of their users online at any one point recently: http://venturebeat.com/2012/11/07/wow-pandaria-1-million-concurrent-players-in-china/ http://venturebeat.com/2012/11/07/wow-pandaria-1-million-con... Also note that we bill at the 95th percentile, not peak usage, so you can spike well above those numbers without consequence. If you want to know how many concurrent users you'll need, sign up, drop in our script, and have your clients connect to Firebase (but do nothing). You'll be able to see concurrent user counts under Analytics in Forge.
- rohanpai 13y agoCongrats! Firebase is awesome.
- songzme 13y agoRohan! haven't seen you around in awhile!
- fka 13y agoGreat project! :)
- hakeraj 13y agoThis looks good. But I do have some doubts regarding its querying abilities. As far as I can tell, you can only define a range of data to be fetched (limit). If I want to query for a particular value, i.e. fetch all users matching name - that doesn't seem possible. Or am I missing something?
- anant 13y agoIt's possible, but you'll have to structure your data slightly differently. There's a blog post detailing one possible approach: https://www.firebase.com/blog/2013-04-12-denormalizing-is-normal.html https://www.firebase.com/blog/2013-04-12-denormalizing-is-no... We're working hard in regards to adding more powerful query support to Firebase though and would love your feedback so we can improve the API (just email support@firebase.com).
- biot 13y agoI would love to see a highscalability.com article from the Firebase guys talking about how they handle the load, particularly with strategies around broadcasting X messages to Y clients who are distributed across Z servers. (Or if anyone has links to similar discussions around scaling strategies in a messaging-heavy distributed architecture, that would be great as well!)
- fersho311 13y agoI used FireBase to power my multiparty WebRTC video chat, and the entire codebase is < 300 lines. What is the most exciting for me is that FireBase also has an iOS and Android SDK, letting me work on mobile apps that plays nicely with my WebRTC app without having to worry about implementing a real time backend: http://opentokrtc.heroku.com/ http://opentokrtc.heroku.com/ The only feature I wish that firebase would have is the ability to detect when the last person has left the connection. Currently, the only way to accomplish this is with their nodeJS module.
- d0m 13y agoReally happy for the firebase team. Here's something that's been bugging me for a while (and why I only used firebase on pet projects rather than my main systems): 1. How does it work with non-only web stuff such as background workers, C, Python software, etc. 2. What about the hosting for html/css/js? Here's a real world example: I've got a python software that scrape an uploaded PDF for patients data and then create a kind of todo list for doctors/nurses/students. That todo list is accessible from the web - more specifically from a mobile browser. The front-end was hacked using html/css/js (angular). I really wanted to use Firebase but struggled about the 1) and 2). It seems that the solution is to use a VPS to host a node.js back-end, but rather than using mongo it should use the firebase database through their node API, amicorrect? For some reasons, when I thought about using firebase, I expected it to host the html/css/js files and provide the background jobs. Why can't I just have a some_task.js and call it from my js code using firebase API? I.e. Firebase.async('some_background_function', function (result) { .. } ); Same for hosting.. I thought of firebase more like a one-stop shop. As you can see, I might be a bit lost so please feel free to point where I'm wrong!! : )
- Debugreality 13y agoFirebase looks awesome and would be great for something I'm working on. The first thing I did was check if it was based in America then decide not to use it. They are synchronizing your data so it's all going through their servers. I think it's a great idea, unfortunately I won't be using it.
- PanMan 13y agoThat's good news, but with their production version, the pricing also changed. I believe before they had more of an AWS/S3 model paying per GB stored and transferred. Now I need to pick a tier, and pay monthly.
- schrijver 13y agoCan’t rhyme the unrest over the NSA leaks with the praise for this database as a service. If this becomes popular, just plugging into one service will give secret services etcera access to many websites. And since its out of your control, you’re not going to find about it either. This tale of internet surveillance is not an abstract stories with bad and good guys, it has happened through the sum of all our own practices, the way in which we have built web services, and the dependencies we construct. Lets take that into account into our daily lives as developers ( /rant )
- wildermuthn 13y agoThe combination of Firebase, Angular, and Node.js is the most powerful development platform that exists today. I wouldn't build any web application without these three.
- wildermuthn 13y agoFAN for the win.