UPDATE:

  • Lio vient de m'envoyer un mockup du concept evoqué ici, il est parfait! Merci!
  • De plus une adaptation de ce texte en anglais est disponible ici
  • Visiblement il y a déjà un projet qui va (partiellement) dans ce sens: Galago

En jouant ces derniers jours avec Gaim, XChat, et me remémorant à l'occasion tous les problèmes et frustrations que j'ai connues en cherchant le client idéal pour mes besoins, je me suis laisser aller à penser un peu sur le concept de messagerie instantanée et son intégration dans les environnements bureautiques actuels.

Tout d'abord, à bien y réfléchir, les listes de contacts n'ont aucun sens et sont quelque part contre-productives. La situation actuelle veut qu'un client de messagerie instantanée actuellement soit principalement une fenêtre flottante listant une suite de contacts avec lesquels on peut intéragir (écrire, mais parfois aussi se parler et se voir) et desquels on peut obtenir un certain nombre d'informations (présence, état, ...). Quand on y pense c'est loin d'être pratique. Surtout que souvent, suite aux nombreux réseaux disponibles, on dispose de plusieurs clients avec des fonctionnalités différentes et non-compatibles entre eux (et disposant de peu ou pas d'interactions possibles).

Déjà, au niveau de l'interface[1] l'utilisation d'une fenêtre flottante n'étant jamais qu'une liste de contacts est discutable. Quelque part un menu avec une telle liste brute devrait être tout autant utile (perso je rêve d'une applet).

Mais surtout je me rends compte qu'aujourd'hui, le concept de réseau sous-jacent n'a plus lieu d'être théoriquement. Je crois que basiquement l'utilisateur se fiche complètement de savoir quel réseau il emploie pour parler à ses contacts. En tant que tel l'appartenance à tel ou tel réseau devrait disparaître pour laisser la place à la notion plus cohérente et simple de "contact": un nom, un état, des actions possibles.

Qu'est-ce que cela signifie? Cela veut dire, qu'il serait sans doute intéressant de laisser tomber le concept de "client réseau machin" et d'étendre le concept de client multiprotocole à celui de "système de communication instantanée".

Petit exemple concret

Plaçons maintenant ceci dans le contexte de l'envronnement GNOME, pour fournir un exemple pratique, et donner aussi quelques idées concrètes. Actuellement sous Gnome cohabitent de multiples applications remplissant le rôle de client de messagerie instantanée: Gaim, Gossip, Gnome jabber, Gnomemeeting, et autre. Je trouve qu'il serait plus intéressant de passer à un système combiné constitué d'un bon carnet d'adresse (cf. evolution-data-server) et d'une application (qui revétirait plus l'apprence d'un service) qui permettrait de dialoguer avec ses contacts via les mécanismes propres aux réseaux sous-jacent.

Imaginez utiliser evolution (ou un autre programme de gestion de carnet d'adresse) pour gérer une liste de contacts. En gros toutes vos connaissances. Pour chacun de ces contacts vous spécifiez toutes les infos qui vous plaisent: nom, adresse, email, etc... mais surtout vous pouvez spécifier une quantité d'adresses sur certains réseaux. Ex: quelque part il y a un bouton "ajouter une adresse sur un réseau IM"[2] dans laquelle vous spécifiez l'ID du contact + le réseau en question.

D'un autre côté vous disposez d'un serveur de gestion des contacts (qui de manifeste par exemple par la présence d'une applet) qui en permanence vous maintient connecté aux réseaux enregistrés et affiche la liste des contacts connectés. D'un clic sur l'icône de l'applet vous pouvez voir les personnes connectées et en cliquant sur ces dernières vous pouvez effectués différents actions dépendant du/des réseaux propre à ce contact (envoyer un message, lancer une discussion, lancer une videoconférence).

Un tel concept m'apparaît comme étant énormément plus pratique que l'utilisation d'une quantité exagérée de différents clients souffrant tous de limitations diverses et frustrantes comme c'est le cas mnt. De plus l'avantage d'un tel système est qu'il pourrait être facilement étendu à d'autres réseaux par le biais de plugins.

PS: l'idée évoquée ici se marierait terriblement bien avec cette conception.

Notes

[1] Ceci est sans doute critiquable car il s'agit finalement d'une question de goût

[2] Pas top, mais bon on discute concept