Discussing paradigms (Re: KDE Jabber Library)

Cristian Tibirna tibirna at kde.org
Sun Aug 4 19:45:33 BST 2002

On Thursday, 01 August 2002 18:50, Justin Karneges wrote:
> Hello,
> I am the author of Psi, a Qt-based Jabber client.  See http://psi.sf.net/
> for details.  Recently, I have been working on a Jabber client library
> based on the Psi backend.  The library is accessible in KDE CVS, under
> kdenonbeta/psi/libpsi/


> My proposal is to rename the library to "kimp" (to stand for KDE Instant
> Messaging and Presence) and for it to be included and developed within
> kdelibs.  As a member of the Jabber Software Foundation (or JSF, see
> http://www.jabber.org/), I am involved very much with the Jabber
> development process and advocacy.  Many of us have wanted to
> "Jabber-enable" a desktop environment, and I think KDE would be a great
> place to begin.

Since a very long times (probably 4-5 years) I refrain myself from airing the 
following thoughts, because of the shame given by the fact that I don't see 
where I will find the time to put my code where my mouth is. The recent 
discussion (that became quite phylosophical) about the IMP abilities of KDE, 
prompted me (after 2 days of harsh reflection) to post the following.

A combination of an operating system and a desktop environment gives to us 
today the common way of interacting with computers. I call this combination 
OSDE from now on. Because of the inherent shortcommings of the technology and 
of the metaphors deeply rooted into the concept, computers fail, even after a 
history of more than 60 years, to graduate from the position of a cumbersome 
tool to that of a really helpful aid of social and technologic life.

We care here for an OSDE given by the combination of UNIX with KDE, thus I 
will refer to it in the followings.

Given the flexibility and adaptability of UNIX as a technology, the burden of 
making the step out of the improper metaphors towards the status of helpful 
aids falls in the task chart of desktop environments like KDE.

I believe the most important 2 metaphors KDE has to improve on (or even get 
rid of, if necessary) are the desktop metaphor and the mailbox+passive 
display metaphor (think of the passive display as the equivalent of a 

1) desktop environment

Improving upon the desktop metaphor is not as drastic as it sounds. From the 
very beginning, the desktop metaphor was chosen because it was the cheapest 
way to keep the computer nearer to the way the human brain functions. 
However, the things evolved, and we know today about technologies that can 
handle better the human-computer interaction. We need to implement, as the 
center of KDE's functionality, a knowledge browsing engine. Those who read 
about the "brain" browser patent (http://www.thebrain.com) or looked a bit at 
the little gem called gofai (good old fashioned artificial intelligence), 
know what I relate to.

I will keep my explanations to a minimum, so that I come quicker to the main 
reason of this message: the IMP concept.

The central idea of the knowledge browser is to give to the user the means of 
interrelating computer storage objects according to user-chosen concepts. 
Exemple: my friend Max sends an e-mail to me with a new, original, beer 
brewing receipe. That e-mail means has for me 2 conceptual relations: a) it 
comes from Max and b) has a beer brewing receipe in it. Thus I would like, 
while keeping that e-mail in my usual e-mail archive, to have it linked, by 
the knowledge browser, to the "Max" keyword and to the "Brewing" keyword. Of 
course, if I try to select the "Max" keyword in the browser, that should give 
me links to e-mails from Max (all of them), to photos of Max, to the URL of 
his web-page, to the location of an mp3 with music that Max composed and sent 
to me etc.

Of course, such a knowledge browser can have any relevance only if it is 
exposed as the central piece of the human-computer interface toolkit. And 
yes, it has the potential to become a superseeding tool for konqueror, kmail, 
kopete, knode, noatun etc.etc.etc.

2) mailbox + passive display
Here we come to the question of the IMP library in kdelibs. And I will 
probably mix a bit of politics too in the topic.

Undisputably, the acceleration of the human conscience development is 
massively due to the improvement of the communication tools. We largely use, 
a large part of a day's time, latent interactive communications (like e-mail 
or snail mail) as well as passive display communication (like web, papers, 
television, radio). For a small amount, we also use instant interactive 
communication (mostly telephone and IM).

If you look at the protocols of these communication channels, you will observe 
that the crushing majority are based on globally accepted, public domain 
standards. E-mail, snail mail, journals, TV and radion emissions, can be sent 
and received anywhere in this world, and everybody is entitled to their use. 
The most important characteristic of these is their public availability. Yes, 
one pays for the infrastructure, but the price is most of the time 

I believe the same thing has to happen with IM, and a knowledge browser (or, 
more generally, the OSDE underneath it) needs an open standard IM. And if 
there isn't one as generally used as e-mail today, we have the political duty 
to promote one.

It is very well understandable that Kopete is a must-have tool for KDE to 
remain popular. Yet, the endorsement of proprietary IM protocols has to 
remain episodic, if at all necessary.

The choice of an IM protocol has to be independent of its users' following 
(for the same reason we develop KDE instead of using Windows).

The IM protocol has to be the kind of (pseudo) peer-to-peer (small servers 
everywhere) , just as e-mail (almost) is. The only problem I see is providing 
for IMP the mechanism that DNS offers for e-mail in the form of the MX 

I don't know if Jabber is the good choice. I only know we need one (and at one 
point, a few years ago, before Jabber emerged, I was ready to propose a 
KDE-endorsed, new one). I also believe that choosing a protocol shouldn't 
impede in anyway kopete to exist and what it does (quite well already). But 
it is about a different concept altogether. There is no need to make a choice 
dispute between the "have jabber" and "have kopete" parties. It is, in fact, 
important, that an IM protocol be put at the hand of the OSDE, so that 
instant text, whiteboard, audio and video communication becomes a common 
place for KDE users.

Thanks for listening to the long rant.

Cristian Tibirna .. tibirna at sympatico.ca
PhD student .. ctibirna at giref.ulaval.ca .. www.giref.ulaval.ca/~ctibirna
KDE developer .. tibirna at kde.org .. www.kde.org

More information about the kde-core-devel mailing list