Summer of Code/Ideas
Ideas
School Server
Design of the admin interface
Core Software
Java
Package and integrate the IcedTea open source bootstrap of OpenJDK Java with browser plugin for the XO. Deliverables would include:
- binary, source and rpm dependencies for icedtea and icedtea browser plugin
- java enabled xo os image
- integration of packages into autobuild branch
Print Support
Print support in Sugar would be useful in many scenarios. The ideal project deliverables would include
- Integration of a printing infrastructure (CUPS ??) into the XO-1 software images
- Modification of Sugar Control Panel to set up the printer (add/select default printer?)
- Modification of at least one activity (Write ?) to support printing
- Making a printing activity, that follows sugar GUI guidelines?
Integration of Speech Synthesis Technology into Sugar
Integrate speech synthesis with all activities, not just Speak, and provide for karaoke coloring. See Mokurai's article on adapting Same Language Subtitling for literacy to the XO.
Desirable Features for Sugar Speech Synthesis Plugin:
- Provide Sugar Speech Synthesis Configuration Management Tool
- Karaoke Style Coloring in Sugar Environment
- UI for configuration Control
- Accent gets set on the basis of locale
twexter
twexter software formats twin text (twext) for language learners.. twexter can work with tools like moodle or scratch or wixi, etc.
Libraries
pygame/sdl
Add as much support as possible using the Geode graphics processor.
Activities
Micropolis (SimCity)
I have a long list of interesting ways to develop Micropolis (aka SimCity), which I have written about on my blog!
The source code is on Google Code, and I've been working on finishing up all the grunt work that requires familiarity with the code and would be hard for other people to do, to enable other people to work on the higher level stuff that depends on that.
There are two Micropolis projects:
- The old "micropolis-activity" which is the original TCL/Tk version of SimCity for Unix, which I ported to Linux and adapted to the OLPC.
- The new "MicropolisCore" C++/SWIG/Python module that I've cleaned up and I have started developing a user interface.
It would be best to put effort into developing the new MicropolisCore code for the long term, although there are some small tasks that could be done with the old TCL/Tk code for the short term.
Typing Tutor
A typing tutor activity has been a request from a number of deployments. The activity must be able to work in different scripts with different keyboard layouts - take a look at Keyboard#Languages_other_than_English for information on supported keyboard layouts.
Language Learning Activity
A tool to learn foreign languages would be a great addition for the XO. At it's most rudimentary form, it can be a dictionary, but something advanced would be preferred, perhaps in the lines of LingoTeach. From Ivan Krstić's blog entry, Astounded in Arahuay:
“The kids really want an activity to learn English, but there isn’t one on the laptops” responds Mr. Navarro. “The 1st and 2nd graders all use an online dictionary, but the Internet connection gets slow with that many users. It’d be nice if a dictionary was on the XO directly.
Document reader with annotation capability
GIS activity for XO
Engineers Without Borders, Timepedia, and International Symposium on Digital Earth want to work with OLPC to create community-based mapping data collection systems that will feed to global mapping and analysis projects, which will then feed back to the children and their communities. Environment, health, agriculture...
Enhancements for Measure
- Feed generated data from simulations or the software synthesizer into the Measure activity.
- Add sensor support to Activities such as TamTam that would allow musical pitch, tempo etc to be controlled by sensors
- Make a video context analogous to the audio context that currently exists. Along with showing a real time video stream, show RGB values, a histogram etc.
- Make triggered logging possible (similar to triggered logging in Oscilloscopes)
- Some more immediate plans here Measure/Plans
Make activities programmable
More generally, support snap-together programming of XO activities in the manner that Turtle Art and Etoys provide internally.
Improve DrGeo
The DrGeo activity (interactive geometry) port need to be finished and improved in different areas.
Parts to be written
- implementation of the macro-construction system. It is a system to record a set of constructions as a function the user can save and use repeatably. See the original implementation.
- implementation of the script system. A script within DrGeo is code hooked to an interactive sketch, it is used to perform calculus. See the original implementation in Scheme. The script language will be Smalltalk based.
Parts to improve
- improve the load time, the load time is now unacceptable for the user and make DrGeo unadapted for the OLPC.
- define a journal type entry to save/load.
- improve the user interface, particularly the access to the construction tools.
- improve the locus sampling, it is by now suboptimal.
Other suggestions for improvements, see the DrGeo tracker.
Email activity
Develop a light, functional and usable email client
Flashcard activity
An activity for learning things like vocabulary, with a good alogrithm for adaptive repetition (i.e. don't show me cards I already know well). Perhaps a collaborative element too? Daf 20:51, 6 March 2008 (EST) (see Drill and test software)
Mind mapping activity
Ivan Krstic reports on his blog that a teacher in Arahuay requested a mind-mapping activity. Homunq 13:23, 7 March 2008 (EST)
Listen and Spell
A simple game to help children learn to spell words correctly using speech synthesis technology. Words will be spoken, and the child will be expected to correctly spell it.
The game can have the following features:-
- Difficulty Level - Easy/Medium/Hard
- Multiple Dictionary Sources
- Contextual Dictionary Lookups - The application can lookup words related to specific keywords, speak out a small description of the word, and then expect the child to spell it.
- Mesh Challenge - Children can collaborate over the Mesh Network and challenge each other in a mulptiplayer game. The child will type the word on his XO, this will be spoken on the other XO, and the player must spell it correctly.
A very basic activity draft that can be suitably scaled is available at talkntype
Misc
Eclipse based development environment for Activities
An [Eclipse] plugin which would allow software developers to easily write Python based activities for Sugar. Some of the features can be
- Integration with an Xnest/Xephyr window which would run the activity being developed in Sugar
- Easily accessible developer documentation
Sugar Factory
Sugar Factory is an automated method for Sugarizing non-Python applications. Albert Cahalan has some of this working now.
Extending Gnash
Extend Gnash to read more data formats, in particular those at OLPC.tv, and Mary Lou Jepsen's presentation at the Greener Gadgets Conference. Integrate Supat's SSS code and move it upstream.
Mediawiki stuff
I have seen a fair amount of discussion of the possibility of having school-level wikipedias. The issues involved are offline browsing (static content, caching, at 2 levels: global<->school server<->xo) and editing (multilevel synchronization - a problem that probably cannot be "solved" but can be attacked). This person would need to have architectural vision and PHP skills. If there were such a proposal, I would suggest that they could spend a little extra time supporting/mentoring my Summer of Content proposal for a multilingual wiki. Homunq 12:18, 2 March 2008 (EST)
Sugar adaption for the Nasa Colombian ethnic community
One of the 91 indigenous cultures that still exist in Colombia is the [1] (aka Nasa). They have their own traditions, customs, world view, mother tongue (Nasa Yuwe), i.e. their own culture. It could be possible to take cultural elements into the Sugar Interface, not only language, to provide Nasa children a suitable and familiar interface. Santiago 18:01, 8 March 2008 (EST)