Christophe Nowicki

May 24, 2006

Google Summer of Code 2006, application accepted !

google logo  +  summer  +  laptop

My proposal for the Google Summer of Code 2006 has been accepted!

Name
----
   Christophe 'CSCMEU' Nowicki
 
Email
-----
    cscm at meuh dot dyndns dot org

Project Title
=============
    Mozilla and D-BUS Integration

Synopsis
--------
   The goal of this project is to allow Mozilla components to communicate
   through D-BUS ( www.freedesktop.org/wiki/Software/dbus )
   in order to allow better integratation in the Linux Desktop.

Benefits to the Mozilla Community
---------------------------------
    Better Integration of the Mozilla Suite Inside the Linux Desktop:
        - possiblity to send and recive messages through D-BUS from Mozilla
        components via XPCOM objects.
        - possiblity to use existants projects like:
            - Avahi ( avahi.org ) for Zeroconf support,
            - Beagle  ( beaglewiki.org ) the query directly beagle from the
            Mozilla Search Bar
            - Other, see list of software supporting D-BUS :
            www.freedesktop.org/wiki/Software_2fDbusProjects
        - possiblity to provide Mozilla services via D-BUS.

Deliverables
------------
    - source code of the XPCOM compents under the MPL license
    - documentation of the API
    - sample extension using the XPCOM implementation

Project Details
---------------

    XPCOM Component
    ~~~~~~~~~~~~~~~

    The first step of the project is to allow Mozilla components
    to make D-BUS call :

        var DBUS = new Components.Constructor('@mozilla.org/dbus;1', 'nsIDBUS')
        var dbus = new DBUS()
        var bus = dbus.SystemBus()

        var dbus_obj = bus.get_object('org.freedesktop.DBus',
            '/org/freedesktop/DBus')
        var dbus_iface = dbus.Interface(dbus_obj, 'org.freedesktop.DBus')

        dump( dbus_iface.ListNames() )

    My API will be inspired by the Python D-BUS API.

    Javascript Events
    ~~~~~~~~~~~~~~~~~

    The second step would by to integrate D-BUS inside the Java Script event
    loop.

    Difficulties
    ~~~~~~~~~~~~
    The technical difficulties of the project are :
        - the type mapping between the D-BUS API and Mozilla
        - memory management, in order to avoid memory leaks
        - manage DBUS communication channels between componants instances.

    The cons against this project are :
        - D-BUS is not working (yet) on Microsoft Windows 
            (comming soon)


Project Schedule
================
   The project is sized for one person and should be finished at the end of
   Summer Of Code. I estimate the working time like that:

    - write specifications of the project ( 10 days )
    - analyse the mozilla architecture / source code to plugin the feature
    nicely ( 10 days )
    - write the XPCOM components ( 15 days )
    - write the documentation ( 5 days )
    - write sample application ( 5  days )
    - debug and integrate the components in the Mozilla source tree, code
    review, etc ( 10 days )

    Total estimate : 55 days witch is more or less 3 working month.

Bio
===
    I'am a French student in computer science from EPITECH ( www.epitech.net )
    involved in the free and opensource mouvement:

        - as an Debian 'Power User' : reporting bug, making packages, writing documentation and helping users on forums
        - as an Developper of the FANI project ( www.fani-project.org ),
        it's an multi operating systems network installer writen in
        XUL and Python.
        - as an half-time engineer and developper working for Easter-eggs
        ( www.easter-eggs.com ), an opensource services company involved
        in free software developpement ( see our projects on
        labs.libre-entreprise.org ).

    My curriculum-vitae is available on my blog: www.csquad.org/curriculum-vitae

Best Regards,
Filed under: Google Summer of Code — Tags: — cscm @ 09:43

One response to “Google Summer of Code 2006, application accepted !”

  1. xerxas says:

    A great use of the dbus binding for mozilla would be to set the proxies settings within mozilla from the desktop (let’s say when connecting to a vpn which has proxy, and deconnecting when you don’t need proxy anymore).

Powered by WordPress