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

Reply via email to