Open dcsanx opened 4 years ago
Hi @dcsanx We definitely have ever thought about this topic a lot of times. I'd say it's on the roadmap but not a very high priority feature now because it's hard to get it well-designed at this moment.
We want to make sure we build a reliable, predictable, and testable tool that solves developers' problems and also improves their productivity. However, it's hard to keep things predictable if your conversation flow is controlled by the visual editor and code at the same time. So, we are going to investigate more use cases until we have more confidence in our design.
Could you elaborate more details about your use case?
I have never had success with flowchart based bot builders, for complex bots the UI becomes really tedious to work with.
I did quite like pullstring's original design that was more of an outliner format with levels of indentation representing nested levels of a conversation.
Maybe a natural progression would be to add some API level features for handling things like conversations?
The old botkit used to have a very lean but useful API for some of this with "threads" https://botkit.ai/docs/v4/conversations.html#conversation-threads
MS bot framework has gone totally overboard with this and i find their framework a bit too much overhead to work with. https://docs.microsoft.com/en-us/azure/bot-service/nodejs/bot-builder-nodejs-dialog-waterfall
Or you could go with some kind of story format for more declarative way to specify conversations. Currently the actual bot behavior is all hand coded by people using this framework. "BotML" is one of a few specs here, though I'm not sure it's stage of development. https://github.com/codename-co/botml#features
these guys also have an interesting "code like" way to describe conversations, it might be a close fit with BotTender audience. https://narratory.io/
I'm working on some games at the moment so personally I'm more interested in interactive fiction authoring tools, so my case is a bit unique.
Sorry for not replying, the world went crazy the last few months! 🥁 💉
another approach is to go with something like a grammar to describe routing. Back when superscript.js was being actively developed there was a discussion about using PegJS to replace regex for routing https://github.com/superscriptjs/superscript/issues/101
ISHML is another grammar based parser that lets you define your own rules and lexicons
discussion
https://intfiction.org/t/ishml-new-javascript-library-for-parser-if/41797
https://whitewhalestories.com/tutorials/parsing2.html
but this is a big discussion and probably too much complexity for most of the people using this framework. I wrote up some comparisons on grammar based vs NLP vs DSLs here https://intfiction.org/t/nlp-peg-and-other-parser-approaches/46197
Personally that fits my use case better than a drag and drop editor, for really complex bots. That said, I think Landbot.io with a google sheet is really cool for many many "low code" applications.
Just wondering if a visual bot editor / builder tool was on your roadmap anywhere?