Une idée qui mérite peut-être d’être explorée dans votre réflexion : je pense qu’il pourrait y avoir un fort accent sur l’aspect synchrone/asynchrone des deux systèmes avec une fonction de « commutation » facile et intégrée de l’un à l’autre.
Le forum pourrait détecter si l’autre utilisateur est en ligne ou non et pousser vers le système approprié. Par exemple : « xyz est actuellement en ligne, voulez-vous lancer une discussion à la place ? » lors du démarrage d’un message privé, ou l’inverse : « xyz ne semble pas disponible pour le moment, voulez-vous lancer un message privé à la place ? ».
Si les derniers messages d’une session de chat restent sans réponse pendant plus de x minutes et/ou si l’utilisateur est déconnecté depuis plus de x minutes, déplacez automatiquement le chat vers un message privé. Peut-être avec une sorte de « Continuation de la discussion depuis : » comme lors de la création d’un sujet lié et idéalement avec une citation/un contexte.
Dans un message privé en cours, affichez une notification sur le côté lorsque l’interlocuteur est en ligne avec « xyz est en ligne maintenant, voulez-vous continuer cette conversation dans une session de chat ? » et faites l’inverse.
Cela me semble être un bon mécanisme de coexistence et implique immédiatement les différences et les avantages des deux. Le direct (chat) aura également tendance à être des messages plus rapides et plus courts, mais cette idée devrait venir naturellement à l’esprit.