Student Application Template
To fill this in, copy the source text. Please don't rename the template.
This is a suggestion for the kind of information we'll find useful from students in their submissions. Remember -- you're going to be committing to several months' work. The more information and planning you can provide up-front, the more we (and Google!) will have to go on when we're ranking your application. Do not forget adding your submission at SummerOfCode2016/StudentApplications
Name: Shing Sheung Daniel Ip (Daniel Ip)
Contact/Email/IRC nick: ip4368overclocker@gmail.com IRC: ?DanielIp
Background: Familiar with AngularJS, has been doing angular in hackathon(only one in charge), know about Python (demonstrating a subject taught by Python in Uni) but not familiar with Flask.
Project name: Debsources on mobile
Project details: Debsources provides Web access to all of Debian source code. Debsources allows to browse, search, and render Debian source code, as well as compute code metrics and statistics that encompass all available source packages. This GSoC project aims at developing a mobile version of Debsources.
Source Browsing - The SPA can request for the whole packages sources list, the frontend can use filtering to let user to search for packages. Then, the users should choose the package and the suite.
After that, I suggest a collapsable menu on the left as the folder of the package source, it will defaultly open as user need to browse for the file they want. When they have chosen the file, the left side menu will collapse and the code will be loaded up. When users are browsing for files/folders, the details of the folders/files including the permission and file size will be hidden; users can perform the hold-click on folders/files, then a popup with the details will be shown.
But the real difficulties just arrived, everyone knows that it is such a nightmare to view code on a small screen. And it is not easy to be solved. Yet, here’s my idea. On the left hand side of the screen, the line numbers will still be shown; the font size of the code cannot be too small, therefore, it is not possible to show the whole line of codes, and horizontal scrolling shouldn’t be turned on while the vertical scrolling is possible as it will be quite troublesome to just scroll down. But there must be a way for the user to view the whole line of code: the user need to click on the line number, then that line of code will be slightly highlighted (other lines will be slightly dimmer), at this moment, the vertical scrolling will be disabled and horizontal scrolling will be allowed on that line. Whenever the user want to stop focusing on that line, the user just need to click anywhere beyond that line, the vertical scrolling will be back.
Statistic - For the statistic, there’re images on the desktop version desktop version, but that might not be favorable to mobile, as the size of the graph might not fit well. I suggest that we might use Chart.js, a html5 js library to do the client side graph rendering. The frontend (might be Angular) will just get the data from the json API and will plot it with Chart.js. It will be much clearer and users can actually click on the graph, to see a little bit more details on a particular point on the graph.
Synopsis: Build a mobile site for Debsources.
Benefits to Debian: developer can participate with source work easier
Deliverables: The mobile website being built up with Flask as JSON API.
Project schedule: Estimated as 2 months
Exams and other commitments: My exam will be at June, but totally free in July.
Other summer plans: I have no other plan.
Why Debian?: The main reason that I chose Debian rather than other Linux is because Debian support most CPU architecture, so whenever I need to work with a platform, I can still use what I have learnt.
My previous Debian contributions: Not much, did a bug report to Gnome but not Debian.
- Not applying any other SoC, because I can't find any other that suit that well and I am interested in. Not much project requiring Angular/frontend JS framework!