Summer of Code/2016/SugarJournalSaveOption UtkarshT

About You

What is your name?

My name is Utkarsh Tiwari, and I am a 2nd year undergraduate student at Jaypee Institute of Information Technology, India.


What is your email address?

My email address is iamutkarshtiwari@gmail.com


What is your Sugar Labs wiki username?

My Sugar Labs wiki username is iamutkarshtiwari


What is your IRC nickname on irc.freenode.net?

My IRC nickname is iamutkarshtiwari


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

My first language of communication is Hindi and I am also fluent in English.


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

Location: Uttar Pradesh, India

Time Zone: UTC + 5:30 (India Standard Time)

Working hours: I usually tend to work in afternoons (1PM-5PM) and nights (9PM-2AM). I will try to be mostly active when most of the mentors come on IRC.

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?

I am new to Open Source and have only recently begun contributing to open source projects. Being a quick learner, I am one of the coordinators of the OSDC (Open Source Developers Club) group of my college and have delivered talks/workshops on open-source technologies like Pygame, Using Git, JavaFx(Swing) and many more.
I have also been contributing to The Processing Foundation since December 2015 and have fixed couple of bugs and introduced some new features to their Java and Javascript based IDEs.

Here are the links to the PRs I have pushed->
PDE(Java)-> Features + Bugs
PDE(P5.js)-> Bug

Why SugarLabs?

I am in love(kind of obsessed! :D) with the work being done here which keeps me driving to contribute more in all the possible ways I can. It feels great seeing my activities being downloaded by kids and children from all around the world. Nothing makes me more happy than knowing that the code I write is serving the learning of millions of children.
It will be a great experience to work on a project that will introduce some nice feature which will make collaborative learning more easy and enjoyable! I started contributing to Sugar Core since this February. Before that, I had already developed 6 Sugar activities and I am constantly mantaining them.

Here are the links to my Sugar activities->
Sonic Jump
Stick Hero
Flappy Birds
2 Cars
Make them fall
Buttons and Scissors

I have also completed the Hindi translations of activities listed below->

Sugar(core)
Turtleart
Memorize
Biorhythm
TurtleblocksJS
Paint
Chat
Card sort
ImageViewer
Physics

Pootle profile link-iamutkarshtiwari

P.S.- Pending translations are still under process.

I am excited to work with Sugarlabs this summer! Working on a 3 months scaled project needs dedication and passion which I both possess. I am looking forward to making some significant contributions to Sugarlabs by working in collaboration with some highly skilled programmers from around the world and learn new technologies and methodologies from them to enhance my knowledge.

About your project

We are looking for projects that will enhance the Sugar Learning Platform. Please consider how your project will have impact on children learning.

What is the name of your project?

Sugar Journal save option

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?

The project is to introduce a save feature inside Sugar where the user can save the current running activity instance by name of his choice when an activity is closed.

The Sugar Journal should provide a 'save/save as' interface which should enable a user to choose whether to save the current document when an activity is closed. The interface should require a name change from 'current.activity' to a user supplied name. If the document is derived from one currently saved in the Journal, the user should be allowed to save (overwrite) or save as (create new document) by giving a new name to the document. This could be accomplished by showing a modal dialog at close time requesting the user to supply a name or not save the document. If the document has a user supplied name, the dialog could request the user to save or to provide a new name to create a new document.

This approach satisfies the needs referenced in the git task. Git is a little like a hammer looking for a nail. Using git for this function will likely double the size of the data stored in the Journal (based on normal experience using git). Unfortunately, we don't have this space on the XOs. The standard save/save as feature will give the user the ability to manage versions by using unique names.

Programming Language: Python

Libraries: Python bindings for Gtk+

Here are some mockups I designed-

Same modal popup on close ː-

            p7qg61i.png


Save as modal dialog ː-

            RxZpbxx.png


Overwrite if name already exists in Journal ː-

            4C5Yt6v.png


Saving with a new name ː-

            n0GFgRj.png



  • What is the timeline for development of your project? The Summer of Code work period is from mid-May to mid-August; 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 (end of June); the last steps always take longer than you think, and we will consider cancelling projects which are not mostly working by then.
  • 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.

You and the community

  • 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.
  • What will you do if you get stuck on your project and your mentor isn't around?
  • 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?

Miscellaneous

  • We want to make sure that you can set up a development environment before the summer starts. Please do one of the following:
    • 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 "logout".
                   kZwyivD.png
    • Send us a link to a pull request or merge request you have made on a Sugar or Sugar activity bug.

I have added some long needed features to Browse activity and Sugar Journal. PRs (Screenshots attached in the PR comments ) ->

  • Describe a great learning experience you had as a child.
  • 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?

Please include the category tag at the bottom of your page the Category tag for 2016 GSoC applications.