I'm currently analyzing how I can improve the experience of a tablet application to control our robots. One of the actions is to select a program node from a node list and add them to a program tree in order to give commands to a robot. Currently this programming process is done by tapping a node from the node list and it appears at the bottom of the program tree.
The user can change the position of the node on the program tree by tapping an up/down button.
Now, the challenge is to make this interaction with drag n' drop functionality:
- drag a node from the list and drop it anywhere on the program tree
- change the position of a node by dragging it and drop anywhere on the program tree.
The question with this process is how to let the user know that the experience is now different and requires a type of movement that the user never did while using our app.
How can this process be made so the on-boarding is smooth and clear for current users?