Some people are working on this problem. You might be interested in looking at the Matrix standard [0] or some of the things built using it like Riot [1], a Slack-like web client supporting text, voice and video communication for one-on-one or group contexts.