On most of the software projects I worked, we needed to share information, comments, feedback from customers.
Ideally, the customer should be full-time co-located with the dev team but most of the time, clients are out of site or not always available.

So, most of the time, the dev team need to ask either questions or feedback about either some business rules to apply, design to change or to approve, etc.

During the last years, I had the chance to test a few tools that ended to be of great help.
Here is a list of such tools that helped us considerably improve the way we collaborated with clients.

conceptshare Most of the projects I worked on needed some works on the UI, and even on the UX side. Concept maps, wireframes, mock-ups, app flow, all such visual documents that needed to be inspected by either some Product Owners or customers outside of our office (we even used this app internally!).
So, you have PDFs, PNGs, or other visual documents to share with someone?
Conceptshare is a great tool not only to share, but mainly to collaborate, getting comments, discussion about some part of the design or visual document.
It is web-based (Flash), send you email alerts, has a great ‘comments summary’ feature.
It is a great (and better!) alternative that sending PDFs over by email and using the inline PDF comments. A must-have!

Axure interactive prototypes
axure-mockup Before having your full team of devs starting a feature/screen/page, better have the PO/Client play and think about it a little bit before!

Axure has a pretty powerful engine to let your team prepare interactive prototypes. So PO/Client can play around and see if the content, the flow, the interaction is good or need some adjustments. With Axure Share, you can even deploy , collaborate , track all comments and changes.
Great tool for interactive prototyping!

Balsamiq quick(very quick!) mock-ups
balsamiq I had already posted an article about this wonderful tool. It might sound similar to Axure interactive prototypes tool, but I mostly use Balsamiq for meetings, quick discussions or brainstorm, and I reserve Axure for all the ‘interactive and collaboration part’.

basecampbig-calendar Need to drop some files to your clients or partners?
Need to have a basic list of to-dos to share with them?
Need a common calendar to share milestones date?
Basecamp is a very easy to use communication portal for your project and the different partners. Secure, fast and reliable hosting.

yammerDuring a software project lifecycle, a lot of ideas, questions, discussions and decisions will appear. Emails are not that great for storing all this information flow. And you can’t like or vote about emails received. You can’t tag a conversation, or manage security.

Yammer is a private social network for your team (you can also invite external members to your discussions and portal). Much better to use a tool like Yammer for any communication, brainstorming or questions than email. Believe me!

xmind2008proforwindows6 Finally, this is not really an ‘online’ collaboration tool, but this is an indispensable tool for notes or brainstorms sessions. Even for preparing a meeting agenda, an org chart or a timeline!

Much better than taking notes on a vertical medium (like Word or Notepad). A mindmap tool should always be close to your fingers whenever action items or notes need to be taken.

I guess there are several other cool tools out there. But these above are those I used recently and improved drastically our efficiency for collaboration and communication.