Workflomics / workflomics-frontend

Front end of the Workflomics - workflow benchmarking platform.
https://workflomics.readthedocs.io/en/latest/?badge=latest
Apache License 2.0
3 stars 2 forks source link

[FEATURE] The current visual representation of workflow benchmarks presumes a sequential workflow #72

Open Ambivalentalfa opened 1 month ago

Ambivalentalfa commented 1 month ago

Feature Description

The current visual representation, while aesthetically pleasing, does not accurately reflect the structure of the workflows. The connections between nodes, especially on the benchmark side, suggest relationships between tools that are not entirely representative when workflows are non-linear. I propose removing the links between nodes entirely.

Motivation

The existing graphical elements communicate a message, but that message is misleading. I think the graphical elements should give accurate information about the workflow structure, or be removed.

Proposed Solution

Remove the links on the benchmark representation so only the nodes are left.

Alternatives Considered

Additional Context

Here is a non linear workflow where the benchmarks suggest that idconvert and mzRecal are directly linked, though they are not in the original workflow.

nonlinearwfex

benchmarkex2 benchmarkex1

magnuspalmblad commented 1 month ago

From what @Ambivalentalfa has shown me, it seems these types of non-linear workflows become very common when allowing larger number of steps. What seemed a great idea at the time, may indeed be more confusing for the users. Perhaps we could comment out the part of the code that generates the edges for now?

magnuspalmblad commented 1 month ago

The following suggestions were proposed in a call yesterday:

  1. Replace lines with curved edges, allowing display of parallel edges? May get messy?
  2. Enumerate workflow components and display the numbers in the benchmark card cartoons to make the link between the workflow and miniature representation clearer?
  3. Reveal edges per node only when hovering over a node, but then show all of them?
  4. Show only one “complete" cartoon with all edges, and then just display the nodes, without edges, for subsequent benchmarks?

It was also mentioned this is somewhat analogous to the benchmark table, which is also linear. Should we sort components according to their actual order of execution, such that successfully completed steps are shown above those that failed (if any)?