My only thought on this topic is that there should be maximum integration between different ways of communication, while pushing differentiation to the maximum.
One way to think of it is to integrate the different time-scales at work. The goal would be to have different ways of communication depending on the time-scale of communication you are aiming for.
The shorter the timescale the shorter the memory. If i say something in chat it's typically gone within the minute if it's an active chat. On a forum it sticks around for a bit longer. On a wiki or blog it sticks even longer. If we don't have a chat well integrated on a forum, the forum gets cluttered with high-frequency requests that should have been settled immediately. If we don't have a wiki or blog the forum gets cluttered with sticky threads that should have been retained in a wiki or blog.
The key is to push people to use ALL time-scales (and modes: pictures, github, pdfs, video, etc.) in communication, while having maximum integration and access between these time-scales (and modes). If the blog is in one place, the wiki in another place, the facebook in yet another place, then it's difficult to be conscious of everything that's happening.