/[dms]/gnomejournal/SoC/SoCInterviews.txt
ViewVC logotype

Diff of /gnomejournal/SoC/SoCInterviews.txt

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.8 by darktigrou, Sun Aug 28 20:57:14 2005 UTC revision 1.9 by darktigrou, Mon Aug 29 23:12:32 2005 UTC
# Line 1  Line 1 
1  Google Summer of Code is over. It's time for us to unveil all the GNOME goodies that came out from it. In this article, you'll learn about streaming and sharing some music with your GAIM buddies, hiding your personal data from others  by encrypting folders in one click from nautilus, using your web cam and your head as an input device and much more !  It already accounted for one this year's major surprises, when Google
2    announced that it will spend US$4500 for 400 developer students to
3    work on open source projects.
4    
5    Google worked with around fourty OpenSource organizations (among them,
6    The Perl Foundation, KDE, Samba, etc.) to set up a list of available
7    projects. Some were focused on implementing a particular new feature
8    that would make the project shine even more, some were a lot more
9    research-oriented.
10    
11    Then, Students submitted applications to Google. By the middle of
12    June, mentors and projects were assigned to the ones that were judjed
13    to have the best potential.
14    
15    Summer of code is over, it's now time for us to unveil the GNOME
16    goodies that came out from it.
17    
18    Of course, GNOME fans and mentors had some ideas for students to work
19    on. The GNOME Foundation has mentored eleven students. They all worked
20    on new features that, for the most part, have not been worked on
21    before. By now, most of them have a working implementation of their
22    initial plan.  The projects' topics range from music sharing
23    integrated to the desktop to live edition and version control of
24    developer documentation.  There's even a Firefox extension that will
25    help you to share tips for mastering google searches.
26    
27    In this article, you'll also learn about streaming and sharing some
28    music with your GAIM buddies, hiding your personal data from others by
29    encrypting folders in one click from nautilus, using your web cam and
30    your head as an input device and much more !
31    
32    h3. Music integration
33    
34    Ttwo projects gh the Google application process :
35    shared music spaces in Gaim and play lists sharing with RhythmBox.
36    
37    The first one, called gShrooms, was carried on by Raphael Slinckx. His
38    initial plan was to allow people to stream music from and to their
39    GAIM buddies in one click. But, "the project is a bit different from
40    the submitted application proposal, especially concerning RhythmBox
41    integration which was not planned initially.", says Raphael.  
42    As for now, "The application has reached a point where it works when
43    the situation is perfect."
44    
45  During this summer,  Google sponsored four hundred students to work on OpenSource projects like GNOME, Apache, PERL, and KDE. Students submitted applications to Google by the middle of June. Then mentors from the most active Open Source-friendly organizations (Red Hat, The Perl Foundation, etc.) selected and mentored the ones that had the best potential. Of course, GNOME fans and mentors had a lot of ideas for students to work on.  FIXME
   
 The GNOME Foundation has mentored eleven students. They all worked on new features that, for the most part, have not been worked on before. By now, most of them have a working implementation of what was planned at the beginning of the summer. The projects' topics range from music sharing integrated to the desktop to live edition and version control of developer documentation. There's even a Firefox extension that will help you to share tips for mastering google searches.  
   
 Be sure to read on to know all about the new GNOME bits offered by this summer of code.  
   
 As for music integration to the GNOME desktop, two projects made their way through the Google application process : shared music spaces in Gaim and play lists sharing with RhythmBox.  
   
 The first one, called gShrooms, was carried on by Raphael Slinckx. The initial plan was to allow people to stream music from and to their GAIM buddies in one click. As if it would not be enough to make it a must-have, "the project is a bit different from the submitted application proposal, especially concerning RhythmBox integration which was not planned initially.", says Raphael. As for now, "The application has reached a point where it works when the situation is perfect" You can see the result from Raphael's work with the following screenshots :  
 FIXME : screenshots  
 The project is not finished yet. Raphael "plans to move to a better streaming protocol when Gstreamer will be ready, and  [to] improve aspects such as firewall/nat bypassing.". Indeed, the feature will only work "if you have a PC directly connected to  
 Internet or a UPNP capable router, and no firewall.". He has been "astonished by the GNOME community", but found that "lacking, or even missing documentation", was one of the biggest problems he faced. Connect, push up the volume and share the music, it's as simple as it gets !  
   
 Charles Schmidt has been responsible for giving the love needed to the birth of the second music related project. As he says, "It's not just RhythmBox being able to share playlists with iTunes, but also RB sharing its music to other RB clients on the network". At first,  he "had suggested doing this using a DAAP module for GNOME VFS.  So that you could hand GnomeVFS a URI like "daap://Lyndsey's music" and it would return a directory full of music.". But quickly enough, he "was convinced by others that the DAAP code should live inside RhythmBox, not in a GnomeVFS module.".  
 So far, it "has definitely paid off", and he was able to "push out a patch last night that other people were able to get working". Charles doesn't want to stop here, he "definitely see himself continuing to work with the RhythmBox community to improve DAAP" and he's "thinking to tackle equalizer support next". Even if he says that "Time management is a skill [he is] still lacking", great things should be coming from him in the next weeks. Stay tuned !  
46    
47  The core of the GNOME desktop has received a lot of attention too. Our students pushed it to places where it hasn't been before. Mentored by Christian Kellner, John Manning hacked the GNOME VFS layer to bring you encrypted folder support out of the box.  gShrooms is not finished yet.  Raphael "plans to move to a better
48    streaming protocol when Gstreamer will be ready, and [to] improve
49    aspects such as firewall/nat bypassing.". For the moment, the feature
50    will only work "if you have a PC directly connected to Internet or a
51    UPNP capable router, and no firewall.". One of the biggest problems he
52    faced was "lacking, or even missing documentation", but he has been
53    "astonished by the GNOME community."
54    
55    Charles Schmidt applied to the summer of code with the idea to go on
56    an existing project he start on October 2004.
57    
58    As he says, "It's not just RhythmBox being able to share playlists
59    with iTunes, but also RB sharing its music to other RB clients on the
60    network".  At first, he "had suggested doing this using a DAAP module
61    for GNOME VFS.  So that you could hand GnomeVFS a URI like
62    "daap://Lyndsey's music" and it would return a directory full of
63    music.". But quickly enough, he "was convinced by others that the DAAP
64    code should live inside RhythmBox, not in a GnomeVFS module.". Indeed,
65    he "imagined that one [benefit] would be able to browse DAAP hosts in
66    Nautilus.", but over time, he wondered why a user would want
67    to. Moreover, "several Rhythmbox developers suggested that core
68    changes to Rhythmbox were not out of the question." and finally, he
69    points out that "GnomeVFS is a pain in the ass to program".
70    
71    FIXME : add why it is so (waiting for an answer to this from Charles).
72    
73    So far, this move "has definitely paid off", and he was able to "push
74    out a patch last night that other people were able to get
75    working". Charles doesn't want to stop here, he "definitely see
76    himself continuing to work with the RhythmBox community to improve
77    DAAP" and he's "thinking to tackle equalizer support next".  Even if
78    he says that "Time management is a skill [he is] still lacking", great
79    things should be coming from him in the next weeks.
80    
81    h3. GNOME core projects
82    
83    The core of the GNOME desktop has received a lot of attention
84    too. Three students pushed it to places where it hasn't been
85    before. Mentored by Christian Kellner, John Manning hacked the GNOME
86    VFS layer to bring you encrypted folder support out of the box.
87    
88  FIXME  FIXME
89    
90  Every GNOME user uses applets. Travis Vachon and Havoc Pennington (well known for trying to put some simplicity into the GNOME desktop) worked on a easy way to setup and publish panel applets : the panel bundles. "Eliminating the need to build tools and package maintainers was one of the main goals behind this project", says Travis.  So, even if he had "originally thought of the extensions as written in either C or Python. The major problem [with C] is that this would make it necessary to have build tools installed". Luckily, "Python is a whole lot more fun to write, and allows a developer to really focus on the neat stuff", says Travis.  Every GNOME user uses applets. Mentored by Havoc Pennington, Travis
91  At first, he "thought [he] would be creating a system to bundle up current panel applets for distribution.". However  Vachon worked on a easy way to setup and publish panel applets : the
92  "while many aspects of developing panel applets have carried over to the extension system, it is, indeed, a new system.". Nevertheless, "converting a current Python-coded applet to an extension is pretty simple, and will actually simplify the code".  so called panel bundles. "Eliminating the need to build tools and
93  Bundles can already be used without any addition to the GNOME desktop because they "are currently being implemented through a container applet". However, proper integration into the panel is, according to him, "a decent distance away".  package maintainers was one of the main goals behind this project",
94  Travis has been "particularly impressed by PyGTK, and all of the related GNOME Python bindings". On the opposite, he says that "it would be nice to see [the panel] improved". Indeed, "one original idea for the project was to be able to click on a link to a bundle on the web site and have it appear somewhere on the panel immediately.". When he tried to accomplish this, "it turned out this wouldn't be possible with the current implementation of the panel".  says Travis. So, even if he had "originally thought of the extensions
95  From now on, "there's a ton of work still to be done, from improving the panel_extension Python module to integrating things into the panel and translating things from Python to C to make them faster!".  as written in either C or Python. The major problem [with C] is that
96  In the meantime, if you want to know more about bundles, you can check out the tutorial Travis has wrote here : http://www.gnome.org/~tvachon/ .  this would make it necessary to have build tools installed". Luckily,
97    "Python is a whole lot more fun to write, and allows a developer to
98    really focus on the neat stuff", says Travis.  
99    
100    At first, he "thought [he] would be creating a system to bundle up
101    current panel applets for distribution.".  However "while many aspects
102    of developing panel applets have carried over to the extension system,
103    it is, indeed, a new system.". Nevertheless, "converting a current
104    Python-coded applet to an extension is pretty simple, and will
105    actually simplify the code".  
106    
107    Bundles can already be used without any addition to the GNOME desktop
108    because they "are currently being implemented through a container
109    applet". However, proper integration into the panel is, according to
110    him, "a decent distance away".  
111    
112    Travis has been "particularly impressed by PyGTK, and all of the
113    related GNOME Python bindings". On the opposite, he says that "it
114    would be nice to see [the panel] improved". Indeed, "one original idea
115    for the project was to be able to click on a link to a bundle on the
116    web site and have it appear somewhere on the panel immediately.".
117    When he tried to accomplish this, "it turned out this wouldn't be
118    possible with the current implementation of the panel".  
119    
120    From now on, "there's a ton of work still to be done, from improving
121    the panel_extension Python module to integrating things into the panel
122    and translating things from Python to C to make them faster!".  In the
123    meantime, Travis offers a tutorial about bundles.
124    http://www.gnome.org/~tvachon/ .
125    
126  FIXME.  FIXME.
127    
128  And now for something completely different, the usual suspects strike again with the sharing of Google searches thanks to a Firefox plug-in.  h3. Sharing of Google searches
   
 People often get stuck into unsuccessful Google searches. Sanford is now able to offer a way to overcome this situation. His Search Party Firefox extension allows you to share search tips with people from all over the world. Type your search on the Google web site, click on the "Join Search Party" toolbar button, and you are connected to an IRC-like server, being notified of other people's successful attempts at searching similar information.  
 The project takes the form of a Firefox extension on the client side. On the server side, Sanford had "initially intended to write the Search Party Protocol directly over TCP, and have a Java server somewhere that took care of matching up users with the proper chat room, ". However, he changed his plans when Seth Nickell "pointed out early on that this might make the extension unusable for those behind various firewalls", and chose XML-RPC.  
 One of the main difficulty was to "teach the extension to speak XML-RPC", because "Firefox's included implementation is broken". As a consequence, he hasn't had "that much time to focus on the trickiest part of the project: deciding what exactly makes two search queries similar."  
 He plans to "continue working on it for quite awhile" and thinks that "the server will go through a lot of performance tuning and other re-factoring" apart from "the work he would like to do on the query matching algorithms.".  He can't wait "for people to download it from the wiki, try it out, and tell [him] what they think!". So be sure to check it out, and give him your feedback !  
129    
130  Finally, Adam McCullough and his mentor Johnathan Blanford, worked together to make GNOME more accessible. Their work is aimed at allowing any GNOME user to use a web cam and her facial motions as an input device.  People often get stuck into unsuccessful Google searches. Sanford is
131    now able to offer a way to overcome this situation. His Search Party
132    Firefox extension allows you to share search tips with people from all
133    over the world. Type your search on the Google web site, click on the
134    "Join Search Party" toolbar button, and you are connected to an
135    IRC-like server, being notified of other people's successful attempts
136    at searching similar information.
137    
138    The project takes the form of a Firefox extension on the client
139    side. On the server side, Sanford had "initially intended to write the
140    Search Party Protocol directly over TCP, and have a Java server
141    somewhere that took care of matching up users with the proper chat
142    room, ". However, he changed his plans when Seth Nickell "pointed out
143    early on that this might make the extension unusable for those behind
144    various firewalls". He then chose XML-RPC, which uses the HTTP
145    protocol as a transport medium, which makes it firewall-compliant.
146    
147    One of the main difficulty was to "teach the extension to speak
148    XML-RPC", because "Firefox's included implementation is broken". As a
149    consequence, he hasn't had "that much time to focus on the trickiest
150    part of the project: deciding what exactly makes two search queries
151    similar."
152    
153    He plans to "continue working on it for quite awhile" and thinks that
154    "the server will go through a lot of performance tuning and other
155    re-factoring" apart from "the work he would like to do on the query
156    matching algorithms.".  He can't wait "for people to download it from
157    the wiki, try it out, and tell [him] what they think!".
158    
159    Finally,  Adam McCullough  and his  mentor Johnathan  Blanford, worked
160    together  to  make GNOME  more  accessible.  Their  work is  aimed  at
161    allowing any GNOME user to use a  web cam and her facial motions as an
162    input device.
163    
164  FIXME.  FIXME.
165    
166  Overall, it seems that both students and mentors had a very good time hacking during this Google Summer of Code. As Raphael says, "every hacker would enjoy a summer of code !". The GNOME project has successfully managed to gather brilliant students and mentors together to bring new features to the GNOME desktop. Once again, the GNOME project has proven highly reactive and, together with Google and the OpenSource community as a whole, made education, fun, and innovation into a perfect match. Congratulations to everybody that has been involved. "Everyone has been very helpful, friendly, and enthusiastic", says Travis. Congratulations to everyone that has helped in a way or the other during this summer.  Unfortunately, some students haven't had the time to respond our
167    questions yet. However, it doesn't make their work less valuable in
168  It's now up to you to make good use from this effort.  any way.
169    
170  Let Raphael have the final word : "Source code is your friend" and "GNOME rocks !".  John Manning has worked on getting the folder encryption feature
171    closer to the user. He has posted the mockups below to his weblog on
172    July the 13th. We didn't find any more information to tell you about
173    this project.
174    
175    However, one can see that although the UI changes might be quite
176    small, the feature provided is exciting. It also leaves many
177    unanswered questions regarding its integration into the GNOME
178    desktop. Among them, we might be able to know, in the near future, how
179    it will use the GNOME keyring and if it will be able to decrypt
180    folders on the fly.
181    
182    FIXME : add references to "mockup_encrypted_folder1.png" and
183    "mockup_encrypted_folder2.png".
184    
185    Something that GNOME developers and users should appreciate, Danilo
186    Segan tried to find a way to provide live editing to the GNOME
187    documentation. For instance, it would be possible to read the
188    evolution manual, find some content that is not up to date, and modify
189    it in the same graphical interface. It wouldn't be necessary to go
190    through the tedious process of editing the documentation source code
191    stored on the GNOME CVS server.
192    
193    By reading the wiki page dedicated to his project (see
194    http://live.gnome.org/LiveDocumentationEditing), Danilo has chosen to
195    use the Python programming language. He has also already set up a list
196    of the steps to fo through to accomplish his work.
197    
198    This list mentions some exciting features, such as "support
199    authentication and user privilege management", "establishing direct
200    relations with documents managed in CVS, SVN, arch and other source
201    version control systems" or "integrating Conglomerate with it".
202    
203    Unfortunately, one can't say what has been done so far and can only
204    hope for the best.
205    
206    
207    h3. Conclusion
208    
209    Overall, it seems that both students  and mentors had a very good time
210    hacking during  this Google  Summer of Code.  As Raphael  says, "every
211    hacker  would  enjoy  a summer  of  code  !".  The GNOME  project  has
212    successfully managed to gather brilliant students and mentors together
213    to  bring new features  to the  GNOME desktop.  
214    
215    For students, working with the GNOME community revealed to be a
216    pleasent experience: "Everyone has been very helpful, friendly, and
217    enthusiastic", says Travis. As Raphael put it: "GNOME rocks!"
218    
   

Legend:
Removed from v.1.8  
changed lines
  Added in v.1.9

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26