XS project ideas
Moodle
Moodle is a very popular Course Management System / Learning Management System. It is the "main face" of the webbased tools that the School Server offers. More info on moodle
- http://moodle.org/ - in the 'Using Moodle' course, the 'General developer forum' is where developer discussions happen.
- http://docs.moodle.org/ - this has a sizable section for developers.
Work on Moodle is split on
- Making Moodle better for young children. Moodle is originally designed for tertiary and secondary levels. Improving the UI for children is a priority.
- Making moodle better for learning based on Social Constructivism practices - see http://docs.moodle.org/en/Philosophy
- Integrating Moodle with other tools
To understand some of these tasks, you probably need to install and explore Moodle:
- http://docs.moodle.org/en/Install
- http://docs.moodle.org/en/Teacher_documentation - it is important to think as a teacher and as a student when exploring moodle.
Moodle: What you paint is what you get
Most of online (webbased) interaction is via forms -- a text-heavy approach. Young children find it easier to paint and draw.
If we can switch the WYSISWYG HTML editors in forms with a paint here facility, then we make webbased tools easier for them.
- Additional notes at http://wiki.laptop.org/go/XS_Moodle_design#What_You_Paint_Is_What_You_Get_editor
- An initial exploration of existing tools http://moodle.org/mod/forum/discuss.php?d=110902
Technical notes:
- Moodle is using a WYSIWYG editor called TinyMCE - that is a possible integration point.
- Implementation idea: write a vector-based "paint" facility in JS that runs in the browser.
- Implementation idea: write a vector or bitmap paint facility in Flash, bearing in mind that OLPC ships Gnash instead of Adobe's Flash.
- Performance matters - the OLPC XO has a relatively low power CPU, so image editing has to be tuned / optimised to be responsive.
The complexity of this project is high.
Moodle - blog-style course format
In Moodle, the most important page is the "course page", which acts as a hub in a hub-and-spoke navigation strategy. The structure and user workflow with the page is controlled by a pluggable bit of code, called a course format.
The default course format is good for courses where the teacher can plan ahead. For day-to-day teaching, as is often done in primary schools, a different format is preferrable. The goal of this project is to deliver a blog-style day-to-day format as described here: http://wiki.laptop.org/go/XS_Moodle_design#Topics-style_course_format.2C_geared_for_a_year-long
The complexity of this project is medium-low.
Moodle - simpler workshop module
The 'Workshop' module in Moodle is excellent from a Social Constructivist point of view, and we would like to be able to use it for OLPC.
This module is specially nice in that helps a teacher ask students to perform an open ended task, and then get students to assess and help eachother.
It suffers however of 2 problems
- The code is old and unclear.
- It is overburdened with options.
A newly implemented module that implements a subset of the Workshop functionality and follows current coding practices would be hugely popular with OLPC users and Moodle users.
The complexity of this project is medium-high.
wwwoffle
Sneakernet support
• integrate wwwoffle with scripts to support sneakernet.
Speak rproxy
• add "rproxy" extension support to wwwoffle
Proxy - rproxy
scope docs platform/lang workflow
ejabberd - Erlang
scope docs platform/lang workflow
Wikipedia / Wikislice
scope docs platform/lang workflow