Difference between revisions of "Summer of Code/Jatin Dhankhar"

From Sugar Labs
Jump to navigation Jump to search
(Created page with "Google Summer of Code - 2017 Sugar Labs Proposal ==Improving ASLO== OVERVIEW ===About Me=== * Name:​ Jatin Dhankhar * Email: ​dhankhar.jatin@gmail.com (Primary), jatin@jat...")
 
 
(4 intermediate revisions by the same user not shown)
Line 51: Line 51:
  
 
I have contributed to
 
I have contributed to
* https://github.com/adambard/learnxinyminutes-docs (Code documentation written as code! How
+
* https://github.com/adambard/learnxinyminutes-docs (Code documentation written as code! How novel and totally my idea!)
novel and totally my idea!)
+
* https://github.com/sftrabbit/CppSamples-Samples (A repository of modern C++ samples curated by the community.)
* https://github.com/sftrabbit/CppSamples-Samples (A repository of modern C++ samples curated
+
* https://github.com/bento-io/collection (A guided tour through the best free coding tutorials on the web)
by the community.)
 
* https://github.com/bento-io/collection (A guided tour through the best free coding tutorials on the
 
web)
 
 
* https://github.com/privly
 
* https://github.com/privly
 
You can visit my Github Profile (https://github.com/jatindhankhar) for more details
 
You can visit my Github Profile (https://github.com/jatindhankhar) for more details
 +
 
===Participation in Open Source===
 
===Participation in Open Source===
 
Whenever I have an awesome idea, most of the time it ends up being a personal project. Some
 
Whenever I have an awesome idea, most of the time it ends up being a personal project. Some
 
of my personal projects are
 
of my personal projects are
* https://github.com/jatindhankhar/intersect - Intersect - Send and propagate notifications
+
* https://github.com/jatindhankhar/intersect - Intersect - Send and propagate notifications via Email and SMS. Currently used by my College Authorities
via Email and SMS. Currently used by my College Authorities
+
* https://github.com/jatindhankhar/shorl - I made a simple and native (unofficial) client for the Goo.gl as part of my Udacity Android Nanodegree Program and it was my Capstone
* https://github.com/jatindhankhar/shorl - I made a simple and native (unofficial) client for
+
Project as well. It is early beta phase, here is the play store Link (https://play.google.com/store/apps/details?id=in.jatindhankhar.shorl)
the Goo.gl as part of my Udacity Android Nanodegree Program and it was my Capstone
+
* https://github.com/jatindhankhar/flif: I made this little fun app for the Flockathon. My app was inspired by the stock giphy extension which lets users upload gifs by specifying a keyword but this was limited since user cannot select the GIF he wants, one of th gif from relevant to that keyword is uploaded. So I introduced an app that let's user select the GIF that he/she wants and send/share it to somebody. Youtube demo can be seen here https://www.youtube.com/watch?v=6O3rFn4KPng&feature=youtu.be
Project as well. It is early beta phase, here is the play store Link
 
(https://play.google.com/store/apps/details?id=in.jatindhankhar.shorl)
 
* https://github.com/jatindhankhar/flif: I made this little fun app for the Flockathon. My app
 
was inspired by the stock giphy extension which lets users upload gifs by specifying a
 
keyword but this was limited since user cannot select the GIF he wants, one of th gif from
 
relevant to that keyword is uploaded. So I introduced an app that let's user select the GIF
 
that he/she wants and send/share it to somebody. Youtube demo can be seen here
 
https://www.youtube.com/watch?v=6O3rFn4KPng&feature=youtu.be
 
  
 
==About my GSOC Project==
 
==About my GSOC Project==
Line 85: Line 75:
 
===GOALS===
 
===GOALS===
 
Overview can be divided into following sub goals:
 
Overview can be divided into following sub goals:
* Improve look/theme of ASLO​: Current theme of ASLO seems outdated in comparison to
+
* Improve look/theme of ASLO​: Current theme of ASLO seems outdated in comparison to rest of the sugar ecosystem and making it look modern and easy to user. Here is an instance developer/user register is not visually appealing and there is not sufficient whitespace.
rest of the sugar ecosystem and making it look modern and easy to user. Here is an
 
instance developer/user register is not visually appealing and there is not sufficient
 
whitespace.
 
 
* Maintain ASLO: ​This involves fixing the platform, closing in bugs and finding new ones,
 
* Maintain ASLO: ​This involves fixing the platform, closing in bugs and finding new ones,
also migration to new languages and tooling. For instance making project work with new
+
also migration to new languages and tooling. For instance making project work with new version of Sphinx, since current version used in source repo is 0.9.9-rc2 (which is over two years old and archived).
version of Sphinx, since current version used in source repo is 0.9.9-rc2 (which is
 
over two years old and archived).
 
 
Relevant PR - https://github.com/sugarlabs/aslo/pull/2
 
Relevant PR - https://github.com/sugarlabs/aslo/pull/2
* Adding a CI Pipeline: ​Adding a CI pipeline will help test integrity of the project, run
+
* Adding a CI Pipeline: ​Adding a CI pipeline will help test integrity of the project, run automate tests with each new pull request and help collaboration easier as well as automate the deployment.
automate tests with each new pull request and help collaboration easier as well as
+
* Develop new ASLO: ​ Following point conflicts with second point, but seems a more viable option than maintaining a slightly dormant system. Develop a new ASLO, preferably under a new subdomain, like activities3.sugarlabs.org, using Django as backend and using git based backend for storing activities to ensure easy rollback and maintenance for developers. Arch Linux, did the same for user provided packages, this approach can be quite useful Arch User Repository. Include robust and useful metadata available which can help in sorting,categorization based upon version number of the activity itself, sugar version with which activity is compatible.
automate the deployment.
+
 
* Develop new ASLO: ​ Following point conflicts with second point, but seems a more viable
 
option than maintaining a slightly dormant system. Develop a new ASLO, preferably under
 
a new subdomain, like activities3.sugarlabs.org, using Django as backend and using git
 
based backend for storing activities to ensure easy rollback and maintenance for
 
developers. Arch Linux, did the same for user provided packages, this approach can be
 
quite useful Arch User Repository. Include robust and useful metadata available which
 
can help in sorting,categorization based upon version number of the activity itself, sugar
 
version with which activity is compatible.
 
 
===Benefits to Sugar Labs===
 
===Benefits to Sugar Labs===
 
Above mentioned goals will help Sugar Lab by
 
Above mentioned goals will help Sugar Lab by
 
* Giving users relevant activities first​ (if we implement recommendation engine),
 
* Giving users relevant activities first​ (if we implement recommendation engine),
* Help users and developers communicate and discuss bug reports and features ​(if we
+
* Help users and developers communicate and discuss bug reports and features ​(if we improve review system and add option to send bug reports)
improve review system and add option to send bug reports)
+
* Automate deployment and improve collaboration ​(if we add a CI pipeline and migrate to new version of the tools/languages used)
* Automate deployment and improve collaboration ​(if we add a CI pipeline and migrate to
+
* Improve UI and UX to create enjoyable experience ​(if we improve the look/theme of the website and encrypt our emails)
new version of the tools/languages used)
+
 
* Improve UI and UX to create enjoyable experience ​(if we improve the look/theme of the
 
website and encrypt our emails)
 
 
===Timeline===
 
===Timeline===
 
May 4 - May 30 Community bonding, getting to know
 
May 4 - May 30 Community bonding, getting to know
Line 145: Line 120:
  
 
===Me and the community===
 
===Me and the community===
* If your project is successfully completed, what will its impact be on the Sugar Labs
+
* 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.
community? Give 3 answers, each 1-3 paragraphs in length. The first one should be
+
* Success of this project will help make Sugar more fun and accessible. It’s often noticed that Software Centers help make a platform. Some notable examples include Android and Ubuntu. Making more third party activities available via ASLO would ensure that Sugar reaches both new users and developers. It will also ensure that many developers (not necessarily Sugar members) can reach children and help create tools for them, which would help them learn new and interesting things
yours. The other two should be answers from members of the Sugar Labs community, at
+
;Walter Bender (Quoting email conversation): Most notably, the notification system is really broken. No indication by email that there are new activities or updates to review. Otherwise, this looks great.
least one of whom should be a Sugar Labs GSoC mentor. Provide email contact
+
;Tony Anderson (Quoting email conversation): The ASLO site is in desparate need of work. At the moment I am trying to find out which of the activities actually work in the current release of Sugar. The library currently has about 600 activities. A Sugar activity is intended to be self-contained (any dependencies not satisfied by Sugar are to be incorporated in the bundle). Naturally, an activity should work on any Sugar. However, this situation is becoming very complicated. First, two of the XO models (1 and 1.5) have Intel 32 bit architecture processors. The others (1.75 and 4) have Arm processors. Some of the activities incorporate binary modules which limit their use. The Sugar community wishes to support Sugar on a range of platforms. For mobile devices, Lionel Laske is developing Sugarizer. While traditional activities were implemented in Python (with some binary exceptions using Java or C), Sugarizer activities are written in Javascript (HTML5 and CSS). Naturally a trend in modern computers is to 64 bit architecture (AMD 64).
information for non-GSoC mentors.
 
* Success of this project will help make Sugar more fun and accessible. It’s often noticed
 
that Software Centers help make a platform. Some notable examples include Android
 
and Ubuntu. Making more third party activities available via ASLO would ensure that
 
Sugar reaches both new users and developers. It will also ensure that many developers
 
(not necessarily Sugar members) can reach children and help create tools for them,
 
which would help them learn new and interesting things
 
;Walter Bender (Quoting email conversation): Most notably, the notification system is really broken. No indication by email that
 
there are new activities or updates to review. Otherwise, this looks great.
 
;Tony Anderson (Quoting email conversation): The ASLO site is in desparate need of work. At the moment I am trying to find out
 
which of the activities actually work in the current release of Sugar. The library currently has
 
about 600 activities. A Sugar activity is intended to be self-contained (any dependencies not
 
satisfied by Sugar are to be incorporated in the bundle). Naturally, an activity should work on
 
any Sugar. However, this situation is becoming very complicated. First, two of the XO models
 
(1 and 1.5) have Intel 32 bit architecture processors. The others (1.75 and 4) have Arm
 
processors. Some of the activities incorporate binary modules which limit their use. The Sugar
 
community wishes to support Sugar on a range of platforms. For mobile devices, Lionel Laske
 
is developing Sugarizer. While traditional activities were implemented in Python (with some
 
binary exceptions using Java or C), Sugarizer activities are written in Javascript (HTML5 and
 
CSS). Naturally a trend in modern computers is to 64 bit architecture (AMD 64).
 
  
 
What will you do if you get stuck on your project and your mentor isn't around?
 
What will you do if you get stuck on your project and your mentor isn't around?
* There are lots of information available. People on IRC and the dev mailing list seems
+
* There are lots of information available. People on IRC and the dev mailing list seems friendly and helpful, also my experience with stackoverflow has been nice.
friendly and helpful, also my experience with stackoverflow has been nice.
 
  
How do you propose you will be keeping the community informed of your progress and
+
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?
any problems or questions you might have over the course of the project?
 
 
* Via blogs, mailing lists and IRC. This also helps others suggest and review my work :)
 
* Via blogs, mailing lists and IRC. This also helps others suggest and review my work :)

Latest revision as of 15:49, 17 May 2017

Google Summer of Code - 2017 Sugar Labs Proposal

Improving ASLO

OVERVIEW

About Me

  • Name:​ Jatin Dhankhar
  • Email: ​dhankhar.jatin@gmail.com (Primary), jatin@jatindhankhar.in (Professional)
  • IRC: ​jatindhankhar
  • Website: ​https://jatindhankhar.in
  • Languages: ​Hindi (Native), English
  • Location: ​I currently live in New Delhi, INDIA. My current timezone is UTC+05:30. I intend

to work from 9:30 AM to 10:00 PM which can be adjusted to 8:00 AM to 11:30 PM AM in case of urgent work.

Biographical Information

My name is Jatin Dhankhar. I am a final year undergraduate student at University of Delhi studying Computer Science. I learned Android development from Android Developer Nanodegree at Udacity and currently learning about Self Driving Cars from Self Driving Car Engineer Nanodegree, also from Udacity. I truly believe that computers and intelligent adaptive systems will change the future. I am passionate about helping and reaching people via my work and touching their lives in a positive manner. I made an app for farmers to help them keep track of cold stores, market prices and other necessities that they need to take care of while producing crop. App is named Krishi (hindi for Farming) and it helped me win App Showcase jointly organized by Google and Udacity, through which I landed an internship at Tata Trusts and helped them in researching current apps and use of mobile apps to help Tribal people of Orissa. I am familiar with Deep Learning,Computer Vision, Web development ( my strong area is Backend development but know enough Front end to get the job done) and android development. Here are some relevant links.

Github - https://github.com/jatindhankhar

Resume - https://jatindhankhar.in/files/resume.pdf

LinkedIN - https://www.linkedin.com/in/jatindhankhar

Participation in Open Source

I have been a big open source enthusiast since I got to know about the concept back in 2013. I have written numerous articles for Open Source for You Magazine, formerly known as Linux for You. Here are the article titles I have written

  • August 2015 - Using BiiCode, the C/C++ Dependency Manager
  • February 2015 - Automating Browsers with Ruby and Watir-webdriver
  • September 2014 - Nix A Portable and Powerful Package Manager
  • July 2014 - Ghost: A Powerful Blogging Platform
  • April 2014 - Using Xposed Framework to Tweak Your Android
  • March 2014 - Create an Android-friendly Hotspot in Linux
  • February 2014 - Preview Your Files in GNOME

I am also a member of Open Source Self Driving Group which aims to bring knowledge of self driving cars to everyone so that everyone can contribute to it, I mainly work on improving website and blog.

I have contributed to

You can visit my Github Profile (https://github.com/jatindhankhar) for more details

Participation in Open Source

Whenever I have an awesome idea, most of the time it ends up being a personal project. Some of my personal projects are

Project as well. It is early beta phase, here is the play store Link (https://play.google.com/store/apps/details?id=in.jatindhankhar.shorl)

  • https://github.com/jatindhankhar/flif: I made this little fun app for the Flockathon. My app was inspired by the stock giphy extension which lets users upload gifs by specifying a keyword but this was limited since user cannot select the GIF he wants, one of th gif from relevant to that keyword is uploaded. So I introduced an app that let's user select the GIF that he/she wants and send/share it to somebody. Youtube demo can be seen here https://www.youtube.com/watch?v=6O3rFn4KPng&feature=youtu.be

About my GSOC Project

http://activities.sugarlabs.org/, often addressed as ASLO​ is the Sugar Labs app store, where activities are hosted and downloaded. It serves as main network for distribution of apps/activities available for the system and helps users find relevant and interesting activities, which would ultimately help them learn and grow. Main aim is to maintain and fix ASLO, adding new and meaningful features that help make ASLO easy to use both for developers and users, doing intended operation with as much minimal intervention as possible.

GOALS

Overview can be divided into following sub goals:

  • Improve look/theme of ASLO​: Current theme of ASLO seems outdated in comparison to rest of the sugar ecosystem and making it look modern and easy to user. Here is an instance developer/user register is not visually appealing and there is not sufficient whitespace.
  • Maintain ASLO: ​This involves fixing the platform, closing in bugs and finding new ones,

also migration to new languages and tooling. For instance making project work with new version of Sphinx, since current version used in source repo is 0.9.9-rc2 (which is over two years old and archived). Relevant PR - https://github.com/sugarlabs/aslo/pull/2

  • Adding a CI Pipeline: ​Adding a CI pipeline will help test integrity of the project, run automate tests with each new pull request and help collaboration easier as well as automate the deployment.
  • Develop new ASLO: ​ Following point conflicts with second point, but seems a more viable option than maintaining a slightly dormant system. Develop a new ASLO, preferably under a new subdomain, like activities3.sugarlabs.org, using Django as backend and using git based backend for storing activities to ensure easy rollback and maintenance for developers. Arch Linux, did the same for user provided packages, this approach can be quite useful Arch User Repository. Include robust and useful metadata available which can help in sorting,categorization based upon version number of the activity itself, sugar version with which activity is compatible.

Benefits to Sugar Labs

Above mentioned goals will help Sugar Lab by

  • Giving users relevant activities first​ (if we implement recommendation engine),
  • Help users and developers communicate and discuss bug reports and features ​(if we improve review system and add option to send bug reports)
  • Automate deployment and improve collaboration ​(if we add a CI pipeline and migrate to new version of the tools/languages used)
  • Improve UI and UX to create enjoyable experience ​(if we improve the look/theme of the website and encrypt our emails)

Timeline

May 4 - May 30 Community bonding, getting to know users, conducting User surveys based on mockups and getting constant feedback from users and other fellow developers as well discuss technical preferences and implementations of sub goals with mentors

June 30 - July 24 Implement suggested implementations Add CI pipeline Encrypt outbound emails Apply theme (as decided by User survey and discussion)

July 25 - August 20 Implement recommendation engine and review system along with new features

August 20 - September 1 Polish ASLO, weed out remaining bugs and gather feedback

September 2 - September 4 Document all findings preferably (although documenting will happen during all phase but during period, it will be indexed and well organized) into Wiki and continue working on adding features beyond the scope of the project.

Me 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.
  • Success of this project will help make Sugar more fun and accessible. It’s often noticed that Software Centers help make a platform. Some notable examples include Android and Ubuntu. Making more third party activities available via ASLO would ensure that Sugar reaches both new users and developers. It will also ensure that many developers (not necessarily Sugar members) can reach children and help create tools for them, which would help them learn new and interesting things
Walter Bender (Quoting email conversation)
Most notably, the notification system is really broken. No indication by email that there are new activities or updates to review. Otherwise, this looks great.
Tony Anderson (Quoting email conversation)
The ASLO site is in desparate need of work. At the moment I am trying to find out which of the activities actually work in the current release of Sugar. The library currently has about 600 activities. A Sugar activity is intended to be self-contained (any dependencies not satisfied by Sugar are to be incorporated in the bundle). Naturally, an activity should work on any Sugar. However, this situation is becoming very complicated. First, two of the XO models (1 and 1.5) have Intel 32 bit architecture processors. The others (1.75 and 4) have Arm processors. Some of the activities incorporate binary modules which limit their use. The Sugar community wishes to support Sugar on a range of platforms. For mobile devices, Lionel Laske is developing Sugarizer. While traditional activities were implemented in Python (with some binary exceptions using Java or C), Sugarizer activities are written in Javascript (HTML5 and CSS). Naturally a trend in modern computers is to 64 bit architecture (AMD 64).

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

  • There are lots of information available. People on IRC and the dev mailing list seems friendly and helpful, also my experience with stackoverflow has been nice.

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?

  • Via blogs, mailing lists and IRC. This also helps others suggest and review my work :)