Difference between revisions of "Summer of Code/2018"
Jump to navigation
Jump to search
(101 intermediate revisions by 16 users not shown) | |||
Line 1: | Line 1: | ||
− | == | + | == Selected Projects for summer 2018 == |
− | [https://summerofcode.withgoogle.com/organizations/ | + | ;Rahul Bothra | Pro-Panda: Port Sucrose from Python 2 to Python 3 ([http://www.pro-panda.tech blog]) |
+ | ;Riya Lohia: Going Beyond Equal Temperament in Music Blocks ([https://medium.com/gsoc18-with-sugar-labs blog]) | ||
+ | ;Ritwik Abhishek: Music Blocks Widget Improvement ([https://musicblocks18.wordpress.com/ blog]) | ||
+ | ;Vaibhav Aren: Interactive Exercises for Turtle Blocks ([https://vaibhavdaren.wordpress.com/ blog]) | ||
+ | ;Aman Sharma: Sugarizer School Box ([https://amansharmablogblog.wordpress.com/2018/04/26/introduction-to-the-community/ blog]) | ||
+ | ;Vipul Gupta: Activity Migration ([https://mixstersite.wordpress.com/gsoc2018/ blog]) | ||
+ | ;Anmol Mishra: Port to Python 3 ([https://medium.com/anmolmishra-jiit blog]) | ||
+ | ;Iqra Muhammad: Sugarizer Primero ([https://iqragsoc.wordpress.com/ blog]) | ||
+ | ;Mankirat Singh: Sugarizer Exerciser Activity ([https://mankiratsinghtech.wordpress.com/2018/04/27/google-summer-of-code-2018/ blog]) | ||
+ | ;Rudra Sadhu: [https://wiki.sugarlabs.org/go/Summer_of_Code/2018/attentive_migration_of_wiki_activity_pages_to_git Migration of activity wiki-pages to GitHub (and simultaneously help-activity)] ([https://rdrsadhu.github.io/blog/gsoc2018/ blog]) | ||
+ | ;Yash Aragwal:Just say no to GTK+ 2 ([https://medium.com/@yashagrawal3/gsoc-18-with-sugar-labs-2d9bc733cf59 blog]) | ||
+ | ;Pratul Kumar:Beginner's Guide ([https://medium.com/@pratulkumar/gsoc-introduction-to-the-community-ed47e04e3051 blog]) | ||
+ | |||
+ | [https://summerofcode.withgoogle.com/organizations/6193990685163520/ Sugar Labs at GSoC 2018] | ||
+ | |||
+ | === Meetings === | ||
+ | |||
+ | We meet as a group in IRC every Friday at 22IST, 12:30ET, 16:30UTC. The meetings are logged at http://meeting.sugarlabs.org/sugar-meeting/meetings | ||
+ | |||
+ | ---- | ||
== Project Ideas == | == Project Ideas == | ||
− | {| border="1" cellpadding="3" style="border: 1px solid white; border-collapse: collapse; background: # | + | '''GSoC projects must involve some coding. Non-coding projects have been moved to the [[Summer of Code/2018/Archive|Non-Coding Projects Page]].''' |
− | |-style="background:# | + | |
+ | |||
+ | {| border="1" cellpadding="3" style="border: 1px solid white; border-collapse: collapse; background: #f7effc;" | ||
+ | |-style="background:#7409bc; color: white;" | ||
!Title | !Title | ||
!Mentor | !Mentor | ||
!Project | !Project | ||
+ | |- | ||
+ | | valign=top width="15%" style="background:#fcfcfc;"|Python 3 port | ||
+ | | valign=top width="15%" style="background:#fcfcfc;"|Devel Team | ||
+ | | align=left valign=top style="background:#fcfcfc;"| | ||
+ | ;Brief explanation: Python 3 has been here for quite some time. We've investigated how to migrate and now it is time to do it. | ||
+ | ;Expected results: A Python 3 version of the Sugar toolkit, as well as the Sugar Desktop and a few activities. | ||
+ | ;Knowledge prerequisites: Strong Python and GTK experience | ||
|- | |- | ||
− | | valign=top width="15%" style="background:# | + | | valign=top width="15%" style="background:#f7effc;" |Migration of wiki activity pages to git |
+ | | valign=top width="15%" |Activity team | ||
+ | | align=left valign=top | | ||
+ | ;Brief explanation: We have 345 pages under [[Activities]] in this wiki. It would be more sustainable in the long run if these pages were embedded (in Markdown format) in their corresponding git repositories. | ||
+ | ;Expected results: Definition of migration process; migration of the majority of these pages | ||
+ | ;Knowledge prerequisites: Knowledge of Markdown and Mediawiki markup; experience with git. | ||
+ | |||
+ | |- | ||
+ | | valign=top width="15%" style="background:#fcfcfc;"|GTK-4 exploration | ||
+ | | valign=top width="15%" style="background:#fcfcfc;"|Devel Team | ||
+ | | align=left valign=top style="background:#fcfcfc;"| | ||
+ | ;Brief explanation: GTK-4 is coming soon [https://mclasen.fedorapeople.org/gtk4-devconf2018.pdf]: probably in 2018. We need to be better prepared for the transition than we were for GTK-3. | ||
+ | ;Expected results: Design of a workflow for transitioning from GTK-3 to GTK-4 | ||
+ | ;Knowledge prerequisites: Strong Python and GTK experience | ||
+ | |||
+ | |- | ||
+ | | valign=top width="15%" style="background:#f7effc;" |Internationalization and Localization | ||
| valign=top width="15%" |Chris Leonard | | valign=top width="15%" |Chris Leonard | ||
+ | Shivang Shekhar | ||
| 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. | ||
Line 20: | Line 66: | ||
|- | |- | ||
− | | valign=top width="15%" style="background:# | + | | valign=top width="15%" style="background:#fcfcfc;"|Full-color icons |
− | | valign=top width="15%" |Design team | + | | valign=top width="15%" style="background:#fcfcfc;"|Design team<br> Jaskirat Singh<br>Peace Ojemeh |
− | | align=left valign=top | | + | | align=left valign=top style="background:#fcfcfc;"| |
− | ;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.). Like if an activity has not closed yet so it will be shown through a badge appearing on an icon. Repo can be found here https://github.com/sugarlabs/sugar-toolkit-gtk3/tree/master/src/sugar3 |
− | ;Expected results: A patch to Sugar that uses badges to manage the icon notifications such as activity and | + | ;Expected results: A patch to Sugar that uses badges to manage the icon notifications such as activity, sharing, achievements and much more. |
;Knowledge prerequisites: Knowledge of GTK; Python. | ;Knowledge prerequisites: Knowledge of GTK; Python. | ||
|- | |- | ||
− | | valign=top width="15%" style="background:# | + | | valign=top width="15%" style="background:#fcfcfc;"|Learn to program in Turtle Blocks |
+ | | valign=top width="15%" style="background:#fcfcfc;"|Walter Bender <br> Jaskirat Singh<br> | ||
+ | | align=left valign=top style="background:#fcfcfc;"| | ||
+ | ;Brief explanation: In much the same way that [https://www.codecademy.com/courses/programming-intro/0/1#!/exercises/0 ( example here )] walks newbies through the basics of programming in Javascript, it would be nice to walk newbies through the basics of Turtle Blocks. There is already a provision within Turtle Blocks for programatically creating and moving blocks and executing program stacks. So it would be a matter of developing the exercises. | ||
+ | ;Expected results: Website for teaching and having exercises with Turtle Blocks. | ||
+ | ;Knowledge prerequisites: Requires some familiarity with Logo programming and Python. | ||
+ | |||
+ | |- | ||
+ | | valign=top width="15%" style="background:#f7effc;" |Music Blocks optimizations<br>[[File:Music-Blocks.png|90px|thumb|center]] | ||
| valign=top width="15%" | Walter Bender | | valign=top width="15%" | Walter Bender | ||
| align=left valign=top | | | align=left valign=top | | ||
Line 36: | Line 90: | ||
|- | |- | ||
− | | valign=top width="15%" style="background:# | + | | valign=top width="15%" style="background:#fcfcfc;"|Going Beyond Equal Temperament in Music Blocks<br>[[File:Music-Blocks.png|90px|thumb|center]] |
− | | valign=top width="15%" | Walter Bender<br>Devin Ulibarri | + | | valign=top width="15%" style="background:#fcfcfc;"| Walter Bender<br>Devin Ulibarri<br>Sachiko Nakajima<br>Marnen Laibow-Koser |
− | | align=left valign=top | | + | | align=left valign=top style="background:#fcfcfc;"| |
;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. | ||
Line 44: | Line 98: | ||
|- | |- | ||
− | | valign=top width="15%" style="background:# | + | | valign=top width="15%" style="background:#f7effc;" |Just say no to GTK2 |
− | + | | valign=top width="15%" style="background:#f7effc;"| Ignacio Rodriguez<br>Cristian Garcia<br/>Abhijit Patel<br>Ibiam Chihurumnaya<br/>Hrishi Patel | |
− | + | | align=left valign=top style="background:#f7effc;"| | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | | valign=top width="15%" style="background:# | ||
− | |||
− | Hrishi Patel | ||
− | | 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. | ||
Line 70: | Line 106: | ||
|- | |- | ||
− | | valign=top width="15%" style="background:# | + | | valign=top width="15%" style="background:#fcfcfc;" |Sugar Labs Social<br>[[File:Social Site.jpg|90px|thumb|center]] |
− | + | | valign=top width="15%" style="background:#fcfcfc;"| Jaskirat Singh<br>Samson Goddy<br>Hrishi Patel<br>Shivang Shekhar<br>Peace Ojemeh | |
− | | | + | Abdulazeez Abdulazeez |
− | + | | align=left valign=top style="background:#fcfcfc;"| | |
− | + | ;Brief explanation: '''[https://github.com/geekrypter/Sugar-Labs-Social Sugar Labs Social]''' is a website project which should serve a purpose to help people understand and discuss project(s) around Sugar Labs. The goal of this project is to attract Teachers, Parents, Developers and fully communicate together in one platform. : It's a social website that can be used to attract maximum users and everything ( Blogs, New projects, Software, Activities, etc) can be uploaded on it which will attract more user and create their interest. : A competitive proposal must include some evidence that the approach taken will result in some use -- just because we build it doesn't mean they will come. | |
− | + | ;Expected results: It should have user logins, feed and a blog([https://medium.com/ medium] like) that can be over viewed by people around the world | |
− | + | ;Knowledge prerequisites: Good Layout designing and coding experience with backend (Django, JavaScript, HTML/CSS, Mongo). | |
− | | | ||
− | |valign=top width="15%" style="background:# | ||
− | |||
− | | align=left valign=top | | ||
− | ;Brief explanation: | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | ;Knowledge prerequisites: | ||
|- | |- | ||
− | | valign=top width="15%" style="background:# | + | | valign=top width="15%" style="background:#f7effc;" |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 | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | | valign=top width="15%" | Walter Bender<br>Devin Ulibarri | ||
| 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 | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
− | | valign=top width="15%" style="background:# | + | | valign=top width="15%" style="background:#fcfcfc;"|Music Blocks' First Steps for Robotics <br>[[File:Music-Blocks.png|90px|thumb|center]] |
− | | valign=top width="15%" | Walter Bender<br>Devin Ulibarri | + | | valign=top width="15%" style="background:#fcfcfc;"| Walter Bender<br>Devin Ulibarri<br/>Hrishi Patel<br/>Rishabh Thaney |
− | | align=left valign=top | | + | | align=left valign=top style="background:#fcfcfc;"| |
;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 | + | ;Knowledge prerequisites: Understanding of JavaScript (Music Blocks source code) and robotics (no particular method requested, just make sure it is free/libre); demonstrable documentation and self-management skills; NOTE: we value quality, clear ideas over expensive or pretty robots |
|- | |- | ||
− | | valign=top width="15%" style="background:# | + | | valign=top width="15%" style="background:#f7effc;" |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 | + | | 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. (You will be expected to code in the Music Blocks language on a daily basis.) 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 | + | ;Knowledge prerequisites: Understanding of Music Blocks as a programming language; A good proposal is one that has a well-thought out and detailed list of music projects for each day of GSoC (time-frames, blocks used, musical styles, name of music to be transcribed); experience with music and composition/theory is a definite plus. |
|- | |- | ||
− | | valign=top width="15%" style="background:# | + | | valign=top width="15%" style="background:#fcfcfc;"|Music Blocks UI Improvements and Implementation <br>[[File:Music-Blocks.png|90px|thumb|center]] |
− | | valign=top width="15%" | Walter Bender<br>Devin Ulibarri | + | | valign=top width="15%" style="background:#fcfcfc;"| Walter Bender<br>Devin Ulibarri<br>Hrishi Patel<br> Jaskirat Singh<br>Peace Ojemeh |
− | | align=left valign=top | | + | | align=left valign=top style="background:#fcfcfc;"| |
;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, | + | ;Knowledge prerequisites: Understanding of CSS, JavaScript, and HTML. Published work on UI (links to code, websites, etc) |
|- | |- | ||
− | | valign=top width="15%" style="background:# | + | | valign=top width="15%" style="background:#f7effc;" |Scales/Modes/Keys Design Improvements and Implementation <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<br>Marnen Laibow-Koser<br>Sachiko Nakajima<br>Peace Ojemeh<br>Jaskirat Singh |
| 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 | + | ;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 can be implemented in JavaScript. |
|- | |- | ||
− | | valign=top width="15%" style="background:# | + | | valign=top width="15%" style="background:#fcfcfc;"|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 | + | | valign=top width="15%" style="background:#fcfcfc;"| Walter Bender<br>Devin Ulibarri<br>Sachiko Nakajima<br>Peace Ojemeh |
− | | align=left valign=top | | + | | align=left valign=top style="background:#fcfcfc;"| |
;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; | + | ;Knowledge prerequisites: Literacy in reading music; Music Theory knowledge; UI knowledge; JavaScript knowledge |
|- | |- | ||
− | | valign=top width="15%" style="background:# | + | | valign=top width="15%" style="background:#f7effc;" |Music Blocks Musical Ornaments Features <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<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; | + | ;Knowledge prerequisites: Music Theory knowledge; JavaScript knowledge; knowledge of Music Blocks and tone.js internals (please research) |
|- | |- | ||
− | | valign=top width="15%" style="background:# | + | | valign=top width="15%" style="background:#fcfcfc;"|Music Blocks Widget Improvements <br>[[File:Music-Blocks.png|90px|thumb|center]] |
− | | valign=top width="15%" | Walter Bender<br>Devin Ulibarri | + | | valign=top width="15%" style="background:#fcfcfc;"| Walter Bender<br>Devin Ulibarri<br>Sachiko Nakajima<br>Marnen Laibow-Koser |
− | | align=left valign=top | | + | | align=left valign=top style="background:#fcfcfc;"| |
;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; | + | ;Knowledge prerequisites: Music Theory knowledge; JavaScript knowledge; knowledge of Music Blocks and tone.js internals (please research) |
+ | |||
+ | |- | ||
+ | |valign=top width="15%" style="background:#f7effc;" |Sugarizer School Box<br>[[File:Sugarizerschoolbox.jpg|90px|thumb|center]] | ||
+ | |valign=top width="15%" |Michaël Ohayon<br>Lionel Laské<br/>Hrishi Patel<br/>Rishabh Thaney | ||
+ | Shivang Shekhar | ||
+ | | align=left valign=top| | ||
+ | ;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. | ||
+ | :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:[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:#fcfcfc;"|Sugarizer Exerciser activity<br>[[File:Sugarizerexerciser.jpg|90px|thumb|center]] | ||
+ | |valign=top width="15%" style="background:#fcfcfc;"|Lionel Laské<br>Michaël Ohayon<br>Jaskirat Singh | ||
+ | | align=left valign=top style="background:#fcfcfc;"| | ||
+ | ;Brief explanation | ||
+ | :[https://sugarizer.org 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 [https://learningapps.org LearningApps], [https://www.google.com/forms/ Google Forms], [https://www.limesurvey.org LimeSurvey], ... | ||
+ | ;Expected results:A Sugarizer activity. | ||
+ | ;Knowledge prerequisites: HTML/JavaScript, UI Design, [https://github.com/llaske/sugarizer/blob/dev/docs/tutorial.md Sugarizer Development Tutorial] | ||
+ | |||
+ | |- | ||
+ | | valign=top width="15%" style="background:#f7effc;"|Music Blocks export <br>[[File:Music-Blocks.png|90px|thumb|center]] | ||
+ | | valign=top width="15%" style="background:#f7effc"| Walter Bender<br>Devin Ulibarri<br>Sachiko Nakajima | ||
+ | | align="left" valign="top" style="background:#f7effc;" | | ||
+ | ;Brief explanation: Music Blocks is essentially a Logo interpreter. It would be great to be able to export Logo from Music Blocks. (We need to find a Logo that can handle the basic synthesizer needs to make it relevant.) | ||
+ | ;Expected results: A Logo export that is coupled to a music-enabled Logo interpreter. | ||
+ | ;Knowledge prerequisites: Literacy in reading music; Music Theory knowledge; UI knowledge; Logo and JavaScript knowledge | ||
+ | |||
+ | |- | ||
+ | | valign=top width="15%" style="background:#fcfcfc;"|Music Blocks inline documentation <br>[[File:Music-Blocks.png|90px|thumb|center]] | ||
+ | | valign=top width="15%" style="background:#fcfcfc"| Walter Bender<br>Devin Ulibarri<br>Sachiko Nakajima | ||
+ | | align=left valign=top style="background:#fcfcfc;"| | ||
+ | ;Brief explanation: There are three types of documentation for Music Blocks: documentation about how individual blocks work; short coding examples; and lesson plans. This project is about the first two. We can add inline comments to each block as it is defined in basicblocks.js from which help can be autogenerated for each block. And we can utilize the "make block" mechanism to generate on-the-fly examples of how to use blocks in combination to achieve different musical goals. The former will require some JavaScript programming; the latter, Music Blocks programming. | ||
+ | ;Expected results: In-line documentation for each block as well as in-line Music Blocks-coded examples of the core music ideas. | ||
+ | ;Knowledge prerequisites: UI knowledge; JavaScript knowledge; some background in music. | ||
+ | |||
+ | |- | ||
+ | |valign=top width="15%" style="background:#f7effc;"|Making a Beginner Guide | ||
+ | | valign=top width="15%" style="background:#f7effc;"| Jaskirat Singh<br/>Hrishi Patel<br/>Rishabh Thaney<br/>Shivang Shekhar<br/>Samson Goddy<br/>Abdulazeez Abdulazeez | ||
+ | | align=left valign=top style="background:#f7effc;"| | ||
+ | ;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? " . An example is the Coala [http://api.coala.io/en/latest/Developers/Newcomers_Guide.html Newcomers' Guide] which is built from [https://github.com/coala/coala/blob/6dae06082017587a260189a787db9cfdc84a148b/docs/Developers/Newcomers_Guide.rst markdown source]. The goal of this task is to Help newcomers to get introduce in easy way to the world of Sugar Labs also make a dasboard for the users so they can get about developed and developing areas. Their contribution can be seen also their presence can be seen with the community. | ||
+ | ;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. It is essential to this project that there is a credible maintenance regime to ensure it is easy to keep it up to date after GSoC is completed. | ||
+ | ;Knowledge prerequisites: HTML, CSS, JavaScript(interactive) , BootStrap(responsive nav compatible on mobile devices also), PHP(dashboard), Github workflow, Markdown/up for documentation. | ||
+ | |||
+ | |||
+ | |} | ||
+ | {| border="1" cellpadding="3" style="border: 1px solid white; border-collapse: collapse; background: #f7effc;" | ||
+ | |- | ||
+ | | valign="top" width="15%" style="background:#fcfcfc;" |Scratch 3.0 to Sugar Desktop<br>[[File:Scratch.png|centre|thumb|99x99px]] | ||
+ | | valign="top" width="15%" style="background:#fcfcfc" | Walter Bender<br>Samson Goddy | ||
+ | Hrishi Patel<br>Ibiam Chihurumnaya | ||
+ | | align="left" valign="top" style="background:#fcfcfc;" | | ||
+ | ;Brief explanation: [https://scratch.mit.edu/ Scratch] is a programming environment for kids. The goal of this project is to make bring back the [[Activities/Scratch|Scratch activity]] to the Sugar Desktop. Scratch 3.0 was created with HTML 5 using [https://developers.google.com/blockly/ Google’s blocky]. | ||
+ | :# Port scratch 3.0 as a Sugar activity using method [https://github.com/sugarlabs/sugar-docs/blob/master/src/web-activity.md 1] or [https://github.com/walterbender/turtle-blocks-embedded-activity 2]. Method 1, a web activity that can run on the Sugar Desktop. While method 2, an embedded activity that can run inside browser activity. There have been some development of [https://github.com/EmilyOng/embedded-scratch-activity scratch to sugar] and a yet to release version of [https://github.com/EmilyOng/Scratch.activity scratch in Sugarizer]. | ||
+ | :# Make the scratch libraries to work completely offline, so a user can import sprite without have issues of internet connection. A possible way is to fork the [https://github.com/LLK/scratch-storage scratch-storage] and [https://github.com/LLK/scratch-gui scratch-gui] modules to make them work offline by linking the libraries to local assets on the filesystem. https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API/Using_Service_Workers https://hackernoon.com/service-worker-one-fallback-offline-image-for-any-aspect-ratio-b427c0f897fb | ||
+ | ;Expected results: A stable working Scratch 3 on Sugar Desktop.: User to "save project" within the scratch activity into the journal, making it easy to resume project. | ||
+ | : Make the Scratch activity work completely offline stated at 2. | ||
+ | ;Knowledge prerequisites: Python, GTK, JavaScript knowledge | ||
+ | |} | ||
+ | {| border="1" cellpadding="3" style="border: 1px solid white; border-collapse: collapse; background: #f7effc;" | ||
+ | |- | ||
+ | | valign="top" width="15%" style="background:#f7effc;" |Sugarizer Primero (Sugarizer1°) | ||
+ | | valign="top" width="15%" style="background:#f7effc;" | Caryl Bigenho | ||
+ | Samson Goddy | ||
+ | |||
+ | Peace Ojemeh | ||
+ | | align="left" valign="top" style="background:#f7effc;" | | ||
+ | ;Brief explanation: Sugarizer is a large collection of many Activities suitable for general audiences on many devices. The goal of this project is to package a subset of the Sugarizer Activities (Maximum of 5) for children 4-7 (grades Pre-K-2) with a young child-friendly UI/UX experience suitable devices. Many of the graphics in the interfaces will be re-designed to accommodate non-readers and very young children who are still developing their fine motor skills. One new Activity for intuitive math concepts will also be developed similar to [https://en.wikipedia.org/wiki/Cuisenaire_rods Cuisenaire Rods]. Sugarizer1° will be non-language dependent so translations will not be needed. | ||
+ | ;Expected results: At the end of the summer project, a prototype of Sugarizer1° will be ready for beta testing by children, parents, and educators. . | ||
+ | ;Knowledge prerequisites: Javascript, HTML, CSS and some knowledge of layout and design. A familiarity of how young children play and learn will also be helpful. | ||
|} | |} |
Latest revision as of 06:50, 16 October 2018
Selected Projects for summer 2018
- Rahul Bothra | Pro-Panda
- Port Sucrose from Python 2 to Python 3 (blog)
- Riya Lohia
- Going Beyond Equal Temperament in Music Blocks (blog)
- Ritwik Abhishek
- Music Blocks Widget Improvement (blog)
- Vaibhav Aren
- Interactive Exercises for Turtle Blocks (blog)
- Aman Sharma
- Sugarizer School Box (blog)
- Vipul Gupta
- Activity Migration (blog)
- Anmol Mishra
- Port to Python 3 (blog)
- Iqra Muhammad
- Sugarizer Primero (blog)
- Mankirat Singh
- Sugarizer Exerciser Activity (blog)
- Rudra Sadhu
- Migration of activity wiki-pages to GitHub (and simultaneously help-activity) (blog)
- Yash Aragwal
- Just say no to GTK+ 2 (blog)
- Pratul Kumar
- Beginner's Guide (blog)
Meetings
We meet as a group in IRC every Friday at 22IST, 12:30ET, 16:30UTC. The meetings are logged at http://meeting.sugarlabs.org/sugar-meeting/meetings
Project Ideas
GSoC projects must involve some coding. Non-coding projects have been moved to the Non-Coding Projects Page.
Title | Mentor | Project |
---|---|---|
Python 3 port | Devel Team |
|
Migration of wiki activity pages to git | Activity team |
|
GTK-4 exploration | Devel Team |
|
Internationalization and Localization | Chris Leonard
Shivang Shekhar |
|
Full-color icons | Design team Jaskirat Singh Peace Ojemeh |
|
Learn to program in Turtle Blocks | Walter Bender Jaskirat Singh |
|
Music Blocks optimizations |
Walter Bender |
|
Going Beyond Equal Temperament in Music Blocks |
Walter Bender Devin Ulibarri Sachiko Nakajima Marnen Laibow-Koser |
|
Just say no to GTK2 | Ignacio Rodriguez Cristian Garcia Abhijit Patel Ibiam Chihurumnaya Hrishi Patel |
|
Sugar Labs Social |
Jaskirat Singh Samson Goddy Hrishi Patel Shivang Shekhar Peace Ojemeh Abdulazeez Abdulazeez |
|
Lilypond Methodical Improvements to how Music Blocks generates Lilypond output |
Walter Bender Devin Ulibarri Marnen Laibow-Koser |
|
Music Blocks' First Steps for Robotics |
Walter Bender Devin Ulibarri Hrishi Patel Rishabh Thaney |
|
Create Examples, Compositions, and New Experiments Every Day! |
Walter Bender Devin Ulibarri Sachiko Nakajima |
|
Music Blocks UI Improvements and Implementation |
Walter Bender Devin Ulibarri Hrishi Patel Jaskirat Singh Peace Ojemeh |
|
Scales/Modes/Keys Design Improvements and Implementation |
Walter Bender Devin Ulibarri Marnen Laibow-Koser Sachiko Nakajima Peace Ojemeh Jaskirat Singh |
|
Create UI features for music analysis and visualization |
Walter Bender Devin Ulibarri Sachiko Nakajima Peace Ojemeh |
|
Music Blocks Musical Ornaments Features |
Walter Bender Devin Ulibarri Sachiko Nakajima Marnen Laibow-Koser |
|
Music Blocks Widget Improvements |
Walter Bender Devin Ulibarri Sachiko Nakajima Marnen Laibow-Koser |
|
Sugarizer School Box |
Michaël Ohayon Lionel Laské Hrishi Patel Rishabh Thaney Shivang Shekhar |
|
Sugarizer Exerciser activity |
Lionel Laské Michaël Ohayon Jaskirat Singh |
|
Music Blocks export |
Walter Bender Devin Ulibarri Sachiko Nakajima |
|
Music Blocks inline documentation |
Walter Bender Devin Ulibarri Sachiko Nakajima |
|
Making a Beginner Guide | Jaskirat Singh Hrishi Patel Rishabh Thaney Shivang Shekhar Samson Goddy Abdulazeez Abdulazeez |
|
Scratch 3.0 to Sugar Desktop |
Walter Bender Samson Goddy Hrishi Patel |
|
Sugarizer Primero (Sugarizer1°) | Caryl Bigenho
Samson Goddy Peace Ojemeh |
|