Changes

Jump to: navigation, search

D-Bus and other Linux desktop integration improvements

2,088 bytes added, 22:05, 8 November 2011
m
Reverted edits by Saoagent (Talk) to last revision by Mattar1
There is currently a project called DBuzzilla which has done a good job implementing a module which allows Mozilla to communicate between applications or the system. The author has mentioned he had some personal issues, and has not touched the project since the summer of 2006. He said he will continue to maintain his project. There might be an interest working with this project. However, it seems the author is not willing to work in a manner that is consistent with open development. It is maintained by one person, with some or none users. It is not complete, but is a good start. If this project is to be continued and maintained by Seneca students, it is probably a good idea to start a new project that is updated to the latest version of D-Bus and is developed in an open development manner.
===This ProjectObjective and Features===
The goal of this project is to create a module that will expose the D-Bus technology to Mozilla technologies. This will work by coding a set of libraries and processes in XPCOM and D-Bus. The learning curve in this project is long (assuming you do not know XPCOM). You should also be or become familiar with Linux.
Documentation doesn't always exist for the technologies being used. When learning D-Bus, you may have to play with a function to understand its behaviour.
Read the mailing list discussion we started. A good description of problems we will encounteris in a few of them.
==Important Links==
== Project ==
 
The following is our code, and some tutorials on XPCOM and D-Bus.
=== Project Code ===
D-Bus is a RPC-like technology and when making your code run in threads or asynchorous you'll need to understand proxies (along with more patterns) very well.
 
== Experiences ==
 
=== Mohamed Attar ===
 
The first problem I had was trying to understand where D-Bus is suppose to fit into Mozilla.
 
It wasn't very clear to me who to talk to in Mozilla, so we looked elsewhere and got some great feedback from the Freedesktop.org community.
 
I got some information from the author of DBuzilla, but nothing I didn't know already from his blog.
 
Once the project objectives was in perspective, getting started was more motivating.
 
Man and I realized working together on D-Bus wasn't working out too well, so we split the work where I would stick with D-Bus and he would work on Mozilla technologies and try to meet somewhere in the middle.
 
We had more trouble getting Mozilla stuff to work. It needs a few long hours to get through the tutorials and get a running example, but we only had bits of time here and there so we got stuck there. Tom helped us figure a few things out, but it was pretty late in the project to capitalize.
 
Either way it was a worth while struggle. We learned more than we developed. If we get marked on deliverables rather than what we learned then I am fearful. lol
 
Maybe with the time off I can get back into it. I enjoyed this project probably more than most others, except for the feeling of failure and being overwhelmed all the time.
 
What would I recommend to the next group of students interested in this project. Work in small steps. Don't think of how the framework should be designed and what the best ways in coding something until you are comfortable in both or all technologies. Just enough experience to develop and debug your code. Divide the work based on technologies. Even if you want to learn it all, if each of you can make something work with each technology only then can you work with each other and use each others experience to make something useful. You'll have to learn the other side anyways, its just easier to struggle in one technology rather than both. Split the pain, then share it.
== Suggestions & Ideas ==
We have some C code running using D-Bus. Working on the phase 1 classes.
 
Code is still very immature.
We need to get XPCOM tutorials running, and try exposing some basic classes and functions.
Code is still very immature. After we have a running dbus object(s) with XPCOM, try using DBuzilla.
Man and Mohamed are still interested in continuing over the break.

Navigation menu