Thanks for the feedback. I think you're right and we're interested in exploring what we can do to help people more in the future. One of the really nice things about Cloud Firestore is that documents are versioned with…
Good point. read-modify-write transactions are a good way to detect conflicts and get a chance to handle them, but they're unfortunately limited to while the client is online. If the client is offline, the transaction…
Good question, and to answer this well we should probably do a blog post or something. In the meantime you could dig into the code since the clients are all open source. :-) But basically, sync is split into two halves:…
This works similar to the Realtime Database in that it's last-write wins (where in the offline case, "last" is the last person to come back online and send their write to the backend). This model is very easy for…
Great question. This is a very real pain point with dynamic content in today's world of bots / crawlers. Many sites right now are completely or partially invisible to crawlers. As you point out, pre-rendering content is…
Thanks! We worked hard to try to make a tutorial that communicated the simplicity and power of the API. Glad you liked it!
This is a big question, and I'm biased by working at Firebase, so I'd welcome somebody from the community chiming in with their experiences. But one key differentiator worth mentioning is the realtime aspect of…
In short, both. :-) This was a commonly-voiced pain point for our existing customers and fits very well with our vision to make Firebase the best platform for building modern apps. But when we do something, we like to…
Thanks for the feedback! We'd love to know what benchmarks would make you feel more comfortable. Internally, we have a lot of monitoring and diagnostics to make sure everything is running optimally. Downtime like…
Yes. We think our hosting service and realtime backend complement each other nicely for building modern web apps, but you certainly don't have to use both. :-)
For context, 2000 concurrent connections would be quite a large site. If you're hitting 2000 concurrents, $500 probably wouldn't be an issue for you. It's also worth noting that Firebase employs burstable billing at the…
Thanks for the feedback! Now that we've got the core deploy / rollback tooling in place, we're definitely looking for ways to plug into other common workflows (git, Dropbox, etc.). Stay tuned!
Great suggestion! The difference between being on a CDN and not is really night and day. Every serious site deserves to be on a CDN. Your users will thank you for the faster page loads. :-)
There was a time when that was true, but these days you can easily do those sorts of things using Firebase security rules: https://www.firebase.com/docs/security/security-rules.html
Firebase dev here. :-) Firebase does handle offline syncing / conflict resolution. If you have a Firebase app open and you lose network connectivity, the app still continues to work fine and any modifications you make…
We let you define server-side logic (for security and validation specifically) using our Security Rules API: https://www.firebase.com/docs/security/security-rules.html
Well, adding rich-text support to ot.js and CodeMirror wasn't trivial, but both of these projects were certainly instrumental in building Firepad. And we'd love to see integrations with ShareJS as well as other editors…
[I think HN is throttling us; I had to wait a while before a reply button appeared. Feel free to email me (michael at firebase) if you want to continue the conversation.] If the standard mitigation strategies (adding…
1) The client ignores invalid history items (unless there's a bug). So while you can pollute the Firebase data if you desire, it shouldn't affect the behavior of the app in any way. (i.e. Other than the checkpointing…
Hey Saurik, Thanks for the thorough and correct analysis as usual. :-) The key things I would point out are that: 1) The checkpointing is an optimization. You could either remove it (which will hurt initial load time)…
Can you provide more detail? Here or firepad@firebase.com or as a github issue? From the screenshot it's not immediately obvious to me what went wrong. People are certainly allowed to write over each other (e.g click in…
Yeah. They could also build a robot to mash on their keyboard (or make an arduino-based USB input device, or ...) In non-demo scenarios, you'd have authentication and security rules set up to prevent this sort of abuse…
Could you provide more details? (back button works fine for me in Chrome on OSX). You can reply here or ping firepad@firebase.com. Thanks!
There's no limit. We had ~50 in some rooms earlier. We did shard users across dozens of rooms so that the user experience wasn't too ridiculous... You could (if you like pain) use firepad with hundreds of users and it…
Thanks for the feedback. I think you're right and we're interested in exploring what we can do to help people more in the future. One of the really nice things about Cloud Firestore is that documents are versioned with…
Good point. read-modify-write transactions are a good way to detect conflicts and get a chance to handle them, but they're unfortunately limited to while the client is online. If the client is offline, the transaction…
Good question, and to answer this well we should probably do a blog post or something. In the meantime you could dig into the code since the clients are all open source. :-) But basically, sync is split into two halves:…
This works similar to the Realtime Database in that it's last-write wins (where in the offline case, "last" is the last person to come back online and send their write to the backend). This model is very easy for…
Great question. This is a very real pain point with dynamic content in today's world of bots / crawlers. Many sites right now are completely or partially invisible to crawlers. As you point out, pre-rendering content is…
Thanks! We worked hard to try to make a tutorial that communicated the simplicity and power of the API. Glad you liked it!
This is a big question, and I'm biased by working at Firebase, so I'd welcome somebody from the community chiming in with their experiences. But one key differentiator worth mentioning is the realtime aspect of…
In short, both. :-) This was a commonly-voiced pain point for our existing customers and fits very well with our vision to make Firebase the best platform for building modern apps. But when we do something, we like to…
Thanks for the feedback! We'd love to know what benchmarks would make you feel more comfortable. Internally, we have a lot of monitoring and diagnostics to make sure everything is running optimally. Downtime like…
Yes. We think our hosting service and realtime backend complement each other nicely for building modern web apps, but you certainly don't have to use both. :-)
For context, 2000 concurrent connections would be quite a large site. If you're hitting 2000 concurrents, $500 probably wouldn't be an issue for you. It's also worth noting that Firebase employs burstable billing at the…
Thanks for the feedback! Now that we've got the core deploy / rollback tooling in place, we're definitely looking for ways to plug into other common workflows (git, Dropbox, etc.). Stay tuned!
Great suggestion! The difference between being on a CDN and not is really night and day. Every serious site deserves to be on a CDN. Your users will thank you for the faster page loads. :-)
There was a time when that was true, but these days you can easily do those sorts of things using Firebase security rules: https://www.firebase.com/docs/security/security-rules.html
Firebase dev here. :-) Firebase does handle offline syncing / conflict resolution. If you have a Firebase app open and you lose network connectivity, the app still continues to work fine and any modifications you make…
We let you define server-side logic (for security and validation specifically) using our Security Rules API: https://www.firebase.com/docs/security/security-rules.html
Well, adding rich-text support to ot.js and CodeMirror wasn't trivial, but both of these projects were certainly instrumental in building Firepad. And we'd love to see integrations with ShareJS as well as other editors…
[I think HN is throttling us; I had to wait a while before a reply button appeared. Feel free to email me (michael at firebase) if you want to continue the conversation.] If the standard mitigation strategies (adding…
1) The client ignores invalid history items (unless there's a bug). So while you can pollute the Firebase data if you desire, it shouldn't affect the behavior of the app in any way. (i.e. Other than the checkpointing…
Hey Saurik, Thanks for the thorough and correct analysis as usual. :-) The key things I would point out are that: 1) The checkpointing is an optimization. You could either remove it (which will hurt initial load time)…
Can you provide more detail? Here or firepad@firebase.com or as a github issue? From the screenshot it's not immediately obvious to me what went wrong. People are certainly allowed to write over each other (e.g click in…
Yeah. They could also build a robot to mash on their keyboard (or make an arduino-based USB input device, or ...) In non-demo scenarios, you'd have authentication and security rules set up to prevent this sort of abuse…
Can you provide more detail? Here or firepad@firebase.com or as a github issue? From the screenshot it's not immediately obvious to me what went wrong. People are certainly allowed to write over each other (e.g click in…
Could you provide more details? (back button works fine for me in Chrome on OSX). You can reply here or ping firepad@firebase.com. Thanks!
There's no limit. We had ~50 in some rooms earlier. We did shard users across dozens of rooms so that the user experience wasn't too ridiculous... You could (if you like pain) use firepad with hundreds of users and it…