Another way to look at silence is a lack of disagreement. :) I haven't yet used NiFi enough to have these things become annoyances, but I can't disagree with any of those general suggestions.
A 2x2 grid of processors down the side that would let you choose the processor type *before* dragging it onto the canvas sounds great to me, assuming that the processors have distinctive icons. I think there would likely still be a need for the processor picker, but the common use case where you know exactly what you want to add could definitely be sped up. - Ian > On Sep 4, 2015, at 4:37 PM, Rick Braddy <[email protected]> wrote: > > Okay. Looks like I’m the only one who thinks this is an issue… > > Onward. > > From: Rick Braddy [mailto:[email protected] <mailto:[email protected]>] > Sent: Wednesday, September 02, 2015 11:23 PM > To: [email protected] <mailto:[email protected]> > Subject: Nifi UI Enhancements > > After using Nifi for some weeks now, I have an enhancement request to > recommend for the UI that I believe will dramatically improve the usability. > > Before I jump into the problems, let me say this about the UI. It’s very > intuitive, easy to learn and consistent. It’s also very clean and attractive > from an appearance standpoint. As described below, there are some areas that > are becoming tedious with dozens of processors today, and that will become > acute from a usability perspective if untreated. > > The Challenges > > Issue #1 – Processors take too much time to select and configure initially > > Overall, the Nifi UI is fantastic from an ease of use perspective; however, > there is one area that’s problematic and that will become increasingly > challenging… adding new processor blocks and choosing the processor type. > > The primary issue stems from the lengthy list of processors to scroll through > and pick from. The filter cloud is helpful, but with time even this > mechanism is reaching its limits, as the number of processors continues to > grow with the success of the project. > > There needs to be an easier, more productive way to simply drag and drop > processors to the canvass. > > Issue #2 – Processor blocks all look the same instead of being more visually > distinct and easily recognizable by function > > Our brains are wired for rapid pattern recognition of images, text takes more > cycle of higher-level reasoning to interpret. > > Because processor blocks are shown, by default, with their I/O statistics and > textual names, they all kind of look the same. This “runtime view” is great > for troubleshooting or monitoring, but not as useful when building complex > data flows. An “iconic view” would provide an easier way to visualize the > structure and intent behind each graph and its flows, especially when > developing the flows. > > Additionally, an icon representing each type of processor block would make it > much faster and easier to recognize what that processor block does, versus > having to read and interpret each one individually (especially for complex > graphs). Processors that handle files could be represented by a “file” icon, > Hadoop by a Hadoop icon, HTTP by a globe icon, etc. > > #3 - When dropping a new processor, open its Properties dialog automatically > (to avoid right-click, then “Configure” and choose tab steps) > > Every time a new processor is dropped onto the canvass, we must go through > the process to select its type. Then, the dialog closes and we’re usually > left with an incomplete processor with errors. We know that most processors > require some initial Property configuration, so why not just proceed to that > dialog after choosing the processor type, so can finish configuring it, then > apply so we have a processor that’s ready to integrate? > > Potential Solutions > > Visio has a great model for addressing #1 that I would propose as a starting > point for resolving this issue – use of a “tool palette” that snaps into > place on the left side of the canvass. Each group of tools (e.g., > file-related processors, Hadoop processors, HTTP processors, etc.) would be > grouped together within a toolbox area, with an icon representing each > tool/processor with a brief description of each tool. > > As with Visio, the user would open up several commonly used toolboxes and > then just drag and drop a tool from the toolbox directly onto the canvass, > with no need to select the processor type (each processor is shown as a > unique type in its toolbox). This approach is very familiar to Visio users > and other tools that operate in a similar manner with object drag and drop. > Scrolling through lengthy lists is time-consuming and becomes tedious when > developing large graphs. > > Once processors have icons associated with them, several things become much > easier: > > 1. The toolboxes are much easier to create, leveraging each processors > inherent icon representation > > 2. The runtime view (current view) could simply have each processor’s > icon shown (either in the white space to left of “5 mins” or in the border > area) > > 3. If a purely iconic view were added at some future point, then a > clear “as built” drawing of the data flow would make the graphs even more > self-documenting and obvious > > > Lastly, when the generic processor is dragged onto the canvass (as it is > today), and a processor type is selected, it would be very easy to proceed > next to the Property dialog (if there are any mandatory properties that must > be configured before first use), reducing the number of clicks required to > get a processor up and running. > > I believe a usability study with target users would likely reveal the above > (or similar) conclusions. In order for Nifi to scale with dozens or even > hundreds more processors, it’s clear that something has to give, as the > current method of choosing processor type has about run its course from a > usability standpoint IMHO. > > Hope that’s helpful. > > Rick
