Difference between revisions of "Summer of Code/2018"

From Sugar Labs
Jump to navigation Jump to search
Line 5: Line 5:
 
== Project Ideas ==
 
== Project Ideas ==
  
<big>''' Internationalization and Localization ''' </big>
+
{| border="1" cellpadding="3" style="border: 1px solid white; border-collapse: collapse; background: #e3e4e5;"
 
+
|-style="background:#787878; color: white;"
{|border="1" cellpadding="3" style="border: 1px solid white; border-collapse: collapse;
+
!Title
| valign=top width="25%" |'''''Mentors''''' <br> Chris Leonard
+
!Mentor
 +
!Project
  
 +
|-
 +
| valign=top width="15%" style="background:#e3e4e5;" |Internationalization and Localization
 +
| valign=top width="15%" |Chris Leonard
 
| align=left valign=top |
 
| align=left valign=top |
 
;Brief explanation: A goal of Sugar Labs is to enable our users to experience Sugar in their own native language. See [[Translation_Proposal#ToDo:|Translation Proposal To Do List]] for details.  See [[Translation Team]] for framework description.
 
;Brief explanation: A goal of Sugar Labs is to enable our users to experience Sugar in their own native language. See [[Translation_Proposal#ToDo:|Translation Proposal To Do List]] for details.  See [[Translation Team]] for framework description.
 
;Expected results: Work flow improvements for i18n
 
;Expected results: Work flow improvements for i18n
 
;Knowledge prerequisites: Some knowledge of Pootle; some scripting experience; Python and JavaScript
 
;Knowledge prerequisites: Some knowledge of Pootle; some scripting experience; Python and JavaScript
|}
 
 
<big>''' Full-color icons ''' </big>
 
 
{|border="1" cellpadding="3" style="border: 1px solid white; border-collapse: collapse;
 
| valign=top width="25%" |'''''Mentors''''' <br> Design team
 
  
 +
|-
 +
| valign=top width="15%" style="background:#e3e4e5;" |Full-color icons
 +
| valign=top width="15%" |Design team
 
| align=left valign=top |
 
| align=left valign=top |
 
;Brief explanation: We have been discussing the implications of removing the duo-tone restriction on Sugar icons, allowing for full-color icons. We can likely use badges to compensate for any functionality we'd lose. (See [https://medium.com/@sidhant/designing-interfaces-for-education-systems-with-sugar-labs-rethinking-icons-on-sugar-614120e7ec6f] as one example of how we might proceed.)
 
;Brief explanation: We have been discussing the implications of removing the duo-tone restriction on Sugar icons, allowing for full-color icons. We can likely use badges to compensate for any functionality we'd lose. (See [https://medium.com/@sidhant/designing-interfaces-for-education-systems-with-sugar-labs-rethinking-icons-on-sugar-614120e7ec6f] as one example of how we might proceed.)
 
;Expected results: A patch to Sugar that uses badges to manage the icon notifications such as activity and sharing
 
;Expected results: A patch to Sugar that uses badges to manage the icon notifications such as activity and sharing
 
;Knowledge prerequisites: Knowledge of GTK; Python.
 
;Knowledge prerequisites: Knowledge of GTK; Python.
|}
 
 
<big>''' Music Blocks optimizations ''' </big>
 
 
{|border="1" cellpadding="3" style="border: 1px solid white; border-collapse: collapse;
 
| valign=top width="25%" |[[File:Music-Blocks.png|90px|thumb|center]] <br> '''''Mentors''''' <br> Walter Bender
 
  
 +
|-
 +
| valign=top width="15%" style="background:#e3e4e5;" |Music Blocks optimizations<br>[[File:Music-Blocks.png|90px|thumb|center]]
 +
| valign=top width="15%" | Walter Bender
 
| align=left valign=top |
 
| align=left valign=top |
 
;Brief explanation: Music Blocks has never been optimized in any way. It would be helpful to review the tone.js optimization recommendations, as well as build some unit tests to measure and improve the program itself.
 
;Brief explanation: Music Blocks has never been optimized in any way. It would be helpful to review the tone.js optimization recommendations, as well as build some unit tests to measure and improve the program itself.
 
;Expected results: A more robust and responsive Music Blocks.
 
;Expected results: A more robust and responsive Music Blocks.
 
;Knowledge prerequisites: Knowledge of JavaScript, unit testing
 
;Knowledge prerequisites: Knowledge of JavaScript, unit testing
|}
 
 
<big>''' Going Beyond Equal Temperament in Music Blocks ''' </big>
 
 
{|border="1" cellpadding="3" style="border: 1px solid white; border-collapse: collapse;
 
| valign=top width="25%" |[[File:Music-Blocks.png|90px|thumb|center]] <br> '''''Mentors''''' <br> Walter Bender<br>Devin Ulibarri<br>Sachiko Nakajima<br>Marnen Laibow-Koser
 
  
 +
|-
 +
| valign=top width="15%" style="background:#e3e4e5;" |Going Beyond Equal Temperament in Music Blocks<br>[[File:Music-Blocks.png|90px|thumb|center]]
 +
| valign=top width="15%" | Walter Bender<br>Devin Ulibarri<br>Sachiko Nakajima<br>Marnen Laibow-Koser
 
| align=left valign=top |
 
| align=left valign=top |
 
;Brief explanation: Most modern music systems are designed around [https://en.wikipedia.org/wiki/Equal_temperament equal temperament]. But there are many ways to [https://en.wikipedia.org/wiki/Musical_temperament chose and tune notes] in a musical system that offer different expressive characteristics.  See also [https://github.com/walterbender/musicblocks/labels/temperament MB issues for temperament], [https://owncloud.libretools.com/index.php/s/2GtAhkvQpt3fYfF Articles about temperament, scales, and tuning] and [https://owncloud.libretools.com/index.php/s/PmPfZ1yMhimQomG various materials related to temperament (.tb files that achieve temperament with existing MB features, videos of those files being performed, notes)]
 
;Brief explanation: Most modern music systems are designed around [https://en.wikipedia.org/wiki/Equal_temperament equal temperament]. But there are many ways to [https://en.wikipedia.org/wiki/Musical_temperament chose and tune notes] in a musical system that offer different expressive characteristics.  See also [https://github.com/walterbender/musicblocks/labels/temperament MB issues for temperament], [https://owncloud.libretools.com/index.php/s/2GtAhkvQpt3fYfF Articles about temperament, scales, and tuning] and [https://owncloud.libretools.com/index.php/s/PmPfZ1yMhimQomG various materials related to temperament (.tb files that achieve temperament with existing MB features, videos of those files being performed, notes)]
 
;Expected results: Extend Music Blocks such that different approaches to temperament are available to the user.
 
;Expected results: Extend Music Blocks such that different approaches to temperament are available to the user.
 
;Knowledge prerequisites: Knowledge of JavaScript, music theory
 
;Knowledge prerequisites: Knowledge of JavaScript, music theory
|}
 
 
 
<big>''' Maintenance of activities.sugarlabs.org (ASLO) ''' </big>
 
 
{|border="1" cellpadding="3" style="border: 1px solid white; border-collapse: collapse;
 
| valign=top width="25%" |'''''Mentors''''' <br> Sam CG
 
  
 +
|-
 +
| valign=top width="15%" style="background:#e3e4e5;" |Maintenance of activities.sugarlabs.org (ASLO)
 +
| valign=top width="15%" | Sam CG
 
| 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.  During GSoC 2017 we built ASLO v3 to address a number of deficiencies. But we have a few odds and ends that need to be addressed to bring the new site on line.
 
;Brief explanation: http://activities.sugarlabs.org/ is the Sugar Labs app store, where activities are hosted and downloaded.  During GSoC 2017 we built ASLO v3 to address a number of deficiencies. But we have a few odds and ends that need to be addressed to bring the new site on line.
 
;Expected results: Update missing license and repository info on the activities found in the Sugar Labs github repository. Popular the database for the new ASLO. Do extensive testing (including creating some test suites.) Document future maintenance on the Wiki.
 
;Expected results: Update missing license and repository info on the activities found in the Sugar Labs github repository. Popular the database for the new ASLO. Do extensive testing (including creating some test suites.) Document future maintenance on the Wiki.
;Knowledge prerequisites: PHP, MySQL, Python, Apache, cron, PHP-Cake, JavaScript, HTML, CSS, and git.  See [https://github.com/sugarlabs/aslo-v3].  
+
;Knowledge prerequisites: PHP, MySQL, Python, Apache, cron, PHP-Cake, JavaScript, HTML, CSS, and git.  See [https://github.com/sugarlabs/aslo-v3].
|}
 
 
 
 
 
<big>''' Lesson Plans for Music Blocks ''' </big>
 
 
 
{|border="1" cellpadding="3" style="border: 1px solid white; border-collapse: collapse;
 
| valign=top width="25%" |[[File:Music-Blocks.png|90px|thumb|center]] <br> '''''Mentors''''' <br> Walter Bender<br>Devin Ulibarri<br>Sachiko Nakajima
 
  
 +
|-
 +
| valign=top width="15%" style="background:#e3e4e5;" |Lesson Plans for Music Blocks<br>[[File:Music-Blocks.png|90px|thumb|center]]
 +
| valign=top width="15%" | Walter Bender<br>Devin Ulibarri<br>Sachiko Nakajima
 +
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 some more scaffolding in the form of lesson plans.
 
;Brief explanation: We have a [https://github.com/walterbender/musicblocks/blob/master/guide/README.md Guide], but we really need some more scaffolding in the form of lesson plans.
 
;Expected results: A website and PDF document that can be bound.
 
;Expected results: A website and PDF document that can be bound.
 
;Knowledge prerequisites: Knowledge of music theory, writing skills
 
;Knowledge prerequisites: Knowledge of music theory, writing skills
|}
 
 
 
<big>''' Just say no to GTK2 ''' </big>
 
 
{|border="1" cellpadding="3" style="border: 1px solid white; border-collapse: collapse;
 
| valign=top width="25%" |'''''Mentors''''' <br> Ignacio Rodriguez<br>Cristian Garcia
 
  
 +
|-
 +
| valign=top width="15%" style="background:#e3e4e5;" |Just say no to GTK2
 +
| valign=top width="15%" | Ignacio Rodriguez<br>Cristian Garcia
 +
Abhijit Patel<br>Ibiam Chihurumnaya
 
| 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.
 
;Expected results: New versions of at least 25 existing Sugar activities.
 
;Expected results: New versions of at least 25 existing Sugar activities.
 
;Knowledge prerequisites: Knowledge of GTK, GST, and Python
 
;Knowledge prerequisites: Knowledge of GTK, GST, and Python
|}
 
 
<big>''' Updating a new design of Sugarlabs wiki ''' </big>
 
 
{|border="1" cellpadding="3" style="border: 1px solid white; border-collapse: collapse;
 
| valign=top width="25%" |'''''Mentors''''' <br> Jaskirat Singh<br>Walter bender
 
  
 +
|-
 +
| valign=top width="15%" style="background:#e3e4e5;" |Updating a new design of Sugarlabs wiki
 +
| valign=top width="15%" | Jaskirat Singh<br>Walter bender
 
| align=left valign=top |
 
| align=left valign=top |
 
;Brief explanation: we are lacking in look of wiki.sugarlabs.org page. It looks ugly and unfriendly and need to be updated with a good design
 
;Brief explanation: we are lacking in look of wiki.sugarlabs.org page. It looks ugly and unfriendly and need to be updated with a good design
 
;Expected results: New design of Wiki page of Sugarlabs
 
;Expected results: New design of Wiki page of Sugarlabs
 
;Knowledge prerequisites: Knowledge of mediawiki and use of some basic languages
 
;Knowledge prerequisites: Knowledge of mediawiki and use of some basic languages
|}
 
 
<big>''' Outreach ''' </big>
 
 
{|border="1" cellpadding="3" style="border: 1px solid white; border-collapse: collapse;
 
| valign=top width="25%" |'''''Mentors''''' <br> Walter Bender
 
  
 +
|-
 +
|valign=top width="15%" style="background:#e3e4e5;" |Outreach
 +
| valign=top width="15%" | Walter Bender
 
| align=left valign=top |
 
| align=left valign=top |
 
;Brief explanation: We don't have a very friendly approach to outreach to new contributors. It would be great to make it easier to get involved and to navigate the path towards contributing to Sugar Labs. The goal of this project is to revamp our approach to outreach.  
 
;Brief explanation: We don't have a very friendly approach to outreach to new contributors. It would be great to make it easier to get involved and to navigate the path towards contributing to Sugar Labs. The goal of this project is to revamp our approach to outreach.  
 
;Expected results: A set of pages similar to [https://publiclab.github.io/community-toolbox/] and [https://publiclab.org/wiki/software-outreach]
 
;Expected results: A set of pages similar to [https://publiclab.github.io/community-toolbox/] and [https://publiclab.org/wiki/software-outreach]
 
;Knowledge prerequisites: community outreach experience; some coding experience (to create requisite artifacts)
 
;Knowledge prerequisites: community outreach experience; some coding experience (to create requisite artifacts)
|}
 
 
<big>''' Making a Beginner Guide ''' </big>
 
 
{|border="1" cellpadding="3" style="border: 1px solid white; border-collapse: collapse;
 
| valign=top width="25%" |'''''Mentors''''' <br> Jaskirat Singh<br>Walter Bender
 
  
 +
|-
 +
|valign=top width="15%" style="background:#e3e4e5;" |Making a Beginner Guide
 +
| valign=top width="15%" | Jaskirat Singh<br>Walter Bender
 
| align=left valign=top |
 
| align=left valign=top |
 
;Brief explanation: We don't have a beginner guide for the newcomers to the Sugar labs Community. It would be great to guide them by guiding them how to contribute through making these "form where to start? , What to start? , How to start? , Where to submit? " . [http://api.coala.io/en/latest/Developers/Newcomers_Guide.html Example] The goal of this project is to Help newcomers to get introduce in easy way to the world of Sugar Labs
 
;Brief explanation: We don't have a beginner guide for the newcomers to the Sugar labs Community. It would be great to guide them by guiding them how to contribute through making these "form where to start? , What to start? , How to start? , Where to submit? " . [http://api.coala.io/en/latest/Developers/Newcomers_Guide.html Example] The goal of this project is to Help newcomers to get introduce in easy way to the world of Sugar Labs
 
;Expected results: A set of website pages and also documentation in Pdf form with this the problems of newcomers about their contribution will be solved and they can work easily
 
;Expected results: A set of website pages and also documentation in Pdf form with this the problems of newcomers about their contribution will be solved and they can work easily
 
;Knowledge prerequisites: community research , GitHub , coding experience ( HTML, CSS )
 
;Knowledge prerequisites: community research , GitHub , coding experience ( HTML, CSS )
|}
 
 
 
<big>''' New Social Sugarlabs website ''' </big>
 
 
{|border="1" cellpadding="3" style="border: 1px solid white; border-collapse: collapse;
 
| valign=top width="25%" |[[File:Social Site.jpg|90px|thumb|center]] <br> '''''Mentors''''' <br> Jaskirat Singh<br>Samson Goddy
 
  
 +
|-
 +
| valign=top width="15%" style="background:#e3e4e5;" |New Social Sugarlabs website<br>[[File:Social Site.jpg|90px|thumb|center]]
 +
| valign=top width="15%" | Jaskirat Singh<br>Samson Goddy
 
| align=left valign=top |
 
| align=left valign=top |
 
;Brief explanation: Its a social website that can be used to attract maximum users and everything ( Blogs, New projects, Softwares, Activities, etc) can be uploaded on it which will attract more user and create their interest  
 
;Brief explanation: Its a social website that can be used to attract maximum users and everything ( Blogs, New projects, Softwares, Activities, etc) can be uploaded on it which will attract more user and create their interest  
 
;Expected results: It should be over viewed by people around the world
 
;Expected results: It should be over viewed by people around the world
 
;Knowledge prerequisites: Good Layout designing and coding experience
 
;Knowledge prerequisites: Good Layout designing and coding experience
|}
 
 
<big>''' Making a marketing animated website page of sugarlabs ''' </big>
 
 
{|border="1" cellpadding="3" style="border: 1px solid white; border-collapse: collapse;
 
| valign=top width="25%" |'''''Mentors''''' <br> Jaskirat Singh<br>Samson Goddy
 
  
 +
|-
 +
| valign=top width="15%" style="background:#e3e4e5;" |Making a marketing animated website page of sugarlabs
 +
| valign=top width="15%" | Jaskirat Singh<br>Samson Goddy
 
| align=left valign=top |
 
| align=left valign=top |
 
;Brief explanation:We need to develop a link that is website-page that will include a page with animations explaining all the things we have in Sugarlabs (as a marketing) like these examples [http://meta-liquid.com/  See[1] ], [http://education.iceandsky.com/ See [2] ]
 
;Brief explanation:We need to develop a link that is website-page that will include a page with animations explaining all the things we have in Sugarlabs (as a marketing) like these examples [http://meta-liquid.com/  See[1] ], [http://education.iceandsky.com/ See [2] ]
 
;Expected results: A UI/UX layout and a main page that can be used to market the things in an animated way  
 
;Expected results: A UI/UX layout and a main page that can be used to market the things in an animated way  
 
;Knowledge prerequisites: Knowledge of marketing and use of some basic languages ( HTML, CSS styling, PHP)
 
;Knowledge prerequisites: Knowledge of marketing and use of some basic languages ( HTML, CSS styling, PHP)
|}
 
 
<big>''' Lilypond Methodical Improvements to how Music Blocks generates Lilypond output ''' </big>
 
 
{|border="1" cellpadding="3" style="border: 1px solid white; border-collapse: collapse;
 
| valign=top width="25%" |[[File:Music-Blocks.png|90px|thumb|center]] <br> '''''Mentors''''' <br> Walter Bender<br>Devin Ulibarri<br>Marnen Laibow-Koser
 
  
 +
|-
 +
| valign=top width="15%" style="background:#e3e4e5;" |Lilypond Methodical Improvements to how Music Blocks generates Lilypond output <br>[[File:Music-Blocks.png|90px|thumb|center]]
 +
| valign=top width="15%" | Walter Bender<br>Devin Ulibarri<br>Marnen Laibow-Koser
 
| align=left valign=top |
 
| align=left valign=top |
 
;Brief explanation: Music Blocks is capable of exporting [https://www.lilypond.org Lilypond] code of which general instructions can be found [https://github.com/walterbender/musicblocks/tree/master/guide#BEYOND-MUSIC-BLOCKS here in the Music Blocks guide] and its [https://github.com/walterbender/musicblocks/ source code can be found here]. We would like to improve existing code where needed and implement needed features in a methodical way, which means we must 1) document how the Music Blocks source code works for current and future developers to learn and benefit from and 2) project manage this portion of Music Blocks development (e.g. "what works" and "what needs to be done". [https://owncloud.libretools.com/index.php/s/tgJAX5yMEzQsENf An example of a draft of a simple type of this analysis exists for you to start from.]), as well as 3) implement and improve features.
 
;Brief explanation: Music Blocks is capable of exporting [https://www.lilypond.org Lilypond] code of which general instructions can be found [https://github.com/walterbender/musicblocks/tree/master/guide#BEYOND-MUSIC-BLOCKS here in the Music Blocks guide] and its [https://github.com/walterbender/musicblocks/ source code can be found here]. We would like to improve existing code where needed and implement needed features in a methodical way, which means we must 1) document how the Music Blocks source code works for current and future developers to learn and benefit from and 2) project manage this portion of Music Blocks development (e.g. "what works" and "what needs to be done". [https://owncloud.libretools.com/index.php/s/tgJAX5yMEzQsENf An example of a draft of a simple type of this analysis exists for you to start from.]), as well as 3) implement and improve features.
 
;Expected results: Implement and improve lilypond export features; Detailed documentation created for developer audience that details how Music Blocks exports to Lilypond; documentation to help manage what needs to be completed.
 
;Expected results: Implement and improve lilypond export features; Detailed documentation created for developer audience that details how Music Blocks exports to Lilypond; documentation to help manage what needs to be completed.
 
;Knowledge prerequisites: Literacy in reading music; functional knowledge of Lilypond code (some of your own scores would be nice); Organizational and Project Management Skills; JavaScript
 
;Knowledge prerequisites: Literacy in reading music; functional knowledge of Lilypond code (some of your own scores would be nice); Organizational and Project Management Skills; JavaScript
|}
 
 
 
<big>''' <strike>Migrating Planet Sugar to Medium</strike> ''' </big>
 
 
{|border="1" cellpadding="3" style="border: 1px solid white; border-collapse: collapse;
 
| valign=top width="25%" |'''''Mentors''''' <br> Jaskirat Singh<br>Samson Goddy
 
  
 +
|-
 +
| valign=top width="15%" style="background:#e3e4e5;" |<strike>Migrating Planet Sugar to Medium</strike>
 +
| valign=top width="15%" | Jaskirat Singh<br>Samson Goddy
 
| align=left valign=top |
 
| align=left valign=top |
 
;Brief explanation:We need to change the look of [http://planet.sugarlabs.org/ Planet Sugar] by embedding [[https://medium.com/|Medium (a blogger)]] into it by using Medium API but design should be changed> Better and interactive layout.
 
;Brief explanation:We need to change the look of [http://planet.sugarlabs.org/ Planet Sugar] by embedding [[https://medium.com/|Medium (a blogger)]] into it by using Medium API but design should be changed> Better and interactive layout.
 
;Expected results: A UI/UX layout and an interactive design which can be easy to use and outreach more.
 
;Expected results: A UI/UX layout and an interactive design which can be easy to use and outreach more.
 
;Knowledge prerequisites: Knowledge of web designing and use of some basic languages ( HTML, CSS styling, JavaScript, PHP)
 
;Knowledge prerequisites: Knowledge of web designing and use of some basic languages ( HTML, CSS styling, JavaScript, PHP)
|}
 
 
 
<big>''' Making Testimonials page on Sugar Labs website ''' </big>
 
 
{|border="1" cellpadding="3" style="border: 1px solid white; border-collapse: collapse;
 
| valign=top width="25%" |'''''Mentors''''' <br> Jaskirat Singh<br>Walter Bender
 
  
 +
|-
 +
| valign=top width="15%" style="background:#e3e4e5;" |Making Testimonials page on Sugar Labs website
 +
| valign=top width="15%" | Jaskirat Singh<br>Walter Bender
 
| align=left valign=top |
 
| align=left valign=top |
 
;Brief explanation:Well, Develop a testimonal webpage on Sugarlabs website by making a good research about the users who have experienced the world of Sugar. That should include videos, blog posts and many more things. For such type of layout example visit ( https://www.chownow.com/testimonials-reviews ) and ( https://www.codecademy.com/stories )
 
;Brief explanation:Well, Develop a testimonal webpage on Sugarlabs website by making a good research about the users who have experienced the world of Sugar. That should include videos, blog posts and many more things. For such type of layout example visit ( https://www.chownow.com/testimonials-reviews ) and ( https://www.codecademy.com/stories )
 
;Expected results: A good layout with more views about sugar Users
 
;Expected results: A good layout with more views about sugar Users
 
;Knowledge prerequisites: Make a research about people using Sugar ...get interaction with them ; know about Sugarlabs  and use of some basic languages ( HTML, CSS styling, JavaScript, PHP)
 
;Knowledge prerequisites: Make a research about people using Sugar ...get interaction with them ; know about Sugarlabs  and use of some basic languages ( HTML, CSS styling, JavaScript, PHP)
|}
 
 
 
  
<big>''' Music Blocks' First Steps for Robotics ''' </big>
 
 
{|border="1" cellpadding="3" style="border: 1px solid white; border-collapse: collapse;
 
| valign=top width="25%" |[[File:Music-Blocks.png|90px|thumb|center]] <br> '''''Mentors''''' <br> Walter Bender<br>Devin Ulibarri
 
  
 +
|-
 +
| valign=top width="15%" style="background:#e3e4e5;" |Music Blocks' First Steps for Robotics <br>[[File:Music-Blocks.png|90px|thumb|center]]
 +
| valign=top width="15%" | Walter Bender<br>Devin Ulibarri
 
| align=left valign=top |
 
| align=left valign=top |
 
;Brief explanation: What is needed to integrate Music Blocks with Robotics? This project is 1) to experiment with existing technologies to see what is already possible, 2) develop features (e.g. plugins, hardware modifications) needed to make interfacing possible, and 3) document the entire process and next steps
 
;Brief explanation: What is needed to integrate Music Blocks with Robotics? This project is 1) to experiment with existing technologies to see what is already possible, 2) develop features (e.g. plugins, hardware modifications) needed to make interfacing possible, and 3) document the entire process and next steps
 
;Expected results: A working method for interfacing with a simple robot; additional features within MB to ease interfacing; and full documentation of how to recreate successful projects (that a classroom could use); communication (we do not want to guess what experiments you are doing by yourself--do not be shy to send emails, videos, pictures DAILY!!!)
 
;Expected results: A working method for interfacing with a simple robot; additional features within MB to ease interfacing; and full documentation of how to recreate successful projects (that a classroom could use); communication (we do not want to guess what experiments you are doing by yourself--do not be shy to send emails, videos, pictures DAILY!!!)
 
;Knowledge prerequisites: Understanding of Javascript (Music Blocks source code) and robotics (no particular method requested, just make sure it is free/libre); demonstratable documentation and self-management skills; NOTE: we value quality, clear ideas over expensive or pretty robots
 
;Knowledge prerequisites: Understanding of Javascript (Music Blocks source code) and robotics (no particular method requested, just make sure it is free/libre); demonstratable documentation and self-management skills; NOTE: we value quality, clear ideas over expensive or pretty robots
|}
 
 
 
<big>''' Create Examples, Compositions, and New Experiments Every Day! ''' </big>
 
 
{|border="1" cellpadding="3" style="border: 1px solid white; border-collapse: collapse;
 
| valign=top width="25%" |[[File:Music-Blocks.png|90px|thumb|center]] <br> '''''Mentors''''' <br> Walter Bender<br>Devin Ulibarri<br>Sachiko Nakajima
 
  
 +
|-
 +
| valign=top width="15%" style="background:#e3e4e5;" |Create Examples, Compositions, and New Experiments Every Day! <br>[[File:Music-Blocks.png|90px|thumb|center]]
 +
| valign=top width="15%" | Walter Bender<br>Devin Ulibarri<br>Sachiko Nakajima
 
| align=left valign=top |
 
| align=left valign=top |
 
;Brief explanation: [https://walterbender.github.io/musicblocks/ Music Blocks] has some examples already, but it would be nice to have one ambitious student really work for the summer to make new creative, thoughtful code everyday. Secondary, but important goals, are bug reports when bugs are found, feature suggestions, and overall good and frequent communication with the Music Blocks team.
 
;Brief explanation: [https://walterbender.github.io/musicblocks/ Music Blocks] has some examples already, but it would be nice to have one ambitious student really work for the summer to make new creative, thoughtful code everyday. Secondary, but important goals, are bug reports when bugs are found, feature suggestions, and overall good and frequent communication with the Music Blocks team.
 
;Expected results: Quality examples sent daily; variety of styles; runs entire gamut in terms of blocks used (we want a number of great examples for each and every block feature); organized documentation of all examples created, which can be finalized in the final weeks of GSoC
 
;Expected results: Quality examples sent daily; variety of styles; runs entire gamut in terms of blocks used (we want a number of great examples for each and every block feature); organized documentation of all examples created, which can be finalized in the final weeks of GSoC
 
;Knowledge prerequisites: Understanding of Music Blocks program; A good proposal is one that has a well-thought out and detailed list of music projects for each day of GSoC (timeframes, blocks used, musical styles, name of music to be transcribed); experience with music and composition/theory is a definate plus.
 
;Knowledge prerequisites: Understanding of Music Blocks program; A good proposal is one that has a well-thought out and detailed list of music projects for each day of GSoC (timeframes, blocks used, musical styles, name of music to be transcribed); experience with music and composition/theory is a definate plus.
|}
 
 
<big>''' Music Blocks UI Improvements and Implementation ''' </big>
 
 
{|border="1" cellpadding="3" style="border: 1px solid white; border-collapse: collapse;
 
| valign=top width="25%" |[[File:Music-Blocks.png|90px|thumb|center]] <br> '''''Mentors''''' <br> Walter Bender<br>Devin Ulibarri
 
  
 +
|-
 +
| valign=top width="15%" style="background:#e3e4e5;" |Music Blocks UI Improvements and Implementation <br>[[File:Music-Blocks.png|90px|thumb|center]]
 +
| valign=top width="15%" | Walter Bender<br>Devin Ulibarri
 
| align=left valign=top |
 
| align=left valign=top |
 
;Brief explanation: [https://walterbender.github.io/musicblocks/ Music Blocks] has a good enough UI, but there are open issues remaining and it would be nice if a person with a high level of understanding of graphics and style were to proposal and implement changes that unify the entire look and feel of Music Blocks.
 
;Brief explanation: [https://walterbender.github.io/musicblocks/ Music Blocks] has a good enough UI, but there are open issues remaining and it would be nice if a person with a high level of understanding of graphics and style were to proposal and implement changes that unify the entire look and feel of Music Blocks.
 
;Expected results: Visually unified, beautiful and intuitive Music Blocks interface. Documentation to benefit future contributors to understand "what Music Blocks style is" (obviously this may change in the future, but a thoughtful rationale for the new style is expected).
 
;Expected results: Visually unified, beautiful and intuitive Music Blocks interface. Documentation to benefit future contributors to understand "what Music Blocks style is" (obviously this may change in the future, but a thoughtful rationale for the new style is expected).
 
;Knowledge prerequisites: Understanding of CSS, Javascript, and HTML. Published work on UI (links to code, websites, etc)
 
;Knowledge prerequisites: Understanding of CSS, Javascript, and HTML. Published work on UI (links to code, websites, etc)
|}
 
 
<big>''' Scales/Modes/Keys Design Improvements and Implementation ''' </big>
 
 
{|border="1" cellpadding="3" style="border: 1px solid white; border-collapse: collapse;
 
| valign=top width="25%" |[[File:Music-Blocks.png|90px|thumb|center]] <br> '''''Mentors''''' <br> Walter Bender<br>Devin Ulibarri<br>Marnen Laibow-Koser<br>Sachiko Nakajima
 
  
 +
|-
 +
| valign=top width="15%" style="background:#e3e4e5;" |Scales/Modes/Keys Design Improvements and Implementation <br>[[File:Music-Blocks.png|90px|thumb|center]]
 +
| valign=top width="15%" | Walter Bender<br>Devin Ulibarri<br>Marnen Laibow-Koser<br>Sachiko Nakajima
 
| align=left valign=top |
 
| align=left valign=top |
 
;Brief explanation: There are features in [https://github.com/walterbender/musicblocks/tree/master/guide#3213-setting-voice-and-keys MB for exploring modes/scales/keys which can are referenced in the guide]. However, we suspect that there are better ways to organize keys. This project would be to reimagine how MB organizes pitches. We recommend that you read the discussions that have taken place already on GitHub as well as research how keys work as well as [https://owncloud.libretools.com/index.php/s/2GtAhkvQpt3fYfF scholarly articles about temperament, scales, and tuning]. Keep in mind that we would like to prepare for the possibility of chromatic pitch spaces that are not 12--for example, a chroma of 5 or 7 or 13, etc. What features and widgets are needed?
 
;Brief explanation: There are features in [https://github.com/walterbender/musicblocks/tree/master/guide#3213-setting-voice-and-keys MB for exploring modes/scales/keys which can are referenced in the guide]. However, we suspect that there are better ways to organize keys. This project would be to reimagine how MB organizes pitches. We recommend that you read the discussions that have taken place already on GitHub as well as research how keys work as well as [https://owncloud.libretools.com/index.php/s/2GtAhkvQpt3fYfF scholarly articles about temperament, scales, and tuning]. Keep in mind that we would like to prepare for the possibility of chromatic pitch spaces that are not 12--for example, a chroma of 5 or 7 or 13, etc. What features and widgets are needed?
 
;Expected results: Detailed documentation created for developer audience that specifies 1) proposed features and overall design, 2) purpose of design choices, 3) audit of code (e.g. What changes to our current approach may be necessary? Are there libraries that may be useful?) 4) widget design proposal as well as MB code design proposal.
 
;Expected results: Detailed documentation created for developer audience that specifies 1) proposed features and overall design, 2) purpose of design choices, 3) audit of code (e.g. What changes to our current approach may be necessary? Are there libraries that may be useful?) 4) widget design proposal as well as MB code design proposal.
 
;Knowledge prerequisites: Understanding of Music Theory and/or group (or set) theory. Please read the articles at https://owncloud.libretools.com/index.php/s/2GtAhkvQpt3fYfF We are looking for candidates that can make a simple and effective design that a future (or current) developer could read and implement.
 
;Knowledge prerequisites: Understanding of Music Theory and/or group (or set) theory. Please read the articles at https://owncloud.libretools.com/index.php/s/2GtAhkvQpt3fYfF We are looking for candidates that can make a simple and effective design that a future (or current) developer could read and implement.
|}
 
 
 
<big>''' Create UI features for music analysis and visualization ''' </big>
 
 
{|border="1" cellpadding="3" style="border: 1px solid white; border-collapse: collapse;
 
| valign=top width="25%" |[[File:Music-Blocks.png|90px|thumb|center]] <br> '''''Mentors''''' <br> Walter Bender<br>Devin Ulibarri<br>Sachiko Nakajima
 
  
 +
|-
 +
| valign=top width="15%" style="background:#e3e4e5;" |Create UI features for music analysis and visualization <br>[[File:Music-Blocks.png|90px|thumb|center]]
 +
| valign=top width="15%" | Walter Bender<br>Devin Ulibarri<br>Sachiko Nakajima
 
| align=left valign=top |
 
| align=left valign=top |
 
;Brief explanation: Music Blocks does not yet have a robust set of tools to help the user analyze their music (e.g. highest pitch, lowest pitch, pitches used, keys, musical form, intervals etc.). Additionally, users would very much benefit from features to help them visualize the way their music is constructed. Perhaps we could even create some features to help the user choose a style of music and the analysis highlights movements that violate that style's particular rules.
 
;Brief explanation: Music Blocks does not yet have a robust set of tools to help the user analyze their music (e.g. highest pitch, lowest pitch, pitches used, keys, musical form, intervals etc.). Additionally, users would very much benefit from features to help them visualize the way their music is constructed. Perhaps we could even create some features to help the user choose a style of music and the analysis highlights movements that violate that style's particular rules.
 
;Expected results: New Features.
 
;Expected results: New Features.
 
;Knowledge prerequisites: Literacy in reading music; Music Theory knowledge; UI knowledge; javascript knowledge
 
;Knowledge prerequisites: Literacy in reading music; Music Theory knowledge; UI knowledge; javascript knowledge
|}
 
 
<big>''' Music Blocks Musical Ornaments Features ''' </big>
 
 
{|border="1" cellpadding="3" style="border: 1px solid white; border-collapse: collapse;
 
| valign=top width="25%" |[[File:Music-Blocks.png|90px|thumb|center]] <br> '''''Mentors''''' <br> Walter Bender<br>Devin Ulibarri<br>Sachiko Nakajima<br>Marnen Laibow-Koser
 
  
 +
|-
 +
| valign=top width="15%" style="background:#e3e4e5;" |Music Blocks Musical Ornaments Features <br>[[File:Music-Blocks.png|90px|thumb|center]]
 +
| valign=top width="15%" | Walter Bender<br>Devin Ulibarri<br>Sachiko Nakajima<br>Marnen Laibow-Koser
 
| align=left valign=top |
 
| align=left valign=top |
 
;Brief explanation: The neighbor block feature is the first of a series of musical ornament features. There are many more possibilities, some of which are described [https://github.com/walterbender/musicblocks/issues/909 in issue 909]. The project would be to implement and document these features as well as to create example programs.
 
;Brief explanation: The neighbor block feature is the first of a series of musical ornament features. There are many more possibilities, some of which are described [https://github.com/walterbender/musicblocks/issues/909 in issue 909]. The project would be to implement and document these features as well as to create example programs.
 
;Expected results: New Features, documentation, and new example programs for each new feature.
 
;Expected results: New Features, documentation, and new example programs for each new feature.
 
;Knowledge prerequisites: Music Theory knowledge; javascript knowledge; knowledge of Music Blocks and tone.js internals (please research)
 
;Knowledge prerequisites: Music Theory knowledge; javascript knowledge; knowledge of Music Blocks and tone.js internals (please research)
|}
 
 
<big>''' Music Blocks Widget Improvements ''' </big>
 
 
{|border="1" cellpadding="3" style="border: 1px solid white; border-collapse: collapse;
 
| valign=top width="25%" |[[File:Music-Blocks.png|90px|thumb|center]] <br> '''''Mentors''''' <br> Walter Bender<br>Devin Ulibarri<br>Sachiko Nakajima<br>Marnen Laibow-Koser
 
  
 +
|-
 +
| valign=top width="15%" style="background:#e3e4e5;" |Music Blocks Widget Improvements <br>[[File:Music-Blocks.png|90px|thumb|center]]
 +
| valign=top width="15%" | Walter Bender<br>Devin Ulibarri<br>Sachiko Nakajima<br>Marnen Laibow-Koser
 
| align=left valign=top |
 
| align=left valign=top |
 
;Brief explanation: Music Blocks has a number of features to help users conceptualize musical concepts, which also help to create code. Please see [https://github.com/walterbender/musicblocks/tree/master/guide#widgets the guide for more]. There are a number of widgets that have not been integrated at all as well. This project would be to 1) fix widget bugs, 2) implement unfinished features ([https://github.com/walterbender/musicblocks/issues?utf8=%E2%9C%93&q=is%3Aissue+is%3Aopen+widgets+ see issues]), and 3) document and fully integrate these new features and improve existing features. [https://github.com/walterbender/musicblocks/issues/663 is also a related feature]
 
;Brief explanation: Music Blocks has a number of features to help users conceptualize musical concepts, which also help to create code. Please see [https://github.com/walterbender/musicblocks/tree/master/guide#widgets the guide for more]. There are a number of widgets that have not been integrated at all as well. This project would be to 1) fix widget bugs, 2) implement unfinished features ([https://github.com/walterbender/musicblocks/issues?utf8=%E2%9C%93&q=is%3Aissue+is%3Aopen+widgets+ see issues]), and 3) document and fully integrate these new features and improve existing features. [https://github.com/walterbender/musicblocks/issues/663 is also a related feature]
 
;Expected results: New Features, fixes, documentation, and new example programs for each new feature.
 
;Expected results: New Features, fixes, documentation, and new example programs for each new feature.
 
;Knowledge prerequisites: Music Theory knowledge; javascript knowledge; knowledge of Music Blocks and tone.js internals (please research)
 
;Knowledge prerequisites: Music Theory knowledge; javascript knowledge; knowledge of Music Blocks and tone.js internals (please research)
|}
+
|-
 +
|valign=top width="15%" style="background:#e3e4e5;" |Sugarizer School Box<br>[[File:Sugarizerschoolbox.jpg|90px|thumb|center]]
 +
|valign=top width="15%" |Michaël Ohayon
  
<big>''' Sugarizer School Box ''' </big>
+
Lionel Laské
 
+
|
{|border="1" cellpadding="3" style="border: 1px solid white; border-collapse: collapse;
 
| valign=top width="25%" |[[File:Sugarizerschoolbox.jpg|90px|thumb|center]] <br> '''''Mentors''''' <br> Michaël Ohayon <br> Lionel Laské
 
 
 
| align=left valign=top |
 
 
;Brief explanation
 
;Brief explanation
 
:[https://sugarizer.org Sugarizer] is the javascript version of Sugar, making education available of many platforms from web to mobile.:The app is composed by both a client side and a server side.
 
:[https://sugarizer.org Sugarizer] is the javascript version of Sugar, making education available of many platforms from web to mobile.:The app is composed by both a client side and a server side.
Line 271: Line 203:
 
;Expected results:Raspberry Pi image files. Deployment scripts.
 
;Expected results:Raspberry Pi image files. Deployment scripts.
 
;Knowledge prerequisites:[https://github.com/llaske/sugarizer-server Sugarizer Server] knowledge, Linux system administration knowledge, bash scripting capabilities, Docker enthusiasm. (This project may require to download many system files)
 
;Knowledge prerequisites:[https://github.com/llaske/sugarizer-server Sugarizer Server] knowledge, Linux system administration knowledge, bash scripting capabilities, Docker enthusiasm. (This project may require to download many system files)
|}
+
|-
 
+
|valign=top width="15%" style="background:#e3e4e5;" |Sugarizer Exerciser activity<br>[[File:Sugarizerexerciser.jpg|90px|thumb|center]]
 
+
|valign=top width="15%" |Lionel Laské
<big>''' Sugarizer Exerciser activity ''' </big>
 
 
 
{|border="1" cellpadding="3" style="border: 1px solid white; border-collapse: collapse;
 
| valign=top width="25%" |[[File:Sugarizerexerciser.jpg|90px|thumb|center]] <br> '''''Mentors''''' <br> Lionel Laské
 
  
 
Michaël Ohayon
 
Michaël Ohayon
  
 
+
|
| align=left valign=top |
 
 
;Brief explanation
 
;Brief explanation
 
:[https://sugarizer.org Sugarizer] is the javascript version of Sugar, making education available of many platforms from web to mobile.
 
:[https://sugarizer.org Sugarizer] is the javascript version of Sugar, making education available of many platforms from web to mobile.

Revision as of 01:25, 30 January 2018

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
Full-color icons Design team
Brief explanation
We have been discussing the implications of removing the duo-tone restriction on Sugar icons, allowing for full-color icons. We can likely use badges to compensate for any functionality we'd lose. (See [1] as one example of how we might proceed.)
Expected results
A patch to Sugar that uses badges to manage the icon notifications such as activity and sharing
Knowledge prerequisites
Knowledge of GTK; Python.
Music Blocks optimizations
Music-Blocks.png
Walter Bender
Brief explanation
Music Blocks has never been optimized in any way. It would be helpful to review the tone.js optimization recommendations, as well as build some unit tests to measure and improve the program itself.
Expected results
A more robust and responsive Music Blocks.
Knowledge prerequisites
Knowledge of JavaScript, unit testing
Going Beyond Equal Temperament in Music Blocks
Music-Blocks.png
Walter Bender
Devin Ulibarri
Sachiko Nakajima
Marnen Laibow-Koser
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 MB issues for temperament, Articles about temperament, scales, and tuning and various materials related to temperament (.tb files that achieve temperament with existing MB features, videos of those files being performed, notes)
Expected results
Extend Music Blocks such that different approaches to temperament are available to the user.
Knowledge prerequisites
Knowledge of JavaScript, music theory
Maintenance of activities.sugarlabs.org (ASLO) Sam CG
Brief explanation
http://activities.sugarlabs.org/ is the Sugar Labs app store, where activities are hosted and downloaded. During GSoC 2017 we built ASLO v3 to address a number of deficiencies. But we have a few odds and ends that need to be addressed to bring the new site on line.
Expected results
Update missing license and repository info on the activities found in the Sugar Labs github repository. Popular the database for the new ASLO. Do extensive testing (including creating some test suites.) Document future maintenance on the Wiki.
Knowledge prerequisites
PHP, MySQL, Python, Apache, cron, PHP-Cake, JavaScript, HTML, CSS, and git. See [2].
Lesson Plans for Music Blocks
Music-Blocks.png
Walter Bender
Devin Ulibarri
Sachiko Nakajima

Hrishi Patel

Brief explanation
We have a Guide, but we really need some more scaffolding in the form of lesson plans.
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
Cristian Garcia

Abhijit Patel
Ibiam Chihurumnaya

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 at least 25 existing Sugar activities.
Knowledge prerequisites
Knowledge of GTK, GST, and Python
Updating a new design of Sugarlabs wiki Jaskirat Singh
Walter bender
Brief explanation
we are lacking in look of wiki.sugarlabs.org page. It looks ugly and unfriendly and need to be updated with a good design
Expected results
New design of Wiki page of Sugarlabs
Knowledge prerequisites
Knowledge of mediawiki and use of some basic languages
Outreach Walter Bender
Brief explanation
We don't have a very friendly approach to outreach to new contributors. It would be great to make it easier to get involved and to navigate the path towards contributing to Sugar Labs. The goal of this project is to revamp our approach to outreach.
Expected results
A set of pages similar to [3] and [4]
Knowledge prerequisites
community outreach experience; some coding experience (to create requisite artifacts)
Making a Beginner Guide Jaskirat Singh
Walter Bender
Brief explanation
We don't have a beginner guide for the newcomers to the Sugar labs Community. It would be great to guide them by guiding them how to contribute through making these "form where to start? , What to start? , How to start? , Where to submit? " . Example The goal of this project is to Help newcomers to get introduce in easy way to the world of Sugar Labs
Expected results
A set of website pages and also documentation in Pdf form with this the problems of newcomers about their contribution will be solved and they can work easily
Knowledge prerequisites
community research , GitHub , coding experience ( HTML, CSS )
New Social Sugarlabs website
Social Site.jpg
Jaskirat Singh
Samson Goddy
Brief explanation
Its a social website that can be used to attract maximum users and everything ( Blogs, New projects, Softwares, Activities, etc) can be uploaded on it which will attract more user and create their interest
Expected results
It should be over viewed by people around the world
Knowledge prerequisites
Good Layout designing and coding experience
Making a marketing animated website page of sugarlabs Jaskirat Singh
Samson Goddy
Brief explanation
We need to develop a link that is website-page that will include a page with animations explaining all the things we have in Sugarlabs (as a marketing) like these examples See[1 ], See [2 ]
Expected results
A UI/UX layout and a main page that can be used to market the things in an animated way
Knowledge prerequisites
Knowledge of marketing and use of some basic languages ( HTML, CSS styling, PHP)
Lilypond Methodical Improvements to how Music Blocks generates Lilypond output
Music-Blocks.png
Walter Bender
Devin Ulibarri
Marnen Laibow-Koser
Brief explanation
Music Blocks is capable of exporting Lilypond code of which general instructions can be found here in the Music Blocks guide and its source code can be found here. We would like to improve existing code where needed and implement needed features in a methodical way, which means we must 1) document how the Music Blocks source code works for current and future developers to learn and benefit from and 2) project manage this portion of Music Blocks development (e.g. "what works" and "what needs to be done". An example of a draft of a simple type of this analysis exists for you to start from.), as well as 3) implement and improve features.
Expected results
Implement and improve lilypond export features; Detailed documentation created for developer audience that details how Music Blocks exports to Lilypond; documentation to help manage what needs to be completed.
Knowledge prerequisites
Literacy in reading music; functional knowledge of Lilypond code (some of your own scores would be nice); Organizational and Project Management Skills; JavaScript
Migrating Planet Sugar to Medium Jaskirat Singh
Samson Goddy
Brief explanation
We need to change the look of Planet Sugar by embedding [(a blogger)] into it by using Medium API but design should be changed> Better and interactive layout.
Expected results
A UI/UX layout and an interactive design which can be easy to use and outreach more.
Knowledge prerequisites
Knowledge of web designing and use of some basic languages ( HTML, CSS styling, JavaScript, PHP)
Making Testimonials page on Sugar Labs website Jaskirat Singh
Walter Bender
Brief explanation
Well, Develop a testimonal webpage on Sugarlabs website by making a good research about the users who have experienced the world of Sugar. That should include videos, blog posts and many more things. For such type of layout example visit ( https://www.chownow.com/testimonials-reviews ) and ( https://www.codecademy.com/stories )
Expected results
A good layout with more views about sugar Users
Knowledge prerequisites
Make a research about people using Sugar ...get interaction with them ; know about Sugarlabs and use of some basic languages ( HTML, CSS styling, JavaScript, PHP)


Music Blocks' First Steps for Robotics
Music-Blocks.png
Walter Bender
Devin Ulibarri
Brief explanation
What is needed to integrate Music Blocks with Robotics? This project is 1) to experiment with existing technologies to see what is already possible, 2) develop features (e.g. plugins, hardware modifications) needed to make interfacing possible, and 3) document the entire process and next steps
Expected results
A working method for interfacing with a simple robot; additional features within MB to ease interfacing; and full documentation of how to recreate successful projects (that a classroom could use); communication (we do not want to guess what experiments you are doing by yourself--do not be shy to send emails, videos, pictures DAILY!!!)
Knowledge prerequisites
Understanding of Javascript (Music Blocks source code) and robotics (no particular method requested, just make sure it is free/libre); demonstratable documentation and self-management skills; NOTE: we value quality, clear ideas over expensive or pretty robots
Create Examples, Compositions, and New Experiments Every Day!
Music-Blocks.png
Walter Bender
Devin Ulibarri
Sachiko Nakajima
Brief explanation
Music Blocks has some examples already, but it would be nice to have one ambitious student really work for the summer to make new creative, thoughtful code everyday. Secondary, but important goals, are bug reports when bugs are found, feature suggestions, and overall good and frequent communication with the Music Blocks team.
Expected results
Quality examples sent daily; variety of styles; runs entire gamut in terms of blocks used (we want a number of great examples for each and every block feature); organized documentation of all examples created, which can be finalized in the final weeks of GSoC
Knowledge prerequisites
Understanding of Music Blocks program; A good proposal is one that has a well-thought out and detailed list of music projects for each day of GSoC (timeframes, blocks used, musical styles, name of music to be transcribed); experience with music and composition/theory is a definate plus.
Music Blocks UI Improvements and Implementation
Music-Blocks.png
Walter Bender
Devin Ulibarri
Brief explanation
Music Blocks has a good enough UI, but there are open issues remaining and it would be nice if a person with a high level of understanding of graphics and style were to proposal and implement changes that unify the entire look and feel of Music Blocks.
Expected results
Visually unified, beautiful and intuitive Music Blocks interface. Documentation to benefit future contributors to understand "what Music Blocks style is" (obviously this may change in the future, but a thoughtful rationale for the new style is expected).
Knowledge prerequisites
Understanding of CSS, Javascript, and HTML. Published work on UI (links to code, websites, etc)
Scales/Modes/Keys Design Improvements and Implementation
Music-Blocks.png
Walter Bender
Devin Ulibarri
Marnen Laibow-Koser
Sachiko Nakajima
Brief explanation
There are features in MB for exploring modes/scales/keys which can are referenced in the guide. However, we suspect that there are better ways to organize keys. This project would be to reimagine how MB organizes pitches. We recommend that you read the discussions that have taken place already on GitHub as well as research how keys work as well as scholarly articles about temperament, scales, and tuning. Keep in mind that we would like to prepare for the possibility of chromatic pitch spaces that are not 12--for example, a chroma of 5 or 7 or 13, etc. What features and widgets are needed?
Expected results
Detailed documentation created for developer audience that specifies 1) proposed features and overall design, 2) purpose of design choices, 3) audit of code (e.g. What changes to our current approach may be necessary? Are there libraries that may be useful?) 4) widget design proposal as well as MB code design proposal.
Knowledge prerequisites
Understanding of Music Theory and/or group (or set) theory. Please read the articles at https://owncloud.libretools.com/index.php/s/2GtAhkvQpt3fYfF We are looking for candidates that can make a simple and effective design that a future (or current) developer could read and implement.
Create UI features for music analysis and visualization
Music-Blocks.png
Walter Bender
Devin Ulibarri
Sachiko Nakajima
Brief explanation
Music Blocks does not yet have a robust set of tools to help the user analyze their music (e.g. highest pitch, lowest pitch, pitches used, keys, musical form, intervals etc.). Additionally, users would very much benefit from features to help them visualize the way their music is constructed. Perhaps we could even create some features to help the user choose a style of music and the analysis highlights movements that violate that style's particular rules.
Expected results
New Features.
Knowledge prerequisites
Literacy in reading music; Music Theory knowledge; UI knowledge; javascript knowledge
Music Blocks Musical Ornaments Features
Music-Blocks.png
Walter Bender
Devin Ulibarri
Sachiko Nakajima
Marnen Laibow-Koser
Brief explanation
The neighbor block feature is the first of a series of musical ornament features. There are many more possibilities, some of which are described in issue 909. The project would be to implement and document these features as well as to create example programs.
Expected results
New Features, documentation, and new example programs for each new feature.
Knowledge prerequisites
Music Theory knowledge; javascript knowledge; knowledge of Music Blocks and tone.js internals (please research)
Music Blocks Widget Improvements
Music-Blocks.png
Walter Bender
Devin Ulibarri
Sachiko Nakajima
Marnen Laibow-Koser
Brief explanation
Music Blocks has a number of features to help users conceptualize musical concepts, which also help to create code. Please see the guide for more. There are a number of widgets that have not been integrated at all as well. This project would be to 1) fix widget bugs, 2) implement unfinished features (see issues), and 3) document and fully integrate these new features and improve existing features. is also a related feature
Expected results
New Features, fixes, documentation, and new example programs for each new feature.
Knowledge prerequisites
Music Theory knowledge; javascript knowledge; knowledge of Music Blocks and tone.js internals (please research)
Sugarizer School Box
Sugarizerschoolbox.jpg
Michaël Ohayon

Lionel Laské

Brief explanation
Sugarizer is the javascript version of Sugar, making education available of many platforms from web to mobile.:The app is composed by both a client side and a server side.
The idea of this project is to develop a package to simplify deployment of Sugarizer in schools.
This package will take two forms:
1 - An image for Raspberry Pi that could be flashed on a sd card that could automatically start a sugarizer server at boot and displays sugarizer client on the Pi. The server will be accessible by other devices from the local network. So the teacher has just to plug the RaspberryPI to expose a WiFi and the Sugarizer Server API/WebApp. So any computer connected to this WiFi could use Sugarizer Server WebApp and any tablet with Sugarizer App connected to this WiFi could benefit to collaboration, presence and backup its content on the server.
2 - Create one click to deploy scripts, to deploy a full Sugarizer stack on popular providers such as Amazon AWS or Heroku. So anyone could deploy a new Sugarizer Server instance on one of popular cloud platform without the need to dig into a complex setup process.
Expected results
Raspberry Pi image files. Deployment scripts.
Knowledge prerequisites
Sugarizer Server knowledge, Linux system administration knowledge, bash scripting capabilities, Docker enthusiasm. (This project may require to download many system files)
Sugarizer Exerciser activity
Sugarizerexerciser.jpg
Lionel Laské

Michaël Ohayon

Brief explanation
Sugarizer is the javascript version of Sugar, making education available of many platforms from web to mobile.
The idea of this project is to create a new Sugarizer activity to allow users to create exercise and let other users play to this exercise.
The activity will propose different templates for exercises. Typical exercises could be multiple-choice question, reordering a list of items, cloze text, group assignment, ...
Once created, the exercise could be played locally or shared on the network using Sugarizer presence. At the end of the exercise a graph will give results for each participants.
The activity should allow to integrate multimedia element (images, sounds, videos) coming from the Journal. The activity should as simple as possible so even a child should be able to create an exercise and share it.
Like all Sugarizer activity, the activity should: adopt the Sugar UI, be responsive (work on any screen size), work with the keyboard and with the mouse (to support touch screen), use journal and use localization.
Features inspiration could be found on LearningApps, Google Forms, LimeSurvey, ...
Expected results
A Sugarizer activity.
Knowledge prerequisites
HTML/JavaScript, UI Design, Sugarizer Development Tutorial