<div class="gmail_quote">Hello,<br><br>I am Kalpana Roy and I have submitted my project proposal under both Gnome and the Linux Foundations. The details are as follows. Kindly review my GSoC application and give comments so that I can improve it.<br>
<br>Thanking you,<br>~kr0y.<br><br>---------------------------------------------------------------------------------------------------------------------------<br><br><table><tbody><tr title=""><td>Title:
</td>
<td>
        Integrate Geoclue with Gnome-desktop and to help with regulatory compliance
        
</td>
</tr>
<tr title="">
<td>
        Student:
</td>
<td>
        Kalpana Roy
        
</td>
</tr>
<tr>
<td>
Abstract:
</td>
</tr>
<tr title="">
<td> The current project aims to
incorporate the location-awareness in the Gnome-desktop and utilise the
same to automatically update the linux kernel to set the country for
the current regulatory domain. It will comprise of 2 parts:
<br>1.Integrating Clock & weather applet, Tracker, Evolution, Empathy and Gwibber with automatic location sensitivity.
<br>2.Extending Network Manager to seed to wpa_supplicant, the country
which should be set for the regulatory implementation, which in turn
passes it to the kernel. </td>
</tr>
<tr>
<td>
Content:
</td>
</tr>
<tr title="">
<td>
<h2><span>What is the ultimate goal of your proposal? What do you want to achieve?</span></h2>
<p>The project plans to achieve the following two goals :</p>
<ol><li>
<p>incorporate the location-awareness in the Gnome-desktop by
integrating the automatic location sensitivity into various
Gnome-desktop applications, and,</p>
</li><li>
<p>utilise the location-awareness to automatically update the linux kernel to set the country for the current regulatory domain.</p>
</li></ol>
<p>The geographical information will be treated along the same lines as
time and hence automatic updation or manual modification of the
location will be as easy as changing time or date.</p>
<h2><span>What components/modules will it touch/change or create?</span></h2>
<p>In order to achieve the afore-mentioned goals, the project will
utilise the set of geoinformation APIs provided by GeoClue, and the
providers which implement these APIs. With the help of these, we will
get position information, get location coordinates through address
(Geocode) and find address with the help of location coordinates
(Reverse Geocode).</p>
<ul><li>
<p>As the first step towards making the Gnome-desktop location aware,
the following Gnome applications will be integrated with GeoClue
services : Clock and weather applet, Tracker, Evolution, Empathy and
Gwibber. (Although there are many other Gnome applications which can be
integrated with GeoClue, but keeping the GSoC time frame in mind, the
work is restricted to these applications only, for now. The other
applications are planned to be added with location sensitivity feature,
after successful completion of the proposed work). [Optional] Also, for
the Internet-based applications, a map can be generated to view the
location of the contacts in the visual format, using OpenStreetMap and
libchamplain. </p>
</li><li>
<p>The second part of the project will be implemented by extending
Network Manager to make use of the information supplied by GeoClue to
be able to seed the country which should be set for the current
regulatory domain, to wpa_supplicant, which in turn passes the
information to the linux-kernel.</p>
</li></ul>
<h2><span>What benefits does it have for GNOME and its community?</span></h2>
<p>The project aims to make Gnome-desktop *smarter*, in the sense that
it can automatically sense/realise the location/place where its
computer system is. A computer system can automatically update its
time, if the timezone is set. Both geographical location as well as
time, are informations which human beings refer from their environment
or context. This comes naturally to the human beings and gives them the
smartness or intelligence and the edge over the computers. If a
computer can infer its geographical location as well, then it will be
one step closer to being more human-like or achieving human
intelligence.<br>The following usecases will illustrate how the project proposal is beneficial for Gnome :</p>
<ol><li>
<p>The proposed functionality is new and not provided by any other
desktop environment or operating system. Hence, Gnome will be more
user-friendly by providing this one-of-a-kind functionality.</p>
</li><li>
<p>Give the gnome users the ease of not manually changing the time and
weather settings everytime they move from one place to another.</p>
</li><li>
<p>Clock can not only automatically update the time & weather
settings but also display the appointments/tasks specific to a location.</p>
</li><li>
<p>The Tracker will index the files based not only on time but also on
the basis of location of access/modification, then users can place
queries in the form <i>"Show the files which I edited in Stockholm"</i>.</p>
</li><li>
<p>Allow the users to set instant messaging availability status based on location (<i>"Set my work account as offline when I'm home"</i>).</p>
</li><li>
<p>Make Gwibber send the current location of the user to microblogging services that support it (like brighkite).</p>
</li></ol>
<div>
<p>These are a few examples of how Gnome applications can serve users
better, if they are aware of their location. More importantly, this
project will make the Gnome desktop more <i>web-enabled</i>, when these days connectivity is popular and wide-spread.</p>
<p>As stated above this project has two parts, and it will be done
under the co-mentorship of Gnome and Linux Foundations, both selected
for GSoC '09. The second part of the project focuses on the new
regulatory implementation for Linux wireless which features a new
regulatory infrastructure starting from the 2.6.28 kernel. Devices can
specify their regulatory domain through different interfaces and users
can further help compliance by specifying their country. So the best
way of achieving this is , instead of users having to manually supply
the location, GeoClue services are utilised by Network Manager which
gets the country value and sends the ISO 3166-1 alpha-2 country code to
the kernel via wpa_supplicant. Hence this automation will help in
maintaining the regulatory compliance with a greater ease.</p>
<h2><span>Why you'd like to complete this particular project? If you
have chosen an idea from our list, why did you choose this specific
idea? Why are you interested in improving GNOME?</span></h2>
<p><span><span>The project proposal is a combination of ideas listed by
Gnome and Linux Foundations for GSoC '09. Both the ideas listed the use
of GeoClue/location awareness and hence the ideas were combined. While
scanning through the ideas list of Gnome, I preferred to choose a
project which would be suit my technical knowledge and allow me to
complete it successfully. The idea of location awareness appealed to me
the most and it also matched with my technical knowledge and
experience. I could immediately relate to the various benefits that
could be achieved if the desktop applications had location awareness;
the various small automations and ease which would be supported through
the project while working on mobile computer systems. </span></span></p>
<p><span><span>I chose to apply in GSoC so that I can get into FOSS
development and not just looking for a summer job opportunity. I own a
laptop and have to travel from my college to my home everyday and hence
I could absolutely relate myself to the benefits that would be achieved
by making the Gnome desktop location aware. The reason for choosing
Gnome is very simple, I work on Linux machines mostly and Gnome has
been my desktop environment of choice since I started using Linux, so I
wanted to work on something which could be ultimately used by me. <br>Another
reason for choosing and sticking with this project were the immediate
and encouraging responses which I received on the mailing list and IRC
channel. GeoClue developers Jussi Kukkonen and Henri Bergius helped me
in developing the ideas list to what it is now and satisfing my
queries. They made me understand the depth of the work involved in the
project and not underestimate as building a "few patches for random
applications". Luis Rodriguez from Linux Foundations (who has very
kindly agreed to co-mentor this project, in case of being selected),
made me aware about the idea of integrating Geoclue to maintain the new
regulatory compliance. This is how the current project proposal came to
be what it is now and combining the two similar ideas has helped me to
scale the work big enough to be completed in the given time frame and
also exciting enough to work on.<br><br></span></span></p>
<h2><span><span>Why do you think you are the best person to work on this project? What makes you suited to carry out the project?</span></span></h2>
<p><span><span><span>I chose this project to apply for GSoC '09 for the reasons that, 1. I possessed the basic technical knowledge which is </span></span></span>required
to be able to work on it, 2. I found the idea extremely interesting,
innovative and useful. The idea gave me the vision to imagine the
computers more knowledgable and intelligent than before. I feel that it
is very important to enjoy the project that you are going to work on
and I definitely feel excited about this one. This project will satisfy
both my hunger to contribute to open-source as well as fulfill my
creative aptitude. I am not a programmer who sticks to traditional
terms of ~6 hours of work a day; I can work continuously for days if
the work demands and is interesting and hence I feel that I can
contribute to this project a lot more than the others. I plan to
continue the work after GSoC ends as well. I guess having developed the
project to what it is now from the idea of the clock applet
automatically detecting timezone changes, shows my dedication to the
project and also the fact that I have done research about the same and
contacted the developers to let them know about my idea and my
willingness to work and make location-awareness a reality.</p>
<h2><span><span>How much time do you plan to invest in the project
before, during and after the Summer of Code (We expect full time
40h/week during GSoC, but better make this explicit)?</span></span></h2>
<p>I plan to start working on the project from April itself and would
spend the month learning more about the technologies to be used. From
May to August, which will be the coding months, I can devote full time
working on the project as there are no prior committments which can
take up my time. As already stated, I am planning to include location
senstivity to the Gnome applications which will not be covered in the
GSoC period so my committments to this project stay even after GSoC.
Also, I will look into improving/alternate ways of passing the location
information to kernel for regualtory compliance after GSoC.</p>
</div>
<div>
<h2><span><span>How do you plan to achieve completion of your project?</span></span></h2>
<h2><span><span></span></span></h2>
<p><span><span><span>I plan to complete the project by dividing the
whole work into modules and creating deadlines for their completion.
The preliminary timeline includes :<br></span></span></span></p>
<ul><li>
<p><span><span><span>April : Study the source code and get familiar
with the various technologies and applications to be used in the
project (GeoClue, </span></span></span>Clock and weather applet,
Tracker, Evolution, Empathy, Gwibber, Network Manager). Write a patch
for GeoClue to fix a bug OR to complete some of the TODOs listed. Learn
more about the new regulatory infrastructure of the linux kernel.</p>
</li><li>
<p>May - June : Create Geoclue patches for the gnome applications to
enable location sensitivity. Starting with Clock (ensure timezone
detection and change , weather change according to location,
appointments/tasks display according to location), will move to the
Internet based applications Gwibber, Evolution and Empathy to update
them with location information, and then will add the functionality of
indexing based on location to Tracker. [Optional] Also look into the
generation of maps of the locality using OpenStreetMap and libchamplain
for use along with the Internet based applications, depending on the
time left.</p>
</li></ul>
</div>
<div>
<p>Plan to complete making Gnome-desktop location aware before mid-term evaluation.</p>
</div>
<div>
<ul><li>
<p>July : Add the functionality of finding the country of location to
Neetwork Manager and sending the code to Wi Fi protected acces
supplicant to be sent to the kernel for implementing regulatory
complaince.</p>
</li><li>
<p>August : Integrating together all the functionalities developed and checking for loop-holes/glitches.</p>
</li></ul>
</div>
<h2><span><span>What are your past experiences (if any) with the open source world?<span><br></span></span></span></h2>
<p><span><span><span>I have been using free & open source softwares
since the times I had a personal computer but was introduced to
contributing to FOSS, last year through a successful GSoC '08 student.
I understood and appreciated FOSS movement since then and was willing
to contribute to it. The projects which I had worked on throught out my
college life used open source technologies although my first shot at
*real* open source development was the developing a GUI for VPython
using PyGtk. I also submitted patches for additional functionalities to
an already existing VPython editor but the author had not
released/maintained the editor officially hence, I cannot claim that my
work was included in VPython officially. The desire to contribute to
open-source and finding ways of doing so are the sole reasons which
have driven me to GSoC and through the program I have finally known the
ways of contributing to FOSS.</span></span></span></p>
<p><span><span><span>My current project, which will finish by the end of April, is the u</span></span></span>se
of distributed fast fourier transform for writing fully distributed
N-body code for cosmological applications. It is also an open-source
project which uses C language, FFTW and MPI(Message Passing Interface)
libraries and is useful for astro-physics calculations.</p>
<h2><span><span>Please attach a link to a bug (<a href="http://bugzilla.gnome.org" target="_blank">bugzilla.gnome.org</a> or other Free softw are tracker) containing a patch you've written.</span></span></h2>
<p><span><span>None, till the time of documentation of this application.</span></span></p>
<p><span></span></p>
<h2><span><span><span>Biography</span> : </span></span></h2>
<p><span><span>I am Kalpana Roy, a final year student at Indian
Institute of Information Technology, Allahabad, India, pursuing my
B.Tech (I.T.) degree. After being a FOSS user for a long time, I have
come to appreciate the FOSS movement and want to contribute to its
development. Google Summer of Code is the first official step towards
it and I am extremely enthusiastic and motivated to participate. I
usually code in C++ and am familiar with C, Java, PHP, MySql, Python
(mostly VPython & PyGtk) and Bash. Some of my major projects
include creating an FTP server searcher, ICE - Integrated Conference
Environment (software similar to OpnConf), Document Similarity
Analyser, VPython GUI/Editor and Using distributed systems for
generating N-body codes. Though I have always used open source
softwares and developed open source softwares, I have never been
involved in contribution to already existing open source organisations
and programs and hence I am looking forward to do so through GSoC '09.<br>
I am among the toppers of my batch and regular recepient of college
scholarships. I was associated with the STL (Standard Template Library)
teaching group of my college and was also the team leader of the
college team participating in Google Got the 'App'titude Challenge. My
extracurricular interests include solving online riddles, for which I
have won many college level competitions, watching animes and reading
mangas. I have been placed in Adobe Systems, India which I will be
joining after the completion of my B.Tech course, later this year. I
want to start and continue contributing to FOSS and spread the word
around to motivate more people like me who had always harbored a wish
to contribute but never knew how.</span></span></p>
</td>
</tr>
<tr title="">
<td>
        Additional info:
</td>
<td>
<a href="http://wireless.kernel.org/en/developers/GSoC/2009/GeoClue_regulatory" rel="nofollow" target="_blank">http://wireless.kernel.org/en/developers/GSoC/2009/GeoClue_regulatory</a></td></tr></tbody></table><br clear="all">
<font color="#888888"><br></font></div>-- <br>~ Once you have flown, you will walk the earth with your eyes turned skyward, for there you have been, there you long to return --Da Vinci<br>