Je suis chargé de créer une interface permettant à un utilisateur de créer un "éditeur de règles" pouvant effectuer des actions spécifiques lorsque certaines conditions sont remplies. Un genre de chose "Si ceci alors ça". Le client a instantanément donné l'interface des règles de messagerie Mac comme exemple souhaité
L'interface de règle de messagerie pourrait fonctionner pour le client, mais elle sera probablement "simple" pour les cas d'utilisation du client qui nécessitent beaucoup plus de combobox sur une seule ligne en raison des conditions/actions complexes que l'utilisateur est en mesure de configurer.
Je cherchais des modèles de conception alternatifs, mais j'ai instantanément remarqué que ce type de fonction utilisateur n'a pas vraiment de nom défini. Certains produits appellent une fonction similaire "éditeur de règles", mais j'ai également vu "éditeur de requêtes", "éditeur de logique" ou "règles métier". En outre, il existe de nombreuses variantes dans un but similaire.
Une idée: avec autant de variables potentielles, une fonctionnalité intéressante pourrait être de fournir des "modèles" pour les règles les plus courantes afin qu'un utilisateur ne soit pas toujours obligé de recommencer à zéro. Quelle part du travail pouvez-vous faire pour eux à l'avance? L'utilisateur pouvait modifier, dupliquer ces échantillons préexistants pour personnaliser plus facilement une règle pour faire exactement ce qu'il voulait. Peut-être que ces règles personnalisées créées par vos utilisateurs pourraient également être partagées avec d'autres utilisateurs.
De plus, une conception d'écran partagé serait vraiment cool avec la règle définie à gauche et les résultats à droite afin que l'utilisateur puisse évaluer s'il obtient le type de résultats finaux qu'il souhaite et effectuer des ajustements dynamiquement avant d'enregistrer ou d'exécuter la règle.
La réponse directe à cette question est non!
Il s'agit d'un domaine inexact dans lequel personne n'a trouvé la solution idéale, sinon tout le monde aurait été autorisé à faire de la programmation il y a longtemps.
Les sagas, les difficultés et la notoriété de la configuration d'un magnétoscope pour enregistrer une émission de télévision donnée à cette époque montrent jusqu'où remonte ce problème. Quelque peu.
Hypercard en a fait un hachage décent avec un langage de script simpliste, et les choses ne se sont pas beaucoup améliorées depuis lors.
Votre client sait et a suggéré (fortement) qu'il aime la manière Apple Mail le fait. Cela fait de cette approche la bonne réponse car il n'y a pas d'autres moyens quantifiables. Et il est capable de comprendre cette approche, ce qui signifie qu'il peut (probablement) réussir à éduquer les utilisateurs de son application au sein de cette approche. Cela, à lui seul, sera l'aspect le plus crucial, car il semble que personne n'ait trouvé une manière plus découvrable et intuitive de résoudre ce problème.
Tu pourrais essayer. Mais étant donné la forte suggestion du client, je pense que vous perdriez votre temps.