what to pair with rad chat for a chat application

1 Answer 66 Views
Conversational UI, Chat
John
Top achievements
Rank 1
John asked on 16 Oct 2023, 11:55 AM

Hi, new to telerik, we're evaluating rad chat for an internal chat piece to our app.

i'm looking for recommendations for what control to pair with the radchat control for the left side of the chat program. the one where you pick who you're talking to currently.  think any old messenger app, conversations on the left, and the main chat with a person on the right.

what would you guys use for that?  I only need it to show the person's name, the person that's selected and something like a dot or overlay showing conversations you haven't seen yet.  Like XYZ sent you a chat and you haven't looked at it yet so XYZ's entry shows a dot etc for a missed chat.

this is all winforms.

Thanks!

1 Answer, 1 is accepted

Sort by
0
Dinko | Tech Support Engineer
Telerik team
answered on 18 Oct 2023, 08:15 AM

Hello John,

I appreciate your interest in our RadChat component for WinForms.

I will start with that our RadChat is just a UI control and all the functionalities described in your post are a subject of an application development (like FB Messenger for example), not functionality that comes out of the box from a single UI control like RadChat. However, using custom code you could implement your requirement. I will start with the Authors (left part of the chat application). Here you could use RadListControl to list all the Authors (Users) to whom you are talking. The control is highly customizable, thus giving you the option to create custom visual items for each author. You can place a symbol, image, custom element, etc. at the end of each visual item. That element can indicate if you have unread messages. You can check the Visual Data Representation for more information.

Now when the user selects an item from the RadListControl (you can use the selection change events of the control to be notified for this operation) you can store the current typed text messages in a Dictionary or any other collection. Clear the current messages in the control and load the messages for the currently selected author (user from the RadListControl). You will need to synchronize the message notification element (In my case I have used Glyph) in the custom RadListControl visual item with its collection in the Dictionary. This way when a message collection of a user is updated, you can show the notification message element.  

As you mentioned that you are new to our Telerik components, my recommendation above could not be so clear. That is why I have created a sample project which demonstrates what I have in mind. Keep in mind that this is a custom code and may not work in all scenarios. For example, the current implementation supports only text messages. I need also to point out that the messages are stored in a Dictionary. In a real-life scenario, probably you will need to use a different approach. The messages could be stored in a database and raise a notification when a given user table is updated with a new message.

For the purpose of the example, I have added two buttons to simulate the incoming message. Check the following GIF file.

I think that the project will be a good starting point to implement your chat requirement in your application.

Regards,
Dinko | Tech Support Engineer
Progress Telerik

Love the Telerik and Kendo UI products and believe more people should try them? Invite a fellow developer to become a Progress customer and each of you can get a $50 Amazon gift voucher.

John
Top achievements
Rank 1
commented on 18 Oct 2023, 12:08 PM

TY For the detailed explanation.  I'll go with the listview.
Vitaly
Top achievements
Rank 1
commented on 19 Jul 2024, 04:10 PM

Hello!
It's possible to show last X messages, and then load X messages if needed?
Tags
Conversational UI, Chat
Asked by
John
Top achievements
Rank 1
Answers by
Dinko | Tech Support Engineer
Telerik team
Share this question
or