|
|
|
|
|
by mleonard
3392 days ago
|
|
Great write-up and thoughtful responses here on HN. Very interesting that you've used Cordova. For a simple chat-based app that approach makes a lot of sense as you can push updates any time. Would you be able to share any chat-ui cordova libraries you've used or anything helpful in that regard? Or was it all custom built? Would you choose cordova if you were building the same app now or is there something else you'd consider using? Also: your ruby DSL sounds interesting. Do you push the entire json syntax tree to the client? Chatbot platforms typically work by sending a user's chat message to a server then responding... so I'm interested how you've found doing things locally with a json syntax tree (assuming that's what you meant) and what were the pros/cons/trade-offs of that approach? |
|
As for the Ruby/JSON stuff, that was also built by hand (actually the very first thing we built before we even had the UI in place). Whenever a conversation is started, the client gets the entire syntax tree from the server and evaluates it to make the conversation happen. We actually thought that pushing the state to the client actually made things easier since the server no longer has to manage the status of many concurrent conversations. It also means faster responses in poor network conditions.
I think the main reason for chatbot platforms to push things to the server is out of necessity because they work across many clients (Messenger, etc) where they don't control the client, and because they may be doing some heavy lifting with NLP that can only be done on the server.