[Licq-devel] What will happen with Licq in 2009?

Anders Olofsson <[email protected]> Thu, 01 Jan 2009 12:36:45 +0100
Newsgroups gmane.network.licq.devel
Message-ID <[email protected]>
It's been very quiet since we released 1.3.6. I've had other things to 
do and I'm sure others been busy as well. But I was hoping to get Licq 
moving again with the new year.
I've been having some thoughts about the future of Licq which I would 
like to share with you in this mail.

Note that this is only my view on what needs to be done, it's not meant 
as a work assignment, and I would like to hear what you guys think think 
so we can have a discussion on how to continue and in which direction.
I think we should try to keep this discussion on what to do and let 
details on how to do it be left for separate discussions later by 
however will be doing it.


Firstly, Licq 2.0:
I think we can all agree that Licq needs a make over on many levels and 
a redesign is needed. However, with the current activity, it will take 
ages before we have Licq 2 as a replacement for Licq 1.
So I think we should instead focus on Licq 1 and change it one bit at a 
time. This way we can get a redesign done over time but still work with 
a product that's usable and deliverable along the way. I know this will 
require more work, take longer time and probably break the API between 
every release we make, but I can see this happening whereas Licq 2 would 
require more dedication, organization and planning than we currently have.

So what should be done with Licq 1?
The following are the major things I think needs to be worked with. I've 
ordered them in accordance with how important I think they are.

1) Protocol support
The ICQ support in Licq covers a lot, but unfortunately it has gone a 
few years since it was last up to date. Getting ICQ/AIM support for the 
latest protocol will give Licq more of the functionallity available in 
the protocol.
I would also like to see a more complete MSN support, there are a lot of 
holes in the protocol implementation and I think here also we're using a 
protocol version that's a few years old.
Will anyone maintain and update the protocol support we have or is it 
maybe time to start looking at libraries for the protocols instead of 
having our own implementations?
It would of course also be great to have support for more protocols, but 
I think it's more important to have a few good implementations than 
having many half implemented ones.

2) Daemon and plugin API
It would be nice to get all the ICQ code moved from the daemon to a 
separate ICQ plugin as this would make the daemon cleaner and easier to 
work with. Doing this would also force additions to the protocol plugin 
API for everything it's currently missing.
The plugin API could also do with some major changes to make way for 
supporting more protocols, make it easier to use, etc.
Most of the plans and ideas for Licq 2 will of course also fit into this 
category.

3) GUI
We have Qt4-Gui which I think works fine, even the old Qt-Gui is still 
usable. However I think we need to start look at appearance and usability.
The one thing I would like most for Qt4-Gui is new skins, the existing 
skins work but they are old. The desktop systems have evolved over the 
years so our look and feel probably should too. Maybe we should look at 
making other dialogs skinnable as well.
The second thing here would be KDE support for Qt4-Gui. There are still 
some things to fix before we can release a Kde4-Gui that has all the KDE 
integration of Kde3-Gui.
More translations would always be nice too but I consider this lower 
priority than functionallity, appearance and usability.

4) Tickets
There are currently 185 open tickets. Many of these are old and probably 
not reproducable or has too little information for troubleshooting.
The list needs to be reduced. I think we need to define a guideline for 
how long we wait for an answer to a problem before we close a ticket 
that needs more information.
Also, I've seen several tickets which ends with something like "I'll 
take a look at this later" and then nothing more has happened. I 
understand that everyone here has other things in their lives than Licq 
but please avoid taking on work that you won't actually do.
I think we at least should start to look at ticket assignments, so if 
you have tickets assigned to you I would like you to either try to find 
the time take care of them, or remove yourselves as owner to mark that 
you're not working with it.

5) Other UIs
The old console plugin needs to be updated, probably even replaced 
entirely. The console plugin has an IRC feeling to it with the command 
input at the bottom. Maybe a more windowed approach would be better if 
redesigning.
The web plugin I haven't even looked at but I know it's had no commits 
for at least two years so it probably could do with some freshening up 
as well.


Well that's my list for now, I'm sure there's more that I've forgotten 
but those are the major things I see right now.


To get things done, someone also needs to do it, so here is what I feel 
that I can contribute with to the above work:
1) I'm not very home with protocol implementations so this is probably 
not for me, at least not by myself. But I'll be happy to help if someone 
else takes the lead.
2) I have some ideas on what to do with the API that I'm working on and 
I'll be happy to discuss these with anyone interested. However I don't 
think I'll move the ICQ implementation by myself.
3) I've looked a bit at the Kde4-Gui but I'm stuck, and I'm not one for 
making skins, but I have planned to make all shortcut keys user 
configurable and I'm always looking for other improvements to throw in.
4) I go through the list sometimes and try to find tickets to close but 
I don't know how to handle many of them. Guidelines for ticket handling 
would help.
5) I could probably do a new console plugin, but right now It's more 
likely that I'll spend my time with the daemon and API work.


/Anders