Marc Cramdal's blog

Sunday, November 28, 2004

Kopete statistics, chapter 3

I have made some progress this week that I can share with you. I have tried to take in account your comments.

First, new things :
- Plugin can now display statistics for a day of the week or a month (see screenshot). There is always a General page which shows global informations on the contact.
- Charts are displayed vertically.
- Hours are displayed following the HH:mm:ss format. No more 1,0003 hours ;-)
- More descriptive tooltips when you go over a chart.

Still to do :
- lilachaze has began to work on the Unknown-Offline status, so in a near future, Offline status should be well-logged.
- Maybe a /stat command to display chat in the chatwindow ?
- General statistics for all contacts, and ability to ask questions : for instance, Who is generally online on thursdays (between 2pm and 4pm) ?
- A database cleaner : when a contact goes Offline for two seconds, then back Online, it is rather stupid to log this. First, it overloads database. Then it will give false informations for the previsions.

Screenshots:

(for planetkde.org readers, there is a second screenshot, but I have not put it on planet because two big screenshots, that's huge :-))


I'm awaiting your comments ! If i'm boring you with my blog, say it too :-)

Saturday, November 20, 2004

Kopete statistics plugin, a screenshot

On screenshot is clearer than a long text. Here is one with some explanations.



  • First statistics group : some general times. How many time Kopete has seen this contact (it means online or offline or away). How many time Kopete saw this user Online, etc.
  • Then, average message length and the time between two messages. Easy to understand ;-)
  • Then, charts. The first in black is the repartition by hours of the "seen" time. Here Kopete saw this contact at 20:00 16% of the total seen time. Kopete saw him Online 10% of the total seen time etc. When you go over the bars which are simple HTML <hr>, you get a tooltip.
  • Then you see the different status this user has taken today. You can check quickly when he was Online with the blue lines.

The log tab is only the database fields in a listview.

A word on "predictions" :
The next thing I want to implement is a prediction saying when the user will probably go Online or Offline. For Online it is not that much difficult. For Offline, I'm awaiting lilachaze's patch ;-). It will be really great then.

I hope you like it :-) Feel free to comment (i'm not sure if comments works well but they should). Last but not least, really sorry for all my mistakes.

Thursday, November 18, 2004

Kopete statistics plugin, chapter 2

I finally found the solutions for a recurrent crash in my plugin, and it so stupid that I will not explain this ;-)

Now you can see the average length of your contact's messages, and the time he takes to type between to messages. Not very useful for now but could be used maybe in the future to perform some predictions.

Also, I added a new kind of stat on a friend's request: in the stats view, you can now view when your contact was online today. So, if you were not in front of your computer, you can see if X was online from 13:00 to 14:33:12 or so ...

It still have some issues, things to do :
- Check when contacts are offline. For this Unknown status is required to be default when you are not connected. lilachaze will maybe do the change but I have to wait for this. That's not a big issue, but I have to wait.
- Predictions: how to do theses ? What kind of predictions ?
This article about IM predictions is really interesting but it speaks from concept, and not how to do this. I need to find how to manage this, how to do my calculations to provide stats...

Thus, if you have ideas on this question, feel free to comment :-)

I have some little and - I think - great ideas for getting useful informations like trying to search the away status for things like "lunch", "dinner" to get when the users is eating but this is a detail...

Sunday, November 14, 2004

Kopete Statistics Plugin

My current developping is my first serious involvment in KDE. I'm trying to do a Kopete statistics plugin which will be able to do the following :
- Log the changes of status of the contacts. Then save in the database by periods (Contact X was Away from Date1 to Date2). This is works. Has to be improved since there is a problem for knowing when a contact is offline (i would like to check changes from Unknown to Offline and then to Offline to something else, but contacts are Offline as default, when you're not connected, which is, I think, illogical).
- Gather some unuseful small stats (average message length, time between two messages (awareness)) etc.
- Output some predictions. That would be the greater thing of this plugin : I could ask to the plugin, "when do I have the bigger probability to see contact X" for instance and it would answer to me.

Well, this will go slowly, because I have school, and competitions at the end of the year, but surely.