= README file for Decibel =


== What is Decibel? ==

Decibel is to become a framework for real time communication services.

It is supposed to consist of a platform independent daemon (formerly known
as Houston) and desktop specific components for user interaction,
configuration, etc.

The Decibel daemon is a plain, non-graphical Qt application which is
supposed to get started when a user logs in. It is a policy daemon, which
opens communication channels for the user and starts components in response
to events triggered.


== Status ==

Decibel is not yet ready for the end user. In fact it is not yet
feature complete.

This version was released to raise awareness about the project, get
developer input and collect feedback on APIs, etc.


== Contact ==

Feel free to get into contact with us on our mailing list

  decibel@kde.org

or our IRC channel #decibel on the freenode.net IRC network!


== To Do ==

Decibel Daemon:

 * Allow for plugins to encapsulate desktop specific parts.
 * ProtocolManager:
    - Use .profile files (instead of/in addition to) .manager files once
      they are actually defined by telepathy.
 * ContactManager:
    - Improve API: Add simpler contactContact* methods to make it
      easier for application developers.
 * Integrate Decibel with Desktop environments
    - Implement some ContactConnector to talk the Desktop environments
      PIM system.
    - Store Account Data in Desktop-specific systems (kwallet, gnome-keyring)

Components:

 * Implement some!

   A account management GUI app would be nice and should be easy enough
   to do at this point. Maybe someone wants to volunteer? The demos
   already show how things are done here.

Testsuite:

 * Make getenv/setenv portable to non-Unix systems.

Demo:

 * Write some with a GUI :-)
   A simple connect to jabber and chat kind of demo is really easy
   at this time. Any volunteers?


== Building ==

=== Prerequisites ===

Qt4.2.x:

  Qt should be prepackaged for all mayor linux distributions. Please see
  http://www.trolltech.com/products/qt for more information and installation
  instructions.

Telepathy:

  Telepathy is primarily a specification. No need to install anything.

  If you want to have Connection Managers either check your distribution
  (ubuntu/edgy eg. ships with gabble) or check
  http://telepathy.freedesktop.org/wiki/

Telepathy-Qt (>= SVN Revision 1359):

  Qt bindings for Telepathy. Get them from SVN (svn root is:
  https://svn.sourceforge.net/svnroot/tapioca-voip/trunk/telepathy-qt)

  To build it do the following after switching into the checkout directory:

    mkdir build && cd build
    cmake ..
    make && make install

Tapioca-Qt (>= SVN Revision 1359):

  Tapioca Qt hides some of the more ugly corners of telepathy from
  the Qt developer. Grab it from SVN (svn root is:
  https://svn.sourceforge.net/svnroot/tapioca-voip/trunk/tapioca-qt)

  To build it do the following after switching into the checkout directory:

    mkdir build && cd build
    cmake ..
    make && make install

=== Building Decibel ===

Decibel:

 To build it do the following after switching into the checkout directory:

    mkdir build && cd build
    cmake ..
    make && make install

 Please run the testsuite after building and report results back to us:
 One of the tests will bring a jabber account online. If you want to run
 this one, you need to define the environment variables DECIBEL_TS_JABBER_USER
 and DECIBEL_TS_JABBER_PASSWD.

    export DECIBEL_TS_JABBER_USER="user@some.host"
    export DECIBEL_TS_JABBER_PASSWD="password_of_that_user"
    make test


== Current pitfalls ==

Currently there are no known pitfalls.

Please report any pitfalls you encounter to our mailing list at
  decibel@kde.org.


== Version History ==

06 Dec. 2006 Version 0.1.0 (SVN revision 610960)
11 Jan. 2007 Version 0.1.1
08.Feb. 2007 Version 0.2.0
20.Feb. 2007 Version 0.3.0
