Two UI/Usability propositions: "NodeStacks" and "C...
# 👀feature-requests
c
Hello world! I would like to propose 2 concepts for improving the usability of Botpress.

https://cdn.discordapp.com/attachments/1133696546106519613/1133696546723086407/image.png

"NodeStacks" : a grouping feature that allows you to bundle related nodes together, simplifying the view and enhancing the overall organization of your chatbot's flow. By grouping nodes based on their subject or logical connection, you can achieve a clearer and more manageable Node UI. The stacking/grouping of Nodes could provide the following benefits to the Botpress user: 1. **Enhanced Readability**: Grouping nodes eliminates clutter, making it easier to understand the structure of your chatbot. 2. ** Logical Organization**: Create logical blocks for different conversational paths, facilitating easier navigation and maintenance. 3. **Efficient Collaboration**: Sharing your bot becomes more straightforward as "NodeStacks" provides a clear overview of its logic. 4. **User-Friendly**: Particularly helpful for new Botpress users, "NodeStacks" simplifies the Node UI for a smoother experience. 5. **Time-Saving**: Collapse or expand node groups to focus on specific sections of your bot's logic efficiently. "Collapse Node" : effortlessly condense a larger node structure into a single, more manageable node. By collapsing nodes that share a common purpose or represent a specific conversation flow, you can reduce visual clutter and improve the overall readability of our chatbots. These are just some suggestions I would love to see! Please share your thoughts , critiques or feedback.

https://cdn.discordapp.com/attachments/1133696546106519613/1133696546391719996/firefox_2023-07-26_11-41-18.jpg

https://cdn.discordapp.com/attachments/1133696546106519613/1133696546723086407/image.png

r
To accomplish similar objectives, you can use separate workflows. This removes subsets of nodes and paths from the Main workflow entirely.
m
Thank you for taking the time to provide feedback! Let us know if you find using separate workflows is sufficient or if you have futher feedback!
r
You're welcome but I didn't mean to shut down Remo's thread, I was just suggesting an alternate approach. My suggestion may or may not address his needs.
m
Oh I was replying to Remo! But thank you for mentioning it too it was what I was going to say!
c
Appreciate the reponses! the workflows are a nice edition for sure although it is not exactly what I am suggesting or looking for. Here is why: 1. workflows act like functions but with the limitation of having a single input <> output. Correct me if I am wrong but we cannot access or direct the flow of the individual nodes in a workflow. As a technical artist who works with visual code (Unreal Engine's Blueprints) im used to having the ability to "parametize" any parameter (like inputs/outputs). I believe this would improve the functionality of workflows. 2. workflows require the user to leave the current workspace to form a new one. The idea of the "Nodestack" is that the nodes can be "Grouped/Stacked" in the actual workspace itself, staying in the flow of creating. ****Example A. What if we could select these nodes and "stack" them in a workflow node directly in the main graph (without having to make a seperate workflow)? * I'm hoping these ideas could inspire some potential improvements for workflows. I'd love to hear your opinions ! Example A:

https://cdn.discordapp.com/attachments/1133696546106519613/1133793922204839946/image.png

your welcome! Botpress is growing to be an excellent platform for building Bots. Just here to think along and feed my Bot addiction 😸
m
That's great to hear! And just to clarify, your example is just to illustrate your point, correct? Because specifically in Example A, I don't see why you can't combine all the steps in the four different nodes into one node
c
@mysterious-greece-6693 Hi Harry. Yes, you are correct 🙂 just an example of a simple stack. Do you think its possible to make workflows more like "functions" in where the user can decide "I want to expose an input of Node "X" so I can access that node's input directly" ?
This is how current workflows work, there is a single input and a single output.

https://cdn.discordapp.com/attachments/1133696546106519613/1133841016517046282/firefox_2023-07-26_21-19-11.jpg

and something like this is what I hope we will be able to do

https://cdn.discordapp.com/attachments/1133696546106519613/1133841526838014103/firefox_2023-07-26_21-20-53.jpg

where instead of having a single input/output we can expose multiple (beside the main one)
this way a workflow acts more like a function, improve functionality of workflows, making it more suitable for complex situations which require e.g. loopbacks or e.g. a node where there is a condition where it bypasses the other nodes in the stack.
Please let me know if my suggestion isn't clear ❤️
m
Ahh, I see what you mean. I'm not a very technical person but I think complex functionality like that can be accomplished with the Execute Code card? But I see how what you described can make it more intuitive for no/low-coders
c
@mysterious-greece-6693 Thanks for contributing to the conversation Hany. The Execute Code card might (?) be able to do something similar but it would be very confusing to work with. Your correct that this would be mainly beneficial for non-coders who cannot make custom functions/nodes. Some Developer input would be appreciated 👍
c
You could build a function using the execute code card to achieve this most likely. I'm not sure if there is a less technical way of doing this however with the current botpress implementation.
2 Views