Akademy 2005 - Malaga

Instant Messaging and Internet Relay Chat

on the KDE Desktop

~

Will Stephenson

<wstephenson@kde.org>

Overview

Users' requirements

Administrators' requirements

Kopete IM client

Konversation IRC client

Challenges

Future directions

KDE IM Integration Architecture

The KDE Messaging Platform

Kopete

multiprotocol IM client

supports MSN, Yahoo, ICQ, AIM, Jabber, IRC, Gadu-Gadu,

Novell Groupwise

Lotus SameTime

Konversation

dedicated IRC client

specialised UI

Other clients

KYahoo, KMess, etc

Users' requirements

Making contact

directory/
addressbook services make it easier

Kopete and Konversation can import IM data from an organisation-wide KDE address book

Users' requirements

Communication with disparate IM systems

interoperability between e.g. AIM and MSN promised, but still a distant prospect

a multi-protocol client can reach everyone

one client – one interface to learn

MSN

SameTime

Jabber

ICQ

GroupWise

AIM

Yahoo

IRC

Gadu-gadu

Users' perspective

Instant messages – blessing or curse?

always available to everyone

notification or aggravation?

Kopete has hierarchical notification settings

All contacts – flash system tray

Work group – show pop-up

Girlfriend –

play fanfare.wav

KDE Integration

Integration with other applications

share information from other applications over IM

file transfer from Konqueror

set presence and away message from KDE calendar

media players – tell people what you are listening to

LaTeX plugin for mathematical discussion

show IM presence across the PIM suite (in progress)

PIM Integration 1

PIM integration 2

PIM integration 3

Administrators' requirements

Ease of deployment

Kopete is part of the KDE base packages

Konversation is in the 'Extra Gear', usually packaged

Control over feature set

our plugin based system is configurable

KDE Kiosk allows actions to be centrally disabled

Security

KDE network libraries are well tested

Qt reduces memory management risk

Regulatory needs

support for centralised logging – notify when enabled

local logging always possible

Challenges

Changes to proprietary IM systems

Consumer IM delivers unpleasant surprises

We have to respond with patches

User demand for advanced features

expect support for voice, video, 'gestures'

most poorly understood areas of consumer IM, therefore harder to implement

Good user interface

with power comes complexity

working with OpenUsability to improve this

Future directions

KDE 3.5

Voice and video functionality

Skype support recently added by remote controlling Skype client – no native support yet

Webcam support

v

Webcam support

If someone sends you an invitation to view their webcam while you chat, you could only

or

Webcam support

Now, using libmimic to support MSN webcams, you can happily

Webcam support

You can also send webcam video:

Future directions

KDE 3.5

Improved History viewer

Shows individual conversations

Incremental search

Chats in history use your regular chat style now

Global personal identities

Display name,

Display picture changed together.

Improved global status allows you more choice of statuses with one menu
selection

Future directions

KDE 4:

Message and conversation indexing and search

eg Tenor, Beagle indexing systems

Lighter weight

New architecture

Separate IM back-end?

would allow us to use Kontact or other apps as UI

mother of all IPC interfaces required

Threaded implementation?

current implementation under-performs when connecting multiple accounts simultaneously

K IM Interface

K IM Interface

KDE IM Integration Architecture

IM apps and client apps are loosely coupled

IM apps have a generic IM interface

Client apps use KIMProxy library for easier development – “IM client in a box”

Based around KDE
address book

K IM Interface

IM Client

Skype

IRC Client

K IM Proxy

Client Application eg Kontact

2005-05-25T13:06:48