LoupHC / controleur-CAPE

Contrôleur de serre openSource pour petites, moyennes et grosses fermes
GNU Lesser General Public License v3.0
8 stars 4 forks source link

SOFTWARE - interface #73

Open LoupHC opened 5 years ago

LoupHC commented 5 years ago

Je suis en plein dans le pimpage de l'interface et j'ai besoin de vos conseils et idées!

Jusqu'à maintenant, j'ai réussi à faire deux améliorations majeures :

Avez-vous d'autres suggestions d'améliorations à apporter à l'interface?

yoangp commented 5 years ago

Tu travailles fort sur l'interface dis donc! :-)

Commentaires (certains ont l'air négatifs, mais c'est voulu constructifs!): Personnellement, je trouvais que 1dégré d'incrément c'était suffisant comme précision et step de température. On sait qu'on veut rester dans un range 5degrésC à 30dégrésC environ. Des steps de 10 degrés c'est pas assez précis et ça oblige de savoir qu'il faut peser sur 0 pour switcher de mode pour aller mettre des incréments de 1degrésC. De plus, la température à différents endroits de la serre peut varier de plusieurs degrésC selon la position du soleil, l'entrée d'air extérieur, la distribution égale ou pas du chauffage dans la serre, etc. Des steps de 0.1 degré c'est bien au-delà de la précision réelle qu'il est possible d'atteindre.

Par contre, des steps de 0.5 degrés ça pourrait permettre d'introduire un certain ordre de priorités autour d'une température cible. Ex. 24.5degréC démarrage des fans pour entrer de l'air extérieur, 25degréC début d'ouverture des roll-ups.

Je trouve aussi que ça ajoute un niveau de complexité pour le fermier cette possibilité de swticher d'un mode à l'autre. Si tu veux tout de même garder ce feature. je proposes que tu mettes 0.5, 1 et 5 plutôt que 0.1,1 et 10.

Je sais que je t'en ai déjà parlé, mais quand j'ai utilisé le contrôleur d'irrigation HydroRain, j'ai trouvé ça merveilleux à quand point la programmation était simple à utliser et rapide à apprendre. Je pense qu'il y a juste 4 boutons et une roulette de sélection de la chose qu'on désire configurer. C'est sur qu'il y aura plus de paramètres à programmer sur le contrôleur, mais je te renvoie tout de même le "Simple is beautiful" ;-) Je peux te garantir qu'il y a une tonne de fermiers qui ont zéro intérêt à passer plus que 5min à apprendre comment le contrôleur marche. À la limite, il faudrait leur mettre dans les mains sans guide d'utilisation et qu'ils soient capable de le programme tout de suite juste de même.

Pour les raccourcis, je comprends ton idée, mais dans la réalité si les paramètres profond du contrôleur sont modifiés 5à10 fois dans l'année c'est probablement le gros max. Ensuite, ils vont pitonner des choses, mais ça va se limiter à changer quelques températures ou heures.

Moi, je pense qu'il faut que tu regarde ton interface avec des yeux neuf. Demande à quelqu'un qui connais rien de ton controleur de changer la consigne de température des roll-ups, ou le % d'ouverture des roll-up du stage 1, etc. Elle (la personne je veux dire, pas nécessairement une fille :-)) va surement te dire qu'elle a besoin d'informations pour faire l'action. Si elle trouve ça trop compliqué c'est qu'il y a un problème de design.

J'écris à voix haute... Un redesign de l'interface pour rendre cela mega easy.

En tout cas, c'est pas obligé d'être de même, mais l'idée c'est qu'il faut que ça soit méga simple, le moins de fonctions d'interfaces différentes à apprendre...

C'est quoi ton feeling là dessus? On s'en rejase ;-)

LoupHC commented 5 years ago

Quand ça débourre mes affaires, ça débourre vite! ;)

Bon point pour le +-0.1 vs 0.5, n'empêche je trouvais ça assez clean et intuitif n'empêche de dire que peser sur le 0 ça change la décimale de place.

Pour le menu "actions", je me disais que ça serait encore plus simple de peser sur un seul piton plutôt qu'entrer un code qu'on doit aller chercher en fouillant dans une liste, mais je peux me tromper, c'est vrai que ça implique de se rappeller ou est le piton en question... Le meilleur juge comme tu dis c'est quelqu'un qui connait fuck all le contrôleur (ma blonde par exemple!).

Une autre possibilité, pour réduire le grattage de tête, c'est d'agglomérer des codes en un seul. Exemple, en plus d'avoir un code pour chaque paramètre du rollup, on pourrait avoir un code qui s'appelle "paramétrage rollup" qui te montre successivement tous les paramètres à modifier. Comme ça on raccourcit la liste de codes usuels d'une centaine à une dizaine environ.

J'en ai déjà fait quelques uns comme ça, quelques exemples :

Pour ce qui est de l'affichage des paramètres, est-ce que tu trouves ça aussi trop compliqué qu'il y ait un set de menus dédié à ça? Est-ce que tu penses que ça aussi ça devrait passer par un code? C'est vrai que si pour n'importe quelle action, affichage ou modification de paramètre, faut aller chercher un code dans une liste, au moins c'est clair où se trouve l'information... hmm m'a cogiter là-dessus!

yoangp commented 5 years ago

Moi je passerais absolument tout par un code, de juste 2 chiffres finalement.

Le mar. 22 janv. 2019, à 23 h 28, LoupHC notifications@github.com a écrit :

Quand ça débourre mes affaires, ça débourre vite! ;)

Bon point pour le +-0.1 vs 0.5, n'empêche je trouvais ça assez clean et intuitif n'empêche de dire que peser sur le 0 ça change la décimale de place.

Pour le menu "actions", je me disais que ça serait encore plus simple de peser sur un seul piton plutôt qu'entrer un code qu'on doit aller chercher en fouillant dans une liste, mais je peux me tromper, le meilleur juge comme tu dis c'est quelqu'un qui connait fuck all le contrôleur (ma blonde par exemple!).

Une autre possibilité, pour réduire le grattage de tête, c'est d'agglomérer des codes en un seul. Exemple, en plus d'avoir un code pour chaque paramètre du rollup, on pourrait avoir un code qui s'appelle "paramétrage rollup" qui te montre successivement tous les paramètres à modifier. Comme ça on raccourcit la liste de codes usuels d'une centaine à une dizaine environ.

J'en ai déjà fait quelques uns comme ça, quelques exemples :

  • ADJUST T24H : augmente tous les paramètres de température cible de +- X°C
  • ADJUST TNIGHT : augmente tous les paramètres de température cible de +- X°C pour les timepoints nocturne
  • ADJUST TDAY : augmente tous les paramètres de température cible de +- X°C pour les timepoints diurnes

Pour ce qui est de l'affichage des paramètres, est-ce que tu trouves ça aussi trop compliqué qu'il y ait un set de menus dédié à ça? Est-ce que tu penses que ça aussi ça devrait passer par un code? C'est vrai que si pour n'importe quelle action, affichage ou modification de paramètre, faut aller chercher un code dans une liste, au moins c'est clair où se trouve l'information.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/LoupHC/controleur-CAPE/issues/73#issuecomment-456666116, or mute the thread https://github.com/notifications/unsubscribe-auth/AgxG_BlQDh5BHU4nm2FJzko0aoR1jc86ks5vF-TlgaJpZM4aN6tE .

LoupHC commented 5 years ago

Autre question existentielle :

LoupHC commented 5 years ago

Aussi, j'ai la bonne nouvelle à t'annoncer que j'ai maintenant du code qui me permet de faire presque tout ce que je veux avec l'interface! Des architectures de menus, de l'affichage, de la modification de paramètres numériques, choisir parmis plusieurs nametags...

LoupHC commented 5 years ago

Je garderais le code à 4 chiffres par contre, il y a une logique derrière : premier chiffre = type de paramètre (timepoint, rollup, fan, fournaise...) deuxième chiffre = #d'item troisième et 4e = paramètre à modifier Vu la longueur de mon fichier de code, faut que je garde de l'ordre là-dedans au minimum

Par contre les codes plus usuels on peut les numéroter 0001, 0002, 0003

LoupHC commented 5 years ago

Tu vas me trouver tannant... j'ai encore changé d'avis! Je pensais à ton idée d'utiliser un code à 2 chiffres, qui pourrait ensuite appeller un code à 4 chiffres défini dans le code. Pis là j'étais comme... pfff ça va être du trouble! Et là je me suis dit, tant qu'à ajouter une couche de programme, au lieu de créer un numéro qui appelle un numéro, pourquoi pas créer un nametag qui appelle un numéro, là ça prend plus son sens selon moi! Autrement dit, d'un point de vue de programmation, c'est pas plus compliqué pour moi de faire un menu de texte qui appelle le numéro de programmation nécessaire. Ex. -set Rollup1 (affiche successivement les paramètres du rollup1) -set Rollup2 (idem pour rollup2) -set Device1 (idem pour device1) -set Device2 (idem pour device2) -set T nuit (idem pour timepoint 3-4) -set Tjour (idem pour timepoint 1-2) -Overrides (modifie les paramètres des overrides (autre menu) -#code (entrer un code pour modifier un paramètre isolément)

Boom... changement de paradigme! Qu'est-ce que t'en penses?

jayserf commented 5 years ago

Very elegant and easy to understand!

Nice one!

On Sun, Jan 27, 2019, 8:56 AM LoupHC <notifications@github.com wrote:

Tu vas me trouver tannant... j'ai encore changé d'avis! Je pensais à ton idée d'utiliser un code à 2 chiffres, qui pourrait ensuite appeller un code à 4 chiffres défini dans le code. Pis là j'étais comme... pfff ça va être du trouble! Et là je me suis dit, tant qu'à ajouter une couche de programme, au lieu de créer un numéro qui appelle un numéro, pourquoi pas créer un nametag qui appelle un numéro, là ça prend plus son sens selon moi! Autrement dit, d'un point de vue de programmation, c'est pas plus compliqué pour moi de faire un menu de texte qui appelle le numéro de programmation nécessaire. Ex. -set Rollup1 (affiche successivement les paramètres du rollup1) -set Rollup2 (idem pour rollup2) -set Device1 (idem pour device1) -set Device2 (idem pour device2) -set T nuit (idem pour timepoint 3-4) -set Tjour (idem pour timepoint 1-2) -Overrides (modifie les paramètres des overrides (autre menu) -#code (entrer un code pour modifier un paramètre isolément)

Boom... changement de paradigme! Qu'est-ce que t'en penses?

— You are receiving this because you were assigned. Reply to this email directly, view it on GitHub https://github.com/LoupHC/controleur-CAPE/issues/73#issuecomment-457920046, or mute the thread https://github.com/notifications/unsubscribe-auth/AZfkJ1badClov3AF0dJiA_pxhKRa2Jdhks5vHbASgaJpZM4aN6tE .

LoupHC commented 5 years ago

Les résultats de ma petite expérience comportementale (merci à Ève qui a tenu jusqu'au bout malgré l'envie de rage quit plusieurs fois) :

yoangp commented 5 years ago

Intéressant, une autre option serait d'entrer des valeurs comme au guichet automatique, Exemple: "Entrez la valeur : 00.0" Taper le chiffre 2 donne: "Entrez la valeur : 00.2" Taper le chiffre 5 donne: "Entrez la valeur : 02.5" Taper le chiffre 0 donne: "Entrez la valeur : 25.0"

Le mar. 29 janv. 2019, à 17 h 41, LoupHC notifications@github.com a écrit :

Les résultats de ma petite expérience comportementale (merci à Ève qui a tenu jusqu'au bout malgré l'envie de rage quit plusieurs fois) :

  • les menus déroulants, c'est en général plus intuitif que les codes
  • elle aimait mieux se faire guider à travers les paramètres un à la suite de l'autre plutôt qu'entrer uns par uns les codes correspondant aux paramètres à modifier.
  • remarque intéressante : on utilise le clavier numérique seulement pour rentrer les codes, mais pas pour modifier les valeurs de paramètres, c'est contre-intuitif! À la place, on devrait utiliser les flèches pour naviguer à travers les chiffres (pour changer de décimale) et utiliser le clavier pour modifier la valeur de la décimale sélectionnée. C'est plus intuitif selon elle que le concept d'appuyer sur zero pour modifier la décimale.

— You are receiving this because you were assigned. Reply to this email directly, view it on GitHub https://github.com/LoupHC/controleur-CAPE/issues/73#issuecomment-458736794, or mute the thread https://github.com/notifications/unsubscribe-auth/AgxG_OvdOpeu_WCPMUQpwAzWyY0Qxc1pks5vIM4ggaJpZM4aN6tE .

LoupHC commented 5 years ago

En tout cas guys, je m'embarque dans quelque chose de gros! Je vais vraiment avoir besoin de votre avis là-dessus! J'ai fait un diagramme fonctionnel de la future interface du contrôleur, je pense enfin avoir rien oublié!! Ça va être une belle interface à menu classique, mais la plus épurée possible (j'ai essayé). J'ai essayé de me baser sur le workflow que j'avais l'an passé quand je gossais sur le iGrow, ça donne ça : https://www.draw.io/#G1ctQ59Fbii_Kc-W_18nohk9aDOSgipiFA

C'est un gros chunk mais vos commentaires sont plus que bienvenues! Dites le moi si ya des bouttes pas clairs. Les embranchements représentent différentes options sous-jacente à un menu.

LoupHC commented 5 years ago

Idéalement il serait possible de naviguer dans ces menus-là dans les deux sens, c'est à dire en descendant ou en remontant les chaines de menus. À la fin d'une chaîne on reviendrait au menu principal ou au front screen (avec la température, les % d'ouverture...)

LoupHC commented 5 years ago

Au cas ou ça bug sur draw.io interface

yoangp commented 5 years ago

Wow, méchant travail Loup avec ton schéma des fonctions de l'interface!! Nice!

La seule affaire, c'est qu'il me semble que ça va vraiment être long à coder tout ça, non? C'est quoi ton évaluation en temps? Je me fait l'acovat du diable, mais même si c'est vraiment plus ergonimique, il ne faut pas oublier que ce n'est pas une nouvelle fonctionnalité, mais bien une façon différente d'interagir avec le contrôleur. Est-ce que tu trouves que c'est la tâche la plus importante à prioriser dans le code? Si tu trouves que oui,alors ok pour moi aussi, tu es mieux placé que moi pour faire cette évaluation.

Le jeu. 31 janv. 2019, à 14 h 44, LoupHC notifications@github.com a écrit :

Au cas ou ça bug sur draw.io [image: interface] https://user-images.githubusercontent.com/24371752/52080837-c2680680-2566-11e9-9193-28a02cf8d0f2.jpg

— You are receiving this because you were assigned. Reply to this email directly, view it on GitHub https://github.com/LoupHC/controleur-CAPE/issues/73#issuecomment-459479839, or mute the thread https://github.com/notifications/unsubscribe-auth/AgxG_Lff5XKkAIjuaNRbYNzcvT1kNwyHks5vI0e3gaJpZM4aN6tE .

LoupHC commented 5 years ago

En fait, je dirais que je suis pas mal rendu là. J'évalue qu'il me reste un bon 40h pour me rendre ou je veux... Mon système d'overrides fonctionne comme je veux (pour la pluie, l'humidité, un override programmable à heure fixe par sortie, mode semi-automatique), pour l'override vent ça vaut pas la peine que je m'y mette avant d'avoir un setup physique où le tester. Il me reste les fusibles électroniques à programmer aussi, mais sans setup physique c'est difficile aussi. C'était pas mal mes gros chantiers pour cet hiver!

yoangp commented 5 years ago

Pour commencer je vais essayer de mieux comprendre toutes tes fonctions.

-Dans Ajustement, C'est quoi l'ajustement pour T24h? Est-ce que tu peux mettre une valeur cible de T24h? -Pour les ajutements météo, ça serais-tu possible de faire remonter cela d'un niveau car c'est de quoi qu'il va falloir changer quotidiennement, donc idéalement le moins de pitonage pour changer la valeur. Ex: "Menu Principal"/"Ajustements Météo"/ Soleil ou Mi-Mi ou Nuage. L'affaire c'est la T24h qui est problématique à garder dans ce menu. T'as tu une sugestion?

Bon, je pense que tu as quelques piste de réflexion ;-) Mais super travail jusqu'à mainteant Loup!!!

LoupHC commented 5 years ago

Nice!!! wow ça c'est du feedback! Thanks man!

LoupHC commented 5 years ago

Nouvelle utilisation du clavier à bouton (idée) :