back
63 comments
okay, after working in this for a couple minutes I found it to be AWESOME!!! great job guys. Obviously, there's a ton of people on it right now, and the proverbial dicks just pasting 10101 all over to annoy, but in a team i could see how this would be really awesome. While working on it there was a short minute where the dicks let off and i really got to see how great this can be for teaming up to iteractively write code.

Again awesome app!!

Thanks! Glad you like it. You can also click the "Private Pad" link in the top right to get away from the chaos. :-)
Nitpick: It seems impossible to scroll down and read the stuff below the actual editor (at least in Chrome), since the editor keeps auto-scrolling me back up to itself whenever new data comes in.
Haven't looked into the code/docs deeply, yet, but would love to know if it can be customized to send data to one's own backend service for private implementations. Love the editor. Also had a few great laughs trying to use it alongside so many other people.
We built it as a Firebase app, but we're releasing it as open source and are looking forward to seeing what the community does with it. :-) All of the OT work happens client-side, so it's certainly possible to adapt it to other backends.

Additionally, a lot of the OT code is based on ot.js[1], a fantastic open source OT implementation by Tim Baumann. He has a node.js backend as well as Haskell and Python. Of course then you have to run the server code somewhere and figure out how to persist the documents, etc. :-) Definitely worth checking out though.

1. https://github.com/Operational-Transformation/ot.js/

This is fantastic. Looked up some more information about your Firebase offerings and like what's going on there, too :-) Keep up the great work!
Is this actually a text editor, or is it a social experiment?

I realize those are not mutually exclusive options.

Cool. I am going to check this out. I was planning to work on a document site like github but for non technical people (http://www.rubberdocky.com), but have put that on the back-burner for now. One of the projects I recently came across that I thought looked awesome was Substance (http://www.substance.io). I like the idea of collaborating on documents in a way like github but only more accessibly for anyone.
Looks cool. It'd be great if you hide the firepad instance from the global scope, to make it harder for trolls to do:

    setInterval(function () {firepad.codeMirror_.setValue('foo'); }, 0);
Won't people realize that doing that would detract from the experience of other users?

Haha, just kidding! Moved everything into a closure. Thanks for suggesting it.

Sure, now they'll need to do `cm = document.body.getElementsByClassName("CodeMirror")[0].CodeMirror` first.

(I.e. it's client-side, you can't prevent people from doing whatever they want.)

I think this is a really early stage Etherpad. Check out Etherpad's features if you can, you have your work cut out though http://etherpad.org
What features would you like to see implemented next in Firepad?
That's a good question, and I don't have an answer for you. However, since I've heard how awesome Firebase is, I'm wondering what you offer over Etherpad. After Google acquired it and open sourced the engine, lots of other websites have sprung up that use it. I'm sure there are great reasons to use your tool rather than an Etherpad-based one, so it'd be interesting to hear them!

http://etherpad.org/

http://piratepad.net/

http://titanpad.com/

http://www.cynapse.com/syncin

http://openetherpad.org/

Mozilla and no doubt many others can easily deploy it on their servers:

https://etherpad.mozilla.org/

Would be nice if each user had their own cursor/state and different users could modify different parts of the doc at the same time without causing crazy to happen.
Everyone does have their own cursor state and can edit the document separately (even in offline mode). People are testing the limits of it right now though, so you're probably seeing a fair amount of "select all" + "delete" and other annoying behavior.

If you want to try it without other people messing with it. Click the "Private Firepad" link in the upper right corner.

I'm happy to announce this as a find of the week. Boy there were some good laughs in the public mode.

And yes, I'm quite sure private pads might be of use in certain situations.

This looks amazing! I have been really impressed with Firebase. Before it building things like this or a chat engine would take weeks if not months.
This inspired me to create a simple page where people can update their status in real-time. It's similar to the firepad.io text editor, except you can only edit your own status and not that of others.

You can try it at https://dl.dropbox.com/u/8554242/live-status.html

This is awesome. It's like a chat but with the ability to edit what other people are saying! So much potential!
Aside from collaborative editors and chat clients - what other valuable use cases could firebase help solve?
I'm biased, since I'm a Firebase dev, but honestly, Firebase is great for solving /all kinds/ of use cases. :-)

We've had people build everything from emergency response simulations synchronized across multiple devices to iOS apps for grandparents to read books with their grandkids over long distances.

Firebase is great any time you need real-time updates, collaboration, or you just want to get something up and running without having to spin up your own servers.

Those sounds really interesting, thanks. Looking forward to seeing more of the real-time web evolve.
I think there's a bug with text writing over eachother when 2 people are typing:

http://imgur.com/1IvMccd

(You can see how my bold line of text was interrupted by someone else.)

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 the middle of your sentence and write something). If that's not what happened, let me know!

Looks interesting. Might try it for the incoming interview sessions. A big drawback for me is that I can't use my browser's back button after opening the page because the history is flooded.
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!
Clicking on Private Pad yields: Error 503 Service Unavailable Service Unavailable Guru Meditation: XID: 1337667656
Does anyone know of an HTML-friendly equivalent of this? I.e., something similar that allows pasting/editing HTML?
Firepad will eventually support rich-text copy/paste and import/export as HTML (export is actually already supported through the API, but not exposed through the existing UI), as well as lists, paragraph indent, and all of the other features that you'd want. They just didn't make it in for the v1 release. :-)

As for similar projects that are already more HTML-friendly, maybe check out Etherpad[1]? It has HTML import / export, though I haven't tested it out.

1. http://etherpad.org/

http://scratchpad.io might be what you're looking for.
We are building a real time HTML synchronization engine at wikidocs.com (using a custom OT engine). It's still work in progress, but you can already try it out - if you fire up the inspector and manipulate the DOM, your changes will be synchronized automatically.
Plunker is a collaborative html/css/js/coffee-script/typescript/less/etc... editor: http://plnkr.co/edit/?p=preview&s=YDQtgmV5y7I6EQfJ
http://codecollab.gamooga.com/ - does server side OT
Curious why each pad is limited to <18 users? Will firebase have a hard time syncing more than those users?
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 shouldn't be an issue. The actual messages being sent around are small.

I am unable to scroll down on the page without it jumping back up to the animated demo thingy. Chrome 25 OSX.
Ooops. When the editor has focus, it tries to keep your cursor visible when it moves. And your cursor can end up moving due to other people's edits.

I tweaked the page to not auto-focus the editor. Thanks!

I had the same problem. Thanks for fixing it!
I don't see how this could be used for collaborative code editing. Is there an example of this?
Yup! http://www.firepad.io/examples/#code

Atlassian[1] and Action.io have already built stuff with it.

1. https://marketplace.atlassian.com/plugins/com.atlassian.stas...

Nice marketing shill for Firebase. Well played, guys.
Whoa. That's some FUN stuff! Great job!
Seems a lot of people are forgetting about http://hackpad.com
Perhaps because hackpad isn't [edit: as gung-ho about being] open source (if they are at all)? I'm sure there are other commercial offerings too... like yours!
this is some entertaining shit going down in the 'chat'
It's complete carnage, but the actual tech seems to work well.
Yes, we made it go cray-cray.