 Hi, I'm Vasudha. I did my GSO class here under KDE and I worked on Rukola. So Rukola is a chat application and it's a Qt, QML interface to Rocket Chat. Now what does that mean? It is made using Qt. Qt is a cross-platform language. That means with the same code base, we can run that application on desktop as well as on mobile. And Rocket Chat. So Rukola is a client and Rocket Chat is the server on which Rukola is made. So Rocket Chat is a web chat server and it is developed in JavaScript and it is based on Meteor. So the hierarchy goes like this. Rukola is based on Rocket Chat and Rocket Chat is based on Meteor. So all the APIs that Rocket Chat provides, we're trying to involve all of them in Rukola to improve it, make better functionalities and just improve the performance even. And this year we're collaborating with Rocket Chat to create something like Rocket Chat Plus or Rukola Plus that we have. But not in GSOc, we'll be working on it on ourselves. So I'll be talking about the features mainly. These are all the features and there are many more. So we'll cover them one by one. So I'll be showing all the features like before versus after skin shots, before I started working on the project and after, like what is it now? So that's the login screen. It used to look like that. Earlier, the server name, it can be any server based on Rocket Chat. Whether it's wiki2learn, whether it's piproserver or whether it's Rocket Chat server, anything. So that's how it looked earlier when I started working on it. It's kind of an IRC look. We didn't have any private messages. We just had groups. We could just join groups and there were just minimum functionalities like login and logup and sending messages and receiving messages. It could not even parse special characters. And I started working on it. My first functionality was notifications. So that's a notification screenshot. When Mentor said that this deserves a screenshot, that was my first work on Rukola. And after, we're using Kirigami UI for Rukola. Kirigami is another KDE product and it is a QML interface provider. Like the login screen looks much the same, but there's this global draw at the bottom end which we'll come to. So the login looks the same, but the chat view has changed drastically. Now we have favorites, separate column for rooms and private messages. And we can also add users, remove users. The chat system has changed. We have now dates and we can even send pictures and music and whatever. So we can even search channels. Now in WhatsApp, you cannot search all the channels that are there or all the users that are there on WhatsApp. But in Rocket Chat, you can search for all the channels that are available on the Rocket Chat server. Like all of them. You can see there and add yourself to any public group. Then support for hiding and leaving a room. You cannot leave private chats. So you can just leave public groups and private groups. So there's that. And you can also silence a group or any personal chats. Then searching in the list of chats. We also have a feature for searching in the entire list of chats that we have. Like if you press in G, you'll get every room and private messages containing G in them. So room is a group chat. Okay, rooms, channels and a group chat are all similar. Now we can also delete messages. I know WhatsApp had this feature very recently, but Telegram and Rocket Chat had this way before. So now Rukula has it too. So we can delete messages. We can also join and leave channels anytime. And the green ones are the people which are online and it also tells the status. The status was here. Like here. You can see here we can change the status to online, busy or invisible or away. Any of it. So you see how drastically the UI has changed and the backend has changed in the last one year. And we've searched the deleted messages and custom notifications for like this is a feature very common now, but we didn't had it earlier. So notifications for particular individuals and particular groups. We can disable notifications and this also 100 messages notifications. We can also turn that off if it like for any particular individual. And Rukula has been, you know, is being used by two German companies already. It's not even being released officially. It's already in use by some companies. So I think it has a good scope in future. So and also we can see all the users in the room. There are four options in a private chat or a group chat. The four at the top, right? So the first one is seeing all the users. I know the UI kind of needs to be improved. I think I'll need some designers for that, but there are all the users that are there in a group listed above. Then come searching in a chat like they were searching in all the charts. We can search in a chart also, right? I search REST API. So there are all the messages that contain REST API listed there. Then there are room options. We have certain room options like creating a new channel. We couldn't create a new channel earlier, but now we can. And Lauren Montel is the current maintainer of Rukola. So if you have any issues while using it, you can report it and we'll try to solve it. And we can also have video charts and we can add users in your room and we can send video messages too. So all the decent features that a chat application should have are there in Rukola. And Rukola also works by user names. It doesn't require phone numbers. Like telegram doesn't require phone numbers, Rukola works by user names. And then there's the about, this is global drawer. This is a Kirigami UI. Every Kirigami UI has a global drawer attached to it. Not many apps have this function. I guess telegram does. It has a drawer at the side and Rukola does. There are certain options here. And if you've seen phones like this in OnePlus phones, there's this slide bar at the side in which you can write your notes and the recent apps. So we can have that here. We can have notes here and recent checks here in this global drawer. So Wikitlone has this motto that knowledge only grows when shared. So if you have anything to share or your feedbacks or anything to contribute to, you can let us know. And that's my email. You can contact me when you use it. So yeah, that's it for now. Any questions or suggestions on how to improve it? I know the UI needs a lot of work yet. That's it. Yeah. I have a question. Yeah. Does Rukola only work with KDE? No, no, no. It will be porting it on Android soon, like on Play Store, releasing it officially. And you can use it from, you can download it from there or you can download it from the KDE server too. It works in Windows, Linux, Mac, everywhere. What is the model usually for Rukola? I know that KDAB and Pipro from Germany, there are two companies that are already using this. And I don't know about the rest of them because people don't know about it yet. We've not released it officially. So that's why. That's it. Thank you. Yeah. What protocol are you using? What? Which protocol? Web protocol? Yeah, which protocol? Clients have a protocol? Yes. Yes. Sorry, what's it called? We were using Webflow authentication, basic Webflow authentication. Okay. Yeah. Is it a function that is a function for Java? What for what? Java. Yeah, Java or XMPB. No, no, no. It doesn't use, it uses simple web chat sockets. Web sockets? Yes. That Rocket Chat uses. Yes. I told initially that Rukola is based on Rocket Chat and Rocket Chat is based on Meteor. So we use Meteor as DDP clients. All the classes that Meteor uses basically. We can even use that directly from this hierarchy, from Rukola, Rocket Chat, Meteor. We can use directly from Rocket Chat or Meteor. Meteor.js. Yes, Meteor.js. Yes. Is Kirigami is the thing you mentioned very briefly? Yes. Can you explain a little bit more? Is this like a set of style sheets or a set of widgets? Okay. It is like, you've heard of QML? Yes. Yes. So it creates QML template for us to use. Oh, it's a UI design app. Yes, yes, yes, yes, yes. There's a talk on Kirigami tomorrow. Okay. We can do that. That's it. Thank you.