Some Rework on Tracker and Popovers

For the past three weeks there was a lot going on. First of all, the userTracking idea we initially had proved to provide a bit less than we actually needed, so we agreed that we needed to come up with something more complex, and that lead us to the creation of a new module, the UserTracker. Basically, the user tracker is a whole new module that does what its name says it does :). But the old userTracking stuff was integrated in the ChatView (hence the need to separate the logic into a stand-alone module). This was a bit difficult as not all the things were clear from the start: what signals to send, how to filter them so that we don’t end up with a ton of signals everywhere around the app that would need their own filtering process.

Very important thing: the UserTracker watches users both locally (in the room you are on) and globally (all the rooms you are on, rooms that are all on the same network). So, each network (or account, as they are called) has its own UserTracker that has the job of tracking the local status in all the rooms, and the global one on that network.

The global tracking part uses detailed signals, while the local one uses callbacks in order to kind of simulate the idea of signals. Both these measures were taken so that we minimize the number of filtered signals (basically there is minimum filtering done).

Whoa. A lot about the tracker so far. Now the visual part that will use it. Well, visually speaking there is not much of a change on the Popovers, sure, there were some minor bugs fixed, but in a nutshell the popovers are very much the same visually speaking. What happens in the back-end, well, that’s a different story :).

The Popovers had to be rebased on the tracker branch, and that had its own challenges as well. The current work that’s being done is in order to make use of all the things that tracker has to offer, but inside the popovers.

Stay tuned for more news on the popovers, as the work on them is advancing towards the finish line :).

Progress so far

My exams ended two days ago and I must say that it’s been quite a month. I started working on my GSoC project before my exams and i worked as much as i could before the exams started. Then, I pretty much had some very full days, but still I managed to organize my time in such a way that I was able to code in between my exams :).

The first part of my work was called ‘user tracking’ and it involved, well (you guessed it), tracking users, more specifically their status (either online or offline). It’s not as if this functionality hadn’t been present before, it actually was, only that there was a case in which it would provide faulty results. So my work actually involved enhancing the user tracking functionality already present in Polari.

What was it all about? Well, if the same person would be online with multiple clients at the same time (let’s say user ABCD is logged in on both his PC and laptop and that he is on the same IRC channel with both, with names like ‘ABCD_PC’ on his PC and ‘ABCD_LAPTOP’ on his laptop so that the two nicknames are not identical). The tricky part was that if the user would disconnect either of the clients (only one of them, not both), both nicknames would be marked as offline, even if one client still remained active. This behavior would persist until the still active client would send a message so that Polari would notice that he is actually active.

After userTracking was finished, I started working on the next part, called ‘contextual popups’. This part involves both the UI and the functionality behind it. This is a completely new feature and I’m really excited about out it begins to look. Also, it relies a lot on the previous feature, userTracking.

Here’s a picture about the current progress on the popovers:

crop

There are still things to be done in order for it to be complete, and i will focus on those in the following days. Visually speaking, there is only a button left to add (and the functionality behind it) and I will write a new post as soon as it is ready, so stay tuned!

GSoC 2016

GSoC 2016

Hello everybody! My name’s Rares Visalom and I’m a second year Computer Science student at “Politehnica” University of Bucharest, currently pursuing a bachelor’s degree in Computer Science.

This summer I have the opportunity to contribute to GNOME as a GSoC 2016 student. First of all I’d like to congratulate all the other students that were accepted. I’m sure all of us will give our best in order to actively contribute to the open source community.

My proposal involves improving the user experience for both new and already existing users of Polari, the IRC client developed by GNOME. I’m very excited and I can’t wait to begin the actual implementation of the ideas. With the help of Florian Muellner and Bastian Ilso, whom will aid me as mentors in the process of developing these ideas, I plan on adding user-friendly features that would enhance the user onboarding capabilities of Polari, making it easier for people to use our application.

I will regularly post updates on my progress throughout the summer so if you’re interested, this is the place to find out more about my work  :).