Difference between revisions of "Summer of Code/2016/Sugarizer Activity Set"

From Sugar Labs
Jump to navigation Jump to search
Line 1: Line 1:
==About Me==
 
 
===My name===
 
SHIRSH ZIBBU
 
 
 
===My email address===
 
zibs.shirsh@gmail.com
 
 
 
===My Sugar Labs wiki username===
 
zhirzh
 
 
 
===My IRC nickname on irc.freenode.net===
 
zhirzh (on webchat.freenode.net)
 
 
 
===My first language===
 
Hindi is my native language. I am also comfortable with English.
 
 
 
===My location and Working hours preference===
 
I live in Rajasthan, India. I find the following working hours comfortable.
 
* '''UTC(''18.30'' - 00.30)''' => IST(00.00 - 06.00)
 
* '''UTC(04.30 - 10.30)''' => IST(10.00 - 16.00)
 
 
 
===Past experience and Reason to participate this summer===
 
Working in an open-source project is something new to me. I have been working with javascript for the past two years, but always worked on small to medium scaled projects - most of them for college activities, fests etc. I enjoyed the time I was working on projects and I felt the experience is invaluable.
 
 
But recently, I have felt the need to work on something on a larger scale. The reason I want to work for an open-source project is multi faceted. Primarily, it is the exposure and experience. Working with a team of friends is different than working for/with an organization. And that difference can only be felt by working for one.
 
 
Secondly, the idea open-source resonates with my thinking. I respect the fact how open-source allows people all around to help projects that matter to them. The concept removes the need to ''re-invent the wheel'' whenever someone requires a preexisting tool with a little tinkering.
 
 
And finally, the sheer joy. I get ecstatic when I see my projects taking shape and when they are finally done. It is for that feeling that I want to work for SugarLabs for the upcoming summers.
 
 
 
 
==About Me==
 
==About Me==
  
Line 223: Line 185:
  
 
Some of the projects that I have worked on:
 
Some of the projects that I have worked on:
* [https://github.com/zhirzh/bits-time/tree/gh-pages/scream-o-mania Scream-o-Mania]
+
* [https://github.com/zhirzh/bits-time/tree/gh-pages/scream-o-mania Scream-o-Mania] A game that uses the WebAudio api to measure how loud someone can scream.
* [https://github.com/zhirzh/bits-time/tree/gh-pages/sinatra-rtc Sinatra RTC - WebRTC primer project]
+
* [https://github.com/zhirzh/bits-time/tree/gh-pages/sinatra-rtc Sinatra RTC] A WebRTC project that uses Sinatra (Ruby) as the main server and PeerJS as the WebRTC api, along with PeerJS-Server as the signaling server.
* [https://github.com/zhirzh/cab-me website design for CabMe]
+
* [https://github.com/zhirzh/cab-me CabMe] The initial website for startup CabMe
* [https://github.com/zhirzh/tis-alchemy 'Tis Alchemy - clone of Little Alchemy]
+
* [https://github.com/zhirzh/tis-alchemy 'Tis Alchemy] A JS+Ruby clone of the game Little Alchemy
 
* [https://github.com/zhirzh/bitsacm-new New website for BITS ACM]
 
* [https://github.com/zhirzh/bitsacm-new New website for BITS ACM]
 
* [https://github.com/zhirzh/just-javascript-things Motion detection with vanilla JS]
 
* [https://github.com/zhirzh/just-javascript-things Motion detection with vanilla JS]
 +
 +
[https://github.com/DVM-S/astrocytes Code.Fun.Do project] - Qualified for the Microsoft Code.Fun.Do Finalist Forums (Nationals)
 +
 +
==The community==
 +
===Successful completion===
 +
When an OS level application is ported onto web, it becomes much easier to access it. All that is needed is a browser and internet. Moon, Sugar and Fototoon are activities that nurture curiosity and creativity. By making these webapps, I can introduce larger number of children to these technologies.
 +
 +
===Getting stuck===
 +
If I do get stuck, there are a few things that I can do:
 +
* Drop a mail to the mentors.
 +
* If I am unable to reach them, I can ask other community developers for help in the IRC and the mailing list
 +
* Meanwhile, internet (google, stackoverflow, personal blogs etc) are all at my disposal
 +
* As a last resort, I will reach out to my college friends who can help me.
 +
* On the off chance that all my attempts fail, I will move on to a different part of the project - one that is not affected by the problem.
 +
 +
===Keeping informed===
 +
* A follow up page on the wiki, containing progress in great detail.
 +
* Online demos of the current status
 +
* Maintain a ToDo file in the github repository
 +
* Post (frequently) in the mailing list, asking for feedback.

Revision as of 17:41, 22 March 2016

About Me

My name

SHIRSH ZIBBU


My email address

zibs.shirsh@gmail.com


My Sugar Labs wiki username

zhirzh


My IRC nickname on irc.freenode.net

zhirzh (on webchat.freenode.net)


My first language

Hindi is my native language. I am also comfortable with English.


My location and Working hours preference

I live in Rajasthan, India. I find the following working hours comfortable.

  • UTC(18.30 - 00.30) => IST(00.00 - 06.00)
  • UTC(04.30 - 10.30) => IST(10.00 - 16.00)


Past experience and Reason to participate this summer

Working in an open-source project is something new to me. I have been working with javascript for the past two years, but always worked on small to medium scaled projects - most of them for college activities, fests etc. I enjoyed the time I was working on projects and I felt the experience is invaluable.

But recently, I have felt the need to work on something on a larger scale. The reason I want to work for an open-source project is multi faceted. Primarily, it is the exposure and experience. Working with a team of friends is different than working for/with an organization. And that difference can only be felt by working for one.

Secondly, the idea open-source resonates with my thinking. I respect the fact how open-source allows people all around to help projects that matter to them. The concept removes the need to re-invent the wheel whenever someone requires a preexisting tool with a little tinkering.

And finally, the sheer joy. I get ecstatic when I see my projects taking shape and when they are finally done. It is for that feeling that I want to work for SugarLabs for the upcoming summers.


About my project

My project

Sugarizer Activity Set

Description

Quoting the project description on the projects page Quoting the project description on the 'projects page'

The goal of this project is to port some famous Sugar activities into HTML5/Javascript Sugar Web activities that will be include into the Sugarizer Package. Three activities will be ported:

  1. Moon: Moon is a Moon phase viewer, includes Lunar phase information and eclipse data.
  2. Speak: Speak is a talking face. Anything you type will be spoken aloud using the speech synthesizer, espeak.
  3. Fototoon: Fototoon is an activity that let user create cartoons using pictures from the journal.

Sugar activities can run only on Sugar environment. This limits their access. The web project Sugarizer, however, works in browsers and is easier to access and use. People can more easily try activities available as web-apps. As an added bonus, the main project also gains popularity.

Technologies involved

The main requirement will be Javascript, with basic familiarity of HTML and CSS. Under javascript, some specific web-APIs are required:

Some project specific Javascript libraries are also needed:

Timeline

Working Days Target

March 20 - March 30 (10 days)

Speak:

  • Implement types of eyes and change the number
  • Implement cursor following algo
  • Implement 'talk back'

April 1 - April 20 (20 days)

Speak:

  • Implement changing of mouths
  • Implement chatbot

April 21 - April 25 (5 days)

Moon:

  • Fix minor bugs in the entire app
  • Check for cross-browser compatibility

April 26 - May 5 (10 days)

Speak:

  • Fix minor bugs in the interface

May 6 - May 20 (15 days)

May 21 - May 25 (5 days)

Fototoon:

  • Implement photo upload and download
  • Implement Fabric.js object for interactive canvas operations

May 25 - May 30 (10 days)

Fototoon:

  • Implement Fabric.js object for interactive canvas operations

June 1 - June 5 (5 days)

Moon:

  • Fix any remaining bugs

June 10 - June 15 (5 days)

Speak:

  • Fix major bugs
  • Give finishing touches to already implemented features

June 15 - June 20 (5 days)

Fototoon:

  • Fix major bugs
  • Give finishing touches to already implemented features

June 21 - June 28 (8 days)

Midterm Evaluation

July 1 - July 30 (30 days)

All 3:

  • Work with mentor towards removing bugs, improving compatibility, improving code structure and begin documentation

August 1 - August 20 (20 days)

All 3:

  • Test application in different environments - browsers, versions, screen sizes, internet connections, touch support

August 21

Code submission

It is for the following reasons that I am confident that I will successfully finish the project.

  • Experience of 2 years (and counting) with the Javascript.
  • No other commitments in the summer.
  • College stays off during summers (May to August). Can devote as much as 10 hours per day.

I have also been working on a prototype for Moon activity since March 5, 2016.

https://zhirzh.github.io/sugarizer-activity-moon/

Some of the projects that I have worked on:

Code.Fun.Do project - Qualified for the Microsoft Code.Fun.Do Finalist Forums (Nationals)

The community

Successful completion

When an OS level application is ported onto web, it becomes much easier to access it. All that is needed is a browser and internet. Moon, Sugar and Fototoon are activities that nurture curiosity and creativity. By making these webapps, I can introduce larger number of children to these technologies.

Getting stuck

If I do get stuck, there are a few things that I can do:

  • Drop a mail to the mentors.
  • If I am unable to reach them, I can ask other community developers for help in the IRC and the mailing list
  • Meanwhile, internet (google, stackoverflow, personal blogs etc) are all at my disposal
  • As a last resort, I will reach out to my college friends who can help me.
  • On the off chance that all my attempts fail, I will move on to a different part of the project - one that is not affected by the problem.

Keeping informed

  • A follow up page on the wiki, containing progress in great detail.
  • Online demos of the current status
  • Maintain a ToDo file in the github repository
  • Post (frequently) in the mailing list, asking for feedback.