web-dev-qa-db-fra.com

Conception d'une interface Web pour lancer des processus par lots de longue durée

Je cherche un exemple d'application de "portail Web" qui a une interface utilisateur bien conçue et facile à apprendre.

Par "portail Web", j'entends une interface Web vers un système traité par lots qui exécute des travaux de longue haleine à forte intensité de calcul. Le flux de travail typique est quelque chose comme:

  1. Connectez-vous au site Web.
  2. Spécifiez certains paramètres pour le travail.
  3. Peut-être téléchargez un ou plusieurs fichiers d'entrée.
  4. Lancez le travail.
  5. Vérifiez l'état du travail (commencé? En cours? Terminé?).
  6. Téléchargez les résultats du travail terminé.

Je cherche un exemplaire : un exemple d'une application web existante avec un workflow similaire qui a une interface utilisateur solide, en particulier du point de vue de nouveaux utilisateurs qui n'ont jamais vu l'interface auparavant.

Remarque: initialement demandé sur Stack Overflow , mais semble être mieux adapté à l'interface utilisateur.

11
Lorin Hochstein

Nous faisons exactement cela à SmartyStreets . Les utilisateurs téléchargent des fichiers contenant potentiellement des millions d’adresses et nous les vérifions et les normalisons/les dédoublonnons, etc. Cela nécessite beaucoup de processeur, et même avec les données de base chargées sur un lecteur RAM, des millions d'adresses prendront quelques heures (au fait, c'est super rapide pour ce montant ...).

Il peut également être important de concevoir une interface utilisateur pouvant prendre en charge des dizaines de travaux exécutés en parallèle. Par exemple, nos nœuds de serveur évoluent et nous pouvons prendre en charge de nombreux fichiers à la fois. Les utilisateurs auront besoin d'un moyen efficace pour afficher l'état et les gérer. En 2011, nous avons réorganisé notre interface utilisateur et c'est ce que nous avons trouvé.


Voici une vidéo de 30 secondes montrant comment tout le processus fonctionne et comment l'interface réagit à l'état actuel des travaux. Si vous le souhaitez, vous pouvez essayer par vous-même à partir de cette page (gratuit, ne vous inquiétez pas ...).


Les captures d'écran du flux de travail ... prennent environ 30 secondes à quelques minutes, selon vos fichiers.

Upload list

Téléchargez votre liste

See the file uploading

Voir le téléchargement du fichier

Map the fields

Mappez les champs (se produit automatiquement; confirmez simplement que l'auto-mappage était correct)

Stay up-to-date with the current status

Restez au courant de ce qui se passe actuellement


Notez qu'au fur et à mesure que la liste commence à être traitée, l'utilisateur peut revenir en arrière et en télécharger d'autres, lesquelles seront traitées en parallèle, en temps réel. Les listes peuvent être annulées/supprimées à tout moment et, une fois terminées, elles peuvent être téléchargées. Une coche apparaît lorsque la liste a été téléchargée au moins une fois.

Il s'agit en fait d'une conception vieillissante, que nous prévoyons de mettre à niveau. Cela ressemblera beaucoup plus à une application Web moderne et réactive.

Il vaut la peine de noter que nous avons changé l'apparence de la page "tableau de bord" du compte à plusieurs reprises et que cette conception a initié le moins d'appels/e-mails de support, et les clients aiment avoir tout visible en un coup d'œil. Les nouveaux utilisateurs ont tendance à se sentir à l'aise assez rapidement.

5
Matt

Je ne connais pas d'exemple concret, mais je considérerais ce qui suit:

Il semble que vous souhaitiez une page principale répertoriant les tâches entrées dans le système. Chaque travail doit avoir un statut (par exemple, en attente, en cours d'exécution, terminé) qui est clairement étiqueté, car c'est probablement l'élément d'information le plus important. Vous pouvez même vouloir séparer clairement les tâches par statut - par exemple, les afficher dans trois listes distinctes.

Si possible, chaque tâche en cours d'exécution doit indiquer sa durée actuelle et sa durée estimée. Les travaux terminés peuvent afficher la durée prise et les travaux en attente peuvent afficher l'heure de début estimée, si possible.

Si les travaux sont par utilisateur, vous devrez déterminer si un utilisateur peut voir les travaux d'un autre utilisateur ou non.

Vous voudrez probablement des actions de `` contrôle des travaux '' (par exemple, arrêter un travail en cours, supprimer un travail terminé, etc.) Vous pourriez également vouloir une sorte de système de priorité pour contrôler l'ordre dans lequel les travaux seront traités. Ou affichez-les simplement dans une file d'attente et permettez-les d'être commandés, par exemple par glisser-déposer.

3
Bobby Jack