Problems:
1. You don't have any syntax highlighting for Java, C, C++, etc? These are very popular languages.
2. My browser's (Chrome, OSX) spell-checker underlines everything in the editor, which is extraordinarily distracting.
3. Some common text-entry keyboard shortcuts don't work (ex. Command+Delete)
4. Needs some privacy and sharing options.
5. From my experience with other collaborative editors, it also needs a way to download the document from the command line.
1. In fact, there is syntax highlighting for all the C-like languages, it's the mode called 'clike'. I guess that label isn't so very fortunate 2. Oh actually, the underlining has been added by me as a means to do author attribution. I should add a checkbox to turn it on and off. Before I had had the text background in various colors but I found that to be an even worse distraction. 3. The keyboard shortcuts are tricky. I'll have to delve into that a bit more (and test across platforms). 4. So obviously for now it's just security-by-obscurity. For now you can take the sourcecode and host it somewhere private. I left out explicit user account management in order to get the first version out the door. 5. Hmm. that's a very interesting thought! It should be fairly easy to build a small command-line tool to upload and download files.
Thanks for the feedback!
As for the CLI interface, I was just referring to wget/curl on a specific URL to download the file. If you add in passwords on documents, make sure this is supported in your wget/curl implementation. There was another site that I tried this on, and they hadn't considered this despite having access through wget/curl.
It was pretty tough to implement (for me at least). Especially when I got to using the "Bridger" and "Buffer" to transform.
Your approach seems much simpler. Do you retain the ability to "play back" the edits like etherpad did?
How big can a document get before you run into the precision issue you mentioned?
Collabedit looks nice and solid! (Hadn't been aware of it.) Did you roll your own editor or did you use something like ACE or CodeMirror?
The down side is I typed some stuff, then clicked reload and my text was a bit scrambled. So I'm going to say your operational transform implementation is a bit buggy :)
Thank you for your appreciation! And I hadn't yet thought about embedding. Technically it actually could be a bit tricky to embed because you can't really mix websocket- with vanilla HTTP servers yet.
My project is open source: https://github.com/werg/snucode So it's also an example use of the Node.js websockets framework SocketStream.
Furthermore I do operational transformation a bit differently (presumably, not sure how they do it): http://gpickard.wordpress.com/2012/02/17/my-approach-to-oper...