/[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.10 by darktigrou, Tue Aug 30 22:48:21 2005 UTC revision 1.11 by darktigrou, Thu Sep 1 00:07:51 2005 UTC
# Line 1  Line 1 
1  It already accounted for one this year's major surprises, when Google  It already accounted for one this year's major surprises, when
2  announced that it will spend US$4500 for 400 developer students to  "Google":http://www.google.com announced that it would spend US$4500
3  work on open source projects.  for 400 developer students to work on open source projects.
4    
5  Google worked with around fourty OpenSource organizations (among them,  Google worked with around forty OpenSource organizations (among them,
6  The Perl Foundation, KDE, Samba, etc.) to set up a list of available  "The Perl Foundation":http://www.perlfoundation.org/ ,
7  projects. Some were focused on implementing a particular new feature  "KDE":http://www.kde.org/, "Samba":http://www.samba.org/ and others)
8  that would make the project shine even more, some were a lot more  to set up a list of available projects. Some were focused on
9  research-oriented.  implementing a particular new feature that would make the project
10    shine even more, some were more research-oriented.
11    
12  Then, Students submitted applications to Google. By the middle of  Then, students submitted applications to Google. By the middle of
13  June, mentors and projects were assigned to the ones that were judged  June, mentors and projects were assigned to the ones that were judged
14  to have the best potential.  to have the best potential.
15    
16  Summer of code is over, it's now time for us to unveil the GNOME  Summer of code is over, it's now time for us to unveil the GNOME
17  goodies that came out from it.  goodies that came out of it.
18    
19  Of course, GNOME fans and mentors had some ideas for students to work  Of course, GNOME fans and mentors had some ideas for students to work
20  on. The GNOME Foundation has mentored eleven students. They all worked  on. The "GNOME Foundation":http://foundation.gnome.org/ has mentored
21  on new features that, for the most part, have not been worked on  eleven students. They all worked on new features and most of them have
22  before. By now, most of them have a working implementation of their  a working implementation of their initial plan.  The projects' topics
23  initial plan.  The projects' topics range from music sharing  range from music "sharing integrated to the
24  integrated to the desktop to live edition and version control of  desktop":http://ishamael.tunkeymicket.com/software/daap.html to a "Firefox
25  developer documentation.  There's even a Firefox extension that will  extension":http://live.gnome.org/SearchParty that will help you to
26  help you to share tips for mastering Google searches.  share tips for mastering Google searches.
27    
28  In this article, you'll also learn about streaming and sharing some  In this article, you'll also learn about "streaming music to your GAIM
29  music with your GAIM buddies, hiding your personal data from others by  buddies":http://raphael.slinckx.net/gshrooms.php, "encrypting folders
30  encrypting folders in one click from nautilus o using your web cam and  in one click with nautilus":http://www.ids.org.au/~jam6/?m=200508 or
31  your head as an input device.  "using your web cam and your head as keyboard and
32    mice":http://live.gnome.org/CamTrack.
33    
34  h3. Music integration  h3. Music integration
35    
36  Two projects were dedicated to music integration into the GNOME desktop :  Two projects were dedicated to music integration into the GNOME
37  shared music spaces in Gaim and play lists sharing with RhythmBox.  desktop : "music rooms in
38    Gaim":http://raphael.slinckx.net/gshrooms.php and "playlist sharing
39    with Rhythmbox":http://ishamael.tunkeymicket.com/software/daap.html .
40    
41    The first one, called
42    "gShrooms":http://raphael.slinckx.net/gshrooms.php, was carried out by
43    Raphael Slinckx. His initial plan was to allow people to stream music
44    from and to their Gaim buddies in one click. But, "the project is a
45    bit different from the submitted application proposal, especially
46    concerning Rhythmbox integration which was not planned initially.",
47    says Raphael.  As for now, "The application has reached a point where
48    it works when the situation is perfect."
49    
50  The first one, called gShrooms, was carried on by Raphael Slinckx. His  FIXME add references to gshrooms_thumb_{1,2}.png
 initial plan was to allow people to stream music from and to their  
 GAIM buddies in one click. But, "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."  
   
 FIXME add screenshots that Raphael might send me later.  
51    
52  gShrooms is not finished yet.  Raphael "plans to move to a better  gShrooms is not finished yet.  Raphael "plans to move to a better
53  streaming protocol when Gstreamer will be ready, and [to] improve  streaming protocol when Gstreamer will be ready, and improve aspects
54  aspects such as firewall/nat bypassing.". For the moment, the feature  such as firewall/nat bypassing.". For the moment, the feature will
55  will only work "if you have a PC directly connected to Internet or a  only work "if you have a PC directly connected to Internet or a UPNP
56  UPNP capable router, and no firewall.". One of the biggest problems he  capable router, and no firewall.". One of the biggest problems he
57  faced was "lacking, or even missing documentation", but he has been  faced was "lacking, or even missing documentation", but he has been
58  "astonished by the GNOME community."  "astonished by the GNOME community."
59    
60  Charles Schmidt applied to the summer of code with the idea to go on  Charles Schmidt applied to the summer of code with the idea to
61  an existing project he started on October 2004. As he says, "It's not just RhythmBox being able to share playlists  continue an existing project he started on October 2004. As he says,
62  with iTunes, but also RB sharing its music to other RB clients on the  "It's not just "Rhythmbox":http://www.gnome.org/projects/rhythmbox/
63  network".    being able to share playlists with
64    "iTunes":http://www.apple.com/itunes/ , but also Rhythmbox sharing its
65  FIXME: add one representative screenshot of the app running.  music to other Rhythmbox clients on the network".
66    
67  At first, he "had suggested doing this using a DAAP module  FIXME: add reference to "daap_shot_thumb.png"
68  for GNOME VFS.  So that you could hand GnomeVFS a URI like  
69  "daap://Lyndsey's music" and it would return a directory full of  At first, he "had suggested doing this using a
70  music.". But quickly enough, he "was convinced by others that the DAAP  "DAAP":http://daap.sourceforge.net/ module for GNOME VFS.  So that you
71  code should live inside RhythmBox, not in a GnomeVFS module.". Indeed,  could hand GnomeVFS a URI like "daap://Lyndsey's music" and it would
72  he "imagined that one [benefit] would be able to browse DAAP hosts in  return a directory full of music.". But soon enough, he "was convinced
73  Nautilus.", but over time, he wondered why a user would want  by others that the DAAP code should live inside Rhythmbox, not in a
74  to. Moreover, "several Rhythmbox developers suggested that core  GnomeVFS module.". Indeed, he "imagined that one [benefit] would be
75  changes to Rhythmbox were not out of the question." and finally, he  able to browse DAAP hosts in Nautilus.", but over time, he wondered
76  points out that "GnomeVFS is a pain in the ass to program".  why a user would want to. Moreover, "several Rhythmbox developers
77    suggested that core changes to Rhythmbox were not out of the
78    question." and, finally, he points out that "the GNOME VFS API is not
79    easy to grasp".
80    
81  So far, this move "has definitely paid off", and he was able to "push  So far, this move "has definitely paid off", and he was able to "push
82  out a patch last night that other people were able to get  out a patch last night that other people were able to get
83  working". Charles doesn't want to stop here, he "definitely see  working". Charles doesn't want to stop here, he "definitely see
84  himself continuing to work with the RhythmBox community to improve  himself continuing to work with the Rhythmbox community to improve
85  DAAP" and he's "thinking to tackle equalizer support next".  Even if  DAAP" and he's "thinking to tackle equalizer support next".  Even if
86  he says that "Time management is a skill [he is] still lacking", great  he says that "Time management is a skill [he is] still lacking", great
87  things should be coming from him in the next weeks.  things should be coming from him in the next weeks.
# Line 81  things should be coming from him in the Line 89  things should be coming from him in the
89  h3. GNOME core projects  h3. GNOME core projects
90    
91  The core of the GNOME desktop has received a lot of attention  The core of the GNOME desktop has received a lot of attention
92  too. Three students pushed it to places where it hasn't been  too.
93  before.  
94  FIXME  Every GNOME user has applets on his desktop. Mentored by Havoc
95    Pennington, Travis Vachon worked on a easy way to setup and publish
96  Every GNOME user uses applets. Mentored by Havoc Pennington, Travis  panel applets : the so called panel bundles. "Eliminating the need to
97  Vachon worked on a easy way to setup and publish panel applets : the  build tools and package maintainers was one of the main goals behind
98  so called panel bundles. "Eliminating the need to build tools and  this project", says Travis.
99  package maintainers was one of the main goals behind this project",  
100  says Travis.  Even if he had "originally thought of the extensions as written in
101    either C or Python. The major problem [with C] is that this would make
102  Even if he had "originally thought of the extensions  it necessary to have build tools installed". Luckily,
103  as written in either C or Python. The major problem [with C] is that  ""Python":http://www.python.org/ is a whole lot more fun to write, and
104  this would make it necessary to have build tools installed". Luckily,  allows a developer to really focus on the neat stuff", says Travis.
 "Python is a whole lot more fun to write, and allows a developer to  
 really focus on the neat stuff", says Travis.    
105    
106  At first, he "thought [he] would be creating a system to bundle up  At first, he "thought [he] would be creating a system to bundle up
107  current panel applets for distribution.".  However "while many aspects  current panel applets for distribution.".  However "while many aspects
# Line 104  it is, indeed, a new system.". Neverthel Line 110  it is, indeed, a new system.". Neverthel
110  Python-coded applet to an extension is pretty simple, and will  Python-coded applet to an extension is pretty simple, and will
111  actually simplify the code".    actually simplify the code".  
112    
113  Bundles can already be used without any addition to the GNOME desktop  Bundles can already be used without any modification to the GNOME desktop
114  because they "are currently being implemented through a container  because they "are currently being implemented through a container
115  applet". However, proper integration into the panel is, according to  applet". However, proper integration into the panel is, according to
116  him, "a decent distance away".    him, "a decent distance away".  
117    
118  Travis has been "particularly impressed by PyGTK, and all of the  Travis has been "particularly impressed by
119  related GNOME Python bindings". On the opposite, he says that "it  "PyGTK":http://www.pygtk.org/, and all of the related GNOME Python
120  would be nice to see [the panel] improved". Indeed, "one original idea  bindings". On the opposite, he says that "it would be nice to see [the
121  for the project was to be able to click on a link to a bundle on the  panel] improved". Indeed, "one original idea for the project was to be
122  web site and have it appear somewhere on the panel immediately.".  able to click on a link to a bundle on the web site and have it appear
123  When he tried to accomplish this, "it turned out this wouldn't be  somewhere on the panel immediately.".  When he tried to accomplish
124  possible with the current implementation of the panel".    this, "it turned out this wouldn't be possible with the current
125    implementation of the panel".
126    
127  From now on, "there's a ton of work still to be done, from improving  From now on, "there's a ton of work still to be done, from improving
128  the panel_extension Python module to integrating things into the panel  the panel_extension Python module to integrating things into the panel
129  and translating things from Python to C to make them faster!".  In the  and translating things from Python to C to make them faster!".  In the
130  meantime, Travis offers a tutorial about bundles.  meantime, Travis "offers a tutorial about
131  http://www.gnome.org/~tvachon/ .  bundles":http://www.gnome.org/~tvachon/ .  .
132    
133  Lorenzo Colitti, mentored by Owen Taylor, worked on improving the  Lorenzo Colitti, mentored by Owen Taylor, worked on improving the
134  GNOME desktop's startup time. The project's focus has a bit shifted  GNOME desktop's startup time. The project's focus has a bit shifted
135  from the initial proposal, since Lorenzo's mentor was more interested  from the initial proposal, since Lorenzo's mentor was more interested
136  in "producing solid methodology and results than getting patches in".  in "producing solid methodology and results than getting patches in".
137    
138  Lorenzo thinks "Owen has been a great mentor". They were able able to  Lorenzo says that "Owen has been a great mentor". They were able to
139  meet : "he even put me up at his place, and we hacked together a couple  meet : "he even put me up at his place, and we hacked together a
140  of days !", says Lorenzo. He learned that "Performance monitoring is  couple of days !", says Lorenzo. He learned that "Performance
141  hard" and that "performance and flexibility can be conflicting goals".  monitoring is hard" and that "performance and flexibility can be
142    conflicting goals".
143  "most of the ideas put forward in [his] proposal and in [his] first  
144  couple of discussions with [his] mentor actually happened." However, the  Using measurement tools such as "bootchart":http://www.bootchart.org/
145    and custom kernel modules, Lorenzo has been able find bottlenecks and
146    modify the GNOME desktop so it starts almost 50% faster. However, he
147    says that "some of these changes are hacks and it will take time to
148    integrate them properly into the main code base".  However, the
149  project is not done yet "because it's so broad", and Lorenzo  project is not done yet "because it's so broad", and Lorenzo
150  "definitely hope to continue hacking on it in the future.".  "definitely hope to continue hacking on it in the future.".
151    
152    Mentored by Christian Kellner, Jon Manning hacked the GNOME VFS layer
153    to bring it "encrypted folder support out of the
154    box":http://www.ids.org.au/~jam6/?m=200508 . His original plan changed
155    significantly, since "loopback-mounting an encrypted filesystem"
156    supposed "mucking around a bit too much with permissions" and "there
157    wasn't any way to access the data over a network as easily as you
158    could locally". So they decided to encrypt the files individually with
159    "OpenSSL":http://www.openssl.org/. This "new archive format means that
160    we can get Nautilus to detect its type with more ease than we could if
161    it was a filesystem", says Jon.
162    
163    He "was pretty impressed with both how thorough the GObject system
164    [is] and how easy it was to get going". He also found that "the
165    interfaces nautils provides made developing [his] plugin nice and
166    simple".
167    
168    One can see that although the UI changes might be quite small, the
169    feature provided is exciting. "There's a bunch of things we want to
170    implement, including integrating with with GNOME-VFS, allowing
171    on-the-fly browsing and decryption, and making the archives appear as
172    regular folders.", says Jon. For sure, "there are good times ahead for
173    this project!"
174    
175  FIXME.  #FIXME insert references to encrypted_folder_thumb{1,2,3,4}.png
176    
177  h3. Sharing of Google searches  h3. Sharing of Google searches
178    
179  People often get stuck into unsuccessful Google searches. Sanford is  People often get stuck into unsuccessful Google searches. Sanford is
180  now able to offer a way to overcome this situation. His Search Party  now able to offer a way to overcome this situation. Not only his
181  Firefox extension allows you to share search tips with people from all  "Search Party Firefox extension":http://live.gnome.org/SearchParty
182  over the world. Type your search on the Google web site, click on the  allows you to share search tips with people from all over the world,
183  "Join Search Party" toolbar button, and you are connected to an  it also create communities around similar interests. Type your search
184  IRC-like server, being notified of other people's successful attempts  on the Google web site, click on the "Join Search Party" toolbar
185  at searching similar information.  button, and you are connected to a chat room, being notified of other
186    people's successful attempts at searching similar information.
187    
188  FIXME: add reference to search_party_thumb_0.png and search_party_thumb_1.png.  FIXME: add reference to search_party_thumb_0.png and search_party_thumb_1.png.
189    
190  The project takes the form of a Firefox extension on the client  Client side, the project takes the form of a Firefox extension. As for
191  side. On the server side, Sanford had "initially intended to write the  the server, Sanford had "initially intended to write the Search Party
192  Search Party Protocol directly over TCP, and have a Java server  Protocol directly over TCP, and have a Java server somewhere that took
193  somewhere that took care of matching up users with the proper chat  care of matching up users with the proper chat room, ". However, he
194  room, ". However, he changed his plans when Seth Nickell "pointed out  changed his plans when Seth Nickell "pointed out early on that this
195  early on that this might make the extension unusable for those behind  might make the extension unusable for those behind various
196  various firewalls". He then chose XML-RPC, which uses the firewall-compliant HTTP  firewalls". He then chose "XML-RPC":http://www.xmlrpc.com/, which uses
197  protocol as a transport medium.  the firewall-compliant HTTP protocol as a transport medium.
198    
199  One of the main difficulty was to "teach the extension to speak  One of the main difficulty was to "teach the extension to speak
200  XML-RPC", because "Firefox's included implementation is broken". As a  XML-RPC", because "Firefox's included implementation is broken". As a
# Line 171  similar." Line 205  similar."
205  He plans to "continue working on it for quite awhile" and thinks that  He plans to "continue working on it for quite awhile" and thinks that
206  "the server will go through a lot of performance tuning and other  "the server will go through a lot of performance tuning and other
207  re-factoring" apart from "the work he would like to do on the query  re-factoring" apart from "the work he would like to do on the query
208  matching algorithms.".  He can't wait "for people to download it from  matching algorithms.". He can't wait "for people to download it from
209  the wiki, try it out, and tell [him] what they think!".  the wiki, try it out, and tell [him] what they think!".
210    
211  Finally Adam McCullough and his mentor Johnathan Blanford worked  Finally Adam McCullough and his mentor Johnathan Blanford worked
212  together to make GNOME more accessible. Their work was aimed at  together to make GNOME more accessible.
213  allowing any GNOME user to use a web cam and her facial motions as an  
214  input device.  "The system":http://live.gnome.org/CamTrack, named "CamTrack", has
215    been divided in two components : the tracker and the input method. The
216  The system has been divided in two components : the tracker and the  tracker tries to recognize and match facial motions with events
217  input method. The tracker tries to recognize and match facial motions  (maximizing a window for example). The input device is in charge of
218  with events (maximizing a window for example). The input  forwarding the events to the X Window system and GNOME.
 device is in charge of forwarding the events to the X Window system  
 and GNOME.  
219    
220  Though his "original proposal was mainly concerned with the details  Though his "original proposal was mainly concerned with the details
221  and capabilities of the tracker itself", Adam needed to create a  and capabilities of the tracker itself", Adam needed to create a
# Line 193  and a broadening in scope." Line 225  and a broadening in scope."
225  In his opinion, "the attention paid to accessibility in GNOME is more  In his opinion, "the attention paid to accessibility in GNOME is more
226  noticeable than in any other environment". He goes on saying that  noticeable than in any other environment". He goes on saying that
227  "It's been surprisingly simple to add a completely new interface to  "It's been surprisingly simple to add a completely new interface to
228  the GUI". Overall, he has been very impressed by GOK.  the GUI". Overall, he has been very impressed by
229    "GOK":http://www.gok.ca/.
230    
231  Adam likes to think that he's "contributing to technology and widening  Adam likes to think that he's "contributing to widening access" and
232  access" and "intend to keep developing it for some time". Adam points  "intend to keep developing [CamTrack] for some time". He points out
233  out that "the system is usable", but he would like to make "a long  that "the system is usable", but would like to make "a long list of
234  list of improvements, as well as a lot of tidying up needed and  improvements, as well as a lot of tidying up needed and probably some
235  probably some bug squashing".  bug squashing".
   
 FIXME.  
236    
237  Unfortunately, some students haven't had the time to respond our  Unfortunately, some students haven't had the time to respond our
238  questions yet. However, it doesn't make their work less valuable in  questions early enough for us to write about their project. Danilo
239  any way.  Segan tried to find a way to "provide live editing to the GNOME
240    documentation":http://live.gnome.org/LiveDocumentationEditing and
241  Mentored by Christian Kellner, John Manning hacked the GNOME  David Morrison worked on "implementing GMail-style conversation view
242  VFS layer to bring it encrypted folder support out of the box.  for evolution":http://blogs.gnome.org/dmorr.
 He has posted the mockups below to his weblog on  
 July the 13th.  
   
 FIXME : add references to "mockup_encrypted_folder_thumb_0.png" and  
 "mockup_encrypted_folder2.png".  
   
 One can see that although the UI changes might be quite  
 small, the feature provided is exciting. It also leaves many  
 unanswered questions regarding its integration into the GNOME  
 desktop. Among them we might be able to know, in the near future, how  
 it will use the GNOME keyring and if it will be able to decrypt  
 folders on the fly.  
   
 We didn't find any more information to tell you about  
 this project.  
   
 Something that GNOME developers and users should appreciate, Danilo  
 Segan tried to find a way to provide live editing to the GNOME  
 documentation. For instance, it would be possible to read the  
 evolution manual, find some content that is not up to date, and modify  
 it on the fly. It wouldn't be necessary to go  
 through the tedious process of editing the documentation source code  
 stored on the GNOME CVS server.  
   
 By reading the wiki page dedicated to his project (see  
 http://live.gnome.org/LiveDocumentationEditing), we know that Danilo has chosen to  
 use the Python programming language. He has also already set up a list  
 of the steps necessary to accomplish his work.  
   
 This list mentions some exciting features, such as "support  
 authentication and user privilege management", "establishing direct  
 relations with documents managed in CVS, SVN, arch and other source  
 version control systems" or "integrating Conglomerate with it".  
   
 Unfortunately, one can't say what has been done so far and can only  
 hope for the best.  
243    
244  h3. Conclusion  h3. Conclusion
245    
# Line 258  For students, working with the GNOME com Line 253  For students, working with the GNOME com
253  pleasent experience: "Everyone has been very helpful, friendly, and  pleasent experience: "Everyone has been very helpful, friendly, and
254  enthusiastic", says Travis. As Raphael puts it: "GNOME rocks!"  enthusiastic", says Travis. As Raphael puts it: "GNOME rocks!"
255    
256    Resources :
257    
258    Google Summer of Code : http://code.google.com/summerofcode.html
259    GNOME summer of code : http://live.gnome.org/SummerOfCode
260    gShrooms : http://raphael.slinckx.net/gshrooms.php
261    Search Party : http://live.gnome.org/SearchParty
262    Live Documentation Editing : http://live.gnome.org/LiveDocumentationEditing
263    CamTrack : http://live.gnome.org/CamTrack
264    Conglomerate : http://www.conglomerate.org/
265    bootchart : http://www.bootchart.org/
266    Rhythmbox playlist sharing : http://ishamael.tunkeymicket.com/software/daap.html
267    GMail style view for Evolution : http://blogs.gnome.org/dmorr

Legend:
Removed from v.1.10  
changed lines
  Added in v.1.11

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