SSE afin de l’aider dans sa prise de décision.
D'un côté nous avons des réactions locales, qui réagissent à des intentions de mutation dans une seule grappe de nœuds, un seul code métier. De l'autre, nous avons des notifications globales, qui permettent d’informer tous les utilisateurs des mutations effectuées, via une projection d’événements.
« On se pose souvent la question "Comment une intention utilisateur génère un événement ?" mais un exercice moins fréquent mais tout autant intéressant est de se poser la question "Quels événements déclenchent des intentions utilisateurs ?" »
Lorsque l’on comprend quels événements génèrent quelles intentions, on peut automatiser ces intentions pour aider l’utilisateur dans son travail.
Les notifications ne font qu'informer l'utilisateur qu'une nouvelle donnée est disponible en lecture, libre à lui de demander cette donnée en exprimant son intention de projection. Quand le système n'est plus capable de fournir des données en temps réel, l'utilisateur peut alors prendre le relais et être lui-même réactif, manuellement.
Grâce à tous ces éléments, nous pouvons prioriser les fonctionnalités, ici via MoSCoW. Par exemple, le Must Have serait la capacité de récupérer les données à l'affichage de la page alors que le Should Have serait l'affichage des notifications à chaque nouvel événement. Pour finir, un Nice To Have serait de fournir ces informations en temps réel.
Lorsque l’on utilise l’URL-driven interface, chaque fragment du chemin représente un bloc de l'interface. Ce qui donne à l’URL une structure hiérarchique, que l’on retrouve dans l’interface. Grâce à cela, on sait quoi projeter sur chaque bloc d’interface. Ce qui permet à l’application d’afficher les données de manière précise et déterministe.
De même, lorsque l’application ne répond plus, l’utilisateur qui rafraîchit la page ne demande que ce dont il a besoin.