Summer of Code/Jatin Dhankhar

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

novel and totally my idea!)

by the community.)

web)

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

via Email and SMS. Currently used by my College Authorities

the Goo.gl as part of my Udacity Android Nanodegree Program and it was my Capstone 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)

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