Hacker News new | ask | show | jobs
by g0su 5148 days ago
What is the difference between this and Firebase?
2 comments

Firebase has a much nicer API. It's organized around a realtime, ordered, tree datastore. This makes it much more akin to very granular database than a message bus. Spire is just an authentication service + channels. There is no state beyond the historical list of messages in a channel. That makes it a really thin layer over Socket.IO. Firebase solves a much harder problem of state synchronization.

Firebase allows you can listen to any part of the subtree and query particular children of a node. Data is synchronized in realtime, optimistically, and the events that fire allow you to easily tie your UI or Backbone model to the datastore. It also has critical features like transactions. This is much more flexible than what Spire.IO currently provides.

I am not sure what makes you say it is a thin layer over Socket.IO... or even the comparison to Firebase. I would say Firebase solves a different problem, not really a harder one.

Firebase doesn't have an identity service, does it? Firebase doesn't seem to address the issue of security or privacy at all, which seems to me to be fairly important to a web application.

Also, you can implement data synchronization over a messaging layer but not the other way around. So I'd say our approach is actually more flexible. And we do plan to introduce APIs to make data synchronization easier.
Implementing the Firebase API is nontrivial. It's an entire datastore with fine-grained monitoring and optimistic, distributed, data synchronization. Messaging falls automatically out of their API -- all you do is push child messages. And it's better messaging protocol than pub/sub since you get windowed queries into the channel history for free.
You get 'windowed queries into the channel history for free' on spire.io as well.
From the start, security has been very important to the spire.io team. That does not seem to be the case with Firebase.
My feeling is that both wants to solve the exact same problem but they decided of a different route to get there. I feel the Firebase way started more as marketting and hype, while Spire.IO is a more traditional minimalistic version of what the real thing could be. (For instance, I could write a real app on spire while it'd be impossible on firebase as there's no authentication system.)
I think Firebase will eventually figure out how to pull off their service. After all, they aren't planning on leaving beta until the end of the year (according to their support rep). It is frustrating though. I really dislike when companies promise solutions to problems they haven't even figured out yet.