Summer of Code/Jatin Dhankhar: Difference between revisions

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 :)