Hacker News new | past | comments | ask | show | jobs | submit login
EtherPad Open Source Release (etherpad.com)
275 points by aaroniba on Dec 18, 2009 | hide | past | favorite | 73 comments



They also released internal development notes, goals, TODO list, design decisions etc. Check out *.txt files.

http://code.google.com/p/etherpad/source/browse/trunk/infras... http://code.google.com/p/etherpad/source/browse/trunk/infras...

Thanks for sharing them!


Yeah, and I really hope the paypal password in billing.js is not the real one: http://code.google.com/p/etherpad/source/browse/trunk/etherp...


Nope; it's for the PayPal sandbox.


Thanks to The Google & The Etherpads!

I fully expect to see 30 different sites offering this now, and HN to be full of links to them tomorrow.


For those of us who have been working on side-project competitors for a few months this is a worrying prediction, and quite probably correct.

Can HN name any niches that they feel should be filled with a similar product?


Make it more technical. Monospace, syntax highlighting, version control, TeX, markdown. Would also make an interesting mash-up with Bespin.



Crashed in 10 seconds.

I'm like a walking bug plague.


That would be pretty awesome actually. All of the noted features, but particularly syntax highlighting and some sort of versioning. Key use case would be "multiplayer programming," rather than just one person driving while the other person stares at the screen over their shoulder.

TeX and Markdown would be good, but they strike me as different enough uses that maybe they'd be a separate app -- with TeX or any other markup language, you'd want to be able to plug it into a publication system, or at least generate nice output (whether DVI, PDF, XML, HTML). Lot of users there as well, but they might be different users.


EtherPad has monospace. Totally agreed on the rest of the list though


What's more, different servers can focus on different language syntax highlighting.


EtherPasteBin?


If you really are just copy/pasting into it then it won't make such an interesting replay because most edit information is obviously lost...


I don't see why it's worrying. Half the reason to do something like 'make an etherpad competitor' would/should be to learn how it works. Once you have that, there's a ton of different products you could make/morph into.


I would personally be inclined to join the open source development.

But to 'compete', tailored support for any non-technical niche. The equivalent of the "Basecamp for X" phenomenon, where X equals churches, fashion, teachers, politicians, etc.

Something for co-authoring & proofing academic papers would be nice, but I suspect neither a professor or a student would pay for it.


Focus on collaborative editing for things like school reports, round robin novels, etc. Support TeX eventually, images sooner. Then hook it up to print on demand and allow people to sell beautifully bound copies of their stories/theses/whatever right from the site.


I'd like a real-time-updating version of instacalc. Great tool for communicating about calculations, but it sucks having to send the URL back and forth all the time.


Thinking about it now ;).


Keep an eye out for Etherpad support inside of Twiddla. We've been looking at ways to fill that void ever since they created it.

I'll post here if & when it's ready to go.


Man, I can't wait to build this locally. In its raw form I expect it to work great for essay writing, etc., but I can imagine all kinds of cool modifications, like allowing cross-pad hyperlinks. Let the hacking begin!

Edit: I realize that a local build makes very poor use of etherpad's killer feature--its super-fast realtime collaboration--but the biggest draw for me was actually their "playback" mode.


Yes, a cool feature would be to let multiple etherpads talk to each other. Sort of like Google wave :)

Also imagine HN (or any other forum) working on some sort of similar platform. Threaded chats I would say.


Yeah, the three things I wanted to see in EtherPad was XMPP support, easy embed and email name association.


I got it running on a vps and it works great. The documentation made it trivial to do so.


Not completely related but, super interesting that etherpad actually started as appjet.

via crunchbase: AppJet intends to simplify the process of writing web applications. The applications are programmed on a web based text editor in the simple but powerful JavaScript programming language. JavaScript is used on both the server and client side.

I guess they ended up realizing that the code editor was a better product/market to go after than the app creation/hosting itself.

Also, interesting that pg invested in the angel round as well, post-YC.

More: http://www.crunchbase.com/company/appjet


I want it so I code do:

    % etherclient foo.txt
    etherclient accepting from http://example.com/as213
Then I can share the url with co-workers. The pad is initialized with the contents of foo.txt and then updates are sent.

Then make it be more project based. Then integrate revision control.

Perhaps I should sleep instead of reading code.


I have my last final today. This comes as a perfect school-is-over-and-i-can-start-hacking-again gift! I'm hoping to be able to integrate LaTeX export into this so I can collaborate on LaTeX reports without having to download and build manually.


I had the same thought.

Let me know if you want to collaborate. <grinich@mit.edu>


I too had a similar thought :) I'm booked until mid January, but would be interested in collaborating then.


I hacked up something for LaTeX collaboration: http://etherpad.com/latexmk


That's pretty cool! But only useful for the few of my friends that would know how to run a perl script (and have LaTeX installed) unfortunately LaTeX is a rarity at Swedish schools and I need to make it super simple and install-free to make some of my classmates use it.


Thanks! You could use that script yourself to keep a copy of the pdf live on the web. Then your collaborators could edit the LaTeX on etherpad and keep re-fetching example.com/foo.pdf for the pdf of what they're editing. If they're not hardcore LaTeX people then maybe that will suffice for them.


I would be happy to test it - pls let me know.


Yay! Now we can do remote pair-programming totally within our internal network (the IT Policy goons are quite unhappy when it comes to using cloud-based services).


Pair programming in EtherPad? Yikes. I really like EtherPad, but I don't code in Notepad, either.

http://www.emacswiki.org/emacs/Rudel


remote pair-programming

Doesn't that defeat the supposed purpose of pair-programming?


> the supposed purpose

Which is?

I think with shared input, shared editing buffers and a voice communication channel you're pretty much there.


Ah, if there's voice communication, then yes. Voice comm is important.


Eclipse 3.5 has this feature.


http://netherpad.com

Sponsored by PBworks!

Or if it's easier for you to remember:

http://etherpad.pbworks.com


Alternatively you can use: http://ietherpad.com/ Thanks.


Both now redirect to pbworks.com.


Huh, looks like the whole thing, client and server, are written in Javascript. I think I would be fine with that. Beats writing it in C++ that's for sure.


There is a ton of Scala in there.


Where? I only sampled a few directories, couldn't find anything except js.


Check the 'infrastructure' at the root.


Oh, thanks. I had assumed that whole appjet thing was some kind of framework, not the actual EtherPad server.


Does this mean it definitely was talent (including know-how etc) rather than technology or market acquisition?


Not necessarily: maybe Google also wants to use some of the acquired technology, which they now can in its open source form. They're just not stopping anyone else from using it.


Awesome! You guys handled this incredibly well, and open sourcing with an Apache license is super classy. Can't wait to see what comes of this, and starting up our own internal instance. Thank you!


Anyone feel like digging into the code and doing a writeup about the "secret sauce" - how they managed to make the real time stuff so responsive?


non-blocking Event I/O, server-side + client-side JS.

Cf. node.js for infrastructural style (but with Scala in Etherpad's case)


Wow, that was fast.

Huge thanks to both the Appjet team and Google for doing this.


    $ sh bin/rebuildjar.sh 
    using JAR jar...
    usage: cp [-R [-H | -L | -P]] [-fi | -n] [-apvX] source_file     target_file
           cp [-R [-H | -L | -P]] [-fi | -n] [-apvX] source_file ...     target_directory
    including etherpad JARs...
    using cached JAR-etherpad...
    updating...
    java.io.FileNotFoundException: ../../build/appjet.jar (No such file  or directory)
	at java.io.FileInputStream.open(Native Method)
	at java.io.FileInputStream.<init>(FileInputStream.java:106)
	at sun.tools.jar.Main.run(Main.java:175)
	at sun.tools.jar.Main.main(Main.java:1044)
    done.
    cp: build/appjet.jar: No such file or directory
Anyone got any ideas what I'm doing wrong?


The directions say to set export MYSQL_CONNECTOR_JAR= to location of a mysql client jar -- you see this error message if you don't do this.


Looks like the cp failed. What operating system is this on?


From cp usage message, it seems to be a Mac. But compilecache.sh seems to be handling properly for Darwin based systems.


Same here, mac os x snow leopard


I'm having the exact same problem on OS X 10.6


Awesome, following the directions, it took just a few minutes to get a local copy running. I used to run my own online word processor, written about 6 years ago for my own use, but a few thousand people signed up to try it. It is tempting to run an EtherPad instance for my business clients, and another one for my friends and family. That said, eventually I think that Wave will be awesome so sticking to that makes the most sense. Investing a lot of time to get into the EtherPad codebase seems like a slippery slope to non-productivity.


Hopefully this will lead to strong community around real-time eventual-consistency text synchronization. Here a link to etherpad's implementation of their magic algorithm: http://code.google.com/p/etherpad/source/browse/trunk/etherp... -- though it's pretty tightly integrated with their editor component, "ACE".


Coming to the competition : http://uxoo.com Now what? A feature race? Back to the problem of monetizing a website based on free software, where there is little to no entry bar.


I've wanted to add a feature like this into userscripts.org for a long time!

stop! compile time


...and it's offline. Whole repo now 404s.

[edit] Appears Aaron is re-importing the tree as I type. Paths have all changed to be under trunk/trunk...

[edit2] Back to normal paths. Not clear what has changed.


First of all: Thanks!

Does anyone knows the minimum requirements? I was planning to deploy it on a low cost vps, but I suspect that it's going to need at least 1GB of ram.


Right now, on my MacBook, the RSIZE is 204M.

Not too much memory.


Well, that sure isn't being evil. Thanks!


I just took a quick look around, but is all of the server-side code down in JS as well?


I took a quick look too and it looks like its javascript calling over to Java using Liveconnect (http://www.mozilla.org/rhino/scriptjava.html). The infrastructure folder contains support for Rhino.



Oh boy! I'm gonna have some fun this weekend!


the mob has spoken


The mob is sated....for now.


Monorail!




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: