Summer of Code/2007

From OLPC
< Summer of Code
Revision as of 17:31, 3 May 2006 by Sj (talk | contribs) (One dictionary per child)
Jump to: navigation, search

One Laptop per Child


Directions

Please put proposals for projects in the section for proposed projects; we'll sort through those later this week and add them to the certain list after review.

Please indicate in any proposal if there are any requirements on where the work will take place.

Mentoring

If you are interested in mentoring participants, please read the mentor FAQ. Note that both the ability to spend significant time mentoring, and the quality of the students are key to a good return on investment by the mentor, and the learning by the students. Please do not sign up to be a mentor unless you are certain you can meet the obligations of being a good mentor. If you are interested in mentoring, please send mail to Jg with a sketch of your background.

Certain OLPC Summer of Code Projects

Please do not add projects to this "Certain" catagory; proposed projects should be put in the proposed section found below.

User stack architecture

We're looking for several exceptional students who are willing to spend their summer in Boston, working within the user stack team, building the architecture and the application suite which will be the children's primary mode of interaction with the laptop. This suite currently consists of the E-book reader, a wiki notebook, and e-mail and IM clients.

None of these are traditional applications like the ones we're used to; the OLPC environment poses unique and extremely difficult problems to solve. The development will be done in Python; for more details about what caliber of participant we're looking for, see the original internship announcement. If you're planning to apply for this position, please follow the instructions in the previous link and send a resume to Ivan before submitting a proposal through the SoC system.

In return for your outstanding skills, we're offering the ability to work on an incredible software project, on an unprecedented scale of deployment, with extremely bright people, and right out of OLPC's Cambridge offices. It'll be a wild ride -- jump in.

Proposed (possible) OLPC Summer of Code Projects

The proposed projects below will be reviewed later this week (Thursday or Friday); those making the cut will be moved to the certain catagory. Please only add proposals below this line. If you are interested in helping review proposals here for appropriateness and consistent with the direction of the project, please let Jg know.

GTK+ Toolkit

There are a number of simple modifications needed in GTK+. Here are some examples: the cursor in a text area flashes indefinately, rather than turning itself off after a couple cycles. Similarly, we need a theme that is space efficient, works on both grayscale and color by careful selection of colors with differing shades of grey. And at 640x480 resolution, some tuning of the borders between widgets may be needed to enable fewer applications to require modifications to work at this lower effective resolution (note the frame buffer will always stay at the full resolution; turning to color mode reduces the effective resolution without changing the frame buffer size.

Power aware applets

We expect that a number of applets that display information will need modification to become better power aware.

Better memory usage tool(s)

Right now, ps, top, xrestop, and so on all give various, often misleading and confusing reporting of memory usage, that defies all but system wizards understanding. A utility that would gather up the various memory usage attributable to a process and report it in an understandable way for application programmers would help greatly in clarifying (mis)behaving applications and libraries.

Networking

Include mesh routing (such as http://www.olsr.org) to the OLPC laptop. Analyse and simulate scalability and performance issues. Contact: aaron@lo-res.org

Educational Content

HIV/AIDS Education

Create educational games to help children learn about HIV prevention and AIDS. We want content for children of all ages, simple to use and easy to understand. Collaboration with international AIDS organizations is recommended. Possible partners include the Nkosi Johnson AIDS Foundation in South Africa.

Proposer : Kpi 10:10, 2 May 2006 (CET)

One dictionary per child

Nutshell: Multilingual Wiktionary & Wikidata customization for the laptops/servers.

The Multilingual Wiktionary project is picking up steam, and will have some active functionality in a few months. A version of this [and of the underlying wikidata implementation] customized to work with the wiki-based reader software already on the laptops/servers should be produced. This would be combined with a parallel content project to produce a 100-language dictionary (with miminal swadesh/other word lists in a further 200 languages) that could be included with every server; and a subset of the same which could be included on each laptop.

Proposer : User:Sj 04:00, 2 May 2006 (EDT)

One encyclopedia per child

Nutshell: Wikipedia & Wikimedia Commons customization for laptops/servers

The idea of a "one encyclopedia per child" project to create a condensed snapshot of Wikipedia content suitable for all OLPC laptops (not just the servers) has been floated on this wiki, and on Wikipedia itself. There is an important software component involved -- the culling of statistics about what articles matter, and the scripted export of Wikipedia content (perhaps only part of each article) into a suitable format, both require work and consideration. On the statistics front, a variety of statistics should be gathered (by link-popularity, reader popularity, seminality in Wikipedia's internal-link network, centrality in its field, ...) and analyzed. On the scripting front, scripts should be developed to strip/modify external links; to pull out the first sentence, paragraph, or other subsets of longer articles; to properly reformat or remove image or media links; to properly handle templates and other wikitext features which may not be supported in the native reader.

As for handling of images and media, some work might also be done to better produce and store compressed thumbnails of content, so that a variety of such content may be included. Some form of temporary local caching of requested media, pulled from the nearest server, or of media sharing across machines on a mesh network, could also be useful.

Proposer : Dr. Ian Geoffrey Kennedy* (general idea), User:Sj (the specific proposal above) 04:00, 2 May 2006 (EDT)

* see User:olpcme, possibly Dr. Kennedy on this wiki

Accessibility

Vision Test

On Brazil the number of people with a disability is 10%, and on others can be much more, with visual impairment corresponding to a big part of that number, so it might be a good idea to include a vision test software that can check the child's vision and sees if she needs to be pointed to a doctor to better use the Laptop.

Proposer: --Felipecarvalho 06:54, 2 May 2006 (EDT) (as a student)


Virtual Magnifying Glass

Nutshell: Improve the magnifier so it can take advantage of X Composite Extension and be much more adequate for the Laptop and much more efficient.


Virtual Magnifying Glass is a free, open source, multiplatform, screen magnification tool. It is simple, customizable, and easy-to-use.

The propose consists in adding Dynamic Mode to the software by using the X Composite Extension. This allows the user to see the current desktop contents under the magnifier window. The user can also interact with the window under the magnifier (such as mouse, scroll wheel, keyboard, etc...).

Proposer: --Felipecarvalho 07:12, 2 May 2006 (EDT)