Suite des articles sur l’Ajout d’émotions sur des objets et suites 1 2 3 4, et Liens d’émotions.
Les émotions sont une façon de marque un objet avec les sentiments qu’il inspire à un être humain. Les émotions sont plutôt subjectives là où les avis sont beaucoup plus objectifs. L’intensité que l’on peut donner à une émotion est toujours strictement positive, le sens positif ou négatif est déjà porté par l’émotion elle-même.
Les émotions étaient fonctionnelles sur les objets dans la version 2014 de sylabe. Mais le code ayant été entièrement repris en php orienté objet elles n’avaient pas encore été ré-implémentées. Le nécessaire est en cours de remise en place directement dans la librairie afin que les émotions sur les objets soient utilisables dans toutes les applications.
Les avis ne sont pas maintenus.
En parallèle, la réflexion à long terme continue sur la pondération des objets en vue de leur suppression automatique au bout d’une certain temps. C’est la fonction d’oublie. Il faut que cette pondération soit aisée à utiliser, et surtout qu’elle ait du sens pour que l’utilisateur prenne le temps de le faire. Il est clair qu’un champs de quantification de l’importance d’un objet est difficile à appréhender et ne sera pas utilisé. La gestion des émotions devient en fait la solution évidente de pondération. De plus, la pondération d’un objet, qui représente en fait son importance, peut influencer et être influencée par l’importance des objets qui lui sont liés.
Sans pondération, la gestion de l’oublie sera chaotique et peu fiable, donc pas utilisée.
La facilité d’usage et la pertinence de la solution de gestion des émotions et leurs pondérations sont donc déterminantes pour leur adoption et leur utilisation mais aussi plus tard pour la gestion de l’oublie.
Il y a plusieurs façons d’aborder la pondération avec les émotions.
Solution 1 : émotions à états sans pondération d’intensité
Dans sa version 2014, la pondération était uniquement à état. C’est à dire que l’on peut ajouter à un objet chaque émotion individuellement mais sans valeur d’intensité des différentes émotions. Chaque émotion est donc dans un état activé ou non.
Cette solution est facile à mettre en place et elle est claire pour l’utilisateur. Elle peut se fondre discrètement dans la page en une seule ligne avec l’affichage d’un objet.
Le lien utilisé par émotion est simplement un lien de type f
avec l’objet concerné en source et l’émotion en cible. Un lien de type x
suffit à supprimer l’émotion.
Mais elle n’offre aucune pondération donc on peut avoir un effet facebook avec la moitié des articles que l’on marque J’aime. A long terme il est impossible de déterminer ce qui est important de garder ou pas pour une entité, seule le nombre de J’aime global donne une valeur mais seulement pour le groupe et non pour un individu.
De plus, la suppression d’une émotion par une entité supprime de fait aussi la même émotion que d’autres entités aurait pu marquer avant. C’est à relativiser puisque la suppression ne sera pas pris en compte au delà d’un cercle très proche d’entités amis.
Solution 2 : émotions à pondération d’intensité
Il est possible de modifier la façon de gérer les émotions par état et de permettre en plus de gérer une valeur pour chaque émotions. Le champs méta était libre dans la précédente solution, il peut être utilisé pour la pondération. Cependant, l’ordre logique d’ordonnancement des liens serait plutôt d’avoir la valeur de la pondération en cible et le type d’émotion en méta (contextualisation).
On résout partiellement le problème de la suppression en limitant les effets de bord de celle-ci sur les autres entités. Mais ce n’est pas absolu.
Le calcul de l’importance de l’objet peut facilement se calculer en moyennant les pondérations des émotions utilisées sur l’objet, et ceci au niveau de l’individu comme du groupe.
Cependant cette solution impose dans l’interface d’avoir quelque chose de plus complexe. Il faut non seulement présenter les différentes émotions, mais aussi permettre pour chacune de choisir une valeur de pondération. Et l’affichage doit aussi indiquer la valeur de la pondération actuelle pour l’individu et/ou pour le groupe. Cette affichage devient encombrant et difficile à synthétiser.
Solution 3 : émotions à états et pondération d’intensité globale
Il est aussi possible de garder des émotions définies par état et de gérer une pondération d’intensité globale des émotions. Ainsi, ce n’est plus chaque émotions qui a une intensité mais toutes les émotions activées ont cette intensité.
On revient sur les liens des émotions sans pondération avec les avantages et inconvénients et on ajoute un autre lien pour gérer en quelque sorte l’intensité de l’émotion générale.
Compléments de pondération
Le système de liens des émotions dans la version 2014 cumule toutes les émotions de toutes les entités sur un objet. Lors que l’on a placé une émotion mais que l’on décide de la retirer, le mécanisme de lien fait que cette émotion est marqué supprimé non seulement pour soi mais aussi pour toutes les entités qui l’avaient précédemment activé. Cela fausse le résultat du calcul des émotions sur un objet puisque l’on perd ainsi l’information pour d’autres entités.
La solution à ce problème particulier est d’utiliser le champs méta des liens des émotions avec une valeur non nulle et non constante. Ainsi la suppression d’une émotion se limitera à un lien bien ciblé. Et en plus on peut toujours marquer supprimé l’émotion d’une autre entité, ce qui a bien sûr une valeur relative pour les autres entités.
Le marquage de la valeur de la pondération d’une émotion nécessite la création de l’objet de cette valeur. On peut accélérer le traitement et réduire le nombre d’objet en utilisant le champs de pondération non pas comme hash d’objet mais directement comme valeur. Mais ce n’est pas ce qui est prévu dans le registre des liens à part pour le lien de dissimulation. Pour que ce soit propre, il faudrait un nouveau type de lien avec une gestion spécifique de celui-ci.
La gestion des émotions prend une importance qui suffit à se demander si la création d’un nouveau type de lien ne serait pas une façon de faciliter la gestion des émotions, mais surtout de faciliter après la gestion de l’oublie.
Solution retenu
Pour l’instant, la ré-implémentation se fait sur la troisième solution. C’est à dire des liens d’émotions sans pondération et avec en plus un lien d’intensité globale de l’émotion.
On prend en compte le problème de suppression sans effet collatéral en remplissant le champs méta avec le hash de l’entité signataire. Ce champs devra être vérifié comme égal au champs signataire. Ainsi la suppression est ciblé.
Les liens des émotions sont de type f
avec comme source l’objet concerné, comme cible le hash de l’émotion et comme méta le hash du signataire.
Le lien d’intensité globale de l’émotion est un lien de type f
avec comme source l’objet concerné, comme cible le hash de l’objet de référence et comme méta à 0
. Ce lien ne contient pas de valeur mais le nombre de liens additionnés donnera la valeur de l’intensité.
Dans l’interface, il est proposé un bouton pour ajouter de l’intensité aux émotions par incrément de 1
. Cela devrait limiter l’envolée des valeurs et rester pour un usage normal autour de sa valeur de base, c’est à dire 1
.
Cette solution est en cours de test…