In Hop, you have to add a step by pressing anywhere on the canvas in the pipeline/workflow UI to open the step selection UI. This is in contrast to Kettle, where you could drag it from the left hand side (see attached screenshot).
There are a few things I noticed with the way Hop handles this.
- The 'select action screen' takes 1.0-2.0 seconds to load. Pretty much every button in Hop is blazing fast and feels super responsive, except this screen. Making things worse, the 'select action screen' is probably the most used screen in the whole of Hop. As a result, this has a significant impact on the perceived speed of the Kettle UI. I also suspect this delay will only increase when we have more actions/plugins installed.
- The 'select action screen' does not always show up. This seems to happen in a few cases and results in a buggy experience:
- The pipeline/workflow canvas is very sensitive to drag-and-select (1 pixel granularity). Therefore, a tiny mouse movement when trying to open the select action screen often triggers a drag-and-select instead. The movement can be so small that the user doesn't even realize it, making it look like the mouse click was not even registered and there is a bug.
- If you have multiple windows open, a person has to double click to first select the Hop UI and then open the 'select action screen'. This is easy to forget and sometimes leads to triple clicking, which opens the 'workflow properties' window instead.
- If you have dropdown menu open, a person has to double click to first select the Hop UI and then open the 'select action screen'. This is easy to forget and sometimes leads to triple clicking, which opens the 'workflow properties' window instead.
These annoyances might seem minor at first, but because the select action screen is so frequently used, it has a disproportionate impact on the user experience. Coming from Kettle, it actually feels like a big step backwards (probably the only one in Hop because its an absolutely amazing improvement over Kettle).
Of course another option is to support both methods and have to user specify a preference