Difference between revisions of "File Sharing Utility"

From Sugar Labs
Jump to navigation Jump to search
m (fix camelcase links)
 
(7 intermediate revisions by 2 users not shown)
Line 42: Line 42:
  
 
->Implemented 7-zip compressed commics support in Evince Document Viewer, Gnome  Bug: #532312
 
->Implemented 7-zip compressed commics support in Evince Document Viewer, Gnome  Bug: #532312
   #Link: http://ftp.gnome.org/pub/GNOME/desktop/2.23/2.23.5/NEWS
+
   * Link: http://ftp.gnome.org/pub/GNOME/desktop/2.23/2.23.5/NEWS
 +
 
 +
-> Was involved in the designing of a Joint Architecture for Unmanned Systems (JAUS) compliant Software Development Kit as a part of a startup I am co-founder off. Things I worked on (all in c/c++):
 +
  * Unix System calls
 +
  * Unix,UDP and TCP sockets
 +
  * Threads, semaphores and mutex.
 +
  * Design of the architecture which involved making UMLs
 +
  * Object oriented designing
 +
I cant provide the link to the source code since the work if proprietary.
 +
 
 +
->Designed and implemented an Asynchronous Information Dissemination System using Delay Tolerant Networks. Was selected in the top 12 teams from Asia Pacific by Google as a part of Google Product Prodigy. The finals will take place in April.
 +
  * Link: http://www.google.co.in/intl/en/productprodigy/finalists.html 
 +
  * Team: Mobile Health
 +
  * Here specifically a lot of PyGtk was used along with XML DOM, imaplib, smtplib etc.
 +
TODO: Ask Google if the source code can be made public.
 +
 
 
->Implemented a peer-to-peer file search and transfer utility in python. It had the following main features:
 
->Implemented a peer-to-peer file search and transfer utility in python. It had the following main features:
 
     #Remote discovery of active peers
 
     #Remote discovery of active peers
Line 48: Line 63:
 
     #Object matching using regular expressions
 
     #Object matching using regular expressions
 
     #Link: http://code.google.com/p/p2p-lan/downloads/list
 
     #Link: http://code.google.com/p/p2p-lan/downloads/list
 +
 
->Made a distributed game based on Flash and Python and used Asynchronous servers, Mysql db, DOM in its design and implementation.
 
->Made a distributed game based on Flash and Python and used Asynchronous servers, Mysql db, DOM in its design and implementation.
 
   #Link: http://code.google.com/p/etheravtar/downloads/list
 
   #Link: http://code.google.com/p/etheravtar/downloads/list
Line 58: Line 74:
  
 
Ans : File Sharing Utility
 
Ans : File Sharing Utility
 +
  
 
----
 
----
 +
  
 
Q.2 : '''Describe your project in 10-20 sentences. What are you making? Who are you making it for, and why do they need it? What technologies (programming languages, etc.) will you be using?'''
 
Q.2 : '''Describe your project in 10-20 sentences. What are you making? Who are you making it for, and why do they need it? What technologies (programming languages, etc.) will you be using?'''
Line 65: Line 83:
 
a) : '''What are you making'''
 
a) : '''What are you making'''
  
Ans : There is a lack of file sharing activity in the Sugar Learning Platform, which is quite a roadblock when it comes to the remote sharing of files present in the Journal. There has been some work done with respect to this in Sucrose 0.84 release[1]. But it has very limited and restricted option of only sharing of files among friends with no other capabilities.
+
Ans : There is a lack of file sharing ability in the Sugar Learning Platform right now. Sugar relies on Telepathy for most of its network requirement. Telepathy in turn uses XMPP Extensions as the bases of their various interfaces. The XMPP Extensions for File Repository and Sharing is XEP:0214 . There is no Telepathy interface for this XEP currently and therefore File Sharing is not their right now. Also the File Transfer API is only to send files at the most, not request them. Therefore there will be a need to design a Telepathy interface to announce files, retrieves files from contact and request a file.
 +
 
 +
'''''Steps for the complete implementation :'''''
 +
 
 +
1) To design a Telepathy interface to announce files, retrieves files from contact and request a file.
 +
 
 +
2) Understand XEP-0214 and Telepathy enough to write a Telepathy Interface Specification for the functionality of XEP-0214.
  
'''''Features'''''
+
3) Implementing that interface in Gabble.
  
#Shared folders which will contain files to be shared
+
4) XEP-0214 only gets you us as far finding out what files a person has.  Step 4 is writing python code to actually retrieve those files, using
#Sharing among peers in LAN and Internet
+
Telepathy's existing FileTransfer API.
#File search query among shared folders of active peers
 
#Show active peers via remote discovery
 
#Easy to use Interface to carry out these functionalities
 
  
Other addition which I aim to make to this project outside the paradigm of Google Summer of Code includes:
+
5) Modify the Sugar interface (probably Journal and Neighborhood view) to expose this functionality to the user, i.e to give an option to share a file or not.
Multiple downloads simultaneously
 
#API to be used by third party applications
 
#Dbus Interface
 
  
 
----
 
----
Line 84: Line 102:
 
b) : '''Who are you making it for'''
 
b) : '''Who are you making it for'''
  
Ans : Primary, Secondary and Higher Secondary Students and Teachers. At a later stage it will be of immense use to developers too.
+
Ans : This will be of immense use for any one associated with sugar be it students, teachers and even developers since allowing such kind of functionalities will truly enhance Sugar's ability and bring to it a feature which is considered a basic utility in any platform.  
  
 
----
 
----
Line 90: Line 108:
 
c) : '''Why do they need it '''
 
c) : '''Why do they need it '''
  
Ans : A typical use of this application is the transfer of assignments and similar work among students. There can be many uses of this activity for other activities as well as sharing has been a primary goal for the Sugar Platform.
+
Ans : A typical use of this application is the transfer of assignments and similar work among students. Their can be many uses of this functionality for other activities as sharing has been a primary goal for the Sugar Platform. In order to connect the sugar community File Sharing according to me is some thing of prime importance.
  
 
----
 
----
Line 96: Line 114:
 
d) : '''What technologies (programming languages, etc.) will you be using?'''
 
d) : '''What technologies (programming languages, etc.) will you be using?'''
  
Ans : This project will be started from scratch since their will be a complete rework to the existing file sharing utility in Sucrose 0.84. As most of networking in sugar uses XMPP protocol, hence all the data whether metadata or actual data will be sent in accordance to the XMPP specifications. Major technologies that will be used includes XML, Data Object Model (DOM), Socket Programming, Regular Expressions, GTK, Glade Interface Designer, Twisted libraries and few others.
+
Ans : Most of the programming will be done in C followed by some part in python too. A major portion of this project will be to understand Telepathy's existing interfaces therefore Telepathy will be a major technology involved. The GUI will be done using PyGTK. Other technologies involved include D-BUS as the underlying IPC mechanism, GObject etc.  
 
 
  
 
----
 
----
Line 103: Line 120:
 
Q.3  : '''What is the timeline for development of your project? The Summer of Code work period is 7 weeks long, May 23 - August 10; tell us what you will be working on each week. (As the summer goes on, you and your mentor will adjust your schedule, but it's good to have a plan at the beginning so you have an idea of where you're headed.) Note that you should probably plan to have something "working and 90% done" by the midterm evaluation (July 6-13); the last steps always take longer than you think, and we will consider cancelling projects which are not mostly working by then.'''
 
Q.3  : '''What is the timeline for development of your project? The Summer of Code work period is 7 weeks long, May 23 - August 10; tell us what you will be working on each week. (As the summer goes on, you and your mentor will adjust your schedule, but it's good to have a plan at the beginning so you have an idea of where you're headed.) Note that you should probably plan to have something "working and 90% done" by the midterm evaluation (July 6-13); the last steps always take longer than you think, and we will consider cancelling projects which are not mostly working by then.'''
  
Ans : Before the official program starts I would have made my self comfortable with the Sugar environment and as a prerequisite would have gone through the XMPP specification. The basic development approach will be to design the GUI and write the functionalities simultaneously. Here is the division of my work per week:
+
Ans : Since overall quite a lot of work is involved including learning many new things, therefore I specially aim to use the preiod between filing my application and the actual begining of GSoc to maximum use. I aim to make my self done with Telepathy's existing source code in this period along with having a first draft of the TP interface to to announce files, retrieves files from contact and request a file in this period only.
 +
 
 +
''Before GSoc''
 +
 
 +
*As a start I will be done with step 1 and step 2 by April 8. Here is the 'yet to be complete' [[0-th]] Draft of the TP specification.
 +
 +
*After this I will be starting with TP's source code to get a hang of it. This will be finished by maximum by April end.
 +
 
 +
*I will have 2-3 hours/day ( may lesser on few days) in May to start coding for step 3.
 +
 
 +
''During Gsoc''
 +
 
 +
*Step 3 will be finished maximum by 2nd week of June.
  
Week 1: Design the basic framework of the application. Start coding of the GUI and as I move on, will keep on adding functionalities to           This week will require substantial communication with my mentor.
+
*After this I will start working on the design and the implementation of the GUI required to use the feature of making files public. This task will be done with by the end of 1st week of July.  
  
Week 2: Enable the task of shared folders and estabilishment of the basic protocol for peer lookup. After this the feature of remote discovery will be done in LAN.
+
*Having done with the GUI Python code will be written to actually retrieve the files. This will be done by the 2nd week of July.
  
Week 3: The task of remote discovery on the Internet will also be completed in this week and other miscellaneous backend task of the whole framework will be done with.
+
*The rest of the July will be consumed for rigorous testing.
 
Week 4:Will be done with the tasks of file search query and file transfer on LAN.
 
  
Week 5: This week will mainly be concentrated on extending most of the work on Internet.
+
*A buffer of 2 weeks is kept for any kind unpredictable delay.
  
Week 6: This week will be utilized for exaustive testing.
+
''After Gsoc''
  
Week 7: Final compilation of the whole work with small alterations will be done.
+
*Find a way to share files locally i.e. via Salut and implement it. 
  
TODO: This list needs to have a lot of changes after having advice from some developers.
 
  
 
----
 
----
  
Q.4 :  '''Convince us, in 5-15 sentences, that you will be able to successfully complete your project in the timeline you have described. This is usually where people describe their past experiences, credentials, prior projects, schoolwork, and that sort of thing, but be creative. Link to prior work or other resources as relevant.'''
+
Q.4 :  '''Convince us, in 5-15 sentences, that you will be able to successfully complete your project in the timeline you have described. This is usually where people describe their past experiences, credentials, prior projects, school work, and that sort of thing, but be creative. Link to prior work or other resources as relevant.'''
  
Ans : I have quite a lot of experience with all the technologies that will be involved with this project. Other than this I have done substantial amount of work in Python in the past. My biggest asset which will accelerate the speed of the development process is my prior experience of developing a complete working peer to peer file transfer application in Python which handled many of the tasks I have listed for this project. Some of the key time consuming problems were taken care during the development of this application and I will build up on this experience. I again have done a lot of work with PyGTK which again simplifies the development process for me.Having worked on Linux for three years now makes me have an experience with the basics of Sugar. Also I have sound knowledge of content management systems and thus a lot of time will be saved here too. All these facts makes me competent enough to complete my project with quality in the given time frame.
+
Ans : The biggest asset with this proposal is that this proposal has been a result of intense discussion with developers associated with the parent projects i.e Telepathy and Sugar. Very crucial issues like the viability of the implementation and the actual use of such a project for the Sugar community were taken into account before I actually sat down to write this proposal. Therefore I am very clear about the major tasks that I need to complete. Also I being in constant touch with developers had provided me with a basic approach to actually implement these tasks.
 +
Regarding the issue of my personal skills to complete this task, I have been involved in a startup which helped me realise how the principles of Software Engineering are actually brought into action in the real world. Other then this most of the work I am doing in this startup is infact in C, the major language I will be using.
 +
Regarding the Python I have done many small/mid-sized projects which make use of each of the libraries I will be needing to conceptualise this proposal. I have also done few projects which were specifically addressing the File sharing (and transfer). This again brings clarity of the process involved.
 +
Other then this my wish to contribute to the Open Source community in any way possible (Gsoc or no Gsoc) will be the biggest inspiration that will make me complete this project.
  
 
----
 
----
Line 134: Line 163:
 
Q.1 : '''If your project is successfully completed, what will its impact be on the Sugar Labs community? Give 3 answers, each 1-3 paragraphs in length. The first one should be yours. The other two should be answers from members of the Sugar Labs community, at least one of whom should be a Sugar Labs GSoC mentor. Provide email contact information for non-GSoC mentors.'''
 
Q.1 : '''If your project is successfully completed, what will its impact be on the Sugar Labs community? Give 3 answers, each 1-3 paragraphs in length. The first one should be yours. The other two should be answers from members of the Sugar Labs community, at least one of whom should be a Sugar Labs GSoC mentor. Provide email contact information for non-GSoC mentors.'''
  
Ans : With the completion of this project one of the biggest hurdle of the Sugar Platform will be taken care of. Having the freedom of sharing with anyone any time is essential for such a platform and this project essentially achieves that. Other than this it opens the door for other developers to make creative use of this utility for their own activities.
+
Ans :  
 +
 
 +
''' From myself :'''
 +
 
 +
With the completion of this project a very essential feature will be made available to the Sugar Platform. Having the freedom of sharing with anyone any time is essential for such a platform and this project essentially achieves that. Other than this it opens the door for other developers to make creative use of this utility for their own activities. Also it will be a way for Sugar to payback to the Telepathy Community which it makes use of for so many of its needs :)
 +
 
 +
''' From Benjamin M. Schwartz : '''
 +
 
 +
"So what I mean is, this feature, file sharing, has been part of the Sugar design since before Sugar existed."
 +
This was said in reference to the discussion : http://lists.sugarlabs.org/archive/sugar-devel/2007-August/003323.html
 +
 
 +
''' From Andrés Ambrois :'''
 +
 
 +
If this project succeeds it will be providing a very important missing piece in Sugar's vision of a learning environment, encouraging content creation and distribution in a local, peer-based fashion.  
  
 +
From my experience here in Uruguay, the collaboration possibilities are being largely ignored in the classroom, partially because of infrastructure problems, but also because of the lack of semantically basic functions such as this.
 
----
 
----
  
 
Q.2 : '''Sugar Labs will be working to set up a small (5-30 unit) Sugar pilot near each student project that is accepted to GSoC so that you can immediately see how your work affects children in a deployment. We will make arrangements to either supply or find all the equipment needed. Do you have any ideas on where you would like your deployment to be, who you would like to be involved, and how we can help you and the community in your area begin it?'''
 
Q.2 : '''Sugar Labs will be working to set up a small (5-30 unit) Sugar pilot near each student project that is accepted to GSoC so that you can immediately see how your work affects children in a deployment. We will make arrangements to either supply or find all the equipment needed. Do you have any ideas on where you would like your deployment to be, who you would like to be involved, and how we can help you and the community in your area begin it?'''
  
Ans : I would like the deployment to be at a near by Government school for the poor since they are the students that are usually isolated from the strength of electronic education and hence have the maximum curiosity to learn. ----
+
Ans : I would like the deployment to be at a near by Government school for the poor since they are the students that are usually isolated from the strength of electronic education and hence have the maximum curiosity to learn.  
 +
 
 +
----
  
 
Q.3 : '''What will you do if you get stuck on your project and your mentor isn't around?'''
 
Q.3 : '''What will you do if you get stuck on your project and your mentor isn't around?'''
Line 159: Line 204:
  
 
====Miscellaneous====
 
====Miscellaneous====
[[Image:New-developer-challenge.png|thumb|right|An example of the kind of screenshot of your first modification to your development environment which you should include in your application. Note that the drop-down menu text has Mel's email address in place of the word "Restart" - your screenshot should contain your email instead.]]
 
# We want to make sure that you can set up a [[DevelopmentTeam#Development_systems|development environment]] before the summer starts. Please send us a link to a screenshot of your Sugar development environment with the following modification: when you hover over the XO-person icon in the middle of Home view, the drop-down text should have your email in place of "Restart." See the image on the right for an example. It's normal to need assistance with this, so please visit our IRC channel, #sugar on irc.freenode.net, and ask for help.
 
  
Ans : [[http://p2p-lan.googlecode.com/files/sugar_prerequisite.png]]
+
# We want to make sure that you can set up a [[Development Team#Development_systems|development environment]] before the summer starts. Please send us a link to a screenshot of your Sugar development environment with the following modification: when you hover over the XO-person icon in the middle of Home view, the drop-down text should have your email in place of "Restart." See the image on the right for an example. It's normal to need assistance with this, so please visit our IRC channel, #sugar on irc.freenode.net, and ask for help.
 +
 
 +
Ans : [[http://p2p-lan.googlecode.com/files/sugar_prerequisite.png Here is the prerequisite]]
  
 
Q.6 :  What is your t-shirt size? (Yes, we know Google asks for this already; humor us.)
 
Q.6 :  What is your t-shirt size? (Yes, we know Google asks for this already; humor us.)
  
Ans : Large
+
Ans : XL
 +
 
 +
Q.7 : Describe a great learning experience you had as a child.
 +
 
 +
Ans : I was always afraid of maths during childhood and never used to score good in the subject. Then at a certain time I watched this show on Discovery where they were showing how to visualise maths problem in head. I adopted that methodology in Maths and their has been no looking back. This proved useful not only in maths but in other subjects especially Physics.
  
# Describe a great learning experience you had as a child.
+
Q.8 : Is there anything else we should have asked you or anything else that we should know that might make us like you or your project more?
# Is there anything else we should have asked you or anything else that we should know that might make us like you or your project more?
+
Ans : No
  
 
<noinclude>[[Category:2009 GSoC applications]]</noinclude>
 
<noinclude>[[Category:2009 GSoC applications]]</noinclude>

Latest revision as of 17:47, 3 April 2009

About you

Q.1 : What is your name?

Ans : Kartik Rustagi


Q.2 : What is your email address?

Ans : kashes911 [AT] gmail [DOT] com


Q.3 : What is your Sugar Labs wiki username?

Ans : kashes911


Q.4 : What is your IRC nickname?

Ans : kartik_rustagi


Q.5 : What is your primary language? (We have mentors who speak multiple languages and can match you with one of them if you'd prefer.)

Ans : English and Hindi


Q.6 : Where are you located, and what hours do you tend to work? (We also try to match mentors by general time zone if possible.)

Ans : Located in New Delhi, India, UTC +530. Since most of the period of Gsoc comes at a time of summer vacation for me, therefore I am comfortable working at any time of the day.


Q.7 : Have you participated in an open-source project before? If so, please send us URLs to your profile pages for those projects, or some other demonstration of the work that you have done in open-source. If not, why do you want to work on an open-source project this summer?

Ans : I have done the following relevant work:

->Implemented 7-zip compressed commics support in Evince Document Viewer, Gnome Bug: #532312

 * Link: http://ftp.gnome.org/pub/GNOME/desktop/2.23/2.23.5/NEWS

-> Was involved in the designing of a Joint Architecture for Unmanned Systems (JAUS) compliant Software Development Kit as a part of a startup I am co-founder off. Things I worked on (all in c/c++):

 * Unix System calls
 * Unix,UDP and TCP sockets
 * Threads, semaphores and mutex.
 * Design of the architecture which involved making UMLs
 * Object oriented designing 

I cant provide the link to the source code since the work if proprietary.

->Designed and implemented an Asynchronous Information Dissemination System using Delay Tolerant Networks. Was selected in the top 12 teams from Asia Pacific by Google as a part of Google Product Prodigy. The finals will take place in April.

 * Link: http://www.google.co.in/intl/en/productprodigy/finalists.html  
 * Team: Mobile Health
 * Here specifically a lot of PyGtk was used along with XML DOM, imaplib, smtplib etc.

TODO: Ask Google if the source code can be made public.

->Implemented a peer-to-peer file search and transfer utility in python. It had the following main features:

   #Remote discovery of active peers
   #File search queries using Multicast and File transfer
   #Object matching using regular expressions
   #Link: http://code.google.com/p/p2p-lan/downloads/list

->Made a distributed game based on Flash and Python and used Asynchronous servers, Mysql db, DOM in its design and implementation.

 #Link: http://code.google.com/p/etheravtar/downloads/list

About your project

Q.1 : What is the name of your project?

Ans : File Sharing Utility




Q.2 : Describe your project in 10-20 sentences. What are you making? Who are you making it for, and why do they need it? What technologies (programming languages, etc.) will you be using?

a) : What are you making

Ans : There is a lack of file sharing ability in the Sugar Learning Platform right now. Sugar relies on Telepathy for most of its network requirement. Telepathy in turn uses XMPP Extensions as the bases of their various interfaces. The XMPP Extensions for File Repository and Sharing is XEP:0214 . There is no Telepathy interface for this XEP currently and therefore File Sharing is not their right now. Also the File Transfer API is only to send files at the most, not request them. Therefore there will be a need to design a Telepathy interface to announce files, retrieves files from contact and request a file.

Steps for the complete implementation :

1) To design a Telepathy interface to announce files, retrieves files from contact and request a file.

2) Understand XEP-0214 and Telepathy enough to write a Telepathy Interface Specification for the functionality of XEP-0214.

3) Implementing that interface in Gabble.

4) XEP-0214 only gets you us as far finding out what files a person has. Step 4 is writing python code to actually retrieve those files, using Telepathy's existing FileTransfer API.

5) Modify the Sugar interface (probably Journal and Neighborhood view) to expose this functionality to the user, i.e to give an option to share a file or not.


b) : Who are you making it for

Ans : This will be of immense use for any one associated with sugar be it students, teachers and even developers since allowing such kind of functionalities will truly enhance Sugar's ability and bring to it a feature which is considered a basic utility in any platform.


c) : Why do they need it

Ans : A typical use of this application is the transfer of assignments and similar work among students. Their can be many uses of this functionality for other activities as sharing has been a primary goal for the Sugar Platform. In order to connect the sugar community File Sharing according to me is some thing of prime importance.


d) : What technologies (programming languages, etc.) will you be using?

Ans : Most of the programming will be done in C followed by some part in python too. A major portion of this project will be to understand Telepathy's existing interfaces therefore Telepathy will be a major technology involved. The GUI will be done using PyGTK. Other technologies involved include D-BUS as the underlying IPC mechanism, GObject etc.


Q.3 : What is the timeline for development of your project? The Summer of Code work period is 7 weeks long, May 23 - August 10; tell us what you will be working on each week. (As the summer goes on, you and your mentor will adjust your schedule, but it's good to have a plan at the beginning so you have an idea of where you're headed.) Note that you should probably plan to have something "working and 90% done" by the midterm evaluation (July 6-13); the last steps always take longer than you think, and we will consider cancelling projects which are not mostly working by then.

Ans : Since overall quite a lot of work is involved including learning many new things, therefore I specially aim to use the preiod between filing my application and the actual begining of GSoc to maximum use. I aim to make my self done with Telepathy's existing source code in this period along with having a first draft of the TP interface to to announce files, retrieves files from contact and request a file in this period only.

Before GSoc

  • As a start I will be done with step 1 and step 2 by April 8. Here is the 'yet to be complete' 0-th Draft of the TP specification.
  • After this I will be starting with TP's source code to get a hang of it. This will be finished by maximum by April end.
  • I will have 2-3 hours/day ( may lesser on few days) in May to start coding for step 3.

During Gsoc

  • Step 3 will be finished maximum by 2nd week of June.
  • After this I will start working on the design and the implementation of the GUI required to use the feature of making files public. This task will be done with by the end of 1st week of July.
  • Having done with the GUI Python code will be written to actually retrieve the files. This will be done by the 2nd week of July.
  • The rest of the July will be consumed for rigorous testing.
  • A buffer of 2 weeks is kept for any kind unpredictable delay.

After Gsoc

  • Find a way to share files locally i.e. via Salut and implement it.



Q.4 : Convince us, in 5-15 sentences, that you will be able to successfully complete your project in the timeline you have described. This is usually where people describe their past experiences, credentials, prior projects, school work, and that sort of thing, but be creative. Link to prior work or other resources as relevant.

Ans : The biggest asset with this proposal is that this proposal has been a result of intense discussion with developers associated with the parent projects i.e Telepathy and Sugar. Very crucial issues like the viability of the implementation and the actual use of such a project for the Sugar community were taken into account before I actually sat down to write this proposal. Therefore I am very clear about the major tasks that I need to complete. Also I being in constant touch with developers had provided me with a basic approach to actually implement these tasks. Regarding the issue of my personal skills to complete this task, I have been involved in a startup which helped me realise how the principles of Software Engineering are actually brought into action in the real world. Other then this most of the work I am doing in this startup is infact in C, the major language I will be using. Regarding the Python I have done many small/mid-sized projects which make use of each of the libraries I will be needing to conceptualise this proposal. I have also done few projects which were specifically addressing the File sharing (and transfer). This again brings clarity of the process involved. Other then this my wish to contribute to the Open Source community in any way possible (Gsoc or no Gsoc) will be the biggest inspiration that will make me complete this project.



You and the community

Q.1 : If your project is successfully completed, what will its impact be on the Sugar Labs community? Give 3 answers, each 1-3 paragraphs in length. The first one should be yours. The other two should be answers from members of the Sugar Labs community, at least one of whom should be a Sugar Labs GSoC mentor. Provide email contact information for non-GSoC mentors.

Ans :

From myself :

With the completion of this project a very essential feature will be made available to the Sugar Platform. Having the freedom of sharing with anyone any time is essential for such a platform and this project essentially achieves that. Other than this it opens the door for other developers to make creative use of this utility for their own activities. Also it will be a way for Sugar to payback to the Telepathy Community which it makes use of for so many of its needs :)

From Benjamin M. Schwartz :

"So what I mean is, this feature, file sharing, has been part of the Sugar design since before Sugar existed." This was said in reference to the discussion : http://lists.sugarlabs.org/archive/sugar-devel/2007-August/003323.html

From Andrés Ambrois :

If this project succeeds it will be providing a very important missing piece in Sugar's vision of a learning environment, encouraging content creation and distribution in a local, peer-based fashion.

From my experience here in Uruguay, the collaboration possibilities are being largely ignored in the classroom, partially because of infrastructure problems, but also because of the lack of semantically basic functions such as this.


Q.2 : Sugar Labs will be working to set up a small (5-30 unit) Sugar pilot near each student project that is accepted to GSoC so that you can immediately see how your work affects children in a deployment. We will make arrangements to either supply or find all the equipment needed. Do you have any ideas on where you would like your deployment to be, who you would like to be involved, and how we can help you and the community in your area begin it?

Ans : I would like the deployment to be at a near by Government school for the poor since they are the students that are usually isolated from the strength of electronic education and hence have the maximum curiosity to learn.


Q.3 : What will you do if you get stuck on your project and your mentor isn't around?

Ans : I will do the following things in the same order:

  1. Search about it Google
  2. Ask people on the mailing list and IRC for the solution
  3. Will go through the various discussion forums

Q.4 : How do you propose you will be keeping the community informed of your progress and any problems or questions you might have over the course of the project?

Ans : I will do the following things :

  1. Updating the project wiki
  2. Sending regular updates on the mailing list
  3. Ping IRC and asking users/developers for review

Miscellaneous

  1. We want to make sure that you can set up a development environment before the summer starts. Please send us a link to a screenshot of your Sugar development environment with the following modification: when you hover over the XO-person icon in the middle of Home view, the drop-down text should have your email in place of "Restart." See the image on the right for an example. It's normal to need assistance with this, so please visit our IRC channel, #sugar on irc.freenode.net, and ask for help.

Ans : [Here is the prerequisite]

Q.6 : What is your t-shirt size? (Yes, we know Google asks for this already; humor us.)

Ans : XL

Q.7 : Describe a great learning experience you had as a child.

Ans : I was always afraid of maths during childhood and never used to score good in the subject. Then at a certain time I watched this show on Discovery where they were showing how to visualise maths problem in head. I adopted that methodology in Maths and their has been no looking back. This proved useful not only in maths but in other subjects especially Physics.

Q.8 : Is there anything else we should have asked you or anything else that we should know that might make us like you or your project more? Ans : No