Collaboration Tools

There's various tools to help make collaborating with a distributed team easier. However these tools aren't remotely useful unless people know about them and know how to use them.

Email

Currently this is how most of our collaboration works. We email stuff to each other.

There's a couple of downsides. First off it can be hard to remember everyone whose supposed to be included, andif someone gets pulled in at the middle of a discussion its harder for them to find all the history to catch up.

Also sharing files via email wastes disk space as attachments get duplicated for each recipient.

Another issue is that email is usually "near-real time" but not always. A delay of 5-40 hours is not unheard of. In my experience this leads to quite cranky users.

The downsides above for email lead to a few different alternatives..

Mailing Lists

Mailing lists help with automatically send messages to a list of people, though they still can have the attachment problem and random delay problems.

We've had a mailing list for a very long time, however it tends to not be used much as people don't know they exist, don't know whose subscribed to them, and don't know how to send messages too them.

We're currently using Mailman, though to limit spam I hid all the lists. the user interface to mailman 2's administration and list archive pages is obtuse. They have a new version in development that looks much nicer.

When investigating shared authentication systems I learned LIGO had switched to Sympa

Forums

Another popular choice is forum software.

This works around creating seperate message threads with replies it's similar to a mailing list, but the different threads of conversation are better grouped.

I have a python forum that seems good enough up http://brisby.caltech.edu/forum/ Though something like phpbb is more popular.

Real Time Communication

Since email and forums can be slow, people also like real time communication tools. The mainstream tools that offer text & video are tools like skype or google hangouts.

The open source world has XMPP or IRC for text chat. There is support for video though clients are working out their compatibility issues.

Currently it looks like the best multi-platform multi-IM network client is Jitsi. It also appears to be the first one with good audio/video call support.

(Previously I'd recommended Pidgin (Windows) / Adium (OS X) however those are still pretty stuck at being text only.

Blog

Blogs are another common way of sharing text and images. They're organized around time.

They also frequently allow comments.

Wiki

Wikis are similar to blogs, however they're organized around concepts. We currently have a wiki. Which this document is on. I have yet to see someone other than Diane, Henry or Sean use it . I was wrong, I welcome Gordon and Say-Tar to the wiki-using populace.

Comments in wikis are possible but I've yet to see one easy to read. E.g. did you know about the wikipedia Talk pages?

Attempts to merge the functionality of blogs and wikis usually end up looking fairly clunky.

File Sharing

We have a simple solution for file sharing. Copying files to and from home directories on the cluster. This works for people who know how to use ssh and linux, but I know its confusing to others.

The current fileservers could be made a bit easier to use by either providing training for tools like WinSCP or making it possible to mount the filesystem with map network drive (windows) or connect to server (os x).

Another popular style was invented by dropbox which has a web accessible file store plus a local file synchronization tool. I've heard rumors that Caltech may have a Box.com account through Internet2. There's also a self hosted solution called OwnCloud

With the the web file storage you can browse files via a regular web browser, and can add / delete files there. However they sometimes also provide a tool will keep the remote storage and a directory on your computer synchronized for off-line access.

Version Control

Another way to manage files is in a version control system. These grew up trying to control software projects so they're very good at handling text files where changes happen on a line-by-line basis.

Unlike simple file sharing they also include features to allow merging different versions of a file together.

Though its usually used for source code, I have seen tools to allow version control sub-systems work with OpenOffice.

Document Management Systems

Since version control systems didn't play well with office documents and tended to be hard for non-programmers to use another class of software was developed. The document management system. They try to help keep track of various office files generated and keep a history of them.

Amongst their features include the ability to track revisions to office documents. They have a bunch of other capabilities that I don't fully understand as I haven't gotten to use any of them.

Project Management

For project management software we have Trac installed. The DCC is using Redmine which is less flexible but easier to setup and use than Trac.

This class of tool combines a wiki, issue tracker and version control system. It's possible to use them to manage non-software projects.

They're usually designed around the idea of a ticket -- a particular piece of work that needs doing, which is then assigned to a person. The tickets can have comments and other attributes.

They're usually used to track bugs, but can be used to track other things like "submit this" or "describe that".

I've used Trac for a long time for instance Mussa's homepage is in Trac.

Groupware

The last class of tool is "Groupware". This usually covers shared email / address book / calendars.

The part we could most use would be a shared calendar.

I've made attempts for myself with a system called Kolab

Discussion

A lot of these tools are available in cloud hosted packages with things like box.com, office 365, Google Apps etc.

Corporate IT tends to dislike the cloud hosted systems because the default user agreement is basically "we can do what we want to your data and you can't say anything about it".

Users like cloud hosted systems because they don't have to spend money and they tend to be streamlined and easy to use.

I believe Caltech is supposed to get access to box.com and/or office365 at some point in the future.