The installation could be made more friendly for non-computer scientists.
It is unlikely that users will know how to find dot etc. Particularly if this is embedded in package contents or the like.
An indication of the final (memory/disk) space occupied by Taverna would be very useful. Recommendations of how much RAM to allow for the application would also be good. Some users may have significantly more resources available to allot to Taverna, so being able to adjust how much can be utilized by the application would be useful.
The space that databases will occupy should be shown. In particular, the current size of the databases for provenance logging would be useful to indicate, as it is easy to be completely unaware that they have mushroomed in size and are the root cause of intolerably poor performance. Taverna 1.71 with big fat logbook databases doesn't crash, but routinely has to be forced to quit because the entire application becomes unresponsive. Making it easy to purge provenance at the workflow run level would also be helpful, e.g. allowing retention of only the final, reported provenance information after a hundred runs that were used for debugging and don't need to be retained.
Can some of the almost mandatory preferences be set on installation?
Top level menus
The Preferences set-up looks strange. Compare with the Mac or Windows System Preferences.
Data Storage is OK although it appears twice. Need to be able to specify the RAM.
If only one option for the connector, then it should not be selectable. Putting the name of the connector there is actually confusing if you do not know what a Darby database is (never heard of it) because then you become uncertain of whether the local system actually has all the right stuff for running it.
The path looks silly.
It is not obvious what clear database does.
Need to be able to clear some of the database selectively.
Should show how much space is used - both as a whole, and overall.
Need to be able to change where the provenance is kept. Hidden paths to system locations are just fine, until there's a problem.
May want to limit what information is kept. Definitely want to limit what information is kept. Running a large dataset through a workflow a few times can consume significant system resources if all parts of the provenance are logged. Having the option to choose which data to retain after the run is actually preferable to setting it before running the workflow. By default, logging everything is OK if one can save the portions of the provenance data that are needed or desired after the fact, purging the rest. This is executed brilliantly in the Silverback software, which allows users to select the resolution and media inclusion options after they have made a recording, so a user does not accidentally make a run with minimal logging and then realize after the fact that for some reason they should have retained everything, at which point it is simply too late to recapture anything that was not originally recorded.
The text needs to be changed so that it is clear to users.
Perhaps have a checkbox for "remember my service providers" and two buttons for "remove default service providers" and "restore default service providers". Needs to be re-thought anyway. Paper prototype tests would be a quick way to check multiple options for layout.
Why is it called "workbench"? It could be called something like "Diagram".
Need explanation for what dot is and example typical location. E.g. "Dot is the software that Taverna uses to render the workflow diagram. The usual location for it is...."
Selection of location should cause Apply. Separate Apply is not needed.
Needs explanatory text.
Indicate that the default is System.
The help button is still highlighted when the help has gone.
Should read "Open workflow from location..." The word "workflow" could also be omitted. What else would people open? If they would open more items than a workflow, then the labeling is actually more misleading in the specific form.
Open workflow could have just "All supported types"; there is no need to specify workflow types.
Save all workflows may need more information about what is being saved. For example, if a T1 workflow is being saved as a t2flow there should be some indication, otherwise the user might re-open the T1 workflow. Default save locations should be a preferences option of either the last location to which a workflow was saved, or else the same location as the workflow was opened from. These should be remembered across sessions.
Cannot tell what is being undone/redone without a visual cue. Not sure how far backward undoing will go. Typically one can only go backward to the last saving point; if you can undo further back than that, implementing a history tool as in Photoshop might be a good idea. Not sure how other users would feel about that added complexity or whether there would be interface familiarity by handling it that way.
Multiple deletes might possibly would be useful e.g. via selecting multiple objects in the diagram or explorer. This does raise the issue of how the diagram interacts when a user clicks on white space. Using fn/ctrl/option/alt keys in combination with clicks on the white space can allow a broader range of interactions, in keeping with the way other software may handle the issue.
Save diagram should be called "Export diagram". The option should not be available if there is no diagram rendered (currently it is an option even with no workflow opened.)
Save diagram should be under the File menu. Save locations for image files should have the same behavior as save locations for workflows.
The tooltip for Save diagram covers one of the options
Using the file name is OK. Truncating a part of the file path may be desirable in some cases, e.g. when the workflow is located in file:///Users/akwiggins/Documents/PhD/Coursework/Sp 2008 810 Genre/Analysis Workflows/workflowname.xml
Need to somehow show what happens with nested workflows, e.g. whether they are saved, and how that affects the main workflow. Nested workflows are not always easy to work with.
The perspectives stuff should be hidden. It could be under preferences. The switching of perspectives could also be under preferences.
Plugins could go under Preferences or Help
Provenance connectors in the plugin manager is called "services"
Why is it possible to disable core things? The Workbench components probably should not be disabled. Not clear what will happen if "look for new plugins" is selected - currently it only looks for plugins from the myGrid site, but how would it work if there were other sources for plugins as well?
Should not be called Dynamic Help. Online Help is better, indicates the need for a network connection.
Help does not currently have Index and Search. Why? Index/ToC is very useful.
Top level icons
Open location icon should probably go in.
Should be (as far as possible) in the same order as the menus.
The input/output port icons are counter-intuitive and should be replaced.
The usefulness of "blobs" is not obvious.
Aside - dot can be opened in OmniGraffle.
Need more space for the bars between icons.
Icons should be larger, or allow users to select icon size in the preferences or a View menu. Allowing text to be resized by users would also be good.
It would be nice to have the option to display text as well as icons. Should be controllable from preferences. Generally there is enough room for this to be done quite effectively.
It's not actually clear whether the labels for Service panel or Workflow diagram are actually needed. The difference between them is quite self-evident. What else is going to render, other than a workflow diagram? An intro overlay mode for new users might help clarify some of these things, but no one will require the labeling after the first usage.
Want to be able to remove subtrees of local services
SQL local services need to go back in. Anyone who is not relying on web services probably has a sql or similar database as a data source. Finding a way to offer ODBC options could also be helpful - but would definitely be an advanced setting or option.
Is it possible to have a cleverer SQL service based upon the tables? There is an issue with what information are embedded in SQL services, shared across multiple SQL queries in a single workflow, and shared with other users. Want to leave login information and database connector information as fixed for each particular data source, but not share that login information when sharing the workflow. Currently this requires using inputs or string constants, and saving a separate version of the workflow to share.
Need forking capability as in fail-if-false.
Want ability to save configured services so they can be re-used and appear in the service panel. Particularly for SQL local worker, where it currently requires looking up in another workflow to ensure that the right connection information has been provided.
Would be nice to be able to hide the filter and clear button. Useful for people who can use lots of WSDL services, not so useful for anyone else, unless you can keep your own Beanshell libraries as a type of local service. Packaging Beanshells in the local services as contributed content would be a great way to maximize the value of the work; would definitely be willing to share many Beanshells that do standard data handling tasks like converting formats.
My favourite services would be useful. Not necessarily as part of the service panel tree, but as a separate tab (or something).
StringConstant icon should not be a cog.
r-click in the service panel is good.
Want ability to rename a service provider. Shorter names can be more useful, especially since the strings in the service panel often become too long to see the whole thing, then you have to resize the panels to view the important details, which gets quite annoying. Including a tooltip that pops out the full location of the service provider would be convenient to overcome this problem.
Add workflow input port
Single value should show as depth 0 but grayed out.
Going down to depth 0 should switch to single value.
The workflow input and output ports are not assigned a default name - unlike all other created objects.
Connect output from a new input port
If you create a workflow output port and connect to it from a new workflow input port, then the port appears to have a depth of -1. The default name for the input port is that of the output port; this is not desirable if you have the output port feeding into multiple input ports, as it can then become confusing as to which input port is which.
Set Constant value
Andrea got a "coffee cup" icon when setting a constant value for a processor port. That should not happen as it does not appear to be part of the rest of the interface.
Configurations (Beanshell & Rshell) should not be modal. It is essential to be able to have several open so that users can copy/paste code or just mimic settings. Users know that they have multiple windows open and that this may affect saving. Should be clearer whether one is making live edits or has to save for them to go into effect. It should be impossible for there to be multiple copies of the same service configuration open; then users don't know which one is the "authoritative" version, have to close them all and reopen one copy to verify its state.
In addition, it is absolutely necessary to indicate which open workflow a component belongs to - this is particularly true when one is copying something from a service in one workflow to a new service in another workflow.
What is depth? List depth may be a clearer label.
Input port and output port should be top-level tabs, eliminating Ports. The default port-free view of these tabs looks uneditable even with the "add port" button, maybe a white background where the port information will go would be better.
Beanshell should have load/clear script just like RShell. They should be as similar as possible, particularly including the use of standard keyboard shortcuts. Regular users rely on these to speed up their work, and it is frustrating when they do not work.
Script window should be active/selected when you are in that tab. Should not need to click (sometimes multiple times!) to start editing the script. The appearance of a cursor indicates that editing is already possible.
Editor is not aware of comments etc. It would be nice to make comments easily visible.
Scrolling in the script does not work except from scrollbars.
In the right-click menu, Delete should be at the bottom of the list with ample space and a divider between that option and other options like renaming! Swapping the locations of the Delete Service and Details options would do the trick. This is critical for preventing unintended user error! Please fix this before the next beta release! Even if there's an undo, you should still help people not screw up just because they are using a trackpad instead of a nice multi-button scroll-wheel mouse.
Local service configuration
Making a local service into a beanshell should change the icon in the workflow explorer tree. Configure would be good to have available in right-click menu as well. Users do not like making an extra click when it seems so clearly unnecessary.
Need to check if the different output types work
Should default to String as the type.
Editor is not aware of comments etc.
R1.6+ check box is never live (as far as we can tell). It should be removed. Any other ways to indicate R compatibility are welcome; this is often a problematic point for usage.
Edit nested workflow does not make it obvious which workflow is being edited. This could be confusing if, for example, you start a new workflow and the first thing you do is add a blank nested workflow. Behavior of embedded versus linked nested workflow is not clear - is this an option? What happens with each option? How does one have to save items, in what order, to achieve the desired results? In this respect nested workflows are very cognitively difficult to handle. Do users expect this to act like a linked or embedded file? This could be an option set in preferences.
Open from file should probably be something like "Change workflow source".
Confusing having two visible input ports, which one to use? Either give an input port or don't show it.
Should details be available if there is nothing interesting to show?
Maybe reduce the size of the title if there is a reasonable way to do this. Tooltip that displays full file path would be helpful.
Need to be able to rename the workflow. Workflow 3 is a completely useless title that provides no useful point of reference because it is distinctly unmemorable and may be different from session to session. If I can't rename the workflow, then it should not have a name. Maybe a good idea to do a quick survey of users and ask whether they think that the workflow name is useful, and if so, how. Note that it is used in a very functional way for myExperiment uploads.
Workflow input ports
Want to be able to specify the format of values.
The text associated with the example should be improved so that users know that they are providing an example of an input value, not details about the formats or other information.
Should be able to alter the name of the port and its depth from here.
Workflow output port
Want to be able to specify description and example values; this is most valuable for sharing.
Should be able to alter the name of the port and its depth from here.
Need better textual description and/or help.
Merge is perhaps not the best name since they actually are doing something closer to concatenating. It is not clear what will happen when a Merge appears in the workflow and how it will change the way the inputs might be specified.
Ellipses generate rendering errors! Also, why use ellipses? Clearly they are distinct from boxes, but is this a useful distinction? Is another shape, e.g. a directional triangle, a better way to indicate what the Merge does?
Sometimes scrolling in the details does not seem to work.
The accordion expansion was not working consistently. Sometimes it was a single click and sometimes double click. The entire banner region should be clickable.
List handling window looks strange
Iteration Strategy is too small when it opens. The buttons that are available (normalize, move up) are a different size from the ones that are greyed-out. Does not ake any sense to have "move up" when there are no items available.
Should list handling be available if there are not two or more inputs
It seems wrong that you need to have made the connections to do iteration strategy. The iteration strategy should at least indicate that a port is being ignored.
What does remove node mean for iteration strategy?
The dragging behaviour within the tree seems strange.
It is not clear what normalize means - and never has been.
It is not clear what move up/down do.
Why are things an option when they cannot work?
Reset effect is not obvious
Why is there a top-level iteration strategy folder?
The view of the iteration strategy should not be selectable
The view of the iteration strategy should always be shown expanded
"Configure list handling" could read just "Configure" as you are already in list handling. Also, the button remains in a wrong state when the list handling window is closed - it still has the shadow around it that indicates it is not in a normal state.
Horrible frustrating behavior from 1.71 - if a port is added or removed, and the iteration strategy is not updated, and it causes errors for which it is very hard to identify the source. Users need to be prompted to update the iteration strategy when they have changed input ports such that it will interfere with the previous interaction strategy. There should be some sort of handling that addresses this problem, which has been a major source of frustration for new users, and is very opaque.
Loop needs more border space
In loop it is not clear what is_equals means v matches
The text for feed back matching ports is confusing
How does a list match anything
Not at all obvious what loop does
Showing the details of a processor port should not bring up iteration strategy. It seems like it should show metadata about the port.
Need default value, not just constant value
The details of a string constant output port does not allow you to edit its value.
Would be nice to have an overall mechanism for specifying default values for given services.
If a processor port only accepts certain values, it would be good to offer those as choices e.g. the SQL connector.
Links are not in any apparent order e.g. alphabetic. Perhaps so the input ports first in alphabetic order and then the services and their ports in order. They could be hierarchical.
Having a service name prefix for Link names would be handy, particularly if there are multiple inputs/outputs in different services that have different names.
Control link icon is non-obvious. Traffic light is OK, but is upside down and too small.
Double click on service or port should show details and bring up configure - also in the diagram. Essentially users will want to edit details in the places where they see them.
Keep clickable region areas consistent (gradient expandable, currently need two clicks when over text rather than one for the plus).
Need to be able to specify that services are boring without it affecting the processing view. This is useful for exporting images of the workflow.
Clicking on a port should highlight its links. This is a very useful piece of functionality. Color of the input and output links should be different, or indicated with a different color of highlight. Maybe reiterating the colors of workflow inputs and outputs would make sense, except that one is red.
The name/number of the merge should be shown on the diagram, or at least make that a rendering option.
Cursor in processor shows up as text cursor.
Could allow renaming in the diagram - again, users want to edit things in place.
Nested workflow is shown as having inputs (when expanded) even if it has none. They should not be shown if they do not exist. It is not consistent with the diagram for a top-level workflow.
The colour for a collapsed nested workflow is misleading, currently pink. The same color as is currently used to background the expanded nested workflow would be much clearer.
Triangles for workflow inputs/outputs are not good. For maths people, these are deltas!
Zoom is OK. Scroll by drag works back to front i.e. the diagram moves the wrong way compared with say google maps. Perhaps should have a drag hand. Using ctrl/option/alt is good way to allow more functionality in the diagram.
The highlighting choice colour is not enough. Need to make it much more obvious, e.g. using a much heavier edge weight. Blue outline is wrong as users instinctively thing blue == hyperlink.
Clicking a link should highlight which processors are connected.
Perhaps should have pan to selection - difficult and controversial
The representation of merge should probably be changed.
The icon for expand/hide nested workflows is not good.
Merges can generate SVG error. It generates mutliple errors, one for each input/output of a merge.
Cannot drag a link to a merge. A merge should act as an alias for the input port of a processor.
When you cannot merge to a port e.g. because of depth mismatches, it should tell you why.
A merge into an output port is not saved.
Merge is not a clear term and should be renamed.
Refresh is the wrong name it is actually "Show all"
The magnifying glasses blend into the background too much. The icons could be bigger.
Need option for showing text labels for the icons. Default to showing text as well.
Some of the icons perform an action, others are radio box. It is probably OK.
Taverna 1.7.1 has show types which is useful as it shows the type and depth of the data, and thus indirectly gives an indication of the implicit iteration.
Again, in the diagram, Delete should be the last option, fully separated from all other actions, to prevent user error. This is a very high priority item to change! These options should be identical in both the workflow explorer and in the diagram. Please fix this before the next beta is released!
Is sometimes slightly too thin.
The rendering of multi-level trees can get messed up.
Need to be able to save and reload an input value set. Very important for doing demos, and saves a lot of time when there are complex sets of inputs to specify.
Need to be able to import a list and get a list, rather than having to import things in some weird machine language. Do that translation behind the scenes.
Need to be able to edit file location and URL.
Need to (in a multi-level tree) distinguish between lists so that you can see which one is which. They are currently each labeled "list" which is very unhelpful.
Naming lists, perhaps an auto-naming method to differentiate lists.
Would like to be able to sort within a list. This would be very, very helpful, and would obviate the need to actually hard-code a sort into some Beanshells. Sorting is almost always needed for things like dates.
Workflow description, author, port description and example value should be editable from here; this would encourage users to fill in meta data for good practice.
The diagram should not have a line round it.
The info icon should go. It looks as if it is clickable or will bring up the help info.
You should not be able to try to delete a node in a tree when you can't.
The meaning of node is not obvious to users. That is dot language, not people language.
If you try to run the same workflow twice, it can partially show the workflow input dialog.
A large port description can force the values entry panel down.
Import list could have a delimited option.
Results and Intermediate results
Intermediate results does not work while workflows are running. (This seems to not always be true.)
Run diagram needs zoom, reset and scroll.
Intermediate results needs to sort the ports e.g. inputs in alphabetic order then outputs in alphabetic order.
The port icons are wrong - it uses the workflow input/output icons and not the processor ones.
The rendered value should clear or, preferably, go to the same iteration when you switch ports.
The intermediate results panel has too many lines and fancy edges. It is visually distracting and harder on the eyes.
You can sometimes get double scrollbars. (particularly in 1.71)
Need to display the processor times, this is useful for optimizing processes and determining whether slow run times are a result of large input sets or lousy code.
Sometimes clicking on the identifier for an output value does not show the value.
Need equivalent of Taverna 1 progress report and also to be able to save the progress report. This is much more useful than the Baclava format, which can only be read by Taverna. If you want provenance to be used to support auditing of the work by reviewers, they shouldn't have to go out of their way to view the information.
Need Save All output values in some sensible form.
Graphical view needs Type and Depth description information. Depth in particular - type is probably a lot less important.
Graphical view needs a better way of indicating iterations. There is a way to turn them on in the 1.71 view, although it was not clear that this option existed, and the rendering is not ideal.
Relevance of save to web-page is uncertain. Does anyone actually use this? What would it actually generate?
When an error has stopped the workflow, allow the user to go to the last iteration. Would really love to be able to modify and re-run from the operative point without going through the entire workflow.
Saving progress report in standard XML format (not baclava), should not have to have taverna to view file.
All buttons throughout Taverna should reset when the triggered action is finished. This is currently inconsistent.
Need keyboard shortcuts. Really, really need keyboard shortcuts. This would make many users very happy, it works with their existing computing habits and would definitely save time. Please, please, please make this a top priority. Allowing custom key mappings in the preferences would be ideal.
Mentioned common undo function, e.g. super+Z. Also want save, open, save as, close, cut/copy/paste, zoom in and out, and option-tab (or whatever it is that Photoshop and other software uses as the standard shortcut) to move between multiple open workflows.
Delete key for deleting diagram objects, or potentially any other selected item like ports.
Lists should start at one
There is no point in having the gradient/shaded labels in the Details pane view. They could be constant saturation. The gradient suggests that the whole label banner is not clickable, but the whole region should be clickable. Making the whole region clickable makes it faster for people to start an editing task - a larger target is more easily selected.
Need to be able save configured or partially configured services so that they can be used in the service panel. This would go a long way toward sharing Beanshells effectively, speeds up the work significantly, and would be a huge improvement in ease of use. This is also a very high priority for users.
Need to be able to audit a workflow, specifically to check if the metadata/details for it and its ports have been specified. Generally just being able to check that there is a description for each service and the whole workflow may be enough, but some people might want to drill down to the port level. The metadata auditor should probably be a separate window, and allow direct editing of the details in the workflow. This would definitely help support good habits with respect to supplying appropriate descriptive detail by making it easier to be conscientious about doing it.