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:
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!