nifi-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ian Ragsdale <>
Subject Re: Nifi UI Enhancements
Date Fri, 04 Sep 2015 21:48:28 GMT
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 <> wrote:
> Okay.  Looks like I’m the only one who thinks this is an issue…
> Onward.
> From: Rick Braddy [ <>] 
> Sent: Wednesday, September 02, 2015 11:23 PM
> To: <>
> 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
> 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

View raw message