Jump to content

KTp/Components/Chat Window: Difference between revisions

From KDE Community Wiki
< KTp
Drf (talk | contribs)
Created page with 'This page is about planning and design of Telepathy's Chat Window ==About Kopete's Chat Window== ===Why not straight porting Kopete's window?=== Kopete's Chat window is overly ...'
 
Drdanz (talk | contribs)
No edit summary
 
(8 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{:KTp/Header}}
This page is about planning and design of Telepathy's Chat Window  
This page is about planning and design of Telepathy's Chat Window  


==About Kopete's Chat Window==
==About Telepathy's new Chat Window==
 
=== Maintainers ===
 
Maintainers: David Edmundson (d_ed)
Close second in command : Dominick Schmidt (domme)
 
see code for email addresses
 
=== Getting involved ===
 
Bug/task list here: http://bit.ly/dLdd2W
 
Please mark something as assigned if you take on a task.
 
=== Reporting bugs ===
 
This component is open to reporting bugs, and any missing features that a standard normal chat program (like PSI) has. Make sure to select text-chat-ui as the component in bugzilla.
 
Crazy controversial ideas won't be considered for the first build.
 
=== Usage ===
 
Start a text chat using the telepathy-test-tool.
 
==Design Decisions==
 
===Why not straight porting Kopete's window?===
===Why not straight porting Kopete's window?===
Kopete's Chat window is overly complex and deeply integrated with Kopete's internals, hence it is quite impossible to do a full porting without losing time and mental sanity. However, there are some things we can learn and even pick from Kopete.
Kopete's Chat window is overly complex and deeply integrated with Kopete's internals, hence it is quite impossible to do a full porting without losing time and mental sanity. However, there are some things we can learn and even pick from Kopete.
Line 9: Line 36:
* Think about the future: try having an higer level of abstraction and avoid using custom widgets wherever possible
* Think about the future: try having an higer level of abstraction and avoid using custom widgets wherever possible


=== What we can pull ===
=== Library reuse ===
KHTML code looks quite fine, and theme support as well. Also, some bits here and there could be definitely ported over.
 
== About our new chat window ==
 
=== Webkit vs. KHTML ===
The eternal fight. To avoid reinventing the wheel, I'd love to use Kopete's already written KHTMLPart based message window.
At the moment, KWebkitPart is not stable, for this reason KHTML will still be used, but I'd surely have a look at webkit as soon as it gets ready for prime time.


=== Components modularity and integration ===
Any public interface to the lib should be considered that it may have uses outside the application we ship. I intend for it to be easily placed into any application that uses telepathy.
In my view, we would have a chat window almost identical to KMess' one: a single (tabbed) window, with a contact list, input+actions field and message view for each tab.
KXMLGui can really come handy here, but I'd like to avoid using KParts as it really does not make a lot of sense to me, when we can simply use a set of widgets.


=== Interface ===
== Themes==
What comes to my mind is that the use case of such a window is similar to rekonq or chrome. Hence, the principle of ditching the menu bar could be appliable here as well (P.S.: the official MSN client already does this, IIRC).
[[KTp/Components/Chat_Window/Themes|Instructions]] on how to add themes to the chat window and a list of supported and unsupported ones.

Latest revision as of 01:00, 10 November 2012

Project logo Welcome to the
KDE Telepathy Development Wiki
Current Version: 23.07.70

Open Hub project report for KDE Telepathy

This page is about planning and design of Telepathy's Chat Window

About Telepathy's new Chat Window

Maintainers

Maintainers: David Edmundson (d_ed) Close second in command : Dominick Schmidt (domme)

see code for email addresses

Getting involved

Bug/task list here: http://bit.ly/dLdd2W

Please mark something as assigned if you take on a task.

Reporting bugs

This component is open to reporting bugs, and any missing features that a standard normal chat program (like PSI) has. Make sure to select text-chat-ui as the component in bugzilla.

Crazy controversial ideas won't be considered for the first build.

Usage

Start a text chat using the telepathy-test-tool.

Design Decisions

Why not straight porting Kopete's window?

Kopete's Chat window is overly complex and deeply integrated with Kopete's internals, hence it is quite impossible to do a full porting without losing time and mental sanity. However, there are some things we can learn and even pick from Kopete.

Mistakes which we should not repeat

  • I'm all for modularity, but having a KPart for each component statically referenced in the core is possibly something we don't want to repeat
  • Think about the future: try having an higer level of abstraction and avoid using custom widgets wherever possible

Library reuse

Any public interface to the lib should be considered that it may have uses outside the application we ship. I intend for it to be easily placed into any application that uses telepathy.

Themes

Instructions on how to add themes to the chat window and a list of supported and unsupported ones.