XTC
XTC (Extreme Team Collaboration) is a plug-in for Eclipse 3.4. It allows programmers to collaborate in real-time.
This means that any changes made to the codebase are instantly synchronized with every other programmer.
This allows programmers to work closely together. Any conflicts are detected at the moment they arise, and can be solved as they arise. Normally, they are only found and resolved when updating and committing to your version control system.
Features
This is what XTC does:
- Synchronization of editors.
- Synchronization of files.
This means:
- Changing code inside an editor applies these changes to every other programmer which has the same file open in an editor. This allows programmers to simultaniously work on the same file.
- When saving a file, the content of the file is send to every other programmer.
- When adding new files or folder, these new files or folders are created for the other programmers as well.
- Importing files or folders (with content) will send these files to every other programmer as well.
- Moving files or folders will move the same files or folders for other programmers as well.
- Removing files or folders will remove these same files or folders for other programmers as well.
When programming this means:
- When classes or methods are renamed (with automated refactoring) the result of this refactoring is applied for every other programmer as well.
- Two or more programmers may open the same file, and start editing it. Each and every change is send to the other programmers, and inserted inside the editor. This allows the other programmers to instanly see and use this new code, as if it was typed in locally.
Show me
More screenshots and a video will appear here soon.


Installation of Eclipse plug-in
XTC has some dependencies which need to be installed:
- Subclipse 1.4.x (Update URL)
- Toolbus (Update URL) (select Toolbus_ng_feature)
The Toolbus itself also has some dependencies:
- IMP (Update URL) (select IMP Runtime)
After these dependencies are installed XTC can be installed. Use the following URL to install XTC from within Eclipse: http://www.jeldertpol.nl/software/xtc/update/.
Configuring the client
All the clients need to know in order to connect is the hostname and port number of the server. These can be set under "XTC > Preferences > Connection".
Now you can start a new session, or join an existing one the "XTC" menu.
Installation of server
The server consists of 2 parts. The first part is the Toolbus script. This script is used for the communication between the clients and the server. The second part is the server itself.
Since the server is written in Java, it will both run under Windows and Linux. Please note that the server has not been tested thoroughly under Windows.
Download this archive and extract it. Under Linux, start the Toolbus with "./XTCserver". On Windows, start it with "XTCserver.bat". Now start the server itself: "java -jar XTCserver.jar -TB_TOOL_NAME server -TB_HOST localhost -TB_PORT 60000". Now the clients can connect.
The Toolbus script and the server don't have to be running on the same machine, but is recommended. When you decide to run them on seperate machines you will need to start the server with "-TB_HOST" specifying the server. The port number can also be changed. For the Toolbus script, the port number is specified in "XTCserver" or "XTCserver.bat". For the server itself it can be specified with the "-TB_PORT" option.
Note that in the client preferences the hostname and port number of the Toolbus need to be specified, not the hostname of the server itself.
Licence
To be decided.
Credits
XTC is programmed by Jeldert Pol. It was part of his graduation project at the CWI for his Master of Science in Software Engineering at the University of Amsterdam.