Kopete/Roadmap: Difference between revisions
*>Mlarouche No edit summary |
|||
Line 33: | Line 33: | ||
encapsulate tasks into proper object. One task, one object. Easier to | encapsulate tasks into proper object. One task, one object. Easier to | ||
maintain too. | maintain too. | ||
== Kross integration == | |||
Kross is the new scripting engine for KDE4 that help implement scriting support in a application. It support multiple scripting language like Python, Ruby and JavaScript(EMCAscript). It would be really nice to be able to write plugins as scripts. | |||
== Strigi integration == | == Strigi integration == |
Revision as of 19:32, 15 March 2007
This roadmap is not meant to be solid as a rock. Things can move and nothing is final. It is just a tool to help us focus our priority work.
For KDE 4.0 release (Kopete 1.0)
Better protocol support
- New Messenger plugin
- Telepathy plugin with support for text, voice and video channel.
Model/View for Contact List
Storage abstraction is already in libkopete in SVN.
- Make the contact list model
- Implement funky KopeteContactListItemDelegate
- Refactoring global identity support to not being a hack and integrate into the new model
Improve usability
- Improving handling of status message, allow editing of previous status message
- Polish UI being broken by Qt3->Qt4 migration
- Respect HIG more
Make use of the Command pattern for most tasks
We should keep that point in mind when refactoring the contact list handling. Some tasks that could really use this pattern. Like deleting a contact. There is no way to be notified if the deletion of a contact went wrong. Most of the contacts tasks are implemented as method of some classes, like Kopete::Contact::deleteContact which return.....void.
Using the Command pattern allow us to use signals for notification and encapsulate tasks into proper object. One task, one object. Easier to maintain too.
Kross integration
Kross is the new scripting engine for KDE4 that help implement scriting support in a application. It support multiple scripting language like Python, Ruby and JavaScript(EMCAscript). It would be really nice to be able to write plugins as scripts.
Strigi integration
The first Strigi use case in Kopete would be history search.
For KDE 4.1 release (Kopete 1.1)
Full integration of Telepathy/Decibel
- Make Kopete protocols available as Telepathy connection manager
- Separate libkopete into libkopete_protocols and libkopete_app (of course
with better name)
The general consensus of everyone was Kopete will to move to full Telepathy support in a near future. But currently Telepathy spec and Decibel are not mature enough to our needs. But we need to prepare for that move, because most people want to keep a BC during Kopete 1.0 period.
Will is going to look into making our protocols available as connection manager.
Why we should split libkopete ? Because some code in libkopete are related to the application itself (and plugins) and others are related to protocol implementation. If we want to be more efficient and have a core library more easy to maintain, we should split the library which has two distinct missions, manage the application and help to implement the protocol.
Also the plan is to move most of code in Telepathy plugin into the core and make use of Decibel (which currently Telepathy plugin doesn't use).
For KDE 4.2 release (Kopete 1.2)
Guest mode
Allow different people than the current user to use another IM accounts while not bloating the user settings, like a sandbox mode.