18

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).

Jeremy Ricketts
  • 2,601
  • 4
  • 29
  • 28
  • Why do you feel that VNC requires a lot of work? After you, only on your end, install a server, and make a script that opens the right ports, then you can have the other side simply open a web-browser to the HTTP port of VNC and use the java client. No install on their side :-) – Shalom Craimer Feb 04 '09 at 05:56
  • 2
    I've used VNC before, and it just seems like it never works out that easy. If I'm on my company network, it's not like I can change the network firewall to allow a remote person to even get into my local network and over to my local IP address. – Jeremy Ricketts Feb 05 '09 at 19:55
  • Crossloop is built on VNC but eliminates most of that administrative pain. It doesn't sound like VNC is really what you're looking for, though, firewall pain or no. – Ben Dunlap Feb 05 '09 at 21:54
  • check out [rextester](http://rextester.com/runcode) – ren Feb 21 '12 at 17:22

17 Answers17

3

I use GNU Screen.

Luca Matteis
  • 29,161
  • 19
  • 114
  • 169
  • "Trick 3: Collaboration with screen" http://www.ibm.com/developerworks/linux/library/l-10sysadtips/ – jfs Feb 05 '09 at 16:52
2

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
  • 633
  • 4
  • 7
  • I have to say that NetMeeting is hideous. VNC is a good deal better. – cwallenpoole Feb 04 '09 at 05:43
  • Agreed, but it's (theoretically) always available, and free. VNC is my choice as well. – SMB Feb 04 '09 at 06:21
  • Two people can't edit at literally the same time with VNC, right? (Since normal editors only have one cursor.) – dreeves Feb 15 '09 at 03:30
  • 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 Feb 16 '09 at 22:51
2

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
  • 18,961
  • 6
  • 77
  • 84
2

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
  • 1,838
  • 1
  • 16
  • 17
  • 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 Feb 05 '09 at 19:43
  • 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 Feb 05 '09 at 21:50
  • 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 Feb 05 '09 at 22:21
1

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

Stu Andrews
  • 867
  • 7
  • 13
1

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
  • 6,577
  • 3
  • 30
  • 48
1

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.

Shalom Craimer
  • 20,659
  • 8
  • 70
  • 106
1

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
  • 6,597
  • 3
  • 36
  • 47
1

Shouting if within distance.

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

Rook
  • 60,248
  • 49
  • 165
  • 242
0

So, it's years later now. Services have been started, bought, sold, etc since I first asked this question. It seems that the dominant service being used these days (at least for testing/sharing html, js, and css is jsfiddle.

If you're looking for a replacement to Etherpad (which was bought and shut down by Google) then you can try typewith.me, though I've found the service to be buggy every time Chrome gets an update.

Jeremy Ricketts
  • 2,601
  • 4
  • 29
  • 28
0

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!

2012 UPDATE: So, apparently Google bought, absorbed, and shut down Etherpad. Thanks Goog!

Jeremy Ricketts
  • 2,601
  • 4
  • 29
  • 28
0

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
  • 6,577
  • 3
  • 30
  • 48
  • 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 Feb 04 '09 at 05:33
  • 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 Feb 04 '09 at 05:49
  • 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 Feb 05 '09 at 19:48
0

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
  • 8,390
  • 5
  • 38
  • 43
  • 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 Feb 04 '09 at 05:39
  • I think he didn't mean that skype has a desktop sharing application. These are two separate things. – Frank Feb 04 '09 at 05:47
  • sorry, re-read what I typed and I wasn't clear. skype definitely does *not* have a desktop sharing app. – Jared Feb 04 '09 at 06:02
0

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

pro
  • 953
  • 2
  • 9
  • 24
0

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
  • 4,168
  • 8
  • 29
  • 49
0

My company uses WebeX, I personally like DimDim

Ric Tokyo
  • 6,577
  • 3
  • 30
  • 48
0

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.

user26294
  • 5,532
  • 3
  • 22
  • 18