Line 14: |
Line 14: |
| ! !! Title !! Mentor !! Project | | ! !! Title !! Mentor !! Project |
| |- | | |- |
− | !valign=top | [[File:python-logo.gif|90px|thumb|center]] ||valign=top width="15%" |Port to Python3 ||valign=top width="15%" | Walter Bender and Daniel Narvaez||align=left valign=top| | + | !valign=top | [[File:python-logo.gif|90px|thumb|center]] ||valign=top width="15%" style="background:#00bb00;" |Port to Python3 ||valign=top width="15%" | Walter Bender and Daniel Narvaez||align=left valign=top| |
| ;Brief explanation: There are many reasons to port Sugar to Python 3, not the least being its support for internationalization (unicode) is greatly improved over Python 2 (Very important as we have users in >100 languages). There is a good discussion of strategies [http://docs.python.org/3/howto/pyporting.html here]. The first task will be to work with the core developer team to decide on a strategy: writing Python 2/3 compatible source or a pure port. Once that decision is made, the remainder of the work will be to do the port itself. Developing a robust test suite is a must. | | ;Brief explanation: There are many reasons to port Sugar to Python 3, not the least being its support for internationalization (unicode) is greatly improved over Python 2 (Very important as we have users in >100 languages). There is a good discussion of strategies [http://docs.python.org/3/howto/pyporting.html here]. The first task will be to work with the core developer team to decide on a strategy: writing Python 2/3 compatible source or a pure port. Once that decision is made, the remainder of the work will be to do the port itself. Developing a robust test suite is a must. |
| ;Expected results: Support for Python 3 in Sugar Core and a Porting Guide for Sugar Activities. | | ;Expected results: Support for Python 3 in Sugar Core and a Porting Guide for Sugar Activities. |
Line 29: |
Line 29: |
| ;Knowledge prerequisite: Strong background in JavaScript | | ;Knowledge prerequisite: Strong background in JavaScript |
| |- | | |- |
− | !valign=top | [[File:Cordova_sugar.png|90px|center|thumb]] || valign=top | Cordova/PhoneGap container for Sugar || valign=top | Lionel Laské and Suraj K S||align=left valign=top | | + | !valign=top | [[File:Cordova_sugar.png|90px|center|thumb]] || valign=top style="background:#00bb00;" | Cordova/PhoneGap container for Sugar || valign=top | Lionel Laské and Suraj K S||align=left valign=top | |
| ;Brief explanation: The idea is to allow Sugar Web Activities to use device dependent features. In this objective, the project will be to transform Sugar into a Cordova/PhoneGap container and to implement major PhoneGap features. Shortly, the project is to add Sugar as new supported platform for Cordova/PhoneGap. Lists of Sugar features that could be exposed to Sugar Web Activities using Cordova/PhoneGap will be: Camera, Audio/Video capture, Accelerometer, Connection, Events, File, Globalization, Media. During the project, the student will also have to demonstrate its work by writing some sample activities using device features. Examples of activities include a Record-like activity or a Level-Tool-like activity. | | ;Brief explanation: The idea is to allow Sugar Web Activities to use device dependent features. In this objective, the project will be to transform Sugar into a Cordova/PhoneGap container and to implement major PhoneGap features. Shortly, the project is to add Sugar as new supported platform for Cordova/PhoneGap. Lists of Sugar features that could be exposed to Sugar Web Activities using Cordova/PhoneGap will be: Camera, Audio/Video capture, Accelerometer, Connection, Events, File, Globalization, Media. During the project, the student will also have to demonstrate its work by writing some sample activities using device features. Examples of activities include a Record-like activity or a Level-Tool-like activity. |
| ;Expected results: Rich media and sensor support for JavaScript Activities, Sample activities and an update to the Guide for Developing Sugar Activities in JavaScript to reflect the new APIs. | | ;Expected results: Rich media and sensor support for JavaScript Activities, Sample activities and an update to the Guide for Developing Sugar Activities in JavaScript to reflect the new APIs. |
Line 47: |
Line 47: |
| ;Knowledge prerequisite: Strong background in Python, GTK3, and Atspi; some electronics background would also be useful. | | ;Knowledge prerequisite: Strong background in Python, GTK3, and Atspi; some electronics background would also be useful. |
| |- | | |- |
− | !valign=top | [[File:Bulletin-board.jpg|90px|center|thumb]] || valign=top | Bulletin Board || valign=top | Walter Bender ||align=left valign=top | | + | !valign=top | [[File:Bulletin-board.jpg|90px|center|thumb]] || valign=top style="background:#00bb00;" | Bulletin Board || valign=top | Walter Bender ||align=left valign=top | |
| ;Brief explanation: While it seems the prevailing notion of collaboration in the classroom is for the teacher to be able to a service such as VNC to share a desktop with a student, it is evident from computer-supported collaborative work outside of the classroom that such models provide little if any enhancements to productivity or learning. Our approach in Sugar has always been to allow our users to collaborate directly on tasks – be it writing a document together; sharing bookmarks while browsing; or sharing code snippets while programming. That said, often times, a large project involves multiple tools and multiple resources to be shared among a group. This project is to provide an uber-structure for collaboration – the Bulletin Board – where a group can share resources in a persistent manner as they work on a project together. One aspect it a shared, persistent "clipboard" of artifacts being used collectively within the project; another, illustrated on the left, is a chat channel that can be overlaid on top of activities to enable targeted discussions. | | ;Brief explanation: While it seems the prevailing notion of collaboration in the classroom is for the teacher to be able to a service such as VNC to share a desktop with a student, it is evident from computer-supported collaborative work outside of the classroom that such models provide little if any enhancements to productivity or learning. Our approach in Sugar has always been to allow our users to collaborate directly on tasks – be it writing a document together; sharing bookmarks while browsing; or sharing code snippets while programming. That said, often times, a large project involves multiple tools and multiple resources to be shared among a group. This project is to provide an uber-structure for collaboration – the Bulletin Board – where a group can share resources in a persistent manner as they work on a project together. One aspect it a shared, persistent "clipboard" of artifacts being used collectively within the project; another, illustrated on the left, is a chat channel that can be overlaid on top of activities to enable targeted discussions. |
| ;Expected results: Two new Sugar toolkit services: a share, persistent clipboard; and a chat overlay onto any shared activity. | | ;Expected results: Two new Sugar toolkit services: a share, persistent clipboard; and a chat overlay onto any shared activity. |
| ;Knowledge prerequisite: Strong background in Python and Gtk3 | | ;Knowledge prerequisite: Strong background in Python and Gtk3 |
| |- | | |- |
− | !valign=top | || valign=top | Social Help || valign=top | Martin Abente, Paul Cotton, Walter Bender||align=left valign=top | | + | !valign=top | || valign=top style="background:#00bb00;" | Social Help || valign=top | Martin Abente, Paul Cotton, Walter Bender||align=left valign=top | |
| ;Brief explanation: Last summer we had a GSoC project to implement system-wide help for Sugar activities. It is now possible to get context-dependent help anywhere within the Sugar system by simply typing Ctrl-H or by clicking on the help button on the Sugar 'frame". This summer, we'd like to add a social component to our help. Using the same mechanism for determining content, we'd like to offer our users a channel for topical discussions. The most simple way to do with would be to launch them into topical IRC channels. However we'd like to also explore tools such as [http://www.discourse.org/about/ "Discourse"]. The first step will be to determine a platform for the social help in discussion with the developer community; step two will be to implement the social help mechanism in Sugar. | | ;Brief explanation: Last summer we had a GSoC project to implement system-wide help for Sugar activities. It is now possible to get context-dependent help anywhere within the Sugar system by simply typing Ctrl-H or by clicking on the help button on the Sugar 'frame". This summer, we'd like to add a social component to our help. Using the same mechanism for determining content, we'd like to offer our users a channel for topical discussions. The most simple way to do with would be to launch them into topical IRC channels. However we'd like to also explore tools such as [http://www.discourse.org/about/ "Discourse"]. The first step will be to determine a platform for the social help in discussion with the developer community; step two will be to implement the social help mechanism in Sugar. |
| ;Expected results: A system-wide mechanism for jumping into a forum for topical discussions about Sugar and Sugar activities; a service that can be dropped onto a classroom server for circumstances where Internet access is not available or permitted. | | ;Expected results: A system-wide mechanism for jumping into a forum for topical discussions about Sugar and Sugar activities; a service that can be dropped onto a classroom server for circumstances where Internet access is not available or permitted. |