views:

651

answers:

16

Pretend you're hitting me up for some javascript help on IM. How can you make it as easy as possible for me to help you get your code working?

I run into this all the time. I'm on instant messenger and someone is asking me a question (or maybe it's me that's asking them) and we have lots of back-and-forth communication trying to work on the same bit of code. Instant messengers aren't well suited for this. Email is slow, a little can get a little hard to follow with enough back and forth.

Here's what I've tried:

Google Docs: - Requires a google account and isn't exactly real-time. Hard to know when/where other users might be editing.

Pastie.org - This is really great for sharing code, but not for 2-way collaboration. I love the interface (sample) but I can't edit with other people in real time.

EtherPad - Looked promising, but buckles under the load with only a few users. Some guys at work were trying to get us to use this, but we kept having performance issues and even a couple browser crashes.

CollabEdit - This one actually looks great (just found it right now). I haven't actually used it with anyone yet. It feels lightweight and responsive enough. Anyone had any luck with this one?

Gobby - I'm going to have a hard time getting people to install something like this when what they/I really need is some quick, ad-hoc collaboration. Having said that- maybe it's worth looking into for people I collaborate with regularly? Anyone used it?

JSbin - We tried to use this on a number of occasions since most of the people I work with are javascript guys (we work at a web development agency). The "sandbox" javascript functionality is wonderful. However, we can't collaborate live, in real time. We can generate new links after editing code, but that's only a small step better than emailing it to each other (or using Pastie.org)

Screen Sharing - I've only seen this work well between Mac users. If the other developer is on OSX 10.5 (Leopard), sharing screens in iChat is trivial. Other than that, I'm not aware of free, reliable, no-fuss screen sharing.

-- Added -- VNC - The barrier for entry is just too high on this one. Installing software, getting around network firewalls, adding exceptions to local firewalls... yuck. I'm talking fast "hey do these lines look right?" collaboration here. -- /end --

...whew.

Okay, so what do you use?

I think the ideal service would be something that's free, web-based, and purpose driven (hey... kinda like Stackoverflow).

+1  A: 

Combined with Twitter, http://snipt.org/ looks alright. Haven't used it a lot, but I don't use anything a lot.

Stu Andrews
"but I don't use anything a lot" <-- classic
Ric Tokyo
Heh heh, I considered not putting that in.
Stu Andrews
A: 

Hi, I use this:

github

Why I say git, because you mentioned the need to see what's changed, because you want something quick. I mentioned github because its a good enough repository.

you can also use a dump space website like adrive, with or without git to version your source.

Ric Tokyo
I'm talking about quick, "Hey, does this line look right?" collaboration. The kind of thing you might go back and forth with someone 3 or 4 times. ...not distributed version control.I think you knew that though. hehe.
Jeremy Ricketts
I didn't >< edited it.. to make more sense of what I meant.. so maybe you wanted what I suggested separately ..webex has "hey look, does this look right?" written all over it
Ric Tokyo
Good point. Someone below mentioned http://gist.github.com which is more of what I am personally looking for. Namely, it's free, web based, instant, and intuitive. Looks like another reason to get on the GIT train.
Jeremy Ricketts
+2  A: 

I use GNU Screen.

Luca Matteis
"Trick 3: Collaboration with screen" http://www.ibm.com/developerworks/linux/library/l-10sysadtips/
J.F. Sebastian
+2  A: 

For a general solution, you could try a VNC option (e.g. tightVNC). This will allow you to share the same desktop. There's ultraVNC for example that I think will let you share a window only.

A Windows specific solution might be NetMeeting (Start -> Run -> conf), where you can share a 'whiteboard' and I am pretty sure you can share a window as well, if you try.

SMB
I have to say that NetMeeting is hideous. VNC is a good deal better.
Christopher W. Allen-Poole
Agreed, but it's (theoretically) always available, and free. VNC is my choice as well.
SMB
Two people can't edit at literally the same time with VNC, right? (Since normal editors only have one cursor.)
dreeves
They can be looking at the same screen, at the same code. Keyboard and mouse works for both sides. You are correct that for editing purposes only one at a time will be allowed to have control of the computer.
SMB
+1  A: 

There is a plethora of online desktops you can google for (example:DesktopTwo) if its not just the code you want to share, but a whole setup.

Ric Tokyo
A: 

I usually call the other user on skype and then separately start a desktop sharing application like Windows remote desktop assistance, windows meeting space, VNC etc.

Jared
I had no idea Skype had this feature. Great suggestion. Still, I guess I'm hoping for some web-based suggestions. Trying to lower the barrier for entry as much as possible here.
Jeremy Ricketts
I think he didn't mean that skype has a desktop sharing application. These are two separate things.
sorry, re-read what I typed and I wasn't clear. skype definitely does *not* have a desktop sharing app.
Jared
A: 

You could VNC onto their machine and work on it there collaboratively.

pro
A: 

if the communication will be remote then. i prefer phone or skype in order to make things clearly, for sharing data if you want to easily share screen with a tool you might already have use Netmeeting. or you can try some software like interwise, gotomeeting, logmein. or even large emails are better than IM

Oscar Cabrero
A: 

My company uses WebeX, I personally like DimDim

Ric Tokyo
+1  A: 

Any web-based stuff, I find the easiest is for both parties to simply work off a single server. This means:

  • Either taking turns in editing the file on the server, and pressing "reload" in your browser, so that both of you see the results at the same time.
  • Or both sides working against a version control repository (Subversion, or Git like was mentioned here already) and keep updating that on the server.

This requires a server of some kind with those abilities, but since anyone can install something like that on their own computer, or just pay a few dollars a month for someone else to host it for him, it doesn't seem like such a big deal.

scraimer
+1  A: 

Github has a good paste-sharing site called gist. You can very easily clone the gist to your desktop if you need to see diffs. No diffs online unfortunately... (That would be a really nice feature to have there!)

Andrew Vit
great suggestion. web based, instant, free, intuitive.
Jeremy Ricketts
A: 

I hate to be an advertisement, but I usually use FogBugz.

A recent discovery has been Balsamiq. If It was integrated into FogBugz it would be that much closer to nirvana. Big ups to Google Docs as well.

I have heard good things about Adobe Acrobat Connect Pro as well, check out one of their screencasts and imagine it for yourself.

Jas Panesar
+2  A: 

Your question sounds like the Jeopardy clue whose answer is "What is Basecamp?" Or maybe Campfire. Or maybe both. Both have free plans.

Ben Dunlap
You know, I hadn't considered Campfire for this. That is a great suggestion. Free, web based, robust, and instant. Do other collaborators need to sign up for an account to begin collaborating?
Jeremy Ricketts
Not sure about that. I only use Basecamp, and I set up my account a while ago, but as I remember it, the admin can create logins for other users; doing so generates an email to the newly-created user. So it's pretty much just click-and-go for everyone but the admin. Would guess Campfire is similar.
Ben Dunlap
Actually it looks even easier than that. Apparently Campfire has a "guest access" feature. Check out the right side of the screen shot on the home page: http://www.campfirenow.com/
Ben Dunlap
+1  A: 

Shouting if within distance.

IRC if not. Dedicated channel, problem solved. Logs easily.

ldigas
A: 

Here we use IM, irc, and pastebin. It's not ideal, but it gets the job done.

I'd rather have a really good collaborative whiteboard-like tool, but I don't know of one.

A: 

So, many months later, I've settled on a solution that works very well: EtherPad.

They did a pretty substantial redesign and it has everything I need. It's browser based, free, instant, realtime, and it even holds revisions which can be played back in a time lapse view.

Brilliant!

Jeremy Ricketts