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

Reply via email to