Good point.

I was not suggesting the generic processor picker be done away with at all, as 
it’s very functional, just adding a more convenient way to drag and drop 
processors that are most commonly used onto the canvas and adding an iconic 
representation to processors.

Rick

From: Ian Ragsdale [mailto:[email protected]]
Sent: Friday, September 04, 2015 3:48 PM
To: [email protected]
Subject: Re: Nifi UI Enhancements

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]<mailto:[email protected]>> wrote:

Okay.  Looks like I’m the only one who thinks this is an issue…

Onward.

From: Rick Braddy [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