[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-core-devel
Subject:    XFree86 Conference Proposal
From:       Ellis Whitehead <kde () ellisw ! net>
Date:       2001-07-13 19:11:29
[Download RAW message or body]

Ok, here's the talk proposal I'll be submitting shortly.  I'm not sure 
exactly what time it is GMT, but either by 22h or 23h.  Any last-minute 
comments are most welcome.

This could either be done in 30 minutes or an hour...

		30	55
		----	----
Intro & UI	5 min	10 min
Desktop		10 min	15 min
IPC		15 min	30 min

------------------
KDE: Interface, Desktop, and IPC

As one of the leading *nix desktop environments, KDE is actively developed
by a very significant base of coders, artists, translators, debuggers,
documenters, and more.  New developments arise at a steady and rapid rate,
so to present a taste of the advances KDE has made in recent times, we
will consider a just couple highlights each from the areas of User
Interface, Desktop Environment, and Inter-Process Communication.  The
weight of this talk will go to inter-process communication, though, due to
its central role KDE's design, the power it confers to KDE developers, and
the possibility it brings of "internet-enabling" programs.


User Interface:

Our brief survey of new UI features will include our use of X's XINERAMA
extension to offer a desktop operating over multiple displays.  Also
surveyed will be the keyboard shortcut implementation, which allows both
for configuration of any individual shortcut and for selecting an entire
shortcut scheme with settings native to KDE, Windows, MacOS, and others.

Desktop Environment:

The KDE and Gnome projects, among others, have adopted the Desktop Entry
Standard and the NET Window Manager Specification, allowing an application
written for one environment to be properly launched and managed in
another.  The Desktop Entry Standard defines a configuration file format
for describing how a particular program is to be launched, how it appears
in menus, etc..  And the Window Manager Specification defines interactions
between window managers, applications, and the utilities that form a part
of a modern desktop environment.  This allows many custom extensions
(floating toolbars, for instance) to be implemented via a convention
understood in varying environments, resulting in consistent behavior among
desktop environments without hampering developer creativity.  We'll look
at this interoperability in action under KDE and at how KDE uses the
desktop entry files to support its startup notification process.

Inter-Process Communication:

Much of the power, flexibility, and extensibility of KDE is to be
attributed to its component-based design.  To support this, KDE makes
extensive use of inter-process communication.  CORBA was used for this
purpose for about a year, over which time it became evident that its
complexity represented a significant disadvantage in an environment where
an efficient and developer-friendly method of IPC is critical.  So while
we have striven to adopt standards which will foster interoperability, the
CORBA protocol was ultimately judged to be more appropriate for enterprise
applications than for sundry desktop components.

The search for a fitting alternative has culminated in a protocol called
DCOP -- a simple IPC/RPC mechanism built on top of X's Inter Client
Exchange (ICE) protocol.  It brokers communication between KDE
applications with minimal cost and effort, as well as enabling scripting
and easy command-prompt control of those applications.  Its simplicity for
coding and scripting purposes will be demonstrated, along with its
efficiency in speed and resource usage.

And lastly, on the forefront of KDE's IPC paradigm is its transparent
support of XML-RPC via DCOP.  This makes it possible for users to query
and command their applications remotely for such purposes as checking your
addressbook from a client's office or telling your home computer to
download the most recent kernel snapshot while at work.  How this is done,
the security issues involved, and the work towards simplifying the process
of creating a secure implementation will be discussed.

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic