• edit rss_feed

    Timothée Jaussoin’s feed

    I'm a Web developer, hacktivist, defending the Net Neutrality and citizens privacy. Author of Movim, a XMPP social-network client written in PHP and HTML5. Please talk with me before sending me an invitation :) If you have any questions about Movim, XMPP or something related, please ask it in the official chatroom : movim@conference.movim.eu.

  • chevron_right

    La meilleure messagerie du monde

    Timothée Jaussoin – Wednesday, 10 June, 2015 - 20:24

La messagerie instantanée (ou IM pour les intimes) existe depuis un bon bout de temps déjà, j'ai pourtant la très forte impression que nous nous cantonnons à de vieilles habitudes et fonctionnalités que nous pourrions dépoussiérer pour enfin offrir aux utilisateurs les services innovants et modernes dont ils rêvent.

Dans cet article je vais essayer de proposer des idées novatrices qui ont germé après quelques années à travailler dans ce milieu, je vous les donne, à vous d'en faire ce que vous souhaitez avec. Peut-être qu'avec vous allez créer la prochaine application de messagerie qui fera le buzz et révolutionnera notre façon de communiquer avec nos proches.

Accrochez-vous, c'est parti !

Idée 1 : Repenser l'identification

Avouez-le, les identifiants c'est nul, se créer un compte c'est contre intuitif et franchement énervant. La première idée que je vous soumets consisterait à repenser ce système de création de compte. Vous-savez, ce petit (ou grand) formulaire que vous avez à remplir la première fois que vous voulez vous connecter sur un service, un site ou une plateforme.

À vrai dire lorsque l'utilisateur arrive devant son formulaire, il hésite, ce n'est jamais plaisant d'avoir à fournir un effort pour remplir ces quelques champs. Pourquoi ne pas simplement supprimer cette étape ? Lorsque la personne se connecte pour la première fois, on lui attribue un identifiant unique (un numéro). On l'invitera par la suite à remplir son profil, et comme elle sera déjà "entrée" elle donnera avec plus d'aisance ces quelques informations nécessaires à la bonne gestion de son compte.

Le souci que nous avons ici c'est d'identifier de façon unique l'utilisateur avant qu'il nous donne la moindre information. Impossible ? Tout dépend de l'environnement de celui-ci. Si nous souhaitons développer un service de messagerie sur mobile nous pouvons parfaitement utiliser l'IMEI (identifiant unique du téléphone) , ou plus simplement le numéro de téléphone rattaché à la carte SIM de l'utilisateur ! Brillant n'est ce pas ?

Idée 2 : Répartir le réseau ?

L'idée précédente amène un restriction, comme nous souhaitons que la création du compte se fasse de manière automatique nous ne pouvons pas nous permettre de demander à l'utilisateur sur quel serveur il souhaite s'inscrire. Imaginez, nous risquerions de le perdre, il aura un choix à faire ce qui pourrait l'amener à hésiter et donc augmenter les chances qu'il ne s'inscrive pas !

Une solution formidable et pourtant simple est encore ici de se passer de ce choix. Pourquoi ne pas offrir qu'un seul serveur unique où tous les comptes seront créés. Comme ça nous avons un utilisateur = un mobile = un compte unique = un service.

Bien plus simple non ?

Idée 3 : Ajouter de nouveaux contacts

Encore une fois, les utilisateurs sont flemmards et une fois le compte créé ils doivent toujours inviter ou ajouter les contacts avec qui ils souhaitent échanger. Ce processus long et compliqué peut en décourager plus d'un. Ne serait-il pas sympa d'avoir déjà une liste de contacts, tout prête, avec qui le nouvel utilisateur peut discuter dès son arrivé sur la plateforme ?

Mais où trouver cette liste de contact me direz-vous ? Nous avons une application installée sur le mobile de l'utilisateur, mobile qui possède un répertoire téléphonique non ? Bingo ! Pourquoi ne pas simplement prendre l'intégralité de ce répertoire, l'envoyer sur notre serveur, regarder quel numéro de téléphone correspond déjà à un compte créé et créer automatiquement le lien entre les comptes. Cette idée vient confirmer notre première idée, l'identifiant unique peut être le numéro de téléphone de l'utilisateur.

De plus, l'utilisateur acceptera volontiers d'envoyer l'intégralité de sa liste de contact sur nos serveurs en échange de ce superbe service que nous lui offrons non ?

Idée 4 : Respecter les utilisateurs

L'idée précédente est très intéressante mais peut faire peur à certaines personnes soucieuses de leur vie privée (et celle de leurs contacts qui n'ont pas vraiment demandé s'ils souhaitaient que leurs informations soient envoyées sur un service qu'ils ne connaissent pas ?). Quelle contrepartie pouvons nous leur offrir pour les rassurer sur notre gestion de leurs informations personnelles ?

Un mot magique peut alors être sorti pour rassurer tous ces agitateurs : chiffrement. Si les communications sont chiffrées cela montre bien que nous tenons à leur vie privée non ? Nous pouvons déjà garantir que l'ensemble des communications sont protégées entre nos utilisateurs et nos serveurs. Un petit coup de SSL/TLS et hop c'est réglé !

Mais nous pouvons pousser encore un peu plus loin cette idée, pour vraiment montrer que nous souhaitons créer un service innovant, avec des vrais bouts de confiance dedans. Chiffrons les communications de bout en bout ! Ce n'est pas vraiment important puisque nous avons déjà :

  • Le numéro de l'utilisateur
  • Son profil
  • Sa liste de contact complète avec toutes les données attachées (courriel, adresse…)
  • Ainsi que des traces de l'intégralité de ses échanges (émetteur, destinataire, heure d'envois, de réception, de lecture, de réponse, taille du contenu).

Et comme nous le savons, les métadonnées sont plus importantes que les données donc le chiffrement de bout en bout peut être une bonne contrepartie en échange de cette grande générosité.

Idée Bonus 5 : Ouvrir la plateforme

Pour définitivement passer dans le groupe des gentils nous pouvons jouer la carte de l'ouverture. Croyez-moi ça marche à tous les coups. Deux arguments massues peuvent venir renforcer cette idée :

Offrir une API

Une API bien sûr ! Quelques changements sur notre interface de communication, un petit peu de documentation sur un Wiki et hop ! Nous voilà ouverts au monde. Les utilisateurs peuvent ainsi bricoler des bibliothèques dans tous les langages inimaginables pour communiquer avec nous. Un petit système de clef d'autorisation peut nous permettre de garder la main sur tout ça et de radier les applications un peu trop curieuses qui viendraient regarder de trop près notre petit butin.

Libérer nos clients

En ouvrant le code source de nos clients nous pouvons garantir notre transparence. Pourquoi s'en priver ? Nous pouvons ainsi prouver que le chiffrement appliqué est bien respectueux et sans failles. De plus cela ne nous empêche pas d'intégrer des portes dérobées ou autres systèmes espions sur les versions que nous distribuons tout en gardant la base ouverte.

Second effet kiss-cool, en ouvrant nos clients nous utilisons la force de la communauté pour corriger les bugs et apporter des améliorations (performances, interaction). Comme nous gardons la main sur l'API nous pouvons tout de même contrôler tout ce qui entre et sort. Attention à ne pas être trop bavard quand même !

Et voilà

Voilà quelques idées très simples qui vont vous permettre de créer votre prochaine application de messagerie sur mobile, avec quelques bidouilles vous pouvez même la porter sur d'autres plateformes.

Avec l'Idée 3 je peux aussi vous garantir une croissance exponentielle vu que vous qu'à chaque fois vous récupérez la liste de chaque nouvel utilisateur.

Jouer la carte de l'ouverture peut aussi être retardée si vous souhaitez faire valoir la transparence (comme Joker) après quelques problèmes que vous pourriez avoir concernant la vie privée. À vous de voir suivant la politique d'ouverture et de respect de la vie privée de vos utilisateurs que vous souhaitez appliquer.

Oh bah mince alors !

Je me serais fait piquer mes idées par, entre autres :

Q: Who can I write to?
You can write to people, who are in your phone contacts and have Telegram.

Et pour certaines idées :

Et sinon pour ceux qui ne sont pas flemmards et qui veulent de la vraie messagerie instantanée, il y a XMPP :)