In times of distributed development teams and highspeed internet connections, online collaboration is nothing new. Individuals and companies are using MSN, Skype and other chat and voip based tools to exchange information or share screens for support and presentations. Netbeans offers its own little collaboration tool, the collaboration plugin you find in your plugins page in the Netbeans IDE. On top of a chat function you can actively share code and review on the screen, your partner see your changes or comments on the fly.
A lot of people talking about agile, xp, pair porgramming, code review and more, so I am surprised the plugin has no very active support in the Netbeans community at the moment. But it works ! It runs perfect in NB 6.5 both on Windows and Solaris (at the same time). But we might add some more features like a voice chat or screen sharing or similar functions. Anyway I am happy with and use it together with Subversion to ensure a safe passage through the distributed development:
Here I will share with you how to get started:
1. Open the NB plugin screen and look for “collab” under available plugins.
2. In case you get this error message, just try again (and again). One of the (few) annoying problems when downloading updates in NB.
3. After downloading the plugin is available without IDE restart. You find a new icon (and menu entry)
4. Create an account share.java.net (if you dont run your own XMPP server, no other choice.)
5. Once the account is created, you can start looking for your contacts.
6. The moment they agree to beyour contact they show up in your contact list (as in Skype or any other messenger)
7. The collab plugin combines both standard text chat, sourcecode chat (syntax highlighting) as well code sharing. The code sharing only works with a copy, so it is up to you to accept the code changes that your remote partner applied. Usually we do code review and one party just adds comments (“Todo”,”Fixme”,..)
- It is based on the XMPP protocol, so it should be possible to run your own collab server (eg. OpenFire, link).