Title/Summary gnome-bluetooth and bluez-gnome improvements and unification
Student Tadas Dailyda
Student Email tadas.dailyda@gmail.com
Student Major composition
Student Degree undergrad
Student Graduation 2010
Organization GNOME
Assigned Mentor Marcel Holtmann
Score 6
Abstract
Synopsis
Overall project goal is to improve GNOME Bluetooth stack so that it has more functionality and all the features are easily accessible to user. Current gnome-bluetooth functionality would be made available from Bluetooth applet (BlueZ GNOME applet). Support for OBEX FTP server would be introduced and existing gnome-bluetooth code would be refactored. Gnome-vfs OBEX FTP module would be further improved.
Benefits
Currently there are at least three separate attempts at making Bluetooth experience in GNOME better: BlueZ GNOME apps, gnome-bluetooth and gnome-vfs-obexftp. This project would unify all of these (both code base and UI) as well as improve overall functionality.
Success criteria
* gnome-bluetooth code should be refactored to loose libbtctl dependency;
* A working OBEX FTP server should be implemented;
* All the Bluetooth functionality should be accessible from Bluetooth applet;
* All configuration options should be available in Bluetooth manager.
Detailed Description
Project description
A. gnome-bluetooth refactoring:
* libbtctl dependency would be removed from gnome-bluetooth replacing it with DBUS calls to hcid and direct use of openobex library;
* OBEX FTP server functionality would be introduced in gnome-obex-server;
* All UI from gnome-obex-server would be removed.
B. Bluetooth applet improvements (currently part of BlueZ):
* Context menu would have entries for sending files to other Bluetooth devices (gnome-obex-send) as well as browsing files on other Bluetooth devices (gnome-vfs-obexftp);
* Bluetooth applet would notify user when files are received from other Bluetooth devices (gnome-obex-server).
C. Bluetooth manager improvements (currently part of BlueZ):
* New File sharing preferences tab would be added which would include all settings for gnome-obex-send.
Optionally, some time could be invested in coding Bluetooth device wizard (some UI code is already done in bluez-gnome).
About me
I am a 19 year old student from Vilnius, Lithuania. I am currently studying at Lithuanian Academy of Music and Theatre and working as a programmer in local open-source related IT company. My main field of experience is high level programming for web and desktop. As open-source developer I have worked on my own project SB Timmy (http://www.stablebeast.com/) which is IMAP mail client for WAP/WML devices written in C# (designed specifically to work with mono stack). I have also contributed some patches to gnome-bluetooth and mono projects in particular.
I have been using GNOME as my only desktop environment starting from version 2.4. During that time I have used various GNOME related technologies for my own projects and have developed quiet good knowledge in them. I have already worked on several patches for gnome-bluetooth (#325016, #330894) therefore I am familiar with it's code base.
Link to Further Information:
Public Comment History
03/26/07 17:03
Bastien Nocera
Note that stripping gnome-obex-server's UI won't do it any good, as it still needs some sort of notification.
Furthermore, the obex send and receive services should be part of bluez-utils' services setup, instead of being completely independent. This might require working on the OpenObex glib bindings.
03/28/07 09:03
Christian Schaller
This look sinteresting, but I feel it would be natural to do the work with Conduit integration as the target:
http://www.conduit-project.org/
03/28/07 13:03
Tadas Dailyda (Student)
>> Note that stripping gnome-obex-server's UI won't do it any good, as it still needs some sort of notification.
In my opinion all gnome-obex-server notifications should be done with libnotify and should come from Bluetooth applet. I guess gnome-obex-send would send notification info through dbus to Bluetooth applet and the applet would actually show that notification. Or is there a better way to do this?
>> the obex send and receive services should be part of bluez-utils' services setup
I agree.
>> it would be natural to do the work with Conduit integration as the target
It could be the target but before that many fundamental things have to be fixed.
03/30/07 14:03
Marcel Holtmann
Having the OBEX server (including FTP and BIP) running without UI and integrate the settings and notifications via GConf and D-Bus session bus seems a good idea to me.
The OBEX server of the Maemo 3.0 platform could be used as an example.