Difference between revisions of "Summer of Code/2017"

From Sugar Labs
Jump to navigation Jump to search
 
(15 intermediate revisions by 8 users not shown)
Line 1: Line 1:
 +
GSoC 2017 projects
 +
<center>
 +
{| border=1 cellpadding=3 style="border: 1px solid white; border-collapse: collapse; background: #e3e4e5;"
 +
|-style="background:#787878; color: white;"
 +
! Student !! Mentors !! Proposal Link !! Blog Link
 +
|-
 +
| width=25%; valign=top | Raphael Teyssandier
 +
| width=25%; valign=top | Michaël Ohayon and Lionel Laské
 +
| width=25%; valign=top | [https://summerofcode.withgoogle.com/dashboard/project/4957188710727680/overview/ Sugarizer Deployment Tool]<br>[[Summer of Code/Raphael Teyssandier]]
 +
| width=25%; valign=top | [http://sugarizer-deployment-tool.blogspot.fr/ blog]
 +
|-
 +
| width=25%; valign=top | Tarun Kumar Singhal
 +
| width=25%; valign=top | Lionel Laské and Michaël Ohayon
 +
| width=25%; valign=top | [https://summerofcode.withgoogle.com/dashboard/project/6698013379526656/overview/ Sugarizer Server Dashboard]<br>[[Summer of Code/Tarun Kumar Singhal]]
 +
| width=25%; valign=top | [https://github.com/tarunsinghal92/sugarizer-backend/wiki blog]
 +
|-
 +
| width=25%; valign=top | Jatin Dhankhar
 +
| width=25%; valign=top | Sam Cantero and Tony Anderson
 +
| width=25%; valign=top | [https://summerofcode.withgoogle.com/dashboard/project/4987332267606016/overview/ Maintaining ASLO]<br>[[Summer of Code/Jatin Dhankhar]]
 +
| width=25%; valign=top | [https://jatindhankhar.in/blog blog]
 +
|-
 +
| width=25%; valign=top | Sanjay Kumar
 +
| width=25%; valign=top | Tony Anderson and Ignacio Rodriguez
 +
| width=25%; valign=top | [https://summerofcode.withgoogle.com/dashboard/project/5716653544308736/overview/ Mind Math Activity]<br>[[Summer of Code/Sanjay Kumar]]
 +
| width=25%; valign=top | [http://sanjaykumarap.blogspot.in/ blog]
 +
|-
 +
| width=25%; valign=top | P. Seetarama Raju
 +
| width=25%; valign=top | Samson Goddy and Walter Bender
 +
| width=25%; valign=top | [https://summerofcode.withgoogle.com/dashboard/project/6106673893605376/overview/ Giving Sugar Labs Website a New Look]<br>[[Summer of Code/Seetarama Raju]]
 +
| width=25%; valign=top | [https://psramarajugsocblog.wordpress.com blog]
 +
|-
 +
| width=25%; valign=top | Zeeshan Khan
 +
| width=25%; valign=top | Ignacio Rodriguez and Walter Bender
 +
| width=25%; valign=top | [https://summerofcode.withgoogle.com/dashboard/project/5325121714651136/overview/ Say no to Gtk2]<br>[[Summer of Code/Zeeshan Khan]]
 +
| width=25%; valign=top | [https://zeeshanblogblog.wordpress.com blog]
 +
|-
 +
| width=25%; valign=top | Rishabh Thaney
 +
| width=25%; valign=top | Abhijit Patel, Hrishi Patel, Walter Bender
 +
| width=25%; valign=top | [https://summerofcode.withgoogle.com/dashboard/project/4860989563469824/overview/ Sugar on Raspberry Pi]<br>[[Summer of Code/Rishabh Thaney]]
 +
| width=25%; valign=top | [https://sugaronraspberrypi.wordpress.com/ blog]
 +
|-
 +
| width=25%; valign=top | Tayba Wasim
 +
| width=25%; valign=top | Devin Ulibarri, Cristina Del Puerto, Hrishi Patel
 +
| width=25%; valign=top | [https://summerofcode.withgoogle.com/dashboard/project/4549541150851072/overview/ Timbre Widget for Music Blocks]<br>[[Summer of Code/Tayba Wasim]]
 +
| width=25%; valign=top | [https://tabs16blog.wordpress.com/ blog]
 +
|-
 +
| width=25%; valign=top | Dinuka Tharangi
 +
| width=25%; valign=top | Devin Ulibarri, Cristina Del Puerto, Hrishi Patel
 +
| width=25%; valign=top | [https://summerofcode.withgoogle.com/dashboard/project/5761551930753024/overview/ User Manual for Music Blocks]<br>[[Summer of Code/Dinuka Tharangi]]
 +
| width=25%; valign=top | [http://dinukaasblog.blogspot.com/ blog]
 +
|-
 +
| width=25%; valign=top | Prachi Agrawal
 +
| width=25%; valign=top | Devin Ulibarri, Cristina Del Puerto, Hrishi Patel
 +
| width=25%; valign=top | [https://outreachy.gnome.org/?q=view_projects&prg=8&p=1588 Music Blocks Improvements]<br>[[Summer of Code/Prachi Agrawal|Outreachy/Prachi Agrawal]]
 +
| width=25%; valign=top | [https://medium.com/feed/@pragr07 RSS feed]
 +
|}
 +
 +
</center>
 +
 +
== Sponsored Projects ==
 +
 +
[https://summerofcode.withgoogle.com/organizations/5544862897143808/ Sugar Labs at GSoC]
 +
 
== Project Ideas ==
 
== Project Ideas ==
  
{| border=1 cellpadding=3 style="border: 1px solid white; border-collapse: collapse; background: #e3e4e5;"
+
{| border="1" cellpadding="3" style="border: 1px solid white; border-collapse: collapse; background: #e3e4e5;"
 
|-style="background:#787878; color: white;"
 
|-style="background:#787878; color: white;"
 
!Title
 
!Title
Line 37: Line 100:
 
|-
 
|-
 
| valign=top width="15%" style="background:#e3e4e5;" |Giving Sugar Labs Website a New Look
 
| valign=top width="15%" style="background:#e3e4e5;" |Giving Sugar Labs Website a New Look
| valign=top width="15%" | Ignacio Rodriguez<br>Samson Goddy<br>Dave Crossland<br>Tymon Radzik
+
| valign=top width="15%" | Ignacio Rodriguez<br>Samson Goddy<br>Tymon Radzik
 +
Hrishi Patel
 
| align=left valign=top |
 
| align=left valign=top |
 
;Brief explanation: Sugar Labs would like a new look for its [https://github.com/sugarlabs/www-sugarlabs homepage], with the goals of making it more attractive and easier to explore (See link to get more information concerning the [https://github.com/sugarlabs/www-sugarlabs/blob/master/STRUCTURE.md proposed homepage]).
 
;Brief explanation: Sugar Labs would like a new look for its [https://github.com/sugarlabs/www-sugarlabs homepage], with the goals of making it more attractive and easier to explore (See link to get more information concerning the [https://github.com/sugarlabs/www-sugarlabs/blob/master/STRUCTURE.md proposed homepage]).
Line 46: Line 110:
 
|-
 
|-
 
| valign=top width="15%" style="background:#e3e4e5;" |Maintenance of activities.sugarlabs.org (ASLO)
 
| valign=top width="15%" style="background:#e3e4e5;" |Maintenance of activities.sugarlabs.org (ASLO)
| valign=top width="15%" | (volunteers?)
+
| valign=top width="15%" | Tony Anderson
 
| align=left valign=top |
 
| align=left valign=top |
 
;Brief explanation: http://activities.sugarlabs.org/ is the Sugar Labs app store, where activities are hosted and downloaded.  Some maintenance tasks are needed.  Sugar uses activities.sugarlabs.org in Software Update in My Settings, and has a link to it in the Browse default page.
 
;Brief explanation: http://activities.sugarlabs.org/ is the Sugar Labs app store, where activities are hosted and downloaded.  Some maintenance tasks are needed.  Sugar uses activities.sugarlabs.org in Software Update in My Settings, and has a link to it in the Browse default page.
Line 70: Line 134:
  
 
|-
 
|-
| valign=top width="15%" style="background:#e3e4e5;" |Sugarizer Server Dashboard<br>[[File:Dashboard server.png|90px|thumb|center]]  
+
| valign=top width="15%" style="background:#e3e4e5;" |{{anchor|sugdash}}Sugarizer Server Dashboard<br>[[File:Dashboard server.png|90px|thumb|center]]  
 
| valign=top width="15%" | Lionel Laské<br>Michaël Ohayon
 
| valign=top width="15%" | Lionel Laské<br>Michaël Ohayon
 
|align=left valign=top |
 
|align=left valign=top |
Line 86: Line 150:
  
 
|-
 
|-
| valign=top width="15%" style="background:#e3e4e5;" |Sugarizer Deployement and Management Tool for Android<br>
+
| valign=top width="15%" style="background:#e3e4e5;" |{{anchor|sugmdm}}Sugarizer Deployement and Management Tool for Android<br>[[File:Sugarizermdmtool.png|90px|thumb|center]]
 
| valign=top width="15%" | Michaël Ohayon<br>Lionel Laské
 
| valign=top width="15%" | Michaël Ohayon<br>Lionel Laské
 
|align=left valign=top |
 
|align=left valign=top |
Line 105: Line 169:
 
| valign=top width="15%" style="background:#e3e4e5;" |User Manual for Music Blocks<br>[[File:Music-Blocks.png|90px|thumb|center]]
 
| valign=top width="15%" style="background:#e3e4e5;" |User Manual for Music Blocks<br>[[File:Music-Blocks.png|90px|thumb|center]]
 
| valign=top width="15%" | Walter Bender<br>Devin Ulibarri
 
| valign=top width="15%" | Walter Bender<br>Devin Ulibarri
 +
Hrishi Patel
 
| align=left valign=top |
 
| align=left valign=top |
 
;Brief explanation: We have a [https://github.com/walterbender/musicblocks/blob/master/guide/README.md Guide], but we really need something a bit more polished as a user manual.
 
;Brief explanation: We have a [https://github.com/walterbender/musicblocks/blob/master/guide/README.md Guide], but we really need something a bit more polished as a user manual.
Line 113: Line 178:
 
| valign=top width="15%" style="background:#e3e4e5;" |Just say no to GTK2
 
| valign=top width="15%" style="background:#e3e4e5;" |Just say no to GTK2
 
| valign=top width="15%" | Ignacio Rodriguez<br>Sam Parkinson
 
| valign=top width="15%" | Ignacio Rodriguez<br>Sam Parkinson
 +
Abhijit Patel
 
| align=left valign=top |
 
| align=left valign=top |
 
;Brief explanation: GTK2 and GST0.10 are end of life. We need to upgrade the remaining activities with these dependencies.
 
;Brief explanation: GTK2 and GST0.10 are end of life. We need to upgrade the remaining activities with these dependencies.
Line 130: Line 196:
 
| valign=top width="15%" |Sebastian Silva<br>Jonas Smedegaard
 
| valign=top width="15%" |Sebastian Silva<br>Jonas Smedegaard
 
| align=left valign=top |
 
| align=left valign=top |
;Brief explanation: Debian is a base for many educational derivative distribution. We would like to make a SugarBlend that is a good base for local integrators.
+
;Brief explanation: Debian is a base for many educational derivative distribution. We would like to make a SugarBlend that is a good base for local integrators.  See https://wiki.debian.org/SugarBlend and [[Debian]].
 
;Expected results: Debian SugarBlend of upcoming Debian 9 (Stretch)
 
;Expected results: Debian SugarBlend of upcoming Debian 9 (Stretch)
 
;Knowledge prerequisites: Debian packaging, Linux system, Shell scripting
 
;Knowledge prerequisites: Debian packaging, Linux system, Shell scripting
Line 137: Line 203:
 
| valign=top width="15%" style="background:#e3e4e5;" |Sugar on Raspberry Pi
 
| valign=top width="15%" style="background:#e3e4e5;" |Sugar on Raspberry Pi
 
| valign=top width="15%" |Walter Bender
 
| valign=top width="15%" |Walter Bender
 +
Hrishi Patel
 +
Abhijit Patel
 
| align=left valign=top |
 
| align=left valign=top |
 
;Brief explanation: Raspberry Pi is a popular tool with the Maker Movement. Sugar runs quite well on RPi3, but it is in need of some love.
 
;Brief explanation: Raspberry Pi is a popular tool with the Maker Movement. Sugar runs quite well on RPi3, but it is in need of some love.
;Expected results: Packaged Sugar for RPi suitable for inclusion on the [https://www.raspberrypi.org/downloads/ RPi download page].
+
;Expected results: An image for RPi, which boots to a Sugar desktop environment, and is suitable for inclusion on the [https://www.raspberrypi.org/downloads/ RPi download page].
 
;Knowledge prerequisites: Debian and/or Fedora packaging, Linux system, Shell scripting
 
;Knowledge prerequisites: Debian and/or Fedora packaging, Linux system, Shell scripting
|}
+
 
 +
 
 +
|-
 +
| valign=top width="15%" style="background:#e3e4e5;" |Music Blocks for Mobile<br>[[File:Music-Blocks.png|90px|thumb|center]]
 +
| valign=top width="15%" | Walter Bender<br>Devin Ulibarri
 +
| align=left valign=top |
 +
;Brief explanation: Music Blocks was written for a browser, not mobile. It would be great to have a version native to mobile.
 +
;Expected results: Working version on Android/and/or iOS. Some UI adjustments will be necessary.
 +
;Knowledge prerequisites: Knowledge of JavaScript/Codrova/React and/or Swift.
 +
 
 +
|
 +
 
 +
|-
 +
| valign=top width="15%" style="background:#e3e4e5;" |Collab Rethink<br>
 +
| valign=top width="15%" | Abhijit Patel<br>Walter Bender
 +
| align=left valign=top |
 +
;Brief explanation: Sugar collaboration uses a deprecated library, python-telepathy, which we no longer wish to maintain. We need to upgrade Sugar collab using something better
 +
;Expected results: Working version of revised collab system.
 +
* Refactored presenceservice
 +
* Common Collabwrapper module for all sugar activities.
 +
 
 +
;Knowledge prerequisites: python, prior knowledge of networking. knowledge of telepathy might be useful.
 +
|
 +
}|}|}|}

Latest revision as of 14:08, 13 January 2018

GSoC 2017 projects

Student Mentors Proposal Link Blog Link
Raphael Teyssandier Michaël Ohayon and Lionel Laské Sugarizer Deployment Tool
Summer of Code/Raphael Teyssandier
blog
Tarun Kumar Singhal Lionel Laské and Michaël Ohayon Sugarizer Server Dashboard
Summer of Code/Tarun Kumar Singhal
blog
Jatin Dhankhar Sam Cantero and Tony Anderson Maintaining ASLO
Summer of Code/Jatin Dhankhar
blog
Sanjay Kumar Tony Anderson and Ignacio Rodriguez Mind Math Activity
Summer of Code/Sanjay Kumar
blog
P. Seetarama Raju Samson Goddy and Walter Bender Giving Sugar Labs Website a New Look
Summer of Code/Seetarama Raju
blog
Zeeshan Khan Ignacio Rodriguez and Walter Bender Say no to Gtk2
Summer of Code/Zeeshan Khan
blog
Rishabh Thaney Abhijit Patel, Hrishi Patel, Walter Bender Sugar on Raspberry Pi
Summer of Code/Rishabh Thaney
blog
Tayba Wasim Devin Ulibarri, Cristina Del Puerto, Hrishi Patel Timbre Widget for Music Blocks
Summer of Code/Tayba Wasim
blog
Dinuka Tharangi Devin Ulibarri, Cristina Del Puerto, Hrishi Patel User Manual for Music Blocks
Summer of Code/Dinuka Tharangi
blog
Prachi Agrawal Devin Ulibarri, Cristina Del Puerto, Hrishi Patel Music Blocks Improvements
Outreachy/Prachi Agrawal
RSS feed

Sugar Labs at GSoC

Project Ideas

Title Mentor Project


Internationalization and Localization Chris Leonard
Brief explanation
A goal of Sugar Labs is to enable our users to experience Sugar in their own native language. See Translation Proposal To Do List for details. See Translation Team for framework description.
Expected results
Work flow improvements for i18n
Knowledge prerequisites
Some knowledge of Pootle; some scripting experience; Python and JavaScript


New Back-end Server for Turtle Blocks and Music Blocks
Git logo.png
Walter Bender
Vikram Ahuja
Ignacio Rodriguez
Brief explanation
Last year we sponsored an exploration of using a git-like back end for projects so that they could be cloned, forked, etc. This summer we would like to implement and deploy this new approach.
Expected results
Deployment of "git" back end.
Knowledge prerequisites
Knowledge of Git, JavaScript, server-side skills


Going Beyond Equal Temperament in Music Blocks
Music-Blocks.png
Walter Bender
Devin Ulibarri
Brief explanation
Most modern music systems are designed around equal temperament. But there are many ways to chose and tune notes in a musical system that offer different expressive characteristics. See also Music Blocks issues.
Expected results
Extend Music Blocks such that different approaches to temperament are available to the user.
Knowledge prerequisites
Knowledge of JavaScript, music theory


Giving Sugar Labs Website a New Look Ignacio Rodriguez
Samson Goddy
Tymon Radzik

Hrishi Patel

Brief explanation
Sugar Labs would like a new look for its homepage, with the goals of making it more attractive and easier to explore (See link to get more information concerning the proposed homepage).
Expected results
Deployment of a new website for Sugar Labs
Knowledge prerequisites
JavaScript, HTML, CSS, Ruby, JQuery, jeckyl, and/or django


Maintenance of activities.sugarlabs.org (ASLO) Tony Anderson
Brief explanation
http://activities.sugarlabs.org/ is the Sugar Labs app store, where activities are hosted and downloaded. Some maintenance tasks are needed. Sugar uses activities.sugarlabs.org in Software Update in My Settings, and has a link to it in the Browse default page.
Expected results
Fix downloads by non-Sugar browsers; old versions are offered. Fix downloads by new versions of Sugar; old versions are offered. Make activity maintainer take-over easier; not easy at the moment. Adopt the new look from the new sugarlabs.org site; theme now is quite old. Show new activity.info metadata such as source repository. Other problems listed in bugs.sugarlabs.org against component activities.sugarlabs.org. Semi-automate common maintenance tasks; like adding a new Sugar version. Document future maintenance on the Wiki.
Knowledge prerequisites
PHP, MySQL, Python, Apache, cron, PHP-Cake, JavaScript, HTML, CSS, and git. See source code.


School Management Backend Walter Bender
Brief explanation
Sugar is a desktop and a collection of apps. It has great internal features for collaboration and journaling. But it doesn't have any mechanism for managing courses/curriculum/administrative functions commonly found in "school management systems". It could be possible to overlay on top of Sugar web-services such a toolkit.
Expected results
a framework, a core implementation, and documentation for expanding the implementation.
Knowledge prerequisites
Python, django
Timbre Widget for Music Blocks
Music-Blocks.png
Walter Bender
Devin Ulibarri
Brief explanation
Ayush Kumar designed a widget for designing voices for Music Blocks (See [1]). This project would be to implement the design.
Expected results
a working widget for Music Blocks for manipulating Timbre.
Knowledge prerequisites
JavaScript
Sugarizer Server Dashboard
Dashboard server.png
Lionel Laské
Michaël Ohayon
Brief explanation
Sugarizer is a way to use Sugar on any device using web technologies (HTML5/JavaScript). Strictly speaking, Sugarizer is not a port of Sugar. Sugarizer is based on Sugar Web library, which mimics the Sugar UI using HTML5 and CSS3 and reproduces Sugar views (Home, List, ...). Sugarizer reimplements features of Sugar Core (datastore and journal) in JavaScript and integrates activities written for Sugar in Sugar Web. The goal of this specific project is to create the "Sugarizer Server Dashboard". This feature will require an enhancement of the existing Sugarizer Server API specifically to integrate a real authentication mechanism.
Expected results
Sugarizer Server Dashboard is a web admin console for Sugarizer Server. The Dashboard will allow to manage and analyze all activity on a Sugarizer Server. Dashboard features will include:
  • Users: how many users has been registered on the server, how many users currently connected, top users on the server, last users connection, create/edit/remove an user.
  • Journal: how many Journals and how many entries in Journal on the server, last Journal and last entries, size of Journals, top Journals, edit a journal (see/update/remove) entries.
  • Application: how many applications are available on the server, change application visibility from Client, update order and way to appear in favorite view.
  • Graphic and request: display graphics and report on previous data.
Knowledge prerequisites
HTML5/JavaScript, bootstrap, node.js, MongoDB
How to start
Clone the Sugarizer repository, then install Sugarizer server using instructions here, finally explore the Sugarizer Server API and think about way to implement dashboard features with existing API.
Sugarizer Deployement and Management Tool for Android
Sugarizermdmtool.png
Michaël Ohayon
Lionel Laské
Brief explanation
Sugarizer is a way to use Sugar on any device using web technologies. Sugarizer can be deployed on many devices including Android phones and tablets. The goal of this specific project is to create the "Sugarizer Deployment and Management Tool for Android".
Expected results
Sugarizer Server Deployment and Management Tool is a GUI Tool working on GNU/Linux, Mac and Windows to deploy and configure Android devices using ADB (Android Debug Bridge).
  • Inventory : Collect and store devices data like serial number, os version, device name, installed applications, current Android launcher and Sugarizer availability.
  • Application Manager : Install or remove applications using APK files.
  • File Manager : Add / Remove files
  • Input Manager : Click / Touch coordinates on the screen, launch applications to perform automations.
  • Scenario Writer : Allow non developpers to create sequences to perform all the steps previously defined.
Knowledge prerequisites
Java and JavaFX / Kotlin and TornadoFX
How to start
Create a Java or Kotlin project using Intellij and display a window using JavaFX or TornadoFX. Then add https://github.com/vidstige/jadb and display connected android devices in the window.
User Manual for Music Blocks
Music-Blocks.png
Walter Bender
Devin Ulibarri

Hrishi Patel

Brief explanation
We have a Guide, but we really need something a bit more polished as a user manual.
Expected results
A website and PDF document that can be bound.
Knowledge prerequisites
Knowledge of music theory, writing skills
Just say no to GTK2 Ignacio Rodriguez
Sam Parkinson

Abhijit Patel

Brief explanation
GTK2 and GST0.10 are end of life. We need to upgrade the remaining activities with these dependencies.
Expected results
New versions of Turtle, Speak, Chat, Record, and a dozen others
Knowledge prerequisites
Knowledge of GTK, GST, and Python
Develop Activity
AKA Pippy JS, Taller del Artesano 2
Sebastian Silva
Brief explanation
We don't have a Javascript IDE for writing activities. This is a proposal to collaborate in making one. It would have templates for writing Javascript and Python.
Expected results
New activity capable of making new activities, runnable in Web and Sugarizer
Knowledge prerequisites
Python, Javascript, HTML5, CSS
Debian SugarBlend

A.K.A: Harmonic Distribution, Deployment Platform

Sebastian Silva
Jonas Smedegaard
Brief explanation
Debian is a base for many educational derivative distribution. We would like to make a SugarBlend that is a good base for local integrators. See https://wiki.debian.org/SugarBlend and Debian.
Expected results
Debian SugarBlend of upcoming Debian 9 (Stretch)
Knowledge prerequisites
Debian packaging, Linux system, Shell scripting
Sugar on Raspberry Pi Walter Bender

Hrishi Patel Abhijit Patel

Brief explanation
Raspberry Pi is a popular tool with the Maker Movement. Sugar runs quite well on RPi3, but it is in need of some love.
Expected results
An image for RPi, which boots to a Sugar desktop environment, and is suitable for inclusion on the RPi download page.
Knowledge prerequisites
Debian and/or Fedora packaging, Linux system, Shell scripting


Music Blocks for Mobile
Music-Blocks.png
Walter Bender
Devin Ulibarri
Brief explanation
Music Blocks was written for a browser, not mobile. It would be great to have a version native to mobile.
Expected results
Working version on Android/and/or iOS. Some UI adjustments will be necessary.
Knowledge prerequisites
Knowledge of JavaScript/Codrova/React and/or Swift.
Collab Rethink
Abhijit Patel
Walter Bender
Brief explanation
Sugar collaboration uses a deprecated library, python-telepathy, which we no longer wish to maintain. We need to upgrade Sugar collab using something better
Expected results
Working version of revised collab system.
  • Refactored presenceservice
  • Common Collabwrapper module for all sugar activities.
Knowledge prerequisites
python, prior knowledge of networking. knowledge of telepathy might be useful.

}|}|}|}