RiverWare Output Canvas: Teacup Storage and Flow Animation: Design 3 Review (8-25-2014)
Phil Weinstein, David Neumann, CADSWES -- See Project Index

David's review notes for the 8-24-2014 draft of the Design 3 document, and Phil's responses. Some of David's notes were conveyed as hard copy markups.

1 I don't think we need Text Groups and Image Groups. Add Text and Images directly to the canvas? The group seems superfluous as there are almost no settings at that level and will confuse the user. The only exception is font which could be moved to the Text Item and be similar to the color setting.
 
  • It is nice to be able to tuck all Text Items and Images under top-level tree items. Otherwise they will be overly dominant over the Teacup Groups and Flow Line Groups (of which there will be relatively few -- typically just one).
  • For Text Groups, this was a good way to assign a common Font to a bunch of text items. (The prior design had a more complicated approach). The alternative of allowing every Teacup instance to have its own font will mostly be a headache, and will require implementation of a manager dialog for text items.
  • It was nice to have a way of temporarily turning off a group of graphics objects. (Each of the four types of Groups has a "Show" checkbox). Users may appreciate this, and it will be useful when debugging graphics rendering.
  • I may want to keep this in the architecture, but initially support only a single instance of each of these two groups, just called "Text Items" and "Images".

David and I agreed to these provisions:

  • We'll retain the group architecture for all four types of objects. Instances of all four groups will be individual hidable. Text Groups will have a configurable font.
  • We will support only a single Image group. Adding an Image will automatically create that group which will just be presented as "Images" as a top-level tree item in the object tree.
  • Adding a Text Item will automatically create the first Text Group if none is already created.
2 I'm confused about Flow Line Intervals. They are supposed to show the color based on that slot's value vs the interval.  I don't see how that is a group level setting as you've described with the "Flow Interval Specification".   A bigger question is how does the user know what a color means? If you have two blue lines, they could be very different flows, so how does the user know? Is there a meaningful legend we could create for Flow lines?  These need some more thought...
 
  • I'm using only LINE THICKNESS to show flow magnitudes relative to all flows in the group, and COLOR and PATTERN to show flows relative to the CHANNEL CAPCITY (i.e. of each flow line instance). (I think this is well described in the document). E.g. lines get angry looking (bright red, dashed) when banks are overflowing. For the latter, the enumeration of, and display attributes of each "Flow Interval" is defined at the Group level, and Thresholds at the instance level. We could come up with a Flow Line Color and Pattern Legend design.
  David and I agreed to keep the document with the currently documented Flow Line design. We may want to revisit this later.
3 Add Text Item: Generated Date/Time  (i.e. put the wall clock date/time on the viewer) seems unnecessary. We don't do that elsewhere within RiverWare output. Maybe add that to the printing/export functionality, like plots.
  This was in one of the examples / use cases. But we don't need it, I'll remove it.
4 In section (4) Output Canvas Config, a lot of those file actions should be moved to the viewer dialog or the output manager. I'll give you my marked up version. I think we also need  a setting "Show Timestep Controls" to the output configuration. Maybe they always want it at the specified date. The default should be "Y" show controls.
 

These changes seem fine. The markups also suggest elimination of the ability to hide the configuration panels. I'll remove that as well.

5 The Percent text item should be called "Computed Fraction" and use the unit scheme's settings for "Fraction", either decimal or percent. Showing on Percent with no precision is not general enough. We have a way for the user to express their desired user unit and precision, so let's use it.
 
  • I think that users will really want these values to be "Percent", even though a percent capability is provided as a global (Unit Scheme based) option (unit) of the "Fraction" unit type.
  • I have a general concern that the numeric precision (number of fractional digits) which is appropriate for value display in RiverWare (generally in tables and lists) will not be appropriate for this particular graphical display. (This came up before with Plot Axis values). The Output Canvas' emphasis is more about approximate and relative values than about precision.
  • However, we can initially go with a pure Unit Scheme approach to numeric display. (A possible option to consider in the future is associated a designated Unit Scheme with the Output Canvas; this approach was considered, but was not ultimately used, for DMI unit specifications).
We're adopting this change. Other or special provisions can be considered later.

Some of David's other comments conveyed as hard copy markups:

6 (2.4) David is suggesting this minor change to the Teacup Legend graphic (position of Current storage label).
 

I've adopted this change (first image changed to second image):

--- (end) ---