Discussing paradigms (Re: KDE Jabber Library)
tibirna at kde.org
Sun Aug 4 19:45:33 BST 2002
On Thursday, 01 August 2002 18:50, Justin Karneges wrote:
> 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
> 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