No objections here, but I think Enhancement 1 could go further once Enhancement 2 has taken place. I think it would likely be possible to skip the dialog altogether and allow users to drag specific processors directly to the canvas. This probably provides a bigger productivity boost than improving the dialog.
- Ian > On Sep 10, 2015, at 11:55 AM, Rob Moran <[email protected]> wrote: > > There has been recent discussion around UI enhancements with the goal of > streamlining visual flow design. Please consider the following enhancements > and concepts for proposed solutions. Do you have any objections? If so, > please share your thoughts and ideas for alternate solutions to streamline > visual flow design in NiFi's GUI. > > Enhancement 1 > Enable quicker, more efficient access to both known and not yet known > processors. > > Issue > The current interaction of dropping a processor on the graph and being > prompted with a dialog helps a user who does not know exactly which one they > need. However, as the number of processors increase, the current methods of > finding what you need become increasingly difficult. And for those users who > know exactly what processor they want, routine interaction with the dialog > becomes rather cumbersome. > > Concept for Proposed Solution > Present logical groupings of processors to the user. Ideas include > usage-generated categories like ‘recent’ and ‘popular,’ along with categories > such as those defined by the Enterprise Integration Patterns (e.g., mediate, > route, transform) and perhaps further subcategories if applicable. These > options would be accessible from the main UI as well as the add processor > dialog. > > Other ideas include 'pinning' processors you routinely use for quick access, > setting a default drag-n-drop processor, and assigning keyboard shortcuts to > quickly add a favorite to the graph. > > Design decisions made here could also serve as a model for placing other > elements onto the graph such as templates. > > Enhancement 2 > Provide visual distinction to processor types. > > Issue > When viewing a flow on the graph, all processor blocks look the same. As a > result, users must rely on processor names alone to interpret what they are > doing and how the given flow is working together. > > Concept for Proposed Solution > Introduce some combination of iconography, unique styling, and more > descriptive labeling to processor blocks. As mentioned earlier, looking to > the Enterprise Integration Patterns could provide cues for visually distinct > icons and labeling. Unique styling could occur at various zoom levels and/or > screen resolution to better respond to user needs. > > Enhancement 3 > Give users the choice to be prompted immediately with a configuration dialog > after they place a processor, draw a connection, etc. on the graph. > > Issue > Currently there is inconsistency with the interaction. Place a processor - > nothing. Draw a connection - configuration dialog pops up. > > Concept for Proposed Solution > Part 1 - Decide on a consistent default behavior. Part 2 - Provide the user > the ability to reverse the behavior. One thought is to include a toggle in > each configuration dialog giving the user control over the behavior while in > context. Additionally, there could be a user preferences area where they > could make global changes. A user preferences area could come into play with > potential solutions proposed in Enhancement 1 as well. > > -- > Rob
