Hi all,<br>    I recently updated my GSOC proposal. Please give any suggestion / feedback you have on this proposal. I  need mentor&#39;s comments and GSOC applicant comments to complete my proposal . Please visit my student project page and do drop some comments.<br>
<br><a href="http://socghop.appspot.com/student_proposal/show/google/gsoc2009/chasedspeed/t123869987180">http://socghop.appspot.com/student_proposal/show/google/gsoc2009/chasedspeed/t123869987180</a><br clear="all"><br>Here is my GSOC proposal :<br>
<br><table><tbody><tr><td>Abstract:
 </td>
 </tr>
<tr title="">
 <td> Marbles project aims to
improve develop activity in more attractive and fun oriented way.
Children are full of ideas,imagination,dreams and love to develop
things on their own, whether there are small towns, homes, toys,
kitchens. This project will provide an outlet for their imagination so
that they can create small programs, create graphical animations and
enjoy programming. For developers, It would also have a sugar bot
integration for facilitating unit-tests and debugging facilities. </td>
</tr>


  


 <tr>
 <td>
     Content:
 </td>
 </tr>
<tr title="">
 <td>
  
<p>About Me</p>
<hr>
<p><br> Q1. What is your name?<br> Ans. Puneet Girdhar<br><br>Q2. What is your email address?<br>Ans. <a href="mailto:puneetgirdhar.iiit@gmail.com" target="_blank">puneetgirdhar.iiit@gmail.com</a><br><br>Q3. What is your Sugar Labs wiki username?<br>

Ans. puneet<br><br>Q4. What is your IRC nickname?<br>Ans. chasedspeed<br><br>Q5.
What is your primary language? (We have mentors who speak multiple
languages and can match you with one of them if you&#39;d prefer.)<br>Ans. english and hindi<br><br>Q6. Where are you located, and what hours do you tend to work? (We also try to match mentors by general time zone if possible.)<br>

Ans.Hyderabad, India-500032. In summer, I can devote full time on open source activity. Any time suits me fine.<br><br>Q7.
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<br>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?<br><br>Ans.This would be
my first experience in open source development. I have worked on
variety of projects ranging from web services, mobile development in
j2me, python web server managment. I guess, I knew about GSOC before
but was busy in learning open source technologies so could not apply
before, but now after gaining enough experience about project
development and technical skills I didn&#39;t want to lose the opportunity
to contribute back to open source community.I want to get started here
and wish to continue even after GSOC.<br><br><br>About My project</p>
<hr> 
<p><br>Q8. What is the name of your project?<br><br>Ans.Marbles : Shape the imagination<br><br>Q9.
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?<br><br>Ans.We are
supporting children imagination and trying to realize them in digtal
world. Students often love to indulge themselves in various acivities
ranging from playing to building stuff, to management . These are
nothing but their imaginative reach trying to make it real. These
creativity are the most important one and the most beneficial in child
development. Computers on other hand are meant for catching imagination
and creating artificial reality, then why shouldn&#39;t we attach them
both. We would be using computers digital approach to support child
creativity. Children can play games, learn programming , build
application, learn graphics and many other activities.<br><br>Use case scenarios :<br><br>Students can use this project for<br>a) create a simple UI application with simple drag and drop widgets.<br><br>b) they would be able to resize the widget, reorder them and associate some event handlers to the widgets.<br>

<br>c)
Programming support would be given for advanced students where they can
test and improve their programming skills for beginners, a step-by-step
instruction sets for introducing them in programming.<br><br>d) We can
go for sound support with pygame library, where we can interact the
program with simple sounds, since children get attracted to sound more
easily than text<br><br>e) Help Manual to get started for students.
Special care will be taken for information supplied, they would be
concise and expressive.<br><br><br>This project also targets the developers, they can use our application to<br><br>a) add / remove activity<br><br>b) modify activity, Activity modules would be independent of architecture and easily modifiable to suit current needs.<br>

<br>c) sugar bot support for unit-testing<br><br>d) debugger integration with gui to facilitate debugging the activity.<br><br>We can associate various group activities among students to encourage them in developing environment.<br>

<br>Technologies
I will be using are pygtk, XML parsers ( if sharing of information is
required ) . Pygtk, gives a gtk libraries support which we can code
them to interact with the enviornment and develop UI applications. XML
communication would be required if there is need to transfer the
information from one end to another. Some of key points would be :<br><br>a) Primary aim would be to provide basic learning experience in UI application with minimal programming efforts.<br><br>b) Secondary aim would be to increase Scope for development for future developers.<br>

<br>c) Application would be built as simple as possible with highlighting and attractive features.<br><br>d) Sharing of code over network, integrating of code in program directly.<br><br>e) Exception handlers, should be interactive for users and should take minor decisions automatically.<br>

<br><br><br>        <br>Technical Approach<br>--------------------------------<br>Below is the rough draft, it talks about the implementation in abstract way just to share the idea of implementation.<br><br><br><br><br><br>

         <img src="http://web.iiit.ac.in/%7Epuneet_g/marbles.png" alt="Marbles: Flow data diagram" height="362" width="600"><br></p>
<p>Here visual UI representations gives an option to select widgets,
authoring tool will assist the users to place the widgets on frame and
also do some prechecks on UI widget compatibility.Program generator
then generates the optimized code based on UI types, positions and
associates event handlers to the widgets. Views should be handled
independently and it includes final checks on widgets too. History
generation is being done side by side to facilitate recoveries if error
occurs and finally, output generation ( both UI and code output ) .
Code output from the software will be stored in specific directories or
in database.</p>
<p><br><br>Q10.  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&#39;s good to have a
plan at the beginning so you have an idea of where you&#39;re headed.) Note
that you should probably plan to have something &quot;working and 90% done&quot;
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.<br># 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.<br><br>Ans.<br><br>1. Preparation phase<br>  Time : April 25 - may25<br><br>   a) gathering requirements of the project<br>   b) getting involved with Mentor in verifying and validating the requirements.<br>

   c) Architectural design / Pseudo code.<br>   <br> 
This phase, I would be communicating with people as much as possible,
getting requirements and verifying with people or community. I would
also go to the pre-releases of similar softwares to get prons and cons
and trying to improve in our project development.I am sure to get
community support on this very interesting project.<br><br><br>2. Coding Phase<br>  Time: May 25- July1 ( This phase would be subdivided to different phases )<br><br>   a) divisions for coding timeline<br>   b) decide approach for programming<br>

   c) actual coding, testing accordingly<br>   d) documenting code parallely    <br>   e) periodically sharing information with mentors and community members<br><br> 
This phase will include actual coding. Since I already knew the related
technologies and familiar to sugar development process. I can devote
more time to coding and thus improving the project at each phases. I
will share doubts with community if occurs.<br><br><br>3. Testing Phase<br>   Time: July7- July 25<br><br>   a) full testing of system with different phases<br>   b) use coverage analysis to know the redundance code and improving it further<br>

   c) fixing bugs if any<br>   d) Last minute changes before final submission<br>   e) finish any documentation steps if left.    <br><br> 
After coding, this is the most interesting part for me. Past I have
also worked on code coverage tools for python and really love to
analyze the efficency of program. I will go for different testing tools
on program, Some tools I would like to go with<br>a) coverage<br>b) I
will use boost algorithms to improve run-time if it comes under
requirement. I have been using CPYTHON for coding competitions and
familiar with different tweaks to modify run time such as psycho
module. This will help in increasing the robustness and stability of
program.<br><br>4. Finalizing phase / Revision<br>   Time: from August 1 to END.<br><br>   a) review of code/ algorithm<br>   b) production of coverage reports, analysis, performance etc.<br>   c) discussions on limitations of software and beneficials.<br>

   d) preparing final deployments for various systems.<br><br> Documentation stuffs would go in this phase<br><br>Time line: Seems very little time to do so many things, but I will try to give the best from my side.<br><br>

I
have worked on variety of projects ranging from web application, mobile
j2me midlets, Web server management( python project ) and desktop
application. One of the interesting projects I worked on is &quot;cross
platform windows explorer&quot; which I built in python using wxwidget. I
have been working as an intern in california based company and worked
on various technical areas like Web services, remote health care using
mobile and also closely working with project manager in designing
complex medicare systems.<br><br>Believe me, I have that talent needed
to build or design a complex system for customers. Below are some of my
projects I worked on<br><br>a) Shallow file browser: cross platform browser<br>b)
Multithreaded multi media-server : A multithreaded cross platform
media-server for streaming podcast or mulitimedia contents to media
devices. It is currently being used by medicare services to stream
health podcasts to the users.<br>c) Mobile Softwares: I had done some
freelance work in mobile computation last semester. Major projects, I
was associated with are Mobile shopping, SRV navigation tool for
medicare services .<br>d) Web Services: I have been actively involved
in web-development from past 1 year and used Ruby on rails and Django
for development. Django, by far, was among my best tool for Web-UI
applications.<br>e) Minor projects on kernel implementation ( as a part of OS course ), Database managment projects and others.<br><br> <br>Me and the community
</p><hr>
<br><br>Q11. 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.<br><br>Ans. This project support
children creativity and imagination. These small games, development
activity will surely help them to become problem solvers, innovators,
and creative thinkers. These activities will also help the children to
develop many important skills that boost a child&#39;s learning and success.<br><br>[ TODO ]<br><br>Q12.
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?<br><br>Ans. That would be a great idea
to go with. I&#39;ve been working in NGO for primary children education
called &quot;ASHA-KIRAN&quot; in our college and it would a great learning
experience for them. Here, in hyderabad, We have a language problem,
they don&#39;t understand hindi, my mother tongue, and I don&#39;t understand,
telgu ( local language ). So, I always use different activities to
teach them like sound creation, drawing, Word dictionary, some local
plays etc. I believe in case of language problems like India, We should
teach the children as:<br> <br>a) Alphabet creation, as a drawing practice<br>b) Sound, give alphabets some sound, try to echo them loudly, may be in funnier way.<br>c) Try to associate meaning to words, here imagination comes into play. I use some stories behind words, or pictures  <br>

d) Last, use them in sentence.<br><br>I
can associate these features in my project and sugar lab can help us to
provide technical equipments to teach children. We already have a good
infrastructure in campus, so I will start using my project even in
development stage with them and report the status to sugar community.<br><br><br><br>Q13. What will you do if you get stuck on your project and your mentor isn&#39;t around?<br><br>Ans.
I have been working on open source projects for quite a long time and I
know, we always get stuck with some problem may be installation,
compiling, syntax error, many more but I guess this is where the
interesting part begins and open source community comes into play. In
my views, we always learn new things about the error/software if we ask
doubts in community. So, if I ever get stuck on the project, I will
raise my doubts in mailing lists, ask clearifications in irc chat,
write in blog or on some related community sites where I can get any
assistant from.<br><br>Other assistant I am sure to get it from my
seniors, they all have been participating in GSOC from past years and
would love to assist me if need occurs.<br> <br><br>Q14. 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?<br><br>Ans. I love interactive with people and I will keep community members duly informed. I can try following things to work this out<br><br>a) Chatting on IRC chat<br>

b) Mailing lists<br>c) tracking specific person or related to the area personally via email.<br>d) Posting queries on blog<br><br><br><br>Miscellaneous
<hr>
<br>Q15. 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 &quot;Restart.&quot; See the image on the
right for an example. It&#39;s normal to need assistance with this, so
please visit our IRC channel, #sugar on <a href="http://irc.freenode.net/" target="_blank">irc.freenode.net</a>, and ask for
help.<br>Ans.  I am a fedora loving guy and installed sugar system on
my fedora PC. I googled for the installation and successfully completed
the following tasks<br><br>a) Installed the system using yum packages.<br>   This is just double click installation like windows. But I could not find the development procedure here.<br><br>b) Built using source.<br>  
I used jhbuild to install and update the source code needed for the
sugar development. I tested it by creating some activities given on
wiki page of sugar lab and it was working fine.<br><br>I&#39;ve started exploring things and really looking forward for a good open source development.<br>[Todo]<br><br><br>Q16. What is your t-shirt size? (Yes, we know Google asks for this already; humor us.)<br>

medium<br><br><br>Q17.
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?<br>   <br> 
Just for introduction, I am pursuing my BTECH degree from IIIT
Hyderabad. I had started using linux from past 2 years and since then I
love every bit of it. I also have research interest and working on my
research paper on &quot;simulation of rigid blocks during earthquake&quot;. I am
an active coder in SPOJ and topcoder and have a strong python
programming skills. I have also worked as an intern in california based
company &quot;buddibot&quot; developing medicare services for elderly people.<br><br> 
No matter if I get selected or not, but I love to continue with sugar
community.I already registered myself in sugar bug reporting tool and
trying to study source code. Please let me know how can I assist to
open source community.<br><br>Thank You &amp; Regards,<br>Puneet.<br><br></td></tr></tbody></table><br><br><br>-- <br>Puneet Girdhar <br>BTECH CSE ( IIIrd Year ) <br>IIIT Hyderabad <br>