Summer of Code/2013

< Summer of Code
Revision as of 12:17, 19 February 2013 by Aneesh Dogra (talk | contribs) (Add me as a co-mentor in some of the projects I am interested to mentor.)

Project candidates

A list of projects potential participants might contribute within GSoC program. Every project is shortly described with mentioning secondary skills for possible participants (the primal skill is desire to do something useful).

Note
Potential mentors, please feel free to add ideas to this list. Also, feel free to add your name to a project you'd be willing to co-mentor.
Note
Potential students, more project ideas can be found on our Features page.

Portfolio videos

Working with the maintainer of Portfolio to add a mechanism for exporting .ogv (voice over still images) of a portfolio presentation. This is a request that has come from deployments: they'd like to be able to post videos of student work, which is currently available as a slide show with audio voice-over.

 

A working knowlewdge of Python and some gstreamer skills are a must.

Contact: User:Walter

Co-mentor:"User:Aneesh Dogra

Unified journal view

Rather than viewing the details of a Journal entry on a separate page, the idea is to make the details appear in an expandabe in-line format on the main Journal view. The look and feel would be more like Google+ or Facebook. Performance will be a major challenge.

 

This project requires some working knowledge of the low-level Sugar Journal and datastore code.

Contact: User:Walter

Plugin support

A number of activities, notably Turtle Art, are supporting plugins -- the ability to extend features by downloading additional modules. However, the mechanism for installing plugins is anything but friendly. It would be nice to design a uniform plugin bundle type and modify the activity installer to recognize this new type. Caveats include dependencies -- presumably the plugin would take care of that -- and version control -- plugins are often incumbent upon a specific version of an activity. ASLO hosting] should also be considered.

Strong Python skills and experience with Sugar toolkit required.

Contact: User:Walter

Co-mentor:"User:Aneesh Dogra

End-user modifications of Sugar source

We have an existing mechanism for duplicating and modifying Sugar activities: a copy of the bundle can be creaed in ~/Activities, where it can be modified by the end user. We also have a mechanism for viewing the Sugar toolkit source, but no such convenient way for making changes without risking messing up the system. While it should be easy enough to make a duplicate copy in the user's home directory, and to change the Python paths to use the modified code, we need some mechanism -- presumably at boot -- to choose which version to run: the installed version or the modified version.

Strong Python skills and experience with Sugar toolkit required.

Contact: User:Walter

Project sharing website

Create a Project Hosting Site similar to the Scratch website where kids can share the projects they have created using various Sugar Activities. The site should foster collaboration and sharing of projects. The Web Site should be built using a free web framework so that it can be installed at deployment sites. Some features include:

  • Ability to engage and connect with friends and classmates using various Social Networking sites/techniques.
  • Ability to post projects from various Sugar Activities (ex: Turtle Blocks, Etoys, Memorize, Physics, etc.)
  • Separate landing pages for different audiences (kids, teachers, parents, etc)
  • Section to share kid created art from projects
  • Ability for users to create galleries (of their own projects, favorite projects, subject specific topics, etc).
  • Ability to have “private classroom spaces”
  • Tools to support community management of the site
  • Multi-language support

Contact: User:MrSteve

Co-mentor: User:dogi

Sugar as a Service website

Create a Site for managing multiple "Sugar in a Browser" sessions like treehouse or broadway gnome Some features include:

Contact: User:dogi

Co-mentor:"User:Aneesh Dogra

Implement collaboration in Paint Activity

Paint Activity does not implement collaboration yet. The easy part is send the mouse positions and draw in the different machines, but you need have the status of the different tools used, copy/paste operations and undo/redo. Another task to do is port the graphics operations to cairo.

Requires familiarity with Python.

Contact: User:Godiard

Implement help mechanism for activities using Mallard

Mallard is a markup language that makes it easy to provide user help. It would be a nice feature to add Mallard-like help to activities, accessed through a mechanism similar to the view source mechanism. We need to sort through two issues: integration into Sugar and intergration into our i18n / L10n system.

Contact: User:Walter

Co-mentor:"User:Aneesh Dogra