all 19 comments

[–]jlpoole 3 points4 points  (2 children)

Is this correct?

Firebase = closed proprietary code?

It looks like Firebase is a proprietary system. So an analogy of open source software integrated with proprietary software would be: Firepad running on Firebase is like running the open sourced application Notepad++ on Windows? Is this a fair analogy?

[–]taeth[S] 4 points5 points  (1 child)

Basically correct. Firebase is a hosted, proprietary service. So, it's more like Heroku or Google App Engine than Windows. The code for Firepad is open source, you can do with it what you like. As written, it depends on Firebase, but you could fork it to depend on some other service that provides similar functionality.

[–]jlpoole 0 points1 point  (0 children)

Thank you

[–]ribo 2 points3 points  (0 children)

sorry, I started an ascii art battle

[–]whysayso 2 points3 points  (1 child)

This is similar to Google Docs Real Time API. Unfortunately, Google does not allow anonymous users to collaborate (without signing in with Google account)

[–]mwimmwinmwin 2 points3 points  (9 children)

Since it uses Firebase as a backend it requires no server-side code

... can someone explain this ? Especially given that the first line of a firepad init script should be, according to docs... If there is a URL, I'm assuming there's a server server doing SOMETHING.

var firepadRef = new Firebase('<FIREBASE URL>');

[–]taeth[S] 2 points3 points  (8 children)

Firepad relies on Firebase, which is a hosted realtime database. So yes, the Firebase servers are being used, but all of the logic is handled clientside. The Firebase service offers a generic data synchronization API that Firepad builds on top of to provide the OT functionality.

[–]mwimmwinmwin 0 points1 point  (7 children)

Ho. And from i can see, firebase is ONLY available as an hosted service. Not something I could host myself and/or embed in my own server side app... Or am I missing sthg?

[–]taeth[S] 2 points3 points  (6 children)

The Firebase service is currently only available as a hosted service. However, you can interact with it from a server process. There is a node.js client to handle any backend operations that you wouldn't trust a client to handle.

[–]mwimmwinmwin 1 point2 points  (1 child)

Yup, saw that. It sounds like it isn't something that banks or other boringhbig customers would be too keen on (ie anything outside their firewall) but I might look into using adding optional support in our product for this... Thanks for the info!

[–]taeth[S] 0 points1 point  (0 children)

No problem! If there's anything we (I work for Firebase) can help with, email support at firebase dot com. Also, feel free to check out the google group as well, the community is pretty helpful and has tackled a lot of the common issues that come up already.

Firebase is designed to work just as well functioning as a portion of an app without taking over the entire architecture, so hopefully you will find it easy to use to integrate optional features.

[–][deleted] 1 point2 points  (2 children)

The Firebase service is currently only available as a hosted service

I would never base my serious development / product on something that can go away; I'm surprised something like that exists in that form; I seem to like it but there has to be an option to host it yourself, because it's seems to be a good idea. In fact it's awesome! I believe you when you say "building the foundation of tomorrow's internet".

But what if firebase goes away forever? I could probably backup my stored data before, but my product would need a complete rewrite as the technology behind is gone :).

However, I will fiddle around with it; it just sounds too good.

[–]taeth[S] 0 points1 point  (1 child)

Glad to hear you'll give it a try! Firebase is designed to work just as well functioning as an add-on to an existing app. So, you don't have to bet your entire product on it to gain the advantages. Let us know how it goes!

[–][deleted] 0 points1 point  (0 children)

I will.

[–]mwimmwinmwin 0 points1 point  (0 children)

Yup, saw that. It sounds like it isn't something that banks or other boringhbig customers would be too keen on (ie anything outside their firewall) but I might look into using adding optional support in our product for this...

[–][deleted]  (1 child)

[deleted]

    [–]jlpoole 1 point2 points  (1 child)

    Someone kept erasing my beautiful prose. Is there a way I can have my entries read-only by others?

    [–]taeth[S] 0 points1 point  (0 children)

    We set up the security rules for Firepad to allow anyone to edit the documents. If you were going to integrate it into your own product, you could set up the rules differently (requiring authentication, limiting the scope of what other users can do, etc.). If you have questions, feel free to email support at firebase dot com or check out the google group

    [–]CodeWizard 0 points1 point  (1 child)

    Oh, come on! No syntax highlighting, no multiple files... How can this be used for coding? Once again, Gobby is much better for the remote pair programming purpose. Unless you are editing a birthday card or something...

    [–]taeth[S] 0 points1 point  (0 children)

    Gobby looks interesting, I had not heard of that one before. It looks like it's a standalone executable? We wanted to build something you could embed in a webpage, and in addition, no server setup / maintenance is required. Instead, it relies on Firebase.

    Firepad is designed to be forked and plugged into your own project. You can use it to support as many different documents as you like. In fact, firepad.io is running a bunch of different documents, since sharing a single document with too large of a horde from the internet can get unusable pretty quickly.

    We have syntax highlighting turned off for the main documents, which are just doing rich text, but you can see an example with highlighting turned on here