-
Notifications
You must be signed in to change notification settings - Fork 1.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feature Request: Ability to customize scroll behaviour in WebChat V4 #2884
Comments
I am open to having a better scroll behavior. Today, in Web Chat v4, we implement "sticky bottom" behavior:
To try it out:
With what I read from your description, is "2.5 lines tolerance" the only difference compare to the current behavior in Web Chat v4? For interoperability, bot written with Bot Builder v3 will continue to function properly in Web Chat v4. Web Chat has no version dependencies on the Bot Builder. |
It is great to hear that you are open to improve the scroll behaviour. We checked your sample with the
Then, when the bot reply follows, the following rule is applied:
This makes that in a normal situation, WebChat will always stick to the bottom after the user sends a message. With the customizations we did in WebChat V3, the window sticks to “the first reply to last user message”. We performed UX tests and found that users prefer the “start reading at the top and scroll down manually” experience over the “multiple replies flying into view, and then having to scroll up” experience. We implemented the following behaviour:
* in our case: 2,5 lines of text. The “start reading at the top and scroll down manually” experience is shown in the video after the ‘wat is eigen risico’ messages (00:05). You see the bot responds with multiple text bubbles, however you can also notice the window stopped scrolling down. This allows the user to already start reading, while the bot may be sending more messages. |
(Sorry I am tightened up with some work so my reply is slow. You should already see me finishing some pretty big PRs recently.) This is very interesting. Need to think a bit more about "if multiple bot messages is received", because Direct Line is pretty asynchronous. My gut feeling is that is should be technically doable in a neat way, but need some thoughts on the architecture. With your explanation of 2.5 lines, now I fully understand how your video represent the idea. Let me rephrase the behavior in pseudo code:
For the UX, could you explain a bit more about the following scenarios?
BTW, a side question, are there any particular reasons why suggested actions are not preferred, and your design team preferred inline buttons? Today, Web Chat v4 support two layouts for suggested actions: carousel and stacked. Both stick to the send box but not the bubble. Looks like inline layout could be a good enhancement for Web Chat, but it looks a bit jumpy UX-wise. |
Hi, I'm replying on behalf of @CHuijsman (we're on the same team).
We are still using WebChat V3, and we didn't like the carousel behaviour of the suggested actions back then. I didn't know about the 'stacked' orientation, but it looks nice! I would prefer that to the carousel orientation.
I have discussed this with our designers. We don't expect the WebChat to scroll to the bottom of new message. Our C# bot is currently at V4 and our WebChat is still on V3. And while we're still unsure about some smaller details*, our stakeholders require us to at least implement the 'improved scroll behaviour' that we currently have, before migrating to WebChat V4. * smaller details: in the case of a very-tall message we are still not sure whether we would Proposal: Therefore, I would propose building one (or more) Hooks that allow developers to customize the alignment the of the activity in the viewport. A (not so pseudo)-code example of this: function getAutoscrollPosition(activities: Activity[], nextActivities: Activity[]): ScrollAlignment {
// Some custom logic here to determine how to align the view
return { ActivityIndex: 4, ActivityAnchor: Position.Top, WindowAnchor: Position.Top };
}
enum Position { Top, Middle, Bottom }
interface ScrollAlignment {
ActivityIndex: number;
ActivityAnchor: Position;
WindowAnchor: Position;
} |
Hi @CHuijsman. I like your proposal. I will work with @compulim and team to formalize this API. Realistically we'd be looking at a May '20 or August '20 release that introduces this behavior. |
This is targeted in to land in an upcoming release. |
Hi there, I just want to check in and see if this feature is still being worked on? Looks like last activity was a couple months ago. I am currently using the scroll 1px up trick, but it's not ideal obviously. Thanks! |
I just noticed our feature request has been reprioritized to R11. Due to this, we also have to postpone our update to Web Chat V4 till this features is released. Can you give us more insight on your planning and can you inform us if we can rely on a release in R11 of our feature request. |
@CHuijsman -- this is high on our priority list and we hope to address this in our next release. |
@CHuijsman we're continuing to work on this feature, however it will not make it into our November release. It remains a high priority feature. |
Is your feature request related to a problem? Please describe.
User experience is one of the most important KPI’s for our entire website and thus for our product. This includes the ease at which users can read the information the chatbot provides them with. To this end, we feed our users small chunks of text. Most responses consist of multiple text bubbles. By default, the WebChat scrolling behavior is in such a way that it automatically scrolls all the way down to the most recent text bubble. Since we compose responses consisting of multiple separate text bubbles, the user interface ‘bounces’ down with every text bubble, ruining our user’s experience. This is a problem, because it is paramount that our users can take their time reading the information, and empower them to scroll down themselves when they’re ready. We require scrolling behaviour that enables this ease of reading while visually making clear that new messages are available. We are quite surprised that WebChat V4 does not yet support a feature to customize the scrolling behavior.
Describe the suggestion or request in detail
A feature or customization option (Hook) that lets us control the client’s scrolling behavior. We require that both the last user input, the first bot response to that user message, and 2,5 lines of text of the 2nd chatbot text bubble are in view of the client. A setting or Hook that would allow us to customise scrolling behavior to our own requirements would be very much appreciated.
Describe alternatives you have considered
Additional context
We are currently using WebChat V3, but would very much like to upgrade to V4 when it includes this customization feature.
To clearify our request we uploaded a video, you can find the video here
[Enhancement]
The text was updated successfully, but these errors were encountered: