/[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.3 by darktigrou, Sat Aug 27 20:36:01 2005 UTC revision 1.4 by darktigrou, Sun Aug 28 13:22:50 2005 UTC
# Line 1  Line 1 
1  Summer is over. For many of us it means shorter days, shedding tears saying goodbye to our summer love and getting ahead lot of troubles^W fun at work. Obviously, you need some lovin to get over it. GNOME Journal is right on time again. We have a present for you. Hurry up and read on to open a pack full of GNOME goodies, jewels and magic !  Google summer of code is over. It's time for us to let you discover all the GNOME goodies, jewels and magic that came out of it. In this article, you'll learn about streaming and sharing some music with your GAIM buddys, hidding your personal data from others  by encrypting folders in one click from nautilus, using your webcam and your head as a mouse pointer and much, much more !
2    
3  Unless you've been hiding in a deep cave during the last two months, you've heard about the Google Summer of Code. This article is a collection of interviews of all the students that have been hacking on GNOME bounties during the Google SoC. Not only will you discover eleven great concrete and working projects, packed full of genius, nice tricks and eye candy. You will see how these students, together with their mentors, the GNOME project as a whole and Google got it right once again and pushed the GNOME desktop where it hasn't been before !  Google sponsored four hundred students to work on OpenSource projects like GNOME, Apache, PERL, and KDE during this summer. Students submitted applications to Google by the middle of June. Mentors from the most active OpenSource organizations (RedHat, The Perl Foundation, etc.) selected the ones that had the best potential, and mentored the selected students for two months. Of course, GNOME fans and mentors had a lot of neat ideas for students to work on.
4    
5  First, be sure to gather as much friends as you can around your screen, and that no one miss the fun. Is everyone ready ? Ok, let's start the show !  The GNOME Foundation has mentored eleven students. They all worked on very exciting new features, and by now have a working implementation of what was planned at the beginning of the summer. The projects domains range from music sharing integrated to the desktop to live edition and versionning of developer documentation, going through an amazing firefox extension that will help you to share google searches.
6    
7  The first present is a cute little locked box. We all know that size doesn't matter (does it ?). Let's get some help from his creator to unlock the magic.  Be sure to read on to find all the gems offered by this summer of code, and let's start with a step into the GNOME future : using a webcam and your head as an input device.
8    
9  Encrypted folders and partitions have existed for quite a while now. How about packing this into the usual GNOME eye candy and usability excellence so that it's just one click away from anywhere on the desktop ? Let's discuss with our encrypted-folder wizard about that.  This accessibility gem has been worked on by Adam McCullough. FIXME.
10    
11  FIXME : Questions/Answers to/from John Manning.  On the music integration side, two outstanding projects made their way through the google application process : shared music spaces in gaim and playlists sharing with RythmBox.
12    
13  Wait, do you ear that sound ? Yes, we all noticed the nice melody playing out from that box over there. Let's move on to see what's inside !  The first one was carried on by the very enthusiastic Raphael Slinckx that think that "every hacker would enjoy a summer of code !". The initial plan was to allow people to stream music from and to their GAIM buddys 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.". As for now, "The application has reached a point where it works when the situation is perfect", and you can see the magic happening with these nice screenshots :
14    
15    FIXME : screenshots
16    
17  FIXME : Questions/Answers to/from Raphael Slinckx  The project is not finished, and Raphael "plans to move to a better streaming protocol when gstreamer will be ready, and improving aspects such as firewall/nat byassing.". Indeed, the feature will only work "if you have a PC directly connected to
18    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 has faced.". Connect, push up the volume and share the music, it's as simple as it gets !
 Clever are the foxes, so clever must be the ideas packed in this firefox-looking package. Let's prepare for the best while we hear the paper scritch and scratch by opening this one !  
   
 John Manning is the lucky guy that got working on this great Firefox extension. SearchParty allows you to find some help from people all over the world when you can't find the right keywords in order to perform a google search. It's as simple as typing your query in the google search field to find that you need some help, click a button to automatically join the right chat room, and automatically get the keywords used by successfull queries on the same topic.  
   
 GJ: Does the project still match the initial plan ? If not, how far is it from the initial plan and why ?  
   
 JM: Yes and no.  One technical detail changed, and made quite a ripple throughout the rest of the project.  I 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, etc.  My mentor, Seth Nickell, pointed out early on that this might make the extension unusable for those behind various firewalls, so he suggested XML-RPC.  This changed several things.  First of all, I had to learn XML-RPC (it's not hard at all).  Second, I had to write a very different sort of server.  It is esentially a PHP page that responds to XML-RPC requests and stores all its data in a MySQL database.  Third, I had to teach the extension to speak XML-RPC, and Firefox's included implementation is broken, so I had to find a third party Javascript library (http:// solait.net/).  So I ended up spending a lot more time on the extension than I had initially intended.  As a result, I think the extension is pretty cool, but I haven't had that much time to focus on the trickiest part of the project: deciding what  exactly makes two search queries similar.  I have a decent algorithm, but it will be receiving a lot of love very soon.  
   
   
 GJ: Did you enjoy your summer ?  
   
 JM: Yes, very much.  I graduated at the beginning and moved to California, and now after much searching have a new software development job.  It means I had to work pretty hard to fit in as much time for Search Party as I wanted.  But I am very happy with the results of my efforts so far.  
   
 GJ: Do you have somme funny anecdotes to tell our readers ?  
   
 JM: Nothing in particular.  My wife thinks the funniest thing is how she would come in to see how I was doing, and I'd explain some horrible untraceable bug that was driving me nuts (stupid interpreted languages!).  A few hours later (or the next day, after some rest), she'd hear me go "OOoooooooooooooohhhhhh!!!", which meant that I'd figured out the simple source of the problem.  By the end of the summer, she'd go "Oooooooooooooooohhh!!!" right along with me.  She loves to make fun of me!  
   
 GJ: Can you tell us about your mentor ?  
   
 JM: Seth helped me out at some very key points in development.  First of all, it was his idea.  ;-)  Second, he pointed me at XML-RPC as I mentioned earlier.  As the extension took form, I was unhappy with the user interface (there was a separate toolbar that gained a button for every search you made).  Seth suggested a cleaner solution based on his original mockups.  Now he gives me general UI tips whenever we meet up in IRC.  I hope Seth continues his involvement with Search Party development, since he is a very insightful designer.  Besides, if Seth is using Search Party, all the other kids will want to be cool and use it, too!  
   
 GJ: If you had to choose the three most important things you learned by working on this project, what would they be, and why ?  
   
   
 JM : 1. Get your code in CVS as early as possible.  The shame of it all will drive development and increase productivity quite a bit.  
 2. KISS (keep it simple stupid).  Don't over-engineer, but don't desgin yourself into a corner, either.  Reuse code (your own and others') where you can. 3. Keep lists.  I eventually moved mine over to http://live.gnome.org/SearchParty , but before I had my stuff in CVS, Tomboy was my constant companion!  
   
 GJ:  By hacking on this project, what are the things (technical or not) you found truly amazing with GNOME ? What do you think need substantial work to be as amazing as the rest of the desktop ?  
   
 JM: The most amazing thing was learning about everyone else's projects! Behdad's preload stuff for Fedora has so much potential.  Raphael's gshrooms project is of course super cool and will soon take over the world.  Adam's CamTrack is so nifty I can't wait to see how people make use of it.  GNOME is already great, and these people just ensure that it will keep blowing us all away.  
   
 GJ: Last but not least, is the project done ? If not, will you keep hacking on this project in the future  ?  
   
 JM: No, it is not done.  I intend to continue working on it for quite awhile.  If this project is successful, I suspect the server will go through a lot of performance tuning and other refactoring.  Not to mention all the work I would like to do on the query matching algorithms.  However, the extension is really becoming quite useable, and I would love for people to download it from the wiki, try it out, and tell me what they think!  I hope to make a release to the general Gnome/Mozilla communities in the near future.  
   
 You probably all know about RhythmBox, the iTunes looking GNOME music player. So let's get some rhythm out of the box, and bring the power of sharing to it ! Let's hear what Charles have to say about his great work on iTunes to RB and RB to RB  music sharing.  
   
 GJ: Does the project still match the initial plan ? If not, how far is it from the initial plan and why ?  
   
 CS: Depends how specific you get with "initial plan."  My goal is reached, iTunes Music Sharing (Digital Audio Access Protocol or DAAP) for Rhythmbox.  So in that regard, the project still matches up with my plan/proposal to Google.  
   
 In my proposal I had suggested doing this using a DAAP module for GnomeVFS.  So that you could hand GnomeVFS a uri like daap://Lyndsey's Music and it would return a directory full of music.  I had done some initial work towards this last October, and planned to merely continue this and get it working with Rhythmbox.  
   
 Very quickly though, I realized & was convinced by others that this really wasn't the way to do it.  That the DAAP code should live inside Rhythmbox, not in a GnomeVFS module.  So I rewrote my module work from last year and went from there.  Rewriting it like that was initially a pain in the ass, but has definitely paid off.  I'm quite glad I didn't go the GnomeVFS route now.  
   
 GJ: Did you enjoy your summer ?  
   
 CS: In general my summer has been busy.  I just returned from studying abroad in Australia for 5 months.  I had to live with my parents for 6 weeks.  I had to move back into my apartment.  I'm looking for full time employment.  And in September I'm taking my last college class.  So, in general, good, but way too busy.   With regards to SoC, its been enjoyable.  Hectic trying to schedule my time around all the other things I have to do, and needing to finish up my project by the end of August.  
   
 GJ: Do you have somme funny anecdotes to tell our readers ?  
   
 CS: Not really.  
   
 GJ: Can you tell us about your mentor ?  
   
 CS: My mentor is Colin Walters (walters on irc).  The relationship has been great.  Early on, there wasn't a lot of interaction, simply because most of my work was related directly to DAAP and not to Rhythmbox+DAAP.  In the past few weeks he's been an invaluable resource for questions like "walters: how should I make it so that the _get_playlist () function doesn't return DAAP playlists?" and the like - that is, RB specific questions.  Most of our interaction has been over irc or comments on my patches via email.  I definitely see myself continuing to work with the Rhythmbox community (fixing/improving DAAP for one, and I'm thinking I'll tackle equalizer support next) - so I'm sure the relationship will continue in something like is present form of question/response :)  
   
 GJ: If you had to choose the three most important things you learned by working on this project, what would they be, and why ?  
   
 CS: 1. When working with network code, never ever ever assume /anything/ about the response you get from servers/clients.  Always always always check them in every way you can.  
 2. Time management is a skill I am still lacking.  
 3. Don't underestimate how much people actually want a feature.  Just because you don't get any initial enthusiasm or response, keep plugging away.  If its something /you/ want for the software, its something someone else wants too - probably something a lot of other people want.  
   
 GJ: By hacking on this project, what are the things (technical or not) you  found truly amazing with GNOME ? What do youthink need substantial  work to be as amazing as the rest of the desktop ?  
   
 CS: Dunno.  
   
 GJ: Last but not least, is the project done ? If not, will you keep hacking on this project in the future  ?  
   
 CS: The project is done.  There are several additional features that I didn't specify in my proposal to Google that I'd like to investigate & implement, so I'll continue hacking on those.  And, like I said, I'mgoing to stick around in the RB community - I'd love to add equalizer support next.  
   
19    

Legend:
Removed from v.1.3  
changed lines
  Added in v.1.4

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