http://wiki.laptop.org/mediawiki/api.php?action=feedcontributions&user=Jairtrejo&feedformat=atomOLPC - User contributions [en]2024-03-29T11:49:31ZUser contributionsMediaWiki 1.31.7http://wiki.laptop.org/mediawiki/index.php?title=Garden_Activity&diff=123922Garden Activity2008-04-07T10:41:57Z<p>Jairtrejo: /* Section 1 : The Garden Activity */</p>
<hr />
<div>== Introduction ==<br />
<br />
This document describes in detail my idea for a virtual garden, to be deployed int the XO Laptop as a Sugar activity.<br />
<br />
This virtual garden has three main goals:<br />
<br />
* To be a rich and interesting tool for learning about Mendelian genetics,<br />
* To provide rich support for extensions an modifications through a plugin architecture and<br />
* To generate an understandable and simple body of code, that might be used by future XO developers as an example of a reasonably complex application.<br />
<br />
The rest of the document is laid out as follows:<br />
<br />
Section 1 : The Garden Activity, is a tour through the idea of the application, its interface and the way it will accomplish the first goal.<br />
<br />
Section 2 : Technical Description, describes the technical aspects of the project<br />
<br />
Section 3 : The Code, is about the design principles that the project's code will follow, in order to fulfill the second and third goals. It describes the plugin architecture, and proposes a general design for the code.<br />
<br />
Section 4 : Schedule, gives a tentative schedule for the completion of the different stages of the project.<br />
<br />
== Section 1 : The Garden Activity ==<br />
<br />
The garden Activity will be a virtual garden, where the users will create artificial plants and mate them to enhance their characteristics, gaining insight into the process of inheritance and the mechanisms of Mendelian Genetics.<br />
<br />
The interface will be divided in three sections: The Garden, the Species Design Laboratory and the Seeds Room.<br />
<br />
In The Garden, the user can arrange the plants and monitor the progress of her experiments, as well as pick individuals for their reproduction. When two individuals are picked for reproduction, the resulting seed is stored in the Seeds Room. Although the "gardening" aspects of a virtual garden are not a main concern at this stage of the project, It might be interesting to add some basic capabilities, with the chance to improve them in future versions: things like watering, fertilizing the soil, amount of sunlight, etc.<br />
<br />
Apparently, the gardening stuff has encountered a warm reception, so I think I'll expand on that. As suggested by [[User:Homunq|Homunq]], each plant will have a health level, and an age. I'm still thinking of the factors that will influence the health, and the rate of change of the age... ¿perhaps variable?. Weed species could also be interesting.<br />
<br />
The Species Design Laboratory will be the place where new plant species can be designed. It will provide controls for adjusting the parameters of the underlying L-System and the Superformula, but conveniently abstracted under intuitive plant parameters, like amount of flowers, weed-like or tree-like, shape and color of the flower's petals, etc. Once the new species are created, they are stored as "templates" for generating new seeds.<br />
<br />
The Seeds Room will be where the birth of new individuals takes place. From here the user can either select the previously generated templates to create new seeds, or use one of the previously stored ones. When looking at the seeds, the program will show information about their genealogy, and notes attached to them during their creation.<br />
<br />
For pedagogical purposes, the user will only be able to create a limited number of species, tweaking a restricted set of parameters. In order to gain more power for the design of the flowers, the user should enter "challenge mode". There, it will be asked to perform experiments, and answer questions about them: They will gradually introduce her to the mechanisms of inheritance and basic genetics, and help her discover by herself the rules behind it.<br />
<br />
The field of genetics is huge, and there are lots of little things that would add complexity and beauty to the plants. A compromise will have to be achieved between complexity and understandability; but I think I can get a little bit more in the program than just mendelian genetics.<br />
<br />
As for sharing functions, a plugin will be developed to allow the user to share her plant's seeds with other XO Laptops. Additionally, the idea of a "school garden", stored in the central server and viewable in each Laptop seems very interesting, It might be implemented if there is enough time.<br />
<br />
== Section 2 : Technical description ==<br />
<br />
L-Systems were conceived by Aristide Lindenmayer as a mathematical theory of plant development. Originally, it didn't consider the geometry of plants, but rather the relationships between their cells. However, several geometric interpretations of L-systems have been proposed: In "The Algorithmic Beauty of plants" a "Turtle Geometry" approach is used, and so will our virtual garden use too.<br />
<br />
[[Image:Arb5.png|thumb|A tree generated by an L-system. The turtle interpreter is still ugly, but you get the idea.]]<br />
<br />
A complete description of LSystems lies beyond the scope of this document; the reader is advised to go to the Prusinkiewicz and Lindenmayer's book for that. For now it is enough to say that they provide the means to describe the general structure of the plant, while leaving room to enough random elments as to generate "individuals" of each species.<br />
<br />
On the other hand, the Superformula is a Generalization of the sphere that can represent many natural shapes. It will be used to describe the shapes of flowers; the color and size of the flowers will vary between individuals.<br />
<br />
[[Image:Giellisflower.png|thumb|A flower created by superimposing various instances of the superfomula]]<br />
<br />
Once species are defined, we need a list of values to "fill-in the blanks" in the species template. We will come to it later, but for now, supposing we already have the values, we can proceed to the graphical representation of the plant.<br />
<br />
The first step is to create the flower. For this, Cairo paths will be created by joining points in the perimeter of each petal layer. They will be colored and arranged as specified by the template, and drawn into a Cairo surface.<br />
<br />
After creating the flowers, a "turtle" (as in turtle graphics) will interpret the description of the individual: the chain of instructions generated by the rewriting process of the L-System. It will include information as to where should the flowers be placed; copies of the flower surface will be placed at those locations. Once the drawing is finished, we have a picture of the individual that can be used wherever we need.<br />
<br />
The template that describes a plant species is not a complete description of an individual plant; it leaves some blanks that can be randomly filled to create individuals. When we have to draw a particular member of the species, this values should be randomly generated; we will call "chromosome" to this string of random values, that can appropriately complement the species template to draw individuals. However, the chromosome is not the individual itself, but a representation of it's tendency to have certain characteristics. Although two interpretations of the same chromosome will be very similar, there are certain characteristics that might vary, specially when the individual genes represent probabilities. The only univocal representation of a particular individual would be the final string generated by the L-system, and the accurate description of it's flowers, which shall be stored for each plant, and that can be used to exactly reconstruct the plant's picture.<br />
<br />
However, although they are not an exact description of each individual, our chromosomes are suitable vehicles for inheritance. The mating of two chromosomes to create new individuals will be very much like the process described by classical genetics: When new species are created, the program will randomly choose criteria for discriminating between dominant and recessive genes; those choices will be part of the species template, and used whenever two individuals mate. When that occurs, the program will go gene by gene, deciding which one will manifest in the individual, and which copies shall be stored int he genome; the result will be roughly the same as Mendel's Laws would predict.<br />
<br />
The technologies that will be used for the implementation of the project are pretty much the standard ones: Python, PyGTK, Glade and Cairo. A Cairo-based GTK widget will be created to allow te "on-line" design of the flowers. As for the rest of th application, it'll try to use standard components as much as possible, while drawing directly with Cairo for the more graphic parts of the Interface.<br />
<br />
== Section 3 : The Code ==<br />
<br />
The code for the project ought to be as clear and as "hackable" as possible. To achieve that, I'll work in advance in the general structure of the program. I plan to have a clear definition of the classes that should be written before summer starts, and then improve on that.<br />
<br />
Please check back for updates on that area.<br />
<br />
On the other hand, I'll include an extensive plugin architecture; I'll try to expose almost every aspect of the software through an API, allowing further work on the software to be done without modifying the core code, making distribution of improvements much more easy. Since I plan to keep working in the project after the GSoC, I'm pretty interested in easing the updating and improvement process.<br />
<br />
== Section 4 : Schedule ==<br />
<br />
* Google Calendar [http://www.google.com/calendar/embed?src=4pk8dqfhc37sit585oev2hsh5o%40group.calendar.google.com%20]<br />
<br />
Please go to May in the Calendar for the beginning of activities. I plan to dedicate August to improvements, tweaks and bug fixes.<br />
<br />
[[Category:GSoC proposals]]</div>Jairtrejohttp://wiki.laptop.org/mediawiki/index.php?title=Garden_Activity&diff=123856Garden Activity2008-04-07T02:40:58Z<p>Jairtrejo: </p>
<hr />
<div>== Introduction ==<br />
<br />
This document describes in detail my idea for a virtual garden, to be deployed int the XO Laptop as a Sugar activity.<br />
<br />
This virtual garden has three main goals:<br />
<br />
* To be a rich and interesting tool for learning about Mendelian genetics,<br />
* To provide rich support for extensions an modifications through a plugin architecture and<br />
* To generate an understandable and simple body of code, that might be used by future XO developers as an example of a reasonably complex application.<br />
<br />
The rest of the document is laid out as follows:<br />
<br />
Section 1 : The Garden Activity, is a tour through the idea of the application, its interface and the way it will accomplish the first goal.<br />
<br />
Section 2 : Technical Description, describes the technical aspects of the project<br />
<br />
Section 3 : The Code, is about the design principles that the project's code will follow, in order to fulfill the second and third goals. It describes the plugin architecture, and proposes a general design for the code.<br />
<br />
Section 4 : Schedule, gives a tentative schedule for the completion of the different stages of the project.<br />
<br />
== Section 1 : The Garden Activity ==<br />
<br />
The garden Activity will be a virtual garden, where the users will create artificial plants and mate them to enhance their characteristics, gaining insight into the process of inheritance and the mechanisms of Mendelian Genetics.<br />
<br />
The interface will be divided in three sections: The Garden, the Species Design Laboratory and the Seeds Room.<br />
<br />
In The Garden, the user can arrange the plants and monitor the progress of her experiments, as well as pick individuals for their reproduction. When two individuals are picked for reproduction, the resulting seed is stored in the Seeds Room. Although the "gardening" aspects of a virtual garden are not a main concern at this stage of the project, It might be interesting to add some basic capabilities, with the chance to improve them in future versions: things like watering, fertilizing the soil, amount of sunlight, etc.<br />
<br />
Apparently, the gardening stuff has encountered a warm reception, so I think I'll expand on that. As suggested by [[User:Homunq|Homunq]], each plant will have a health, and an age. I'm still thinking of the factors that will influence the health, and the rate of change of the age... ¿perhaps variable?. Weed species could also be interesting.<br />
<br />
The Species Design Laboratory will be the place where new plant species can be designed. It will provide controls for adjusting the parameters of the underlying L-System and the Superformula, but conveniently abstracted under intuitive plant parameters, like amount of flowers, weed-like or tree-like, shape and color of the flower's petals, etc. Once the new species are created, they are stored as "templates" for generating new seeds.<br />
<br />
The Seeds Room will be where the birth of new individuals takes place. From here the user can either select the previously generated templates to create new seeds, or use one of the previously stored ones. When looking at the seeds, the program will show information about their genealogy, and notes attached to them during their creation.<br />
<br />
For pedagogical purposes, the user will only be able to create a limited number of species, tweaking a restricted set of parameters. In order to gain more power for the design of the flowers, the user should enter "challenge mode". There, it will be asked to perform experiments, and answer questions about them: They will gradually introduce her to the mechanisms of inheritance and basic genetics, and help her discover by herself the rules behind it.<br />
<br />
The field of genetics is huge, and there are lots of little things that would add complexity and beauty to the plants. A compromise will have to be achieved between complexity and understandability; but I think I can get a little bit more than just mendelian genetics.<br />
<br />
As for sharing functions, a plugin will be developed to allow the user to share her plant's seeds with other XO Laptops. Additionally, the idea of a "school garden", stored in the central server and viewable in each Laptop seems very interesting, It might be implemented if there is enough time.<br />
<br />
== Section 2 : Technical description ==<br />
<br />
L-Systems were conceived by Aristide Lindenmayer as a mathematical theory of plant development. Originally, it didn't consider the geometry of plants, but rather the relationships between their cells. However, several geometric interpretations of L-systems have been proposed: In "The Algorithmic Beauty of plants" a "Turtle Geometry" approach is used, and so will our virtual garden use too.<br />
<br />
[[Image:Arb5.png|thumb|A tree generated by an L-system. The turtle interpreter is still ugly, but you get the idea.]]<br />
<br />
A complete description of LSystems lies beyond the scope of this document; the reader is advised to go to the Prusinkiewicz and Lindenmayer's book for that. For now it is enough to say that they provide the means to describe the general structure of the plant, while leaving room to enough random elments as to generate "individuals" of each species.<br />
<br />
On the other hand, the Superformula is a Generalization of the sphere that can represent many natural shapes. It will be used to describe the shapes of flowers; the color and size of the flowers will vary between individuals.<br />
<br />
[[Image:Giellisflower.png|thumb|A flower created by superimposing various instances of the superfomula]]<br />
<br />
Once species are defined, we need a list of values to "fill-in the blanks" in the species template. We will come to it later, but for now, supposing we already have the values, we can proceed to the graphical representation of the plant.<br />
<br />
The first step is to create the flower. For this, Cairo paths will be created by joining points in the perimeter of each petal layer. They will be colored and arranged as specified by the template, and drawn into a Cairo surface.<br />
<br />
After creating the flowers, a "turtle" (as in turtle graphics) will interpret the description of the individual: the chain of instructions generated by the rewriting process of the L-System. It will include information as to where should the flowers be placed; copies of the flower surface will be placed at those locations. Once the drawing is finished, we have a picture of the individual that can be used wherever we need.<br />
<br />
The template that describes a plant species is not a complete description of an individual plant; it leaves some blanks that can be randomly filled to create individuals. When we have to draw a particular member of the species, this values should be randomly generated; we will call "chromosome" to this string of random values, that can appropriately complement the species template to draw individuals. However, the chromosome is not the individual itself, but a representation of it's tendency to have certain characteristics. Although two interpretations of the same chromosome will be very similar, there are certain characteristics that might vary, specially when the individual genes represent probabilities. The only univocal representation of a particular individual would be the final string generated by the L-system, and the accurate description of it's flowers, which shall be stored for each plant, and that can be used to exactly reconstruct the plant's picture.<br />
<br />
However, although they are not an exact description of each individual, our chromosomes are suitable vehicles for inheritance. The mating of two chromosomes to create new individuals will be very much like the process described by classical genetics: When new species are created, the program will randomly choose criteria for discriminating between dominant and recessive genes; those choices will be part of the species template, and used whenever two individuals mate. When that occurs, the program will go gene by gene, deciding which one will manifest in the individual, and which copies shall be stored int he genome; the result will be roughly the same as Mendel's Laws would predict.<br />
<br />
The technologies that will be used for the implementation of the project are pretty much the standard ones: Python, PyGTK, Glade and Cairo. A Cairo-based GTK widget will be created to allow te "on-line" design of the flowers. As for the rest of th application, it'll try to use standard components as much as possible, while drawing directly with Cairo for the more graphic parts of the Interface.<br />
<br />
== Section 3 : The Code ==<br />
<br />
The code for the project ought to be as clear and as "hackable" as possible. To achieve that, I'll work in advance in the general structure of the program. I plan to have a clear definition of the classes that should be written before summer starts, and then improve on that.<br />
<br />
Please check back for updates on that area.<br />
<br />
On the other hand, I'll include an extensive plugin architecture; I'll try to expose almost every aspect of the software through an API, allowing further work on the software to be done without modifying the core code, making distribution of improvements much more easy. Since I plan to keep working in the project after the GSoC, I'm pretty interested in easing the updating and improvement process.<br />
<br />
== Section 4 : Schedule ==<br />
<br />
* Google Calendar [http://www.google.com/calendar/embed?src=4pk8dqfhc37sit585oev2hsh5o%40group.calendar.google.com%20]<br />
<br />
Please go to May in the Calendar for the beginning of activities. I plan to dedicate August to improvements, tweaks and bug fixes.<br />
<br />
[[Category:GSoC proposals]]</div>Jairtrejohttp://wiki.laptop.org/mediawiki/index.php?title=Garden_Activity&diff=123853Garden Activity2008-04-07T02:23:49Z<p>Jairtrejo: </p>
<hr />
<div>== Introduction ==<br />
<br />
This document describes in detail my idea for a virtual garden, to be deployed int the XO Laptop as a Sugar activity.<br />
<br />
This virtual garden has three main goals:<br />
<br />
* To be a rich and interesting tool for learning about Mendelian genetics,<br />
* To provide rich support for extensions an modifications through a plugin architecture and<br />
* To generate an understandable and simple body of code, that might be used by future XO developers as an example of a reasonably complex application.<br />
<br />
The rest of the document is laid out as follows:<br />
<br />
Section 1 : The Garden Activity, is a tour through the idea of the application, its interface and the way it will accomplish the first goal.<br />
<br />
Section 2 : Technical Description, describes the technical aspects of the project<br />
<br />
Section 3 : The Code, is about the design principles that the project's code will follow, in order to fulfill the second and third goals. It describes the plugin architecture, and proposes a general design for the code.<br />
<br />
Section 4 : Schedule, gives a tentative schedule for the completion of the different stages of the project.<br />
<br />
== Section 1 : The Garden Activity ==<br />
<br />
The garden Activity will be a virtual garden, where the users will create artificial plants and mate them to enhance their characteristics, gaining insight into the process of inheritance and the mechanisms of Mendelian Genetics.<br />
<br />
The interface will be divided in three sections: The Garden, the Species Design Laboratory and the Seeds Room.<br />
<br />
In The Garden, the user can arrange the plants and monitor the progress of her experiments, as well as pick individuals for their reproduction. When two individuals are picked for reproduction, the resulting seed is stored in the Seeds Room. Although the "gardening" aspects of a virtual garden are not a main concern at this stage of the project, It might be interesting to add some basic capabilities, with the chance to improve them in future versions: things like watering, fertilizing the soil, amount of sunlight, etc.<br />
<br />
The Species Design Laboratory will be the place where new plant species can be designed. It will provide controls for adjusting the parameters of the underlying L-System and the Superformula, but conveniently abstracted under intuitive plant parameters, like amount of flowers, weed-like or tree-like, shape and color of the flower's petals, etc. Once the new species are created, they are stored as "templates" for generating new seeds.<br />
<br />
The Seeds Room will be where the birth of new individuals takes place. From here the user can either select the previously generated templates to create new seeds, or use one of the previously stored ones. When looking at the seeds, the program will show information about their genealogy, and notes attached to them during their creation.<br />
<br />
For pedagogical purposes, the user will only be able to create a limited number of species, tweaking a restricted set of parameters. In order to gain more power for the design of the flowers, the user should enter "challenge mode". There, it will be asked to perform experiments, and answer questions about them: They will gradually introduce her to the mechanisms of inheritance and basic genetics, and help her discover by herself the rules behind it.<br />
<br />
As for sharing functions, a plugin will be developed to allow the user to share her plant's seeds with other XO Laptops. Additionally, the idea of a "school garden", stored in the central server and viewable in each Laptop seems very interesting, It might be implemented if there is enough time.<br />
<br />
== Section 2 : Technical description ==<br />
<br />
L-Systems were conceived by Aristide Lindenmayer as a mathematical theory of plant development. Originally, it didn't consider the geometry of plants, but rather the relationships between their cells. However, several geometric interpretations of L-systems have been proposed: In "The Algorithmic Beauty of plants" a "Turtle Geometry" approach is used, and so will our virtual garden use too.<br />
<br />
[[Image:Arb5.png|thumb|A tree generated by an L-system. The turtle interpreter is still ugly, but you get the idea.]]<br />
<br />
A complete description of LSystems lies beyond the scope of this document; the reader is advised to go to the Prusinkiewicz and Lindenmayer's book for that. For now it is enough to say that they provide the means to describe the general structure of the plant, while leaving room to enough random elments as to generate "individuals" of each species.<br />
<br />
On the other hand, the Superformula is a Generalization of the sphere that can represent many natural shapes. It will be used to describe the shapes of flowers; the color and size of the flowers will vary between individuals.<br />
<br />
[[Image:Giellisflower.png|thumb|A flower created by superimposing various instances of the superfomula]]<br />
<br />
Once species are defined, we need a list of values to "fill-in the blanks" in the species template. We will come to it later, but for now, supposing we already have the values, we can proceed to the graphical representation of the plant.<br />
<br />
The first step is to create the flower. For this, Cairo paths will be created by joining points in the perimeter of each petal layer. They will be colored and arranged as specified by the template, and drawn into a Cairo surface.<br />
<br />
After creating the flowers, a "turtle" (as in turtle graphics) will interpret the description of the individual: the chain of instructions generated by the rewriting process of the L-System. It will include information as to where should the flowers be placed; copies of the flower surface will be placed at those locations. Once the drawing is finished, we have a picture of the individual that can be used wherever we need.<br />
<br />
The template that describes a plant species is not a complete description of an individual plant; it leaves some blanks that can be randomly filled to create individuals. When we have to draw a particular member of the species, this values should be randomly generated; we will call "chromosome" to this string of random values, that can appropriately complement the species template to draw individuals. However, the chromosome is not the individual itself, but a representation of it's tendency to have certain characteristics. Although two interpretations of the same chromosome will be very similar, there are certain characteristics that might vary, specially when the individual genes represent probabilities. The only univocal representation of a particular individual would be the final string generated by the L-system, and the accurate description of it's flowers, which shall be stored for each plant, and that can be used to exactly reconstruct the plant's picture.<br />
<br />
However, although they are not an exact description of each individual, our chromosomes are suitable vehicles for inheritance. The mating of two chromosomes to create new individuals will be very much like the process described by classical genetics: When new species are created, the program will randomly choose criteria for discriminating between dominant and recessive genes; those choices will be part of the species template, and used whenever two individuals mate. When that occurs, the program will go gene by gene, deciding which one will manifest in the individual, and which copies shall be stored int he genome; the result will be roughly the same as Mendel's Laws would predict.<br />
<br />
The technologies that will be used for the implementation of the project are pretty much the standard ones: Python, PyGTK, Glade and Cairo. A Cairo-based GTK widget will be created to allow te "on-line" design of the flowers. As for the rest of th application, it'll try to use standard components as much as possible, while drawing directly with Cairo for the more graphic parts of the Interface.<br />
<br />
== Section 3 : The Code ==<br />
<br />
The code for the project ought to be as clear and as "hackable" as possible. To achieve that, I'll work in advance in the general structure of the program. I plan to have a clear definition of the classes that should be written before summer starts, and then improve on that.<br />
<br />
Please check back for updates on that area.<br />
<br />
On the other hand, I'll include an extensive plugin architecture; I'll try to expose almost every aspect of the software through an API, allowing further work on the software to be done without modifying the core code, making distribution of improvements much more easy. Since I plan to keep working in the project after the GSoC, I'm pretty interested in easing the updating and improvement process.<br />
<br />
== Section 4 : Schedule ==<br />
<br />
* Google Calendar [http://www.google.com/calendar/embed?src=4pk8dqfhc37sit585oev2hsh5o%40group.calendar.google.com%20]<br />
<br />
Please go to May in the Calendar for the beginning of activities. I plan to dedicate August to improvements, tweaks and bug fixes.<br />
<br />
[[Category:GSoC proposals]]</div>Jairtrejohttp://wiki.laptop.org/mediawiki/index.php?title=File:Arb5.png&diff=123852File:Arb5.png2008-04-07T02:23:22Z<p>Jairtrejo: A tree generated by an L-System</p>
<hr />
<div>A tree generated by an L-System</div>Jairtrejohttp://wiki.laptop.org/mediawiki/index.php?title=Garden_Activity&diff=123851Garden Activity2008-04-07T02:17:41Z<p>Jairtrejo: </p>
<hr />
<div>== Introduction ==<br />
<br />
This document describes in detail my idea for a virtual garden, to be deployed int the XO Laptop as a Sugar activity.<br />
<br />
This virtual garden has three main goals:<br />
<br />
* To be a rich and interesting tool for learning about Mendelian genetics,<br />
* To provide rich support for extensions an modifications through a plugin architecture and<br />
* To generate an understandable and simple body of code, that might be used by future XO developers as an example of a reasonably complex application.<br />
<br />
The rest of the document is laid out as follows:<br />
<br />
Section 1 : The Garden Activity, is a tour through the idea of the application, its interface and the way it will accomplish the first goal.<br />
<br />
Section 2 : Technical Description, describes the technical aspects of the project<br />
<br />
Section 3 : The Code, is about the design principles that the project's code will follow, in order to fulfill the second and third goals. It describes the plugin architecture, and proposes a general design for the code.<br />
<br />
Section 4 : Schedule, gives a tentative schedule for the completion of the different stages of the project.<br />
<br />
== Section 1 : The Garden Activity ==<br />
<br />
The garden Activity will be a virtual garden, where the users will create artificial plants and mate them to enhance their characteristics, gaining insight into the process of inheritance and the mechanisms of Mendelian Genetics.<br />
<br />
The interface will be divided in three sections: The Garden, the Species Design Laboratory and the Seeds Room.<br />
<br />
In The Garden, the user can arrange the plants and monitor the progress of her experiments, as well as pick individuals for their reproduction. When two individuals are picked for reproduction, the resulting seed is stored in the Seeds Room. Although the "gardening" aspects of a virtual garden are not a main concern at this stage of the project, It might be interesting to add some basic capabilities, with the chance to improve them in future versions: things like watering, fertilizing the soil, amount of sunlight, etc.<br />
<br />
The Species Design Laboratory will be the place where new plant species can be designed. It will provide controls for adjusting the parameters of the underlying L-System and the Superformula, but conveniently abstracted under intuitive plant parameters, like amount of flowers, weed-like or tree-like, shape and color of the flower's petals, etc. Once the new species are created, they are stored as "templates" for generating new seeds.<br />
<br />
The Seeds Room will be where the birth of new individuals takes place. From here the user can either select the previously generated templates to create new seeds, or use one of the previously stored ones. When looking at the seeds, the program will show information about their genealogy, and notes attached to them during their creation.<br />
<br />
For pedagogical purposes, the user will only be able to create a limited number of species, tweaking a restricted set of parameters. In order to gain more power for the design of the flowers, the user should enter "challenge mode". There, it will be asked to perform experiments, and answer questions about them: They will gradually introduce her to the mechanisms of inheritance and basic genetics, and help her discover by herself the rules behind it.<br />
<br />
As for sharing functions, a plugin will be developed to allow the user to share her plant's seeds with other XO Laptops. Additionally, the idea of a "school garden", stored in the central server and viewable in each Laptop seems very interesting, It might be implemented if there is enough time.<br />
<br />
== Section 2 : Technical description ==<br />
<br />
L-Systems were conceived by Aristide Lindenmayer as a mathematical theory of plant development. Originally, it didn't consider the geometry of plants, but rather the relationships between their cells. However, several geometric interpretations of L-systems have been proposed: In "The Algorithmic Beauty of plants" a "Turtle Geometry" approach is used, and so will our virtual garden use.<br />
<br />
A complete description of LSystems lies beyond the scope of this document; the reader is advised to go to the Prusinkiewicz and Lindenmayer's book for that. For now it is enough to say that they provide the means to describe the general structure of the plant, while leaving room to enough random elments as to generate "individuals" of each species.<br />
<br />
On the other hand, the Superformula is a Generalization of the sphere that can represent many natural shapes. It will be used to describe the shapes of flowers; the color and size of the flowers will vary between individuals.<br />
<br />
[[Image:Giellisflower.png|frame|right|A flower created by superimposing various instances of the superfomula]]<br />
<br />
Once species are defined, we need a list of values to "fill-in the blanks" in the species template. We will come to it later, but for now, supposing we already have the values, we can proceed to the graphical representation of the plant.<br />
<br />
The first step is to create the flower. For this, Cairo paths will be created by joining points in the perimeter of each petal layer. They will be colored and arranged as specified by the template, and drawn into a Cairo surface.<br />
<br />
After creating the flowers, a "turtle" (as in turtle graphics) will interpret the description of the individual: the chain of instructions generated by the rewriting process of the L-System. It will include information as to where should the flowers be placed; copies of the flower surface will be placed at those locations. Once the drawing is finished, we have a picture of the individual that can be used wherever we need.<br />
<br />
The template that describes a plant species is not a complete description of an individual plant; it leaves some blanks that can be randomly filled to create individuals. When we have to draw a particular member of the species, this values should be randomly generated; we will call "chromosome" to this string of random values, that can appropriately complement the species template to draw individuals. However, the chromosome is not the individual itself, but a representation of it's tendency to have certain characteristics. Although two interpretations of the same chromosome will be very similar, there are certain characteristics that might vary, specially when the individual genes represent probabilities. The only univocal representation of a particular individual would be the final string generated by the L-system, and the accurate description of it's flowers, which shall be stored for each plant, and that can be used to exactly reconstruct the plant's picture.<br />
<br />
However, although they are not an exact description of each individual, our chromosomes are suitable vehicles for inheritance. The mating of two chromosomes to create new individuals will be very much like the process described by classical genetics: When new species are created, the program will randomly choose criteria for discriminating between dominant and recessive genes; those choices will be part of the species template, and used whenever two individuals mate. When that occurs, the program will go gene by gene, deciding which one will manifest in the individual, and which copies shall be stored int he genome; the result will be roughly the same as Mendel's Laws would predict.<br />
<br />
The technologies that will be used for the implementation of the project are pretty much the standard ones: Python, PyGTK, Glade and Cairo. A Cairo-based GTK widget will be created to allow te "on-line" design of the flowers. As for the rest of th application, it'll try to use standard components as much as possible, while drawing directly with Cairo for the more graphic parts of the Interface.<br />
<br />
== Section 3 : The Code ==<br />
<br />
The code for the project ought to be as clear and as "hackable" as possible. To achieve that, I'll work in advance in the general structure of the program. I plan to have a clear definition of the classes that should be written before summer starts, and then improve on that.<br />
<br />
Please check back for updates on that area.<br />
<br />
On the other hand, I'll include an extensive plugin architecture; I'll try to expose almost every aspect of the software through an API, allowing further work on the software to be done without modifying the core code, making distribution of improvements much more easy. Since I plan to keep working in the project after the GSoC, I'm pretty interested in easing the updating and improvement process.<br />
<br />
== Section 4 : Schedule ==<br />
<br />
* Google Calendar [http://www.google.com/calendar/embed?src=4pk8dqfhc37sit585oev2hsh5o%40group.calendar.google.com%20]<br />
<br />
Please go to May in the Calendar for the beginning of activities. I plan to dedicate August to improvements, tweaks and bug fixes.<br />
<br />
[[Category:GSoC proposals]]</div>Jairtrejohttp://wiki.laptop.org/mediawiki/index.php?title=File:Giellisflower.png&diff=123850File:Giellisflower.png2008-04-07T02:17:06Z<p>Jairtrejo: A flower created by the "Superformula"</p>
<hr />
<div>A flower created by the "Superformula"</div>Jairtrejohttp://wiki.laptop.org/mediawiki/index.php?title=Talk:Garden_Activity&diff=123343Talk:Garden Activity2008-04-05T16:45:49Z<p>Jairtrejo: </p>
<hr />
<div>You should definitely have a "rapid breeding" mode where high mutation rates and fast generations get you fast evolution. This should be followed by "rapid evolution" where there are predators (eat the three shortest in each generation - relative fitness), natural hazards (kill any taller than X with a probability of Y - absolute fitness), and sexual selection (the one with the biggest flowers gets two extra seeds - relative fitness). You could do experiments like how fast evolution on one or two traits gets to point X, with or without sexual reproduction... etc.<br />
<br />
[[User:Homunq|Homunq]] 22:20, 2 April 2008 (EDT)<br />
<br />
Great proposal: creative, achievable, and relevant. <br />
<br />
I would love to see some hand drawn & scanned interface mockups added to the wiki page.<br />
<br />
I actually like the idea of keeping the growing process slow. Spelunx for the Mac (ancient game) had a tree grower activity where you set specific traits and then plant a tree, it took around 15 minutes during which you had to either wait or go do something else. <br />
<br />
Resuming the activity after a period of time would cause all the elapsed time to instantly be calculated, so it would appear that things were growing "overnight".<br />
<br />
This causes the user to become invested in their plants, and assign emotional value to them, as they took time to generate.<br />
<br />
[[User:Wade|wade]] 13:38, 2 April 2008 (EDT)<br />
<br />
Funny - two comments, one "speed it up" and the other "slow it down". I agree with the point about emotional value. But Mendelian genetics take 1-10 generations to do an interesting experiment, while directed / "self-directed" evolution takes 100-1000 generations. The maximum time that would be reasonable for that latter kind of experiment would be 10-30 seconds per generation of growth (and the minimum, to keep kids from getting hyper, would be 1-3). Longer experiments could still be run "overnight"<br />
<br />
Consider, some kind of "growth hormone" mode that makes plants more twiggy and uninteresting, but allows for the speed necessary for evolution. This could even replace the "designer" mode, as you could get interesting seedstock this way, then by turning off the "growth hormone" do slower mendelevian experiments.<br />
<br />
Also, I reread your proposal, and have some specific suggestions:<br />
<br />
-you mention dominance as if dominant/recessive were a clear distinction. In fact, as the famous case of sickle-cell anemia highlights, dominance/incomplete dominance is a continuum; the heterozygous phenotype can be anywhere on the continuum from one end (total dominance) to the middle (neither gene dominant), not to mention cases like co-dominant allele variations. In the case of polygenetic traits, the math gets a little more complicated, but you can extend the same concept by having each allele contribute a fixed sum on one dimension, but then applying a nonlinear function to that sum before expressing it as a phenotype. <br />
<br />
-you could have some "weed species" which tend to infest the garden, and provide an "herbicide" which controls them. Of course, unless you used the herbicide carefully, you'd get buildup/pollution (affecting your desired species) and/or the pest would evolve resistance. On the other hand, simply weeding it out would be sufficient, and not too much of a hassle IF you didn't let it get a foothold. <br />
<br />
[[User:Homunq|Homunq]] 22:20, 2 April 2008 (EDT)<br />
<br />
I'm working to address your suggestions, as well as several ideas that [[User:Homunq|Homunq]] proposed on IRC. I should have something by tonight; thank you very much for the interest and enthusiasm.<br />
<br />
[[User:Jairtrejo|Jair trejo]] 10:45, 5 April 2008 (CDT)</div>Jairtrejohttp://wiki.laptop.org/mediawiki/index.php?title=Garden_Activity&diff=122147Garden Activity2008-04-01T15:01:32Z<p>Jairtrejo: /* Section 3 : The Code */</p>
<hr />
<div>== Introduction ==<br />
<br />
This document describes in detail my idea for a virtual garden, to be deployed int the XO Laptop as a Sugar activity.<br />
<br />
This virtual garden has three main goals:<br />
<br />
* To be a rich and interesting tool for learning about Mendelian genetics,<br />
* To provide rich support for extensions an modifications through a plugin architecture and<br />
* To generate an understandable and simple body of code, that might be used by future XO developers as an example of a reasonably complex application.<br />
<br />
The rest of the document is laid out as follows:<br />
<br />
Section 1 : The Garden Activity, is a tour through the idea of the application, its interface and the way it will accomplish the first goal.<br />
<br />
Section 2 : Technical Description, describes the technical aspects of the project<br />
<br />
Section 3 : The Code, is about the design principles that the project's code will follow, in order to fulfill the second and third goals. It describes the plugin architecture, and proposes a general design for the code.<br />
<br />
Section 4 : Schedule, gives a tentative schedule for the completion of the different stages of the project.<br />
<br />
== Section 1 : The Garden Activity ==<br />
<br />
The garden Activity will be a virtual garden, where the users will create artificial plants and mate them to enhance their characteristics, gaining insight into the process of inheritance and the mechanisms of Mendelian Genetics.<br />
<br />
The interface will be divided in three sections: The Garden, the Species Design Laboratory and the Seeds Room.<br />
<br />
In The Garden, the user can arrange the plants and monitor the progress of her experiments, as well as pick individuals for their reproduction. When two individuals are picked for reproduction, the resulting seed is stored in the Seeds Room. Although the "gardening" aspects of a virtual garden are not a main concern at this stage of the project, It might be interesting to add some basic capabilities, with the chance to improve them in future versions: things like watering, fertilizing the soil, amount of sunlight, etc.<br />
<br />
The Species Design Laboratory will be the place where new plant species can be designed. It will provide controls for adjusting the parameters of the underlying L-System and the Superformula, but conveniently abstracted under intuitive plant parameters, like amount of flowers, weed-like or tree-like, shape and color of the flower's petals, etc. Once the new species are created, they are stored as "templates" for generating new seeds.<br />
<br />
The Seeds Room will be where the birth of new individuals takes place. From here the user can either select the previously generated templates to create new seeds, or use one of the previously stored ones. When looking at the seeds, the program will show information about their genealogy, and notes attached to them during their creation.<br />
<br />
For pedagogical purposes, the user will only be able to create a limited number of species, tweaking a restricted set of parameters. In order to gain more power for the design of the flowers, the user should enter "challenge mode". There, it will be asked to perform experiments, and answer questions about them: They will gradually introduce her to the mechanisms of inheritance and basic genetics, and help her discover by herself the rules behind it.<br />
<br />
As for sharing functions, a plugin will be developed to allow the user to share her plant's seeds with other XO Laptops. Additionally, the idea of a "school garden", stored in the central server and viewable in each Laptop seems very interesting, It might be implemented if there is enough time.<br />
<br />
== Section 2 : Technical description ==<br />
<br />
L-Systems were conceived by Aristide Lindenmayer as a mathematical theory of plant development. Originally, it didn't consider the geometry of plants, but rather the relationships between their cells. However, several geometric interpretations of L-systems have been proposed: In "The Algorithmic Beauty of plants" a "Turtle Geometry" approach is used, and so will our virtual garden use.<br />
<br />
A complete description of LSystems lies beyond the scope of this document; the reader is advised to go to the Prusinkiewicz and Lindenmayer's book for that. For now it is enough to say that they provide the means to describe the general structure of the plant, while leaving room to enough random elments as to generate "individuals" of each species.<br />
<br />
On the other hand, the Superformula is a Generalization of the sphere that can represent many natural shapes. It will be used to describe the shapes of flowers; the color and size of the flowers will vary between individuals.<br />
<br />
Once species are defined, we need a list of values to "fill-in the blanks" in the species template. We will come to it later, but for now, supposing we already have the values, we can proceed to the graphical representation of the plant.<br />
<br />
The first step is to create the flower. For this, Cairo paths will be created by joining points in the perimeter of each petal layer. They will be colored and arranged as specified by the template, and drawn into a Cairo surface.<br />
<br />
After creating the flowers, a "turtle" (as in turtle graphics) will interpret the description of the individual: the chain of instructions generated by the rewriting process of the L-System. It will include information as to where should the flowers be placed; copies of the flower surface will be placed at those locations. Once the drawing is finished, we have a picture of the individual that can be used wherever we need.<br />
<br />
The template that describes a plant species is not a complete description of an individual plant; it leaves some blanks that can be randomly filled to create individuals. When we have to draw a particular member of the species, this values should be randomly generated; we will call "chromosome" to this string of random values, that can appropriately complement the species template to draw individuals. However, the chromosome is not the individual itself, but a representation of it's tendency to have certain characteristics. Although two interpretations of the same chromosome will be very similar, there are certain characteristics that might vary, specially when the individual genes represent probabilities. The only univocal representation of a particular individual would be the final string generated by the L-system, and the accurate description of it's flowers, which shall be stored for each plant, and that can be used to exactly reconstruct the plant's picture.<br />
<br />
However, although they are not an exact description of each individual, our chromosomes are suitable vehicles for inheritance. The mating of two chromosomes to create new individuals will be very much like the process described by classical genetics: When new species are created, the program will randomly choose criteria for discriminating between dominant and recessive genes; those choices will be part of the species template, and used whenever two individuals mate. When that occurs, the program will go gene by gene, deciding which one will manifest in the individual, and which copies shall be stored int he genome; the result will be roughly the same as Mendel's Laws would predict.<br />
<br />
The technologies that will be used for the implementation of the project are pretty much the standard ones: Python, PyGTK, Glade and Cairo. A Cairo-based GTK widget will be created to allow te "on-line" design of the flowers. As for the rest of th application, it'll try to use standard components as much as possible, while drawing directly with Cairo for the more graphic parts of the Interface.<br />
<br />
== Section 3 : The Code ==<br />
<br />
The code for the project ought to be as clear and as "hackable" as possible. To achieve that, I'll work in advance in the general structure of the program. I plan to have a clear definition of the classes that should be written before summer starts, and then improve on that.<br />
<br />
Please check back for updates on that area.<br />
<br />
On the other hand, I'll include an extensive plugin architecture; I'll try to expose almost every aspect of the software through an API, allowing further work on the software to be done without modifying the core code, making distribution of improvements much more easy. Since I plan to keep working in the project after the GSoC, I'm pretty interested in easing the updating and improvement process.<br />
<br />
== Section 4 : Schedule ==<br />
<br />
* Google Calendar [http://www.google.com/calendar/embed?src=4pk8dqfhc37sit585oev2hsh5o%40group.calendar.google.com%20]<br />
<br />
Please go to May in the Calendar for the beginning of activities. I plan to dedicate August to improvements, tweaks and bug fixes.</div>Jairtrejohttp://wiki.laptop.org/mediawiki/index.php?title=Summer_of_Code/Ideas&diff=122139Summer of Code/Ideas2008-04-01T14:53:32Z<p>Jairtrejo: /* Virtual Garden */</p>
<hr />
<div>This is a list of ideas for OLPC's participation in Google Summer of Code 2008. This is a pool of ideas for potential students to browse to find what they might want to work on; and for developers to use as a place to prioritize and brainstorm about what work would be most useful, or most rewarding.<br />
<br />
=== School Server ===<br />
==== Interface design ====<br />
<br />
Admin interface : The school server needs a graphical admin interface to configure some aspects of the services it offers, and to help diagnostics. Mentor: Martin Langhoff.<br />
*''Hi! My name is Andrey. I want to join your project and help with school server. [[User:Grad|Grad]]. [[XS AdminUI]].''<br />
<br />
==== Auto memory/disk tuning ====<br />
<br />
Automagic tuning: The school server may have different memory and disk relationships. Provide alternative configurations for key daemons (apache, postgresql/mysql, ejabberd, java-based daemons, etc) for different memory sizes. Learn a lot about scalability and performance tuning for servers. Provide a web based report of memory and disk traffic. Mentor: Martin Langhoff.<br />
<br />
==== Customise and package webbased elearning apps ====<br />
<br />
If you are familiar with good e-learning web applications that are aimed towards users from kindergarden to 16 year-old teenagers, propose an app to customise and package for the school server! Mentor: Martin Langhoff.<br />
<br />
Hello Mentor,<br />
Myself K.Vikranth Reddy I am studing B.Tech Final Year And Iam Interested in Involving myself in Your Project.Presently i am working on my project Titled Online Virtual Training System which is an elearning project. Iam doing the project using PHP and MySql<br />
I want to take part in this project and i want to share my ideas with you.<br />
my mail id is vikranthreddyk@gmail.com<br />
ThanQ<br />
vikranth reddy<br />
<br />
==== Networked Blogging Project ====<br />
* Uruguay is developing an Educational Blogger Project. This needs design, coding and configuration of Moodle (moodle.org) and drupal.<br><br />
*: Requirements definition at: http://wiki.laptop.org/go/Requiremientos_Para_XO <br>[[User:Gregorio|Gregorio]] 11:02, 21 March 2008 (EDT)<br />
<br />
=== Core Software ===<br />
<br />
==== Speech Synthesis integration into Sugar ====<br />
Integrate speech synthesis with all activities, not just [[Speak]], and provide for karaoke coloring. See [[User:Mokurai|Mokurai]]'s [http://www.olpcnews.com/content/ebooks/effective_adult_literacy_program.html article] on adapting [[Same Language Subtitling]] for literacy to the XO.<br />
<br />
Desirable Features for Sugar Speech Synthesis Plugin:<br />
<br />
* Provide Sugar Speech Synthesis Configuration Management Tool<br />
* Karaoke Style Coloring in Sugar Environment<br />
* UI for configuration Control<br />
* Accent gets set on the basis of locale<br />
<br />
==== Possible interest ====<br />
===== Java =====<br />
Package and integrate the IcedTea open source bootstrap of OpenJDK Java with browser plugin for the XO. Deliverables would include:<br />
* Binary, source and rpm dependencies for icedtea and icedtea browser plugin<br />
* Java enabled xo os image<br />
* Integration of packages into autobuild branch<br />
<br />
===== Print Support =====<br />
Print support in Sugar would be useful in many scenarios. The ideal project deliverables would include<br />
* Integration of a printing infrastructure (CUPS ??) into the XO-1 software images <br />
* Modification of Sugar Control Panel to set up the printer (add/select default printer?)<br />
* Modification of at least one activity (Write ?) to support printing<br />
* Making a printing activity, that follows sugar GUI guidelines?<br />
<br />
:I am highly interested in working on this project. Would the project leader mind contacting me at bmw.stx@gmail.com?<br />
<br />
===== JavaScript-Python Communication =====<br />
JavaScript Python Communication through the following strategies: PyXPCom, hulahop, and xulrunner.<br />
<br />
<br />
<br />
Hi, I am Preeti, from New Delhi. I would like to get myself involved in this very interesting aspect of the OLPC software development. I have jotted some of my views on the same at:<br />
<br />
http://wiki.laptop.org/go/User_talk:59.178.99.172<br />
<br />
Regards<br />
Preeti<br />
<br />
=== Publication and Journal sharing ===<br />
Incorporate the Distribute activity into the shell<br />
At the basic level this will require:<br />
* A way to initiate a transfer (a button in the Journal, a contextual option on an object, a drag'n'drop operation)<br />
* Notification to the receiver<br />
* Some method to indicate progress to sender and receiver, with a way to cancel<br />
* A journal entry for the receiver containing the resulting file<br />
<br />
Necessary future support:<br />
* Transparent support for interrupted connections<br />
<br />
<br />
=== Mesh Networking ===<br />
==== Tools development ====<br />
As we reach for increasingly larger numbers of nodes participating in mesh network testbed, it is evident that sophisticated methods and tools for monitoring, logging and debugging will become necessary. Project deliverables include:<br />
* Maintain our mesh network testbed<br />
* Review different methods for controlling and monitoring large numbers of machines (control over wireless vs. control over Ethernet, stored logs vs. online logging, etc)<br />
* Implementation of network application + GUI to remotely control, configure and analyze logs from mesh network experiments on large testbed<br />
<br />
==== Visualization development ====<br />
A few visualizations of the mesh have been developed so far; the default random visualization, a roughly signal-strength based visualization that shows other XOs a distance away inversely proportional to signal srength. What other visualizations would be useful or interesting? How do these idea scale to thousands of XOs or a number of school clusters?<br />
<br />
=== Health Tools ===<br />
* Design software to interact with the different health peripherals.<br />
*: Integration of other FLOSS software like OpenMRS.<br />
* Display and interpret bio-signals (e.g EKG. EMG..)<br />
*: Help in [[Projects/TeleHealth Database]]<br />
** Hello, my name is Chao Zhang, and I am a graduate student of computer science focused on bioinformatics. I always paid close attention to OLPC and I am very interested in developing some health tools for OLPC. It is a good chance to contribute my knowledge to the open source projects. Since I have more than 5 years experiences on developing finance and enterprise management systems and more than 8 years experiences on JAVA programming, I am also fascinated about the simple financial planning tools. I hope to chat with mentors to get more details on those ideas. My email: chaozhang.mu@gmail.com<br />
<br><br />
* Dear mentors, <br />
*:<p align = 'justify'>My name is Joana Cabral and I am an enthusiastic supporter of the OLPC project. I have graduated last September in Biomedical Engineering and I am currently following a PhD program in Computational Neuroscience in Barcelona. During my scholar education I got familiarized with bio-signals, not only EKG and EMG but also more chaotic signals like EEG so I believe I may fit to your needs. </p><br />
*:<p align = 'justify'>I think this kind of softwares will be extremely useful, especially for undevelopped countries, where the health services are sparse and unsufficient and cannot eventually afford to buy health tools softwares.Nevertheless we must underline that a special care must be given to the reliability and robustness of of health tools since they can eventually be used for diagnosis and remote monitorization of children patients.</p><br />
*:<p align = 'justify'>I would like to discuss with the mentors some more ideas about this project and let you know a little more about me. Please contact me to: juanitacabral@hotmail.com<br />
*:Cheers<br />
</p><br />
<br />
=== Code libraries ===<br />
<br />
==== Pygame/sdl ====<br />
Add as much support as possible using the Geode graphics processor.<br />
<br />
==== xo3d ====<br />
<br />
Develop the xo3d library based on work started by [[User:Wade]]. This is a flat shaded software 3D renderer with support for objects, lighting & clipping, exposed to Python. It also features a matrix and vector math library.<br />
<br />
<br />
=== Specific Activities ===<br />
This list of desirable activities is largely a grab-bag, meant to spark ideas. There are plenty more at [[:Category:Software ideas]]. Part of the work of doing your SoC application would be to do a preliminary evaluation of existing open source options in a domain and their adaptability to OLPC. Python and/or GTK-based programs are the easiest to adapt. Also present in the platform are Javascript, C/C++ (of course), and Smalltalk (squeak). See [[Sugar]] and [[Developers/Stack]] for further info.<br />
<br />
Applications should show serious thought about what can be achieved in the short time available. Whether you are starting from scratch or adapting an existing app, fewer well-implemented/adapted features are far preferable to many poorly-implemented ones. In either case, but especially in the case of an adaptation, a solid foundation makes it easy to add (back) in more features later.<br />
<br />
<br />
==== Flash Card creator ====<br />
<br />
The student and mentor would evaluate open source flash card programs together, and then either port or adapt one to XO. The flash card program would be developed with a Sugar-specific UI and features. It would feature one of the well known flash card memorization algorithms for tracking student progress through each deck of cards. (see [[Drill and test software]])<br />
<br />
** Hello, my name is Jon Volkman, and I am fascinated about working on the creation of an open source flash card program for XO. I have several preliminary ideas, and find what research (and efforts on other platforms) that have been put into this concept very intriguing.<br />
<br />
** Hi, my name is Adam Goldstein and I recently applied and submitted what thoughts I have for writing a flexible and complete flash card creator for XO. I would really like to take what lessons I've learned from both making and using various programs on multiple platforms to develop a solid tool for study. I'm very excited to explore implementation possibilities and would really enjoy a chance to discuss.<br />
<br />
==== Master Mind (game) ====<br />
<br />
Implement the well known board game: http://en.wikipedia.org/wiki/Mastermind_(board_game)<br />
<br />
** Hello, my name is Ian, and I am interested in working on this project, as it seems similar to other projects I have worked on. I would be interested in learning more about this project in detail if possible. Please email me at imperialisthobo@yahoo.com.<br />
<br />
==== Typing Turtle ====<br />
<br />
A game-like typing tutor activity would be developed by the student. Existing open source projects would be evaluated for ideas. Features would include adapting to student progress, support for all XO keymaps (take a look at [[Keyboard#Languages_other_than_English]] for information on supported keyboard layouts) and written languages, progress tracking graphs, the ability to locally customize the program, etc<br />
<br />
** Hello, my name is Kelly. I'm most interested in writing a game to teach basic numbers and math. I'm also interested in this typing tutorial, and I'm willing to work wherever you think I'd be most useful. I know Scheme, C, and Python; I'm familiar with lex and yacc. Mentors please email me at kekenned@gmail.com<br />
<br />
** Hello, I am Shree Kant , I m interested in writing a typing tutor based on video and audio, I am thinking about something of this sort from quite a long time, I would like to do it this summer for OLPC email me shreekantbohra@gmail.com<br />
<br />
==== Finance ====<br />
<br />
The student would develop a simple financial planning program, basically the simplest possible version of Quicken. It would provide a simple income / expense register, monthly tracking, budget planning, expense & income categories, and a loan calculator.<br />
<br />
This activity idea came from a request by the Nepal deployment.<br />
<br />
== comment ==<br />
I'm interested in creating an easy to use finance program in java or python, although I wouldn't mind expanding its functionality to more than <br />
is described here. Trying to look for OLPC GSoC related items in IRC to no avail, but my email is mpoon@mit.edu.<br />
-mpoon<br />
<br />
== comment ==<br />
My name is David Wong and I am an undergraduate at U.C. Berkeley studying Business administration and EECS. <br />
I would love to create a financial accounting program! I could write the program in Java, C, or even Scheme. <br />
Please email more details to david_wong@berkeley.edu.<br />
<br />
== comment ==<br />
My name is Tamil and I am currently a Masters student at Georgia Institute of Technology. I actually have <br />
created rudimentary fuel economy and optimization programs through FORTRAN. I also know Java and <br />
C++ and am currently teaching myself Python. I am an active member of my school's Investments and Finance <br />
Club so I am astute in all things financial (plus i use Quicken on a regular basis). I would love to help out with OLPC on this plus I do have other ideas. Please contact me at <br />
tamil@gatech.edu.<br />
<br />
== comment ==<br />
I'm Sergiu, and I am an undergraduate at the Technical University of Iasi Gh Asachi, in Romania. The financial<br />
system i would like to build for you will be web based (php or java, you choice), so the same system can be<br />
accessed from any location. Also (no matter which language will be used for the web part), i can build a <br />
desktop application, for accessing the database from the server, so including the programs other students<br />
might be able to develop. The security won't be a problem (as i have developed applications verified and<br />
signed by VeriSign, world's most notorious authority in security). <br />
Please contact me at dogaru.sergiu@zrgiu.com, or zrgiu@yahoo.com<br />
<br />
==== [[OpenSim| System Dynamics modeling tool and simulation engine]] ====<br />
<br />
Create a system dynamics (SD) model editor and simulation engine. The advantages to this would be:<br />
* Models are visual and mathematical representations of a system, which allows for a different form of visual programing than that of Turtle Art<br />
* SD is used in international development planning and to teach systems thinking to K-12 students<br />
* Simulation engine could be accessible from other programs, like Micropolis<br />
* Programs like Micropolis could have their core logic in SD models and access it through the simulation engine, allowing people to switch to a visual representation of the program logic to understand and change it.<br />
<br />
[[User:bobbypowers|-Bobby Powers]] (student, looking for mentor)<br />
<br />
I'm a student in computer science and automation technologies. As a student of AT I'm deep<br />
skilled in Systems theory and would really like to offer such a tool to the olpc project.<br />
I'll apply on SoC's site. riccardo dot lucchese at gmail dot com<br />
<br />
==== Inferno ====<br />
<br />
There's a variety of work that is left to be done in [[Inferno]] on OLPC, things that might be best done by a student include:<br />
<br />
* fontfs - mapping OLPC fonts to inferno native fonts<br />
* metafs - mapping file system permissions to OLPC model<br />
* camera/audio support<br />
* new window manager for Inferno which better matches OLPC paradigm<br />
* integration with OLPC collaboration framework<br />
* integration with OLPC internationalization mechanisms<br />
* edutainment applications written in Limbo for OLPC<br />
<br />
[[User:ericvh|-Eric Van Hensbergen]]<br />
<br />
<br />
==== [[GIS]] activity for XO ==== <br />
[http://www.ewb.org/ Engineers Without Borders], [http://www.timepedia.org/ Timepedia], and [http://isde5.pbwiki.com/One-Laptop-Per-Child 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...<br />
<br />
==== Activity Translation Activity ====<br />
Similar to the functionality offered by the "View Source" key, an activity should ideally allow the user to translate it. A Translate activity would allow the user to translate any given activity, and optionally let the user share the translation, so that it can be reused by other users in the mesh.<br />
<br />
==== Deducto ====<br />
<br />
Deducto is a Board Game based on pattern recognition initially developed by Walter Bender at MIT Media Labs using Perl language. The game has been re-written in Python by the founding members of Open Source Community-NSIT, India. HTML version of the game is available at [[http://nsitonline.in/assim/deducto.html Deducto]]. Project is also available at [[http://dev.laptop.org/git?p=projects/deducto-activity;a=summary GIT Repository]]. Addition of a feature where a user could generate his/her own levels of the game, development of UI, and re-design using PyGTK are the areas for development.<br />
<br />
==== Food Force Project ====<br />
World Food Programme's Food Force Project [[http://www.food-force.com/index.php/game/downloads/ Windows and Mac]] to be re-designed for the Sugar environment.Please visit [[Food_Force/Design_Document]].<br />
<br />
==== Education ToolKit ====<br />
There was a nice project done in Chile using Ipacks: the "teacher" would pose a problem and the children would formulate an answer. Then they'd gather in groups of four and pool their answers. Each group of four would then reach consensus on an answer they thought was correct. All of the group answers would be shared with the entire class. Then a class discussion would ensue: why did Group A come up with that answer? The role of the computer and the teacher was to facilitate the discussion among the students and to focus discussion around problem areas that revealed themselves in discussion. A nice use of collaboration that has nothing to do with taking control or "all eyes forward".<br />
For more information goto http://wiki.laptop.org/go/Educational_toolkit<br />
<br />
<br />
Hi, I am student from Indian Institute of Information Technology and Management, Gwalior, India interested in this type of software because of the reason that I have worked on this sometime long. I have created an E-learning software for children which is an interactive one. Let me know how can I help OLPC in this particular process. Contact me at tejapv@gmail.com. Thanks...<br />
<br />
<br />
<br />
Hi,<br />
My name is waseem. I am Master student in Royal Institute of Technology (Stockholm, Sweden), my major is Software Engineering<br />
of Distributed Systems. I have an idea (which i have been working on for a while) and it is closely related to this topic. The <br />
main idea is to develop an interactive application that will take any form of text (story, scientific essay, news or any form of <br />
composed text) and extract those part of the text that could be transformed in to multiple choice questions and short questions, <br />
which could be then presented to the user . Main purpose of the application will be to help children in their exam preparation, <br />
as they could make their own exam paper on the fly and evaluate their preparation . I would like to discuss this porject in more <br />
details. I can be easily reached by email exactlypinpoint@gmail.com.<br />
<br />
<br />
With Best Regards<br />
Waseem Shaukat<br />
<br />
==== PlayGo ====<br />
Go is a great game which promotes connectivity and cultural exchange, not to mention critical thinking. The PlayGo activity ([http://wiki.laptop.org/go/PlayGo]) has alreagy begun an implementation. It would be nice to bring this project into phases 2 and 3.<br />
<br />
:I am very interested in this particular project. My name is Brandon Wilson, and if I could be of help in this project please contact me at [mailto:bmw.stx@gmail.com].<br />
:My name is Artem Kaznatcheev and I am also interested in this project. I was curious if you desired future development to follow the "PlayGo" phase 2 and 3 goals exactly, or if we could expand and split from there; some ideas could include: AI opponents (GnuGo, AnyGo and other open source players), "learning" mode, "puzzle" mode, and variants of Go (Zen Go, etc). Any information would be welcome, please email me at artem.kaznatcheev@mail.mcgill.ca<br />
<br />
==== ANN - Artificial Neural Networks ====<br />
[[ANN]] is an activity where children can design, build, and test artificial neural networks (ANNs). Each 'experiment' will have a particular task ranging in difficulty from switching on and off a light to controlling a paddle in a game of pong. Children will design and build an ANN that they can then test in a simulated environment. If you have any comments, please contact me at bjgraham@udel.edu<br />
<br />
==== Puzzles ====<br />
Jigsaw puzzle. play and share.<br />
<br />
* Hi, I am Omar Arana. I study computing science. <br />
I like developing 3-D games and animations.<br />
I've got experience developing applications of this kind, <br />
for Cross-Platform Windows/Linux.<br />
Here you have a sample of what I can do: <br />
http://www.geocities.com/oa_indy<br />
I've used SDL beforehand. I'd love to create "Jigsaw <br />
Puzzles".<br />
I have also made 3-D graphics, using only basic 2-D graphic <br />
primitives.<br />
Mentors please email me to ao_indy@yahoo.com<br />
<br />
<br />
* Hi, I'm Omar Mestas, I've been interested in the developing of educational games for children, since <br />
it's the best time to learn.<br />
I am good in languages like C/C++, Delphi/Kylix.<br />
I'd like to create games in 3D that can catch children's eye helping to the learning process.<br />
I can also work with some tools related to the developing of graphics.<br />
I'm good at working in groups and under pressure so I can complete my aims.<br />
Please contact me to my mail: omar_23@hotmail.com<br />
<br />
=== Social games ===<br />
==== Board & card games ====<br />
<br />
A suite of board and/or card games would be developed by the student including things like Chess, Checkers, Othello, Mancala. They would all be built on a common framework so that more games could be developed easily. Features would include multiplayer tournaments (including chat & spectator support), good computer AI, interactive game teaching, game recording & playback, etc.<br />
<br />
: Hello, my name is Bryan Hockey, a computer science student at the University of Michigan. I am interested in creating one or more games, specifically Stratego, Euchre, Checkers, or Chess, for the OLPC project, either in Java, C++, or C. I have submitted an application detailing this. Contact: bryan.hockey@gmail.com <br />
Thanks.<br />
<br />
: Hi, I am Preeti, from New Delhi. I am very keen on working with OLPC on developing Board & Card Games. I have already done work in this aspect, in C++, by making several games such as Brainvita, Solitaire and Scrabble. I want to contribute to the Google Summer of Code in this project. Please let me know how I can help..kspreeti.13@gmail.com<br />
<br />
<br />
My name Is Christopher Hall, I study computing science at Glasgow University, I have already written Othello in Java and would love to be selected to write more games on a standard frame work. I will answer any questions about myself or my interest in this project at 0406503h(@)student.gla.ac.uk<br />
<br />
<br />
: Hello im a Lucien Pereira, I'm a computer scientist student. I'm interrested in contributing to write a chess game in GSoC context. I got good skills in Python, C++ and java. Mail me at lperei04[@t]etudiant.univ-mlv.fr.<br />
<br />
<br />
: Hi, my name is Guihon Mendy, I study Computer Science at the University of Marne-la-Vallée (Paris) and would like to contribute. I know C++, Java, Ruby and a bit of Python. I can write Freecell, Othello or any other card/board game. Contact me at guihon.mendy(@)gmail.com. Thanks.<br />
<br />
:Hello, my name is Pedro Marcos. I'm a computer engineering student at ITA (wich stands for, in English, Aeronautics Technology Institute), I'm Brazilian and I'm very interested in developing a checkers game for OLPC written in Java. It could possibly include a multiplayer mode and record history. Also an implementation of a Sudoku game (also in Java) with different levels of difficulty and size. I have already written a game (SuperTrunfo) in Java for a class and I would love to see one of my programs being a part of OLPC.For more information please email-me at petrol101@gmail.com<br />
<br />
<br />
>> Hello, My name is Dommaraju Sandeep.I am pursuing M.Sc (Hons) Mathematics and B.E (Hons) Computer Science Engineering in Bits-pilani,goa campus,India.I would like to work on developing an "Unscramble words" game for the OLPC programme, which I am sure will be both recreational and informative game for children.I have programming experience in C,C++ and Java.I would like to extend my help in developing in games like zatacka,arkanoid, etc.If you like you can contact me at sandeepdommaraju@gmail.com<br />
<br />
==== 3D Software Renderer & Game ====<br />
<br />
A simple flat shaded 3D graphics library would be developed by the student for the XO platform, with an accompanying game. The game would be something exciting and multiplayer but non-violent, I'm thinking about a first person firefighting simulator (where you shoot water at animated fires and rescue victims) or something like that. The game would be designed by the student with direction from the mentor.<br />
<br />
== comment ===<br />
I may be able to do this firefighting simulator game using python/pygame. Not sure about 3D graphics library. Request some details of mentor.<br />
--krish<br />
<br />
<br />
-------------------------<br />
<br />
Hi, my name is nataly, I am peruvian , I am working in 3D reconstruction now and I am <br />
interested in this project. My mail is nzapana@gmail.com . Mentors please tell me how <br />
I can help.<br />
<br />
==== XO Smart Kid ====<br />
<br />
Its a single player game where the main character is the role of a child(XO user).<br />
The story line of the game revolves around the life of the child & hence the stages include missions like<br />
1. going to school<br />
2. organising items in a room<br />
3. getting list of things from mall<br />
and more<br />
The game intends to teach the player(child) elements of social behaviour & also cautious and careful living.<br />
Examples:<br />
1. the player avoids any contact with strangers on his way to school.<br />
2. he needs to cautiously cross the roads<br />
3. remember routes for school, home,mall...<br />
<br />
The player will be awarded game points like chocolates/pastries; since most children love them.<br />
<br />
The learning from this game can be applied to real social life.<br />
<br />
==Comment==<br />
I had proposed this idea on the games mailing list. Looking for a mentor. Suggestions/comments welcome - raja.aishwarya@gmail.com<br />
<br />
==== Micropolis (SimCity) ====<br />
<br />
I have a long list of interesting ways to develop [[Micropolis]] (aka SimCity), which I have written about on [http://www.DonHopkins.com my blog]!<br />
<br />
The source code is on [http://code.google.com/p/micropolis Google Code], <br />
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. <br />
<br />
There are two Micropolis projects: <br />
<br />
* 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. <br />
<br />
* The new "MicropolisCore" C++/SWIG/Python module that I've cleaned up and I have started developing a user interface. <br />
<br />
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.<br />
<br />
[[User:dhopkins|-Don Hopkins]]<br />
<br />
<br />
=== Book and Document readers ===<br />
* ''see project description by [[user:jgay|jgay]]''<br />
<br />
=== Updates to core Activities ===<br />
==== Port Browse to WebKit ====<br />
[[http://webkit.org/ Webkit]] is somewhat lighter than the current Xulrunner engine powering the Browse activity. Porting Browse to use Webkit might see some performance benefits.<br />
<br />
** I would like to know further about this project and if there is an expected port such as the Qt version or some webkit derivative in mind. Also on expected skills of the student. I have high interest in talking to someone and cannot find an e-mail submission page, I see most people just commenting here. A (very) little about me: I am currently a Junior/Senior student with C++ and Java programming skills. e-mail: jlukas79@gmail.com<br />
<br />
==== Enhancements for Measure ====<br />
* Feed generated data from simulations or the software synthesizer into the Measure activity.<br />
* Add sensor support to Activities such as TamTam that would allow musical pitch, tempo etc to be controlled by sensors<br />
* 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.<br />
* Make triggered logging possible (similar to triggered logging in Oscilloscopes)<br />
* Some more immediate plans here [[Measure/Plans]]<br />
* Sensor based input into games. For example control a game character based on light intensity<br />
<br />
==== Make activities programmable ====<br />
More generally, support snap-together programming of XO [[activities]] in the manner that [[Turtle Art]] and [[Etoys]] provide internally.<br />
<br />
==== Improve DrGeo ====<br />
<br />
The [[DrGeo]] activity (interactive geometry) port need to be finished and improved in different areas.<br />
<br />
=====Parts to be written=====<br />
* 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 [http://documentation.ofset.org/drgeo/fr/using_macro.html the original implementation].<br />
* implementation of the script system. A script within [[DrGeo]] is code hooked to an interactive sketch, it is used to perform calculus. See [http://documentation.ofset.org/drgeo/fr/drgenius_56.html the original implementation in Scheme]. The script language will be Smalltalk based.<br />
<br />
=====Parts to improve=====<br />
* Improve the load time, the load time is now unacceptable for the user and make [[DrGeo]] unadapted for the OLPC.<br />
* Define a journal type entry to save/load.<br />
* Improve the user interface, particularly the access to the construction tools.<br />
* Improve the locus sampling, it is by now suboptimal.<br />
<br />
Other suggestions for improvements, see [https://gna.org/bugs/index.php?go_report=Appliquer&group=istoa&func=browse&set=custom&msort=0&report_id=100&advsrch=0&status_id=1&resolution_id=0&assigned_to=0&category_id=101&bug_group_id=0&history_search=0&history_field=0&history_event=modified&history_date_dayfd=2&history_date_monthfd=2&history_date_yearfd=2008&chunksz=50&spamscore=5&boxoptionwanted=1#options the DrGeo tracker].<br />
<br />
== comment ==<br />
I'd love to participate to DrGeo. I'm Anna Wrochna ([[User:Lilavati|Lilavati]]), I am studying math+CS at the Warsaw Univeristy. <br />
I speak French, have used SmallTalk, loved geometry in high school - I'm the man for the job. <br />
Please contact me as a.wrochna(a)gmail.com .<br />
<br />
=== Other activities ===<br />
==== Email activity ====<br />
<br />
Develop a light, functional and usable email client<br />
* log children on automatically.<br />
* cache things locally, both for writing and for reading.<br />
<br />
: interest: [[User:Shikhar|Shikhar]] is interested in developing an email activity, see proposal outline [[Email client]]<br />
: Hello, I'm Pedro Marcos and I have already showed my interest in developing a project for OLPC (the Board, card games Project) but this project also interests me a great deal. I have, while i was a intern at a webdevelopment and webhosting company called Secrel (www.secrelnet.com.br) , developed a light email manager written in ASP. It could download emails via SMTP and categorize then according to what it was at the body of the message and more. Contact-me at petrol101@gmail.com for further information. Thanks for the oportunity :)<br />
<br />
==== Mind mapping activity ====<br />
A few teachers (including the teacher in Arahuay) have requested a mind-mapping activity. <br />
MindMeister and similar suites have offered us some of their toolchains.<br />
: interest: [[User:Homunq|Homunq]]<br />
<br />
==== Elements. 2D physics simulation ====<br />
Making 2D rigid body physics easily accessible and implementable with python/pygame on the XO laptop. Project started already as '[[Elements]]'<br />
<br />
==== Computer Vision with OpenCV ====<br />
OpenCV is a computer vision library developed by Intel that greatly simplifies complex tasks like object recognition and tracking and image manipulation. Possible uses for it include vision based games, gesture recognition, and video chat with low bandwidth cartoon characters substituted for video.<br />
<br />
Nirav Patel [http://eclecti.cc/code/face-detection-on-the-olpc-xo started working] with [[OpenCV]] and face recognition on the XO laptop.<br />
<br />
==== XOradio and XOtv ====<br />
The idea is to supply an easy way (1 click) to broadcast contents (audio and video) from a OLPC laptop, and then, put all the available channels together in a OLPC global channel of lectures sharinghowtos sharing, p2p online help, video connected classrooms/sessions,... [http://www.olpcaustria.org/mediawiki/index.php/XOtv|Project page in OLPC Austria wiki]<br />
<br />
==== Virtual Garden ====<br />
It will be a virtual garden where children can grow and breed different plants. The plant's characteristics are going to be defined by the user, but the main idea of the project is that every characteristic of the plant is genetically represented; therefore, to create beautiful, interesting plants, children would need to understand the way in which the genes affect the plant, and how can they use inheritance to produce the desired offspring. In the creation of the artificial plants, the work by Przemyslav Prusinkiewicz y Aristid Lindenmayer in their book "The Algorithmic beauty of Plants" will be used, with an addition: The flowers will be based in the superformula by Jhon Giellis.<br />
<br />
Hi, My name is Venture M and I am pursuing my Masters in Information Technology at RMIT, Melbourne Australia. I have programming experience since last 7 years, of which 4 years is in Software Industry. I have been programming in OpenGL since the last 5 years as a hobby. Although I have not read the ideas behind this project, I am sure that I will be able to grasp and implement them.<br />
Please contact me at venturecoder@gmail.com.<br />
<br />
Hi, I'm [[User:Jairtrejo]], Mechatronics student from Mexico City, and original proponent of the Garden activity. A detailed description of my proposal lives here: [[Garden Activity]].<br />
<br />
=== Language Learning ===<br />
<br />
<br />
==== Foreign language learning====<br />
'''Focusing on English''':<br />
A tool to learn foreign languages would be a great addition for the XO. At it's most rudimentary form, it can start with an [[Words|interactive]] [[dictionary, but something advanced would be preferred, perhaps along the lines of [http://lingoteach.sourceforge.net/ LingoTeach]. <br />
<br />
* I've created a wiki pages with my ideas. [[Language Learning]] [[User:StevenMohr|-Steven Mohr]]<br />
<br />
* My name is Kelly. I'm interested in this task and other OLPC tasks, and want to talk to a mentor. Please email me at kekenned@gmail.com<br />
<br />
* I am interested in this task and in other linguistic/language oriented tasks. I would like to talk to a mentor. E-mail me at shwayd@brandeis.edu Thanks. ~Kobey<br />
<br />
* Hello, I have drafted my idea for a English vocabulary improving activity at [http://wiki.laptop.org/go/Wordnet_Activity WordNet Game]. Regards Nikola<br />
<br />
==== Speech synthesis ====<br />
<br />
'''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. <br />
<br />
The game can have the following features:-<br />
<br />
* Difficulty Level - Easy/Medium/Hard<br />
* Multiple Dictionary Sources<br />
* 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.<br />
* Mesh Challenge - Children can collaborate over the Mesh Network and challenge each other in a multiplayer 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.<br />
<br />
A very basic activity draft that can be suitably scaled is available at [[talkntype]]<br />
<br />
Hi, I am Assim Deodia. I have originally posted this idea on olpc mailing list and gsoc list. I have extented this idea and created a wiki page here [[Listen_and Spell]]. I am looking for a mentor who is interested in speech synthesis and language learning activity for the XO. <br />
email: assim.deodia@gmail.com<br />
<br />
I'm really interested in this project and need to contact mentor. e-mail:sachith.ponnamperuma@gmail.com<br />
<br />
=== Misc / needs development ===<br />
<br />
==== My FilmCity(@INDOKLEY) ====<br />
Record your songs and upload.<br />
Download the songs that is give by the "Music" Teacher.<br />
Make Playlist from the list of Songs(here we can resirict the list of songs according to the MUSIC TEACHERS)<br />
: Upload Video<br />
: Download Video<br />
<br />
<br />
====Embed twexter into activities====<br />
[http://twext.com/embed twexter] software formats twin text ([[twext]]) for language learners.. twexter can work with all kindsa tools/activities like [[moodle]] or [[scratch]] or [[Summer_of_Code/2008/Ideas#Mediawiki_stuff|mediawiki]] or [[wixi]] so we can grow [http://olpcnews.com/content/localization/learning_language.html multilingual].. <font color="silver">twexter can also annote same language text, for example by translating complex english to "basic english"</font><br />
<br />
hi,I am kinda interested in this project. I am a master student from China, whose research interest is natural language processing. I need more information about this. I guess my research experience may do some contribution to this project.Who is the mentor? could you please contace me. my email: wenjuan1239@gmail.com. thanks a lot.<br />
<br />
====synxi====<br />
[[synxi]] wants to make it easier to add timed text [[SLS]] to video.. <br />
# speech to text<br />
# closed captioning <br />
# timed text (syllabic level karaoke)<br />
# sync w/ audio video<br />
<font color="gray">synxi will help us 2.) learn language, 1.) teach language, 0.) share language</font><br />
<br />
==== Eclipse based development environment for Activities ====<br />
<br />
An [[http://www.eclipse.org/ Eclipse]] plugin which would allow software developers to easily write Python based activities for Sugar. Some of the features can be<br />
* Integration with an Xnest/Xephyr window which would run the activity being developed in Sugar<br />
* Easily accessible developer documentation<br />
<br />
----after three days playing around with XO, Sugar, xephyr ... i realize that we are no need another eclipse plugin for developing sugar activities. Just install PyDev plugin. start Xephyr and run eclipse "inside" Xephyr<br />
<br />
==== Sugar Factory ====<br />
[[Sugar Factory]] is an automated method for Sugarizing non-Python applications. Albert Cahalan has some of this working now.<br />
<br />
==== Extending Gnash ====<br />
Extend Gnash to read more data formats, in particular those at [http://olpc.tv/ OLPC.tv], and [[Mary Lou Jepsen]]'s [http://scribemedia.blip.tv/file/682463/ presentation] at the [[Greener Gadgets]] Conference. Integrate Supat's SSS code and move it upstream.<br />
<br />
==== Mediawiki stuff ====<br />
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 [[Summer of Content 2008 Proposals#Multilingual wiki|multilingual wiki]]. [[User:Homunq|Homunq]] 12:18, 2 March 2008 (EST)<br />
<br />
==== Shared wikis for projects ====<br />
<br />
Some ideas:<br />
* Keep a shared page for each collaborative project or actvity itself that is shared across a school and/or class : automatically generate pages/namespaces for class + activity + project where help notes, reports, and progress are tracked. Define how these namespaces interact aross clases, schools, and at a global level on wikieducator / wikiversity / similar sites<br />
* Define how to link together a set of related work into a report : linking to a project/file/record, customized to launch a specific activity via wiki markup.<br />
* Work on the interface b/t [[MikMik]] and a [[MediaWiki]] server.<br />
<br />
==== Sugar adaption for the Nasa Colombian ethnic community ====<br />
One of the 91 indigenous cultures that still exist in Colombia is the [http://en.wikipedia.org/wiki/Paez_people Paez people] (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. [[User:Santiago|Santiago]] 18:01, 8 March 2008 (EST)<br />
====Privacy and Parental Control====<br />
*Access control of the students <br />
*Trace of Student activity and alert if open illegal and unauthorized websites and contents.<br />
*Remote control of student laptop by if he is in home network<br />
*Activiy log of the student and daily usage of laptop <br />
*Daily,monthly analysis of the student usage (what they have used like fun,studies ,games etc)<br />
<br />
Hi, I am Maria, a master student at University of California. I am interested to help XO program by developing a tool for parental control. I have great knowledge in C++, Perl and Java and my previous research include some privacy preserving software development.<br />
<br />
=== Sugar packaging in other distros ===<br />
<br />
'''Debian'''<br />
* Help in maintaining and packaging sugar and activities in debian.<br />
* Including/adapting debian-edu .debs to sugar<br />
<br />
Hello there, I am quite interested in Debian and want to help with this and all other projects. Please contact me (bjoern AT xruby DOT net) if I can be of assistance to the XO project or other things. I will start my PhD studies in April and have previously studied Computer Science. I am highly interested in helping where I can and want to bring the necessary technology to kids around the world.<br />
<br />
...<br />
<br />
[[category:ideas]]<br />
[[category:projects]]<br />
[[Category:GSoC proposals]]</div>Jairtrejohttp://wiki.laptop.org/mediawiki/index.php?title=User:Jairtrejo&diff=122135User:Jairtrejo2008-04-01T14:50:02Z<p>Jairtrejo: New page: Hi! I'm Jair Trejo, a Mechatronics Studdent from Mexico city, seeking to work in an OLPC project for the Google Summer of Code. My project is a Garden Activity for the XO. Please feel...</p>
<hr />
<div>Hi! I'm Jair Trejo, a Mechatronics Studdent from Mexico city, seeking to work in an OLPC project for the Google Summer of Code.<br />
<br />
My project is a [[Garden Activity]] for the XO. Please feel free to add coments and/or edit the proposal in the wiki.<br />
<br />
For finding out more about myself, please visit http://jairtrejo.googlepages.com</div>Jairtrejohttp://wiki.laptop.org/mediawiki/index.php?title=Summer_of_Code/Ideas&diff=122130Summer of Code/Ideas2008-04-01T14:44:40Z<p>Jairtrejo: /* Virtual Garden */</p>
<hr />
<div>This is a list of ideas for OLPC's participation in Google Summer of Code 2008. This is a pool of ideas for potential students to browse to find what they might want to work on; and for developers to use as a place to prioritize and brainstorm about what work would be most useful, or most rewarding.<br />
<br />
=== School Server ===<br />
==== Interface design ====<br />
<br />
Admin interface : The school server needs a graphical admin interface to configure some aspects of the services it offers, and to help diagnostics. Mentor: Martin Langhoff.<br />
*''Hi! My name is Andrey. I want to join your project and help with school server. [[User:Grad|Grad]]. [[XS AdminUI]].''<br />
<br />
==== Auto memory/disk tuning ====<br />
<br />
Automagic tuning: The school server may have different memory and disk relationships. Provide alternative configurations for key daemons (apache, postgresql/mysql, ejabberd, java-based daemons, etc) for different memory sizes. Learn a lot about scalability and performance tuning for servers. Provide a web based report of memory and disk traffic. Mentor: Martin Langhoff.<br />
<br />
==== Customise and package webbased elearning apps ====<br />
<br />
If you are familiar with good e-learning web applications that are aimed towards users from kindergarden to 16 year-old teenagers, propose an app to customise and package for the school server! Mentor: Martin Langhoff.<br />
<br />
Hello Mentor,<br />
Myself K.Vikranth Reddy I am studing B.Tech Final Year And Iam Interested in Involving myself in Your Project.Presently i am working on my project Titled Online Virtual Training System which is an elearning project. Iam doing the project using PHP and MySql<br />
I want to take part in this project and i want to share my ideas with you.<br />
my mail id is vikranthreddyk@gmail.com<br />
ThanQ<br />
vikranth reddy<br />
<br />
==== Networked Blogging Project ====<br />
* Uruguay is developing an Educational Blogger Project. This needs design, coding and configuration of Moodle (moodle.org) and drupal.<br><br />
*: Requirements definition at: http://wiki.laptop.org/go/Requiremientos_Para_XO <br>[[User:Gregorio|Gregorio]] 11:02, 21 March 2008 (EDT)<br />
<br />
=== Core Software ===<br />
<br />
==== Speech Synthesis integration into Sugar ====<br />
Integrate speech synthesis with all activities, not just [[Speak]], and provide for karaoke coloring. See [[User:Mokurai|Mokurai]]'s [http://www.olpcnews.com/content/ebooks/effective_adult_literacy_program.html article] on adapting [[Same Language Subtitling]] for literacy to the XO.<br />
<br />
Desirable Features for Sugar Speech Synthesis Plugin:<br />
<br />
* Provide Sugar Speech Synthesis Configuration Management Tool<br />
* Karaoke Style Coloring in Sugar Environment<br />
* UI for configuration Control<br />
* Accent gets set on the basis of locale<br />
<br />
==== Possible interest ====<br />
===== Java =====<br />
Package and integrate the IcedTea open source bootstrap of OpenJDK Java with browser plugin for the XO. Deliverables would include:<br />
* Binary, source and rpm dependencies for icedtea and icedtea browser plugin<br />
* Java enabled xo os image<br />
* Integration of packages into autobuild branch<br />
<br />
===== Print Support =====<br />
Print support in Sugar would be useful in many scenarios. The ideal project deliverables would include<br />
* Integration of a printing infrastructure (CUPS ??) into the XO-1 software images <br />
* Modification of Sugar Control Panel to set up the printer (add/select default printer?)<br />
* Modification of at least one activity (Write ?) to support printing<br />
* Making a printing activity, that follows sugar GUI guidelines?<br />
<br />
:I am highly interested in working on this project. Would the project leader mind contacting me at bmw.stx@gmail.com?<br />
<br />
===== JavaScript-Python Communication =====<br />
JavaScript Python Communication through the following strategies: PyXPCom, hulahop, and xulrunner.<br />
<br />
<br />
<br />
Hi, I am Preeti, from New Delhi. I would like to get myself involved in this very interesting aspect of the OLPC software development. I have jotted some of my views on the same at:<br />
<br />
http://wiki.laptop.org/go/User_talk:59.178.99.172<br />
<br />
Regards<br />
Preeti<br />
<br />
=== Publication and Journal sharing ===<br />
Incorporate the Distribute activity into the shell<br />
At the basic level this will require:<br />
* A way to initiate a transfer (a button in the Journal, a contextual option on an object, a drag'n'drop operation)<br />
* Notification to the receiver<br />
* Some method to indicate progress to sender and receiver, with a way to cancel<br />
* A journal entry for the receiver containing the resulting file<br />
<br />
Necessary future support:<br />
* Transparent support for interrupted connections<br />
<br />
<br />
=== Mesh Networking ===<br />
==== Tools development ====<br />
As we reach for increasingly larger numbers of nodes participating in mesh network testbed, it is evident that sophisticated methods and tools for monitoring, logging and debugging will become necessary. Project deliverables include:<br />
* Maintain our mesh network testbed<br />
* Review different methods for controlling and monitoring large numbers of machines (control over wireless vs. control over Ethernet, stored logs vs. online logging, etc)<br />
* Implementation of network application + GUI to remotely control, configure and analyze logs from mesh network experiments on large testbed<br />
<br />
==== Visualization development ====<br />
A few visualizations of the mesh have been developed so far; the default random visualization, a roughly signal-strength based visualization that shows other XOs a distance away inversely proportional to signal srength. What other visualizations would be useful or interesting? How do these idea scale to thousands of XOs or a number of school clusters?<br />
<br />
=== Health Tools ===<br />
* Design software to interact with the different health peripherals.<br />
*: Integration of other FLOSS software like OpenMRS.<br />
* Display and interpret bio-signals (e.g EKG. EMG..)<br />
*: Help in [[Projects/TeleHealth Database]]<br />
** Hello, my name is Chao Zhang, and I am a graduate student of computer science focused on bioinformatics. I always paid close attention to OLPC and I am very interested in developing some health tools for OLPC. It is a good chance to contribute my knowledge to the open source projects. Since I have more than 5 years experiences on developing finance and enterprise management systems and more than 8 years experiences on JAVA programming, I am also fascinated about the simple financial planning tools. I hope to chat with mentors to get more details on those ideas. My email: chaozhang.mu@gmail.com<br />
<br><br />
* Dear mentors, <br />
*:<p align = 'justify'>My name is Joana Cabral and I am an enthusiastic supporter of the OLPC project. I have graduated last September in Biomedical Engineering and I am currently following a PhD program in Computational Neuroscience in Barcelona. During my scholar education I got familiarized with bio-signals, not only EKG and EMG but also more chaotic signals like EEG so I believe I may fit to your needs. </p><br />
*:<p align = 'justify'>I think this kind of softwares will be extremely useful, especially for undevelopped countries, where the health services are sparse and unsufficient and cannot eventually afford to buy health tools softwares.Nevertheless we must underline that a special care must be given to the reliability and robustness of of health tools since they can eventually be used for diagnosis and remote monitorization of children patients.</p><br />
*:<p align = 'justify'>I would like to discuss with the mentors some more ideas about this project and let you know a little more about me. Please contact me to: juanitacabral@hotmail.com<br />
*:Cheers<br />
</p><br />
<br />
=== Code libraries ===<br />
<br />
==== Pygame/sdl ====<br />
Add as much support as possible using the Geode graphics processor.<br />
<br />
==== xo3d ====<br />
<br />
Develop the xo3d library based on work started by [[User:Wade]]. This is a flat shaded software 3D renderer with support for objects, lighting & clipping, exposed to Python. It also features a matrix and vector math library.<br />
<br />
<br />
=== Specific Activities ===<br />
This list of desirable activities is largely a grab-bag, meant to spark ideas. There are plenty more at [[:Category:Software ideas]]. Part of the work of doing your SoC application would be to do a preliminary evaluation of existing open source options in a domain and their adaptability to OLPC. Python and/or GTK-based programs are the easiest to adapt. Also present in the platform are Javascript, C/C++ (of course), and Smalltalk (squeak). See [[Sugar]] and [[Developers/Stack]] for further info.<br />
<br />
Applications should show serious thought about what can be achieved in the short time available. Whether you are starting from scratch or adapting an existing app, fewer well-implemented/adapted features are far preferable to many poorly-implemented ones. In either case, but especially in the case of an adaptation, a solid foundation makes it easy to add (back) in more features later.<br />
<br />
<br />
==== Flash Card creator ====<br />
<br />
The student and mentor would evaluate open source flash card programs together, and then either port or adapt one to XO. The flash card program would be developed with a Sugar-specific UI and features. It would feature one of the well known flash card memorization algorithms for tracking student progress through each deck of cards. (see [[Drill and test software]])<br />
<br />
** Hello, my name is Jon Volkman, and I am fascinated about working on the creation of an open source flash card program for XO. I have several preliminary ideas, and find what research (and efforts on other platforms) that have been put into this concept very intriguing.<br />
<br />
** Hi, my name is Adam Goldstein and I recently applied and submitted what thoughts I have for writing a flexible and complete flash card creator for XO. I would really like to take what lessons I've learned from both making and using various programs on multiple platforms to develop a solid tool for study. I'm very excited to explore implementation possibilities and would really enjoy a chance to discuss.<br />
<br />
==== Master Mind (game) ====<br />
<br />
Implement the well known board game: http://en.wikipedia.org/wiki/Mastermind_(board_game)<br />
<br />
** Hello, my name is Ian, and I am interested in working on this project, as it seems similar to other projects I have worked on. I would be interested in learning more about this project in detail if possible. Please email me at imperialisthobo@yahoo.com.<br />
<br />
==== Typing Turtle ====<br />
<br />
A game-like typing tutor activity would be developed by the student. Existing open source projects would be evaluated for ideas. Features would include adapting to student progress, support for all XO keymaps (take a look at [[Keyboard#Languages_other_than_English]] for information on supported keyboard layouts) and written languages, progress tracking graphs, the ability to locally customize the program, etc<br />
<br />
** Hello, my name is Kelly. I'm most interested in writing a game to teach basic numbers and math. I'm also interested in this typing tutorial, and I'm willing to work wherever you think I'd be most useful. I know Scheme, C, and Python; I'm familiar with lex and yacc. Mentors please email me at kekenned@gmail.com<br />
<br />
** Hello, I am Shree Kant , I m interested in writing a typing tutor based on video and audio, I am thinking about something of this sort from quite a long time, I would like to do it this summer for OLPC email me shreekantbohra@gmail.com<br />
<br />
==== Finance ====<br />
<br />
The student would develop a simple financial planning program, basically the simplest possible version of Quicken. It would provide a simple income / expense register, monthly tracking, budget planning, expense & income categories, and a loan calculator.<br />
<br />
This activity idea came from a request by the Nepal deployment.<br />
<br />
== comment ==<br />
I'm interested in creating an easy to use finance program in java or python, although I wouldn't mind expanding its functionality to more than <br />
is described here. Trying to look for OLPC GSoC related items in IRC to no avail, but my email is mpoon@mit.edu.<br />
-mpoon<br />
<br />
== comment ==<br />
My name is David Wong and I am an undergraduate at U.C. Berkeley studying Business administration and EECS. <br />
I would love to create a financial accounting program! I could write the program in Java, C, or even Scheme. <br />
Please email more details to david_wong@berkeley.edu.<br />
<br />
== comment ==<br />
My name is Tamil and I am currently a Masters student at Georgia Institute of Technology. I actually have <br />
created rudimentary fuel economy and optimization programs through FORTRAN. I also know Java and <br />
C++ and am currently teaching myself Python. I am an active member of my school's Investments and Finance <br />
Club so I am astute in all things financial (plus i use Quicken on a regular basis). I would love to help out with OLPC on this plus I do have other ideas. Please contact me at <br />
tamil@gatech.edu.<br />
<br />
== comment ==<br />
I'm Sergiu, and I am an undergraduate at the Technical University of Iasi Gh Asachi, in Romania. The financial<br />
system i would like to build for you will be web based (php or java, you choice), so the same system can be<br />
accessed from any location. Also (no matter which language will be used for the web part), i can build a <br />
desktop application, for accessing the database from the server, so including the programs other students<br />
might be able to develop. The security won't be a problem (as i have developed applications verified and<br />
signed by VeriSign, world's most notorious authority in security). <br />
Please contact me at dogaru.sergiu@zrgiu.com, or zrgiu@yahoo.com<br />
<br />
==== [[OpenSim| System Dynamics modeling tool and simulation engine]] ====<br />
<br />
Create a system dynamics (SD) model editor and simulation engine. The advantages to this would be:<br />
* Models are visual and mathematical representations of a system, which allows for a different form of visual programing than that of Turtle Art<br />
* SD is used in international development planning and to teach systems thinking to K-12 students<br />
* Simulation engine could be accessible from other programs, like Micropolis<br />
* Programs like Micropolis could have their core logic in SD models and access it through the simulation engine, allowing people to switch to a visual representation of the program logic to understand and change it.<br />
<br />
[[User:bobbypowers|-Bobby Powers]] (student, looking for mentor)<br />
<br />
I'm a student in computer science and automation technologies. As a student of AT I'm deep<br />
skilled in Systems theory and would really like to offer such a tool to the olpc project.<br />
I'll apply on SoC's site. riccardo dot lucchese at gmail dot com<br />
<br />
==== Inferno ====<br />
<br />
There's a variety of work that is left to be done in [[Inferno]] on OLPC, things that might be best done by a student include:<br />
<br />
* fontfs - mapping OLPC fonts to inferno native fonts<br />
* metafs - mapping file system permissions to OLPC model<br />
* camera/audio support<br />
* new window manager for Inferno which better matches OLPC paradigm<br />
* integration with OLPC collaboration framework<br />
* integration with OLPC internationalization mechanisms<br />
* edutainment applications written in Limbo for OLPC<br />
<br />
[[User:ericvh|-Eric Van Hensbergen]]<br />
<br />
<br />
==== [[GIS]] activity for XO ==== <br />
[http://www.ewb.org/ Engineers Without Borders], [http://www.timepedia.org/ Timepedia], and [http://isde5.pbwiki.com/One-Laptop-Per-Child 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...<br />
<br />
==== Activity Translation Activity ====<br />
Similar to the functionality offered by the "View Source" key, an activity should ideally allow the user to translate it. A Translate activity would allow the user to translate any given activity, and optionally let the user share the translation, so that it can be reused by other users in the mesh.<br />
<br />
==== Deducto ====<br />
<br />
Deducto is a Board Game based on pattern recognition initially developed by Walter Bender at MIT Media Labs using Perl language. The game has been re-written in Python by the founding members of Open Source Community-NSIT, India. HTML version of the game is available at [[http://nsitonline.in/assim/deducto.html Deducto]]. Project is also available at [[http://dev.laptop.org/git?p=projects/deducto-activity;a=summary GIT Repository]]. Addition of a feature where a user could generate his/her own levels of the game, development of UI, and re-design using PyGTK are the areas for development.<br />
<br />
==== Food Force Project ====<br />
World Food Programme's Food Force Project [[http://www.food-force.com/index.php/game/downloads/ Windows and Mac]] to be re-designed for the Sugar environment.Please visit [[Food_Force/Design_Document]].<br />
<br />
==== Education ToolKit ====<br />
There was a nice project done in Chile using Ipacks: the "teacher" would pose a problem and the children would formulate an answer. Then they'd gather in groups of four and pool their answers. Each group of four would then reach consensus on an answer they thought was correct. All of the group answers would be shared with the entire class. Then a class discussion would ensue: why did Group A come up with that answer? The role of the computer and the teacher was to facilitate the discussion among the students and to focus discussion around problem areas that revealed themselves in discussion. A nice use of collaboration that has nothing to do with taking control or "all eyes forward".<br />
For more information goto http://wiki.laptop.org/go/Educational_toolkit<br />
<br />
<br />
Hi, I am student from Indian Institute of Information Technology and Management, Gwalior, India interested in this type of software because of the reason that I have worked on this sometime long. I have created an E-learning software for children which is an interactive one. Let me know how can I help OLPC in this particular process. Contact me at tejapv@gmail.com. Thanks...<br />
<br />
<br />
<br />
Hi,<br />
My name is waseem. I am Master student in Royal Institute of Technology (Stockholm, Sweden), my major is Software Engineering<br />
of Distributed Systems. I have an idea (which i have been working on for a while) and it is closely related to this topic. The <br />
main idea is to develop an interactive application that will take any form of text (story, scientific essay, news or any form of <br />
composed text) and extract those part of the text that could be transformed in to multiple choice questions and short questions, <br />
which could be then presented to the user . Main purpose of the application will be to help children in their exam preparation, <br />
as they could make their own exam paper on the fly and evaluate their preparation . I would like to discuss this porject in more <br />
details. I can be easily reached by email exactlypinpoint@gmail.com.<br />
<br />
<br />
With Best Regards<br />
Waseem Shaukat<br />
<br />
==== PlayGo ====<br />
Go is a great game which promotes connectivity and cultural exchange, not to mention critical thinking. The PlayGo activity ([http://wiki.laptop.org/go/PlayGo]) has alreagy begun an implementation. It would be nice to bring this project into phases 2 and 3.<br />
<br />
:I am very interested in this particular project. My name is Brandon Wilson, and if I could be of help in this project please contact me at [mailto:bmw.stx@gmail.com].<br />
:My name is Artem Kaznatcheev and I am also interested in this project. I was curious if you desired future development to follow the "PlayGo" phase 2 and 3 goals exactly, or if we could expand and split from there; some ideas could include: AI opponents (GnuGo, AnyGo and other open source players), "learning" mode, "puzzle" mode, and variants of Go (Zen Go, etc). Any information would be welcome, please email me at artem.kaznatcheev@mail.mcgill.ca<br />
<br />
==== ANN - Artificial Neural Networks ====<br />
[[ANN]] is an activity where children can design, build, and test artificial neural networks (ANNs). Each 'experiment' will have a particular task ranging in difficulty from switching on and off a light to controlling a paddle in a game of pong. Children will design and build an ANN that they can then test in a simulated environment. If you have any comments, please contact me at bjgraham@udel.edu<br />
<br />
==== Puzzles ====<br />
Jigsaw puzzle. play and share.<br />
<br />
* Hi, I am Omar Arana. I study computing science. <br />
I like developing 3-D games and animations.<br />
I've got experience developing applications of this kind, <br />
for Cross-Platform Windows/Linux.<br />
Here you have a sample of what I can do: <br />
http://www.geocities.com/oa_indy<br />
I've used SDL beforehand. I'd love to create "Jigsaw <br />
Puzzles".<br />
I have also made 3-D graphics, using only basic 2-D graphic <br />
primitives.<br />
Mentors please email me to ao_indy@yahoo.com<br />
<br />
<br />
* Hi, I'm Omar Mestas, I've been interested in the developing of educational games for children, since <br />
it's the best time to learn.<br />
I am good in languages like C/C++, Delphi/Kylix.<br />
I'd like to create games in 3D that can catch children's eye helping to the learning process.<br />
I can also work with some tools related to the developing of graphics.<br />
I'm good at working in groups and under pressure so I can complete my aims.<br />
Please contact me to my mail: omar_23@hotmail.com<br />
<br />
=== Social games ===<br />
==== Board & card games ====<br />
<br />
A suite of board and/or card games would be developed by the student including things like Chess, Checkers, Othello, Mancala. They would all be built on a common framework so that more games could be developed easily. Features would include multiplayer tournaments (including chat & spectator support), good computer AI, interactive game teaching, game recording & playback, etc.<br />
<br />
: Hello, my name is Bryan Hockey, a computer science student at the University of Michigan. I am interested in creating one or more games, specifically Stratego, Euchre, Checkers, or Chess, for the OLPC project, either in Java, C++, or C. I have submitted an application detailing this. Contact: bryan.hockey@gmail.com <br />
Thanks.<br />
<br />
: Hi, I am Preeti, from New Delhi. I am very keen on working with OLPC on developing Board & Card Games. I have already done work in this aspect, in C++, by making several games such as Brainvita, Solitaire and Scrabble. I want to contribute to the Google Summer of Code in this project. Please let me know how I can help..kspreeti.13@gmail.com<br />
<br />
<br />
My name Is Christopher Hall, I study computing science at Glasgow University, I have already written Othello in Java and would love to be selected to write more games on a standard frame work. I will answer any questions about myself or my interest in this project at 0406503h(@)student.gla.ac.uk<br />
<br />
<br />
: Hello im a Lucien Pereira, I'm a computer scientist student. I'm interrested in contributing to write a chess game in GSoC context. I got good skills in Python, C++ and java. Mail me at lperei04[@t]etudiant.univ-mlv.fr.<br />
<br />
<br />
: Hi, my name is Guihon Mendy, I study Computer Science at the University of Marne-la-Vallée (Paris) and would like to contribute. I know C++, Java, Ruby and a bit of Python. I can write Freecell, Othello or any other card/board game. Contact me at guihon.mendy(@)gmail.com. Thanks.<br />
<br />
:Hello, my name is Pedro Marcos. I'm a computer engineering student at ITA (wich stands for, in English, Aeronautics Technology Institute), I'm Brazilian and I'm very interested in developing a checkers game for OLPC written in Java. It could possibly include a multiplayer mode and record history. Also an implementation of a Sudoku game (also in Java) with different levels of difficulty and size. I have already written a game (SuperTrunfo) in Java for a class and I would love to see one of my programs being a part of OLPC.For more information please email-me at petrol101@gmail.com<br />
<br />
<br />
>> Hello, My name is Dommaraju Sandeep.I am pursuing M.Sc (Hons) Mathematics and B.E (Hons) Computer Science Engineering in Bits-pilani,goa campus,India.I would like to work on developing an "Unscramble words" game for the OLPC programme, which I am sure will be both recreational and informative game for children.I have programming experience in C,C++ and Java.I would like to extend my help in developing in games like zatacka,arkanoid, etc.If you like you can contact me at sandeepdommaraju@gmail.com<br />
<br />
==== 3D Software Renderer & Game ====<br />
<br />
A simple flat shaded 3D graphics library would be developed by the student for the XO platform, with an accompanying game. The game would be something exciting and multiplayer but non-violent, I'm thinking about a first person firefighting simulator (where you shoot water at animated fires and rescue victims) or something like that. The game would be designed by the student with direction from the mentor.<br />
<br />
== comment ===<br />
I may be able to do this firefighting simulator game using python/pygame. Not sure about 3D graphics library. Request some details of mentor.<br />
--krish<br />
<br />
<br />
-------------------------<br />
<br />
Hi, my name is nataly, I am peruvian , I am working in 3D reconstruction now and I am <br />
interested in this project. My mail is nzapana@gmail.com . Mentors please tell me how <br />
I can help.<br />
<br />
==== XO Smart Kid ====<br />
<br />
Its a single player game where the main character is the role of a child(XO user).<br />
The story line of the game revolves around the life of the child & hence the stages include missions like<br />
1. going to school<br />
2. organising items in a room<br />
3. getting list of things from mall<br />
and more<br />
The game intends to teach the player(child) elements of social behaviour & also cautious and careful living.<br />
Examples:<br />
1. the player avoids any contact with strangers on his way to school.<br />
2. he needs to cautiously cross the roads<br />
3. remember routes for school, home,mall...<br />
<br />
The player will be awarded game points like chocolates/pastries; since most children love them.<br />
<br />
The learning from this game can be applied to real social life.<br />
<br />
==Comment==<br />
I had proposed this idea on the games mailing list. Looking for a mentor. Suggestions/comments welcome - raja.aishwarya@gmail.com<br />
<br />
==== Micropolis (SimCity) ====<br />
<br />
I have a long list of interesting ways to develop [[Micropolis]] (aka SimCity), which I have written about on [http://www.DonHopkins.com my blog]!<br />
<br />
The source code is on [http://code.google.com/p/micropolis Google Code], <br />
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. <br />
<br />
There are two Micropolis projects: <br />
<br />
* 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. <br />
<br />
* The new "MicropolisCore" C++/SWIG/Python module that I've cleaned up and I have started developing a user interface. <br />
<br />
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.<br />
<br />
[[User:dhopkins|-Don Hopkins]]<br />
<br />
<br />
=== Book and Document readers ===<br />
* ''see project description by [[user:jgay|jgay]]''<br />
<br />
=== Updates to core Activities ===<br />
==== Port Browse to WebKit ====<br />
[[http://webkit.org/ Webkit]] is somewhat lighter than the current Xulrunner engine powering the Browse activity. Porting Browse to use Webkit might see some performance benefits.<br />
<br />
** I would like to know further about this project and if there is an expected port such as the Qt version or some webkit derivative in mind. Also on expected skills of the student. I have high interest in talking to someone and cannot find an e-mail submission page, I see most people just commenting here. A (very) little about me: I am currently a Junior/Senior student with C++ and Java programming skills. e-mail: jlukas79@gmail.com<br />
<br />
==== Enhancements for Measure ====<br />
* Feed generated data from simulations or the software synthesizer into the Measure activity.<br />
* Add sensor support to Activities such as TamTam that would allow musical pitch, tempo etc to be controlled by sensors<br />
* 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.<br />
* Make triggered logging possible (similar to triggered logging in Oscilloscopes)<br />
* Some more immediate plans here [[Measure/Plans]]<br />
* Sensor based input into games. For example control a game character based on light intensity<br />
<br />
==== Make activities programmable ====<br />
More generally, support snap-together programming of XO [[activities]] in the manner that [[Turtle Art]] and [[Etoys]] provide internally.<br />
<br />
==== Improve DrGeo ====<br />
<br />
The [[DrGeo]] activity (interactive geometry) port need to be finished and improved in different areas.<br />
<br />
=====Parts to be written=====<br />
* 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 [http://documentation.ofset.org/drgeo/fr/using_macro.html the original implementation].<br />
* implementation of the script system. A script within [[DrGeo]] is code hooked to an interactive sketch, it is used to perform calculus. See [http://documentation.ofset.org/drgeo/fr/drgenius_56.html the original implementation in Scheme]. The script language will be Smalltalk based.<br />
<br />
=====Parts to improve=====<br />
* Improve the load time, the load time is now unacceptable for the user and make [[DrGeo]] unadapted for the OLPC.<br />
* Define a journal type entry to save/load.<br />
* Improve the user interface, particularly the access to the construction tools.<br />
* Improve the locus sampling, it is by now suboptimal.<br />
<br />
Other suggestions for improvements, see [https://gna.org/bugs/index.php?go_report=Appliquer&group=istoa&func=browse&set=custom&msort=0&report_id=100&advsrch=0&status_id=1&resolution_id=0&assigned_to=0&category_id=101&bug_group_id=0&history_search=0&history_field=0&history_event=modified&history_date_dayfd=2&history_date_monthfd=2&history_date_yearfd=2008&chunksz=50&spamscore=5&boxoptionwanted=1#options the DrGeo tracker].<br />
<br />
== comment ==<br />
I'd love to participate to DrGeo. I'm Anna Wrochna ([[User:Lilavati|Lilavati]]), I am studying math+CS at the Warsaw Univeristy. <br />
I speak French, have used SmallTalk, loved geometry in high school - I'm the man for the job. <br />
Please contact me as a.wrochna(a)gmail.com .<br />
<br />
=== Other activities ===<br />
==== Email activity ====<br />
<br />
Develop a light, functional and usable email client<br />
* log children on automatically.<br />
* cache things locally, both for writing and for reading.<br />
<br />
: interest: [[User:Shikhar|Shikhar]] is interested in developing an email activity, see proposal outline [[Email client]]<br />
: Hello, I'm Pedro Marcos and I have already showed my interest in developing a project for OLPC (the Board, card games Project) but this project also interests me a great deal. I have, while i was a intern at a webdevelopment and webhosting company called Secrel (www.secrelnet.com.br) , developed a light email manager written in ASP. It could download emails via SMTP and categorize then according to what it was at the body of the message and more. Contact-me at petrol101@gmail.com for further information. Thanks for the oportunity :)<br />
<br />
==== Mind mapping activity ====<br />
A few teachers (including the teacher in Arahuay) have requested a mind-mapping activity. <br />
MindMeister and similar suites have offered us some of their toolchains.<br />
: interest: [[User:Homunq|Homunq]]<br />
<br />
==== Elements. 2D physics simulation ====<br />
Making 2D rigid body physics easily accessible and implementable with python/pygame on the XO laptop. Project started already as '[[Elements]]'<br />
<br />
==== Computer Vision with OpenCV ====<br />
OpenCV is a computer vision library developed by Intel that greatly simplifies complex tasks like object recognition and tracking and image manipulation. Possible uses for it include vision based games, gesture recognition, and video chat with low bandwidth cartoon characters substituted for video.<br />
<br />
Nirav Patel [http://eclecti.cc/code/face-detection-on-the-olpc-xo started working] with [[OpenCV]] and face recognition on the XO laptop.<br />
<br />
==== XOradio and XOtv ====<br />
The idea is to supply an easy way (1 click) to broadcast contents (audio and video) from a OLPC laptop, and then, put all the available channels together in a OLPC global channel of lectures sharinghowtos sharing, p2p online help, video connected classrooms/sessions,... [http://www.olpcaustria.org/mediawiki/index.php/XOtv|Project page in OLPC Austria wiki]<br />
<br />
==== Virtual Garden ====<br />
It will be a virtual garden where children can grow and breed different plants. The plant's characteristics are going to be defined by the user, but the main idea of the project is that every characteristic of the plant is genetically represented; therefore, to create beautiful, interesting plants, children would need to understand the way in which the genes affect the plant, and how can they use inheritance to produce the desired offspring. In the creation of the artificial plants, the work by Przemyslav Prusinkiewicz y Aristid Lindenmayer in their book "The Algorithmic beauty of Plants" will be used, with an addition: The flowers will be based in the superformula by Jhon Giellis.<br />
<br />
Hi, My name is Venture M and I am pursuing my Masters in Information Technology at RMIT, Melbourne Australia. I have programming experience since last 7 years, of which 4 years is in Software Industry. I have been programming in OpenGL since the last 5 years as a hobby. Although I have not read the ideas behind this project, I am sure that I will be able to grasp and implement them.<br />
Please contact me at venturecoder@gmail.com.<br />
<br />
Hi, I'm [Jair Trejo], Mechatronics student from Mexico City, and original proponent of the Garden activity. A detailed description of my proposal lives here: [[Garden Activity]].<br />
<br />
=== Language Learning ===<br />
<br />
<br />
==== Foreign language learning====<br />
'''Focusing on English''':<br />
A tool to learn foreign languages would be a great addition for the XO. At it's most rudimentary form, it can start with an [[Words|interactive]] [[dictionary, but something advanced would be preferred, perhaps along the lines of [http://lingoteach.sourceforge.net/ LingoTeach]. <br />
<br />
* I've created a wiki pages with my ideas. [[Language Learning]] [[User:StevenMohr|-Steven Mohr]]<br />
<br />
* My name is Kelly. I'm interested in this task and other OLPC tasks, and want to talk to a mentor. Please email me at kekenned@gmail.com<br />
<br />
* I am interested in this task and in other linguistic/language oriented tasks. I would like to talk to a mentor. E-mail me at shwayd@brandeis.edu Thanks. ~Kobey<br />
<br />
* Hello, I have drafted my idea for a English vocabulary improving activity at [http://wiki.laptop.org/go/Wordnet_Activity WordNet Game]. Regards Nikola<br />
<br />
==== Speech synthesis ====<br />
<br />
'''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. <br />
<br />
The game can have the following features:-<br />
<br />
* Difficulty Level - Easy/Medium/Hard<br />
* Multiple Dictionary Sources<br />
* 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.<br />
* Mesh Challenge - Children can collaborate over the Mesh Network and challenge each other in a multiplayer 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.<br />
<br />
A very basic activity draft that can be suitably scaled is available at [[talkntype]]<br />
<br />
Hi, I am Assim Deodia. I have originally posted this idea on olpc mailing list and gsoc list. I have extented this idea and created a wiki page here [[Listen_and Spell]]. I am looking for a mentor who is interested in speech synthesis and language learning activity for the XO. <br />
email: assim.deodia@gmail.com<br />
<br />
I'm really interested in this project and need to contact mentor. e-mail:sachith.ponnamperuma@gmail.com<br />
<br />
=== Misc / needs development ===<br />
<br />
==== My FilmCity(@INDOKLEY) ====<br />
Record your songs and upload.<br />
Download the songs that is give by the "Music" Teacher.<br />
Make Playlist from the list of Songs(here we can resirict the list of songs according to the MUSIC TEACHERS)<br />
: Upload Video<br />
: Download Video<br />
<br />
<br />
====Embed twexter into activities====<br />
[http://twext.com/embed twexter] software formats twin text ([[twext]]) for language learners.. twexter can work with all kindsa tools/activities like [[moodle]] or [[scratch]] or [[Summer_of_Code/2008/Ideas#Mediawiki_stuff|mediawiki]] or [[wixi]] so we can grow [http://olpcnews.com/content/localization/learning_language.html multilingual].. <font color="silver">twexter can also annote same language text, for example by translating complex english to "basic english"</font><br />
<br />
hi,I am kinda interested in this project. I am a master student from China, whose research interest is natural language processing. I need more information about this. I guess my research experience may do some contribution to this project.Who is the mentor? could you please contace me. my email: wenjuan1239@gmail.com. thanks a lot.<br />
<br />
====synxi====<br />
[[synxi]] wants to make it easier to add timed text [[SLS]] to video.. <br />
# speech to text<br />
# closed captioning <br />
# timed text (syllabic level karaoke)<br />
# sync w/ audio video<br />
<font color="gray">synxi will help us 2.) learn language, 1.) teach language, 0.) share language</font><br />
<br />
==== Eclipse based development environment for Activities ====<br />
<br />
An [[http://www.eclipse.org/ Eclipse]] plugin which would allow software developers to easily write Python based activities for Sugar. Some of the features can be<br />
* Integration with an Xnest/Xephyr window which would run the activity being developed in Sugar<br />
* Easily accessible developer documentation<br />
<br />
----after three days playing around with XO, Sugar, xephyr ... i realize that we are no need another eclipse plugin for developing sugar activities. Just install PyDev plugin. start Xephyr and run eclipse "inside" Xephyr<br />
<br />
==== Sugar Factory ====<br />
[[Sugar Factory]] is an automated method for Sugarizing non-Python applications. Albert Cahalan has some of this working now.<br />
<br />
==== Extending Gnash ====<br />
Extend Gnash to read more data formats, in particular those at [http://olpc.tv/ OLPC.tv], and [[Mary Lou Jepsen]]'s [http://scribemedia.blip.tv/file/682463/ presentation] at the [[Greener Gadgets]] Conference. Integrate Supat's SSS code and move it upstream.<br />
<br />
==== Mediawiki stuff ====<br />
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 [[Summer of Content 2008 Proposals#Multilingual wiki|multilingual wiki]]. [[User:Homunq|Homunq]] 12:18, 2 March 2008 (EST)<br />
<br />
==== Shared wikis for projects ====<br />
<br />
Some ideas:<br />
* Keep a shared page for each collaborative project or actvity itself that is shared across a school and/or class : automatically generate pages/namespaces for class + activity + project where help notes, reports, and progress are tracked. Define how these namespaces interact aross clases, schools, and at a global level on wikieducator / wikiversity / similar sites<br />
* Define how to link together a set of related work into a report : linking to a project/file/record, customized to launch a specific activity via wiki markup.<br />
* Work on the interface b/t [[MikMik]] and a [[MediaWiki]] server.<br />
<br />
==== Sugar adaption for the Nasa Colombian ethnic community ====<br />
One of the 91 indigenous cultures that still exist in Colombia is the [http://en.wikipedia.org/wiki/Paez_people Paez people] (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. [[User:Santiago|Santiago]] 18:01, 8 March 2008 (EST)<br />
====Privacy and Parental Control====<br />
*Access control of the students <br />
*Trace of Student activity and alert if open illegal and unauthorized websites and contents.<br />
*Remote control of student laptop by if he is in home network<br />
*Activiy log of the student and daily usage of laptop <br />
*Daily,monthly analysis of the student usage (what they have used like fun,studies ,games etc)<br />
<br />
Hi, I am Maria, a master student at University of California. I am interested to help XO program by developing a tool for parental control. I have great knowledge in C++, Perl and Java and my previous research include some privacy preserving software development.<br />
<br />
=== Sugar packaging in other distros ===<br />
<br />
'''Debian'''<br />
* Help in maintaining and packaging sugar and activities in debian.<br />
* Including/adapting debian-edu .debs to sugar<br />
<br />
Hello there, I am quite interested in Debian and want to help with this and all other projects. Please contact me (bjoern AT xruby DOT net) if I can be of assistance to the XO project or other things. I will start my PhD studies in April and have previously studied Computer Science. I am highly interested in helping where I can and want to bring the necessary technology to kids around the world.<br />
<br />
...<br />
<br />
[[category:ideas]]<br />
[[category:projects]]<br />
[[Category:GSoC proposals]]</div>Jairtrejohttp://wiki.laptop.org/mediawiki/index.php?title=Garden_Activity&diff=122128Garden Activity2008-04-01T14:42:36Z<p>Jairtrejo: </p>
<hr />
<div>== Introduction ==<br />
<br />
This document describes in detail my idea for a virtual garden, to be deployed int the XO Laptop as a Sugar activity.<br />
<br />
This virtual garden has three main goals:<br />
<br />
* To be a rich and interesting tool for learning about Mendelian genetics,<br />
* To provide rich support for extensions an modifications through a plugin architecture and<br />
* To generate an understandable and simple body of code, that might be used by future XO developers as an example of a reasonably complex application.<br />
<br />
The rest of the document is laid out as follows:<br />
<br />
Section 1 : The Garden Activity, is a tour through the idea of the application, its interface and the way it will accomplish the first goal.<br />
<br />
Section 2 : Technical Description, describes the technical aspects of the project<br />
<br />
Section 3 : The Code, is about the design principles that the project's code will follow, in order to fulfill the second and third goals. It describes the plugin architecture, and proposes a general design for the code.<br />
<br />
Section 4 : Schedule, gives a tentative schedule for the completion of the different stages of the project.<br />
<br />
== Section 1 : The Garden Activity ==<br />
<br />
The garden Activity will be a virtual garden, where the users will create artificial plants and mate them to enhance their characteristics, gaining insight into the process of inheritance and the mechanisms of Mendelian Genetics.<br />
<br />
The interface will be divided in three sections: The Garden, the Species Design Laboratory and the Seeds Room.<br />
<br />
In The Garden, the user can arrange the plants and monitor the progress of her experiments, as well as pick individuals for their reproduction. When two individuals are picked for reproduction, the resulting seed is stored in the Seeds Room. Although the "gardening" aspects of a virtual garden are not a main concern at this stage of the project, It might be interesting to add some basic capabilities, with the chance to improve them in future versions: things like watering, fertilizing the soil, amount of sunlight, etc.<br />
<br />
The Species Design Laboratory will be the place where new plant species can be designed. It will provide controls for adjusting the parameters of the underlying L-System and the Superformula, but conveniently abstracted under intuitive plant parameters, like amount of flowers, weed-like or tree-like, shape and color of the flower's petals, etc. Once the new species are created, they are stored as "templates" for generating new seeds.<br />
<br />
The Seeds Room will be where the birth of new individuals takes place. From here the user can either select the previously generated templates to create new seeds, or use one of the previously stored ones. When looking at the seeds, the program will show information about their genealogy, and notes attached to them during their creation.<br />
<br />
For pedagogical purposes, the user will only be able to create a limited number of species, tweaking a restricted set of parameters. In order to gain more power for the design of the flowers, the user should enter "challenge mode". There, it will be asked to perform experiments, and answer questions about them: They will gradually introduce her to the mechanisms of inheritance and basic genetics, and help her discover by herself the rules behind it.<br />
<br />
As for sharing functions, a plugin will be developed to allow the user to share her plant's seeds with other XO Laptops. Additionally, the idea of a "school garden", stored in the central server and viewable in each Laptop seems very interesting, It might be implemented if there is enough time.<br />
<br />
== Section 2 : Technical description ==<br />
<br />
L-Systems were conceived by Aristide Lindenmayer as a mathematical theory of plant development. Originally, it didn't consider the geometry of plants, but rather the relationships between their cells. However, several geometric interpretations of L-systems have been proposed: In "The Algorithmic Beauty of plants" a "Turtle Geometry" approach is used, and so will our virtual garden use.<br />
<br />
A complete description of LSystems lies beyond the scope of this document; the reader is advised to go to the Prusinkiewicz and Lindenmayer's book for that. For now it is enough to say that they provide the means to describe the general structure of the plant, while leaving room to enough random elments as to generate "individuals" of each species.<br />
<br />
On the other hand, the Superformula is a Generalization of the sphere that can represent many natural shapes. It will be used to describe the shapes of flowers; the color and size of the flowers will vary between individuals.<br />
<br />
Once species are defined, we need a list of values to "fill-in the blanks" in the species template. We will come to it later, but for now, supposing we already have the values, we can proceed to the graphical representation of the plant.<br />
<br />
The first step is to create the flower. For this, Cairo paths will be created by joining points in the perimeter of each petal layer. They will be colored and arranged as specified by the template, and drawn into a Cairo surface.<br />
<br />
After creating the flowers, a "turtle" (as in turtle graphics) will interpret the description of the individual: the chain of instructions generated by the rewriting process of the L-System. It will include information as to where should the flowers be placed; copies of the flower surface will be placed at those locations. Once the drawing is finished, we have a picture of the individual that can be used wherever we need.<br />
<br />
The template that describes a plant species is not a complete description of an individual plant; it leaves some blanks that can be randomly filled to create individuals. When we have to draw a particular member of the species, this values should be randomly generated; we will call "chromosome" to this string of random values, that can appropriately complement the species template to draw individuals. However, the chromosome is not the individual itself, but a representation of it's tendency to have certain characteristics. Although two interpretations of the same chromosome will be very similar, there are certain characteristics that might vary, specially when the individual genes represent probabilities. The only univocal representation of a particular individual would be the final string generated by the L-system, and the accurate description of it's flowers, which shall be stored for each plant, and that can be used to exactly reconstruct the plant's picture.<br />
<br />
However, although they are not an exact description of each individual, our chromosomes are suitable vehicles for inheritance. The mating of two chromosomes to create new individuals will be very much like the process described by classical genetics: When new species are created, the program will randomly choose criteria for discriminating between dominant and recessive genes; those choices will be part of the species template, and used whenever two individuals mate. When that occurs, the program will go gene by gene, deciding which one will manifest in the individual, and which copies shall be stored int he genome; the result will be roughly the same as Mendel's Laws would predict.<br />
<br />
The technologies that will be used for the implementation of the project are pretty much the standard ones: Python, PyGTK, Glade and Cairo. A Cairo-based GTK widget will be created to allow te "on-line" design of the flowers. As for the rest of th application, it'll try to use standard components as much as possible, while drawing directly with Cairo for the more graphic parts of the Interface.<br />
<br />
== Section 3 : The Code ==<br />
<br />
== Section 4 : Schedule ==<br />
<br />
* Google Calendar [http://www.google.com/calendar/embed?src=4pk8dqfhc37sit585oev2hsh5o%40group.calendar.google.com%20]<br />
<br />
Please go to May in the Calendar for the beginning of activities. I plan to dedicate August to improvements, tweaks and bug fixes.</div>Jairtrejohttp://wiki.laptop.org/mediawiki/index.php?title=Garden_Activity&diff=122126Garden Activity2008-04-01T14:41:29Z<p>Jairtrejo: </p>
<hr />
<div>== Introduction ==<br />
<br />
This document describes in detail my idea for a virtual garden, to be deployed int the XO Laptop as a Sugar activity.<br />
<br />
This virtual garden has three main goals:<br />
<br />
* To be a rich and interesting tool for learning about Mendelian genetics,<br />
* To provide rich support for extensions an modifications through a plugin architecture and<br />
* To generate an understandable and simple body of code, that might be used by future XO developers as an example of a reasonably complex application.<br />
<br />
The rest of the document is laid out as follows:<br />
<br />
Section 1 : The Garden Activity, is a tour through the idea of the application, its interface and the way it will accomplish the first goal.<br />
<br />
Section 2 : Technical Description, describes the technical aspects of the project<br />
<br />
Section 3 : The Code, is about the design principles that the project's code will follow, in order to fulfill the second and third goals. It describes the plugin architecture, and proposes a general design for the code.<br />
<br />
Section 4 : Schedule, gives a tentative schedule for the completion of the different stages of the project.<br />
<br />
== Section 1 : The Garden Activity ==<br />
<br />
The garden Activity will be a virtual garden, where the users will create artificial plants and mate them to enhance their characteristics, gaining insight into the process of inheritance and the mechanisms of Mendelian Genetics.<br />
<br />
The interface will be divided in three sections: The Garden, the Species Design Laboratory and the Seeds Room.<br />
<br />
In The Garden, the user can arrange the plants and monitor the progress of her experiments, as well as pick individuals for their reproduction. When two individuals are picked for reproduction, the resulting seed is stored in the Seeds Room. Although the "gardening" aspects of a virtual garden are not a main concern at this stage of the project, It might be interesting to add some basic capabilities, with the chance to improve them in future versions: things like watering, fertilizing the soil, amount of sunlight, etc.<br />
<br />
The Species Design Laboratory will be the place where new plant species can be designed. It will provide controls for adjusting the parameters of the underlying L-System and the Superformula, but conveniently abstracted under intuitive plant parameters, like amount of flowers, weed-like or tree-like, shape and color of the flower's petals, etc. Once the new species are created, they are stored as "templates" for generating new seeds.<br />
<br />
The Seeds Room will be where the birth of new individuals takes place. From here the user can either select the previously generated templates to create new seeds, or use one of the previously stored ones. When looking at the seeds, the program will show information about their genealogy, and notes attached to them during their creation.<br />
<br />
For pedagogical purposes, the user will only be able to create a limited number of species, tweaking a restricted set of parameters. In order to gain more power for the design of the flowers, the user should enter "challenge mode". There, it will be asked to perform experiments, and answer questions about them: They will gradually introduce her to the mechanisms of inheritance and basic genetics, and help her discover by herself the rules behind it.<br />
<br />
As for sharing functions, a plugin will be developed to allow the user to share her plant's seeds with other XO Laptops. Additionally, the idea of a "school garden", stored in the central server and viewable in each Laptop seems very interesting, It might be implemented if there is enough time.<br />
<br />
== Section 2 : Technical description ==<br />
<br />
L-Systems were conceived by Aristide Lindenmayer as a mathematical theory of plant development. Originally, it didn't consider the geometry of plants, but rather the relationships between their cells. However, several geometric interpretations of L-systems have been proposed: In "The Algorithmic Beauty of plants" a "Turtle Geometry" approach is used, and so will our virtual garden use.<br />
<br />
A complete description of LSystems lies beyond the scope of this document; the reader is advised to go to the Prusinkiewicz and Lindenmayer's book for that. For now it is enough to say that they provide the means to describe the general structure of the plant, while leaving room to enough random elments as to generate "individuals" of each species.<br />
<br />
On the other hand, the Superformula is a Generalization of the sphere that can represent many natural shapes. It will be used to describe the shapes of flowers; the color and size of the flowers will vary between individuals.<br />
<br />
Once species are defined, we need a list of values to "fill-in the blanks" in the species template. We will come to it later, but for now, supposing we already have the values, we can proceed to the graphical representation of the plant.<br />
<br />
The first step is to create the flower. For this, Cairo paths will be created by joining points in the perimeter of each petal layer. They will be colored and arranged as specified by the template, and drawn into a Cairo surface.<br />
<br />
After creating the flowers, a "turtle" (as in turtle graphics) will interpret the description of the individual: the chain of instructions generated by the rewriting process of the L-System. It will include information as to where should the flowers be placed; copies of the flower surface will be placed at those locations. Once the drawing is finished, we have a picture of the individual that can be used wherever we need.<br />
<br />
The template that describes a plant species is not a complete description of an individual plant; it leaves some blanks that can be randomly filled to create individuals. When we have to draw a particular member of the species, this values should be randomly generated; we will call "chromosome" to this string of random values, that can appropriately complement the species template to draw individuals. However, the chromosome is not the individual itself, but a representation of it's tendency to have certain characteristics. Although two interpretations of the same chromosome will be very similar, there are certain characteristics that might vary, specially when the individual genes represent probabilities. The only univocal representation of a particular individual would be the final string generated by the L-system, and the accurate description of it's flowers, which shall be stored for each plant, and that can be used to exactly reconstruct the plant's picture.<br />
<br />
However, although they are not an exact description of each individual, our chromosomes are suitable vehicles for inheritance. The mating of two chromosomes to create new individuals will be very much like the process described by classical genetics: When new species are created, the program will randomly choose criteria for discriminating between dominant and recessive genes; those choices will be part of the species template, and used whenever two individuals mate. When that occurs, the program will go gene by gene, deciding which one will manifest in the individual, and which copies shall be stored int he genome; the result will be roughly the same as Mendel's Laws would predict.<br />
<br />
The technologies that will be used for the implementation of the project are pretty much the standard ones: Python, PyGTK, Glade and Cairo. A Cairo-based GTK widget will be created to allow te "on-line" design of the flowers. As for the rest of th application, it'll try to use standard components as much as possible, while drawing directly with Cairo for the more graphic parts of the Interface.<br />
<br />
== Section 3 : The Code ==<br />
<br />
== Section 4 : Schedule ==<br />
<br />
* Google Calendar [http://www.google.com/calendar/embed?src=4pk8dqfhc37sit585oev2hsh5o%40group.calendar.google.com%20]<br />
<br />
Please go to May in the Calendar for the beginning of activities. I plan to dedicate August to improvements, tweaks and bug fixes.</div>Jairtrejohttp://wiki.laptop.org/mediawiki/index.php?title=Garden_Activity&diff=122124Garden Activity2008-04-01T14:40:19Z<p>Jairtrejo: New page: == Introduction == This document describes in detail my idea for a virtual garden, to be deployed int the XO Laptop as a Sugar activity. This virtual garden has three main goals: *...</p>
<hr />
<div>== Introduction ==<br />
<br />
This document describes in detail my idea for a virtual garden, to be deployed int the XO Laptop as a Sugar activity.<br />
<br />
This virtual garden has three main goals:<br />
<br />
* To be a rich and interesting tool for learning about Mendelian genetics,<br />
* To provide rich support for extensions an modifications through a plugin architecture and<br />
* To generate an understandable and simple body of code, that might be used by future XO developers as an example of a reasonably complex application.<br />
<br />
The rest of the document is laid out as follows:<br />
<br />
Section 1 : The Garden Activity, is a tour through the idea of the application, its interface and the way it will accomplish the first goal.<br />
<br />
Section 2 : Technical Description, describes the technical aspects of the project<br />
<br />
Section 3 : The Code, is about the design principles that the project's code will follow, in order to fulfill the second and third goals. It describes the plugin architecture, and proposes a general design for the code.<br />
<br />
Section 4 : Schedule, gives a tentative schedule for the completion of the different stages of the project.<br />
<br />
== Section 1 : The Garden Activity =<br />
<br />
The garden Activity will be a virtual garden, where the users will create artificial plants and mate them to enhance their characteristics, gaining insight into the process of inheritance and the mechanisms of Mendelian Genetics.<br />
<br />
The interface will be divided in three sections: The Garden, the Species Design Laboratory and the Seeds Room.<br />
<br />
In The Garden, the user can arrange the plants and monitor the progress of her experiments, as well as pick individuals for their reproduction. When two individuals are picked for reproduction, the resulting seed is stored in the Seeds Room. Although the "gardening" aspects of a virtual garden are not a main concern at this stage of the project, It might be interesting to add some basic capabilities, with the chance to improve them in future versions: things like watering, fertilizing the soil, amount of sunlight, etc.<br />
<br />
The Species Design Laboratory will be the place where new plant species can be designed. It will provide controls for adjusting the parameters of the underlying L-System and the Superformula, but conveniently abstracted under intuitive plant parameters, like amount of flowers, weed-like or tree-like, shape and color of the flower's petals, etc. Once the new species are created, they are stored as "templates" for generating new seeds.<br />
<br />
The Seeds Room will be where the birth of new individuals takes place. From here the user can either select the previously generated templates to create new seeds, or use one of the previously stored ones. When looking at the seeds, the program will show information about their genealogy, and notes attached to them during their creation.<br />
<br />
For pedagogical purposes, the user will only be able to create a limited number of species, tweaking a restricted set of parameters. In order to gain more power for the design of the flowers, the user should enter "challenge mode". There, it will be asked to perform experiments, and answer questions about them: They will gradually introduce her to the mechanisms of inheritance and basic genetics, and help her discover by herself the rules behind it.<br />
<br />
As for sharing functions, a plugin will be developed to allow the user to share her plant's seeds with other XO Laptops. Additionally, the idea of a "school garden", stored in the central server and viewable in each Laptop seems very interesting, It might be implemented if there is enough time.<br />
<br />
== Section 2 : Technical description ==<br />
<br />
L-Systems were conceived by Aristide Lindenmayer as a mathematical theory of plant development. Originally, it didn't consider the geometry of plants, but rather the relationships between their cells. However, several geometric interpretations of L-systems have been proposed: In "The Algorithmic Beauty of plants" a "Turtle Geometry" approach is used, and so will our virtual garden use.<br />
<br />
A complete description of LSystems lies beyond the scope of this document; the reader is advised to go to the Prusinkiewicz and Lindenmayer's book for that. For now it is enough to say that they provide the means to describe the general structure of the plant, while leaving room to enough random elments as to generate "individuals" of each species.<br />
<br />
On the other hand, the Superformula is a Generalization of the sphere that can represent many natural shapes. It will be used to describe the shapes of flowers; the color and size of the flowers will vary between individuals.<br />
<br />
Once species are defined, we need a list of values to "fill-in the blanks" in the species template. We will come to it later, but for now, supposing we already have the values, we can proceed to the graphical representation of the plant.<br />
<br />
The first step is to create the flower. For this, Cairo paths will be created by joining points in the perimeter of each petal layer. They will be colored and arranged as specified by the template, and drawn into a Cairo surface.<br />
<br />
After creating the flowers, a "turtle" (as in turtle graphics) will interpret the description of the individual: the chain of instructions generated by the rewriting process of the L-System. It will include information as to where should the flowers be placed; copies of the flower surface will be placed at those locations. Once the drawing is finished, we have a picture of the individual that can be used wherever we need.<br />
<br />
The template that describes a plant species is not a complete description of an individual plant; it leaves some blanks that can be randomly filled to create individuals. When we have to draw a particular member of the species, this values should be randomly generated; we will call "chromosome" to this string of random values, that can appropriately complement the species template to draw individuals. However, the chromosome is not the individual itself, but a representation of it's tendency to have certain characteristics. Although two interpretations of the same chromosome will be very similar, there are certain characteristics that might vary, specially when the individual genes represent probabilities. The only univocal representation of a particular individual would be the final string generated by the L-system, and the accurate description of it's flowers, which shall be stored for each plant, and that can be used to exactly reconstruct the plant's picture.<br />
<br />
However, although they are not an exact description of each individual, our chromosomes are suitable vehicles for inheritance. The mating of two chromosomes to create new individuals will be very much like the process described by classical genetics: When new species are created, the program will randomly choose criteria for discriminating between dominant and recessive genes; those choices will be part of the species template, and used whenever two individuals mate. When that occurs, the program will go gene by gene, deciding which one will manifest in the individual, and which copies shall be stored int he genome; the result will be roughly the same as Mendel's Laws would predict.<br />
<br />
The technologies that will be used for the implementation of the project are pretty much the standard ones: Python, PyGTK, Glade and Cairo. A Cairo-based GTK widget will be created to allow te "on-line" design of the flowers. As for the rest of th application, it'll try to use standard components as much as possible, while drawing directly with Cairo for the more graphic parts of the Interface.<br />
<br />
== Section 3 : The Code ==<br />
<br />
== Section 4 : Schedule ==<br />
<br />
* Google Calendar [http://www.google.com/calendar/embed?src=4pk8dqfhc37sit585oev2hsh5o%40group.calendar.google.com%20]<br />
<br />
Please go to May in the Calendar for the beginning of activities. I plan to dedicate August to improvements, tweaks and bug fixes.</div>Jairtrejohttp://wiki.laptop.org/mediawiki/index.php?title=Summer_of_Code/Ideas&diff=122121Summer of Code/Ideas2008-04-01T14:36:26Z<p>Jairtrejo: /* Virtual Garden */</p>
<hr />
<div>This is a list of ideas for OLPC's participation in Google Summer of Code 2008. This is a pool of ideas for potential students to browse to find what they might want to work on; and for developers to use as a place to prioritize and brainstorm about what work would be most useful, or most rewarding.<br />
<br />
=== School Server ===<br />
==== Interface design ====<br />
<br />
Admin interface : The school server needs a graphical admin interface to configure some aspects of the services it offers, and to help diagnostics. Mentor: Martin Langhoff.<br />
*''Hi! My name is Andrey. I want to join your project and help with school server. [[User:Grad|Grad]]. [[XS AdminUI]].''<br />
<br />
==== Auto memory/disk tuning ====<br />
<br />
Automagic tuning: The school server may have different memory and disk relationships. Provide alternative configurations for key daemons (apache, postgresql/mysql, ejabberd, java-based daemons, etc) for different memory sizes. Learn a lot about scalability and performance tuning for servers. Provide a web based report of memory and disk traffic. Mentor: Martin Langhoff.<br />
<br />
==== Customise and package webbased elearning apps ====<br />
<br />
If you are familiar with good e-learning web applications that are aimed towards users from kindergarden to 16 year-old teenagers, propose an app to customise and package for the school server! Mentor: Martin Langhoff.<br />
<br />
Hello Mentor,<br />
Myself K.Vikranth Reddy I am studing B.Tech Final Year And Iam Interested in Involving myself in Your Project.Presently i am working on my project Titled Online Virtual Training System which is an elearning project. Iam doing the project using PHP and MySql<br />
I want to take part in this project and i want to share my ideas with you.<br />
my mail id is vikranthreddyk@gmail.com<br />
ThanQ<br />
vikranth reddy<br />
<br />
==== Networked Blogging Project ====<br />
* Uruguay is developing an Educational Blogger Project. This needs design, coding and configuration of Moodle (moodle.org) and drupal.<br><br />
*: Requirements definition at: http://wiki.laptop.org/go/Requiremientos_Para_XO <br>[[User:Gregorio|Gregorio]] 11:02, 21 March 2008 (EDT)<br />
<br />
=== Core Software ===<br />
<br />
==== Speech Synthesis integration into Sugar ====<br />
Integrate speech synthesis with all activities, not just [[Speak]], and provide for karaoke coloring. See [[User:Mokurai|Mokurai]]'s [http://www.olpcnews.com/content/ebooks/effective_adult_literacy_program.html article] on adapting [[Same Language Subtitling]] for literacy to the XO.<br />
<br />
Desirable Features for Sugar Speech Synthesis Plugin:<br />
<br />
* Provide Sugar Speech Synthesis Configuration Management Tool<br />
* Karaoke Style Coloring in Sugar Environment<br />
* UI for configuration Control<br />
* Accent gets set on the basis of locale<br />
<br />
==== Possible interest ====<br />
===== Java =====<br />
Package and integrate the IcedTea open source bootstrap of OpenJDK Java with browser plugin for the XO. Deliverables would include:<br />
* Binary, source and rpm dependencies for icedtea and icedtea browser plugin<br />
* Java enabled xo os image<br />
* Integration of packages into autobuild branch<br />
<br />
===== Print Support =====<br />
Print support in Sugar would be useful in many scenarios. The ideal project deliverables would include<br />
* Integration of a printing infrastructure (CUPS ??) into the XO-1 software images <br />
* Modification of Sugar Control Panel to set up the printer (add/select default printer?)<br />
* Modification of at least one activity (Write ?) to support printing<br />
* Making a printing activity, that follows sugar GUI guidelines?<br />
<br />
:I am highly interested in working on this project. Would the project leader mind contacting me at bmw.stx@gmail.com?<br />
<br />
===== JavaScript-Python Communication =====<br />
JavaScript Python Communication through the following strategies: PyXPCom, hulahop, and xulrunner.<br />
<br />
<br />
<br />
Hi, I am Preeti, from New Delhi. I would like to get myself involved in this very interesting aspect of the OLPC software development. I have jotted some of my views on the same at:<br />
<br />
http://wiki.laptop.org/go/User_talk:59.178.99.172<br />
<br />
Regards<br />
Preeti<br />
<br />
=== Publication and Journal sharing ===<br />
Incorporate the Distribute activity into the shell<br />
At the basic level this will require:<br />
* A way to initiate a transfer (a button in the Journal, a contextual option on an object, a drag'n'drop operation)<br />
* Notification to the receiver<br />
* Some method to indicate progress to sender and receiver, with a way to cancel<br />
* A journal entry for the receiver containing the resulting file<br />
<br />
Necessary future support:<br />
* Transparent support for interrupted connections<br />
<br />
<br />
=== Mesh Networking ===<br />
==== Tools development ====<br />
As we reach for increasingly larger numbers of nodes participating in mesh network testbed, it is evident that sophisticated methods and tools for monitoring, logging and debugging will become necessary. Project deliverables include:<br />
* Maintain our mesh network testbed<br />
* Review different methods for controlling and monitoring large numbers of machines (control over wireless vs. control over Ethernet, stored logs vs. online logging, etc)<br />
* Implementation of network application + GUI to remotely control, configure and analyze logs from mesh network experiments on large testbed<br />
<br />
==== Visualization development ====<br />
A few visualizations of the mesh have been developed so far; the default random visualization, a roughly signal-strength based visualization that shows other XOs a distance away inversely proportional to signal srength. What other visualizations would be useful or interesting? How do these idea scale to thousands of XOs or a number of school clusters?<br />
<br />
=== Health Tools ===<br />
* Design software to interact with the different health peripherals.<br />
*: Integration of other FLOSS software like OpenMRS.<br />
* Display and interpret bio-signals (e.g EKG. EMG..)<br />
*: Help in [[Projects/TeleHealth Database]]<br />
** Hello, my name is Chao Zhang, and I am a graduate student of computer science focused on bioinformatics. I always paid close attention to OLPC and I am very interested in developing some health tools for OLPC. It is a good chance to contribute my knowledge to the open source projects. Since I have more than 5 years experiences on developing finance and enterprise management systems and more than 8 years experiences on JAVA programming, I am also fascinated about the simple financial planning tools. I hope to chat with mentors to get more details on those ideas. My email: chaozhang.mu@gmail.com<br />
<br><br />
* Dear mentors, <br />
*:<p align = 'justify'>My name is Joana Cabral and I am an enthusiastic supporter of the OLPC project. I have graduated last September in Biomedical Engineering and I am currently following a PhD program in Computational Neuroscience in Barcelona. During my scholar education I got familiarized with bio-signals, not only EKG and EMG but also more chaotic signals like EEG so I believe I may fit to your needs. </p><br />
*:<p align = 'justify'>I think this kind of softwares will be extremely useful, especially for undevelopped countries, where the health services are sparse and unsufficient and cannot eventually afford to buy health tools softwares.Nevertheless we must underline that a special care must be given to the reliability and robustness of of health tools since they can eventually be used for diagnosis and remote monitorization of children patients.</p><br />
*:<p align = 'justify'>I would like to discuss with the mentors some more ideas about this project and let you know a little more about me. Please contact me to: juanitacabral@hotmail.com<br />
*:Cheers<br />
</p><br />
<br />
=== Code libraries ===<br />
<br />
==== Pygame/sdl ====<br />
Add as much support as possible using the Geode graphics processor.<br />
<br />
==== xo3d ====<br />
<br />
Develop the xo3d library based on work started by [[User:Wade]]. This is a flat shaded software 3D renderer with support for objects, lighting & clipping, exposed to Python. It also features a matrix and vector math library.<br />
<br />
<br />
=== Specific Activities ===<br />
This list of desirable activities is largely a grab-bag, meant to spark ideas. There are plenty more at [[:Category:Software ideas]]. Part of the work of doing your SoC application would be to do a preliminary evaluation of existing open source options in a domain and their adaptability to OLPC. Python and/or GTK-based programs are the easiest to adapt. Also present in the platform are Javascript, C/C++ (of course), and Smalltalk (squeak). See [[Sugar]] and [[Developers/Stack]] for further info.<br />
<br />
Applications should show serious thought about what can be achieved in the short time available. Whether you are starting from scratch or adapting an existing app, fewer well-implemented/adapted features are far preferable to many poorly-implemented ones. In either case, but especially in the case of an adaptation, a solid foundation makes it easy to add (back) in more features later.<br />
<br />
<br />
==== Flash Card creator ====<br />
<br />
The student and mentor would evaluate open source flash card programs together, and then either port or adapt one to XO. The flash card program would be developed with a Sugar-specific UI and features. It would feature one of the well known flash card memorization algorithms for tracking student progress through each deck of cards. (see [[Drill and test software]])<br />
<br />
** Hello, my name is Jon Volkman, and I am fascinated about working on the creation of an open source flash card program for XO. I have several preliminary ideas, and find what research (and efforts on other platforms) that have been put into this concept very intriguing.<br />
<br />
** Hi, my name is Adam Goldstein and I recently applied and submitted what thoughts I have for writing a flexible and complete flash card creator for XO. I would really like to take what lessons I've learned from both making and using various programs on multiple platforms to develop a solid tool for study. I'm very excited to explore implementation possibilities and would really enjoy a chance to discuss.<br />
<br />
==== Master Mind (game) ====<br />
<br />
Implement the well known board game: http://en.wikipedia.org/wiki/Mastermind_(board_game)<br />
<br />
** Hello, my name is Ian, and I am interested in working on this project, as it seems similar to other projects I have worked on. I would be interested in learning more about this project in detail if possible. Please email me at imperialisthobo@yahoo.com.<br />
<br />
==== Typing Turtle ====<br />
<br />
A game-like typing tutor activity would be developed by the student. Existing open source projects would be evaluated for ideas. Features would include adapting to student progress, support for all XO keymaps (take a look at [[Keyboard#Languages_other_than_English]] for information on supported keyboard layouts) and written languages, progress tracking graphs, the ability to locally customize the program, etc<br />
<br />
** Hello, my name is Kelly. I'm most interested in writing a game to teach basic numbers and math. I'm also interested in this typing tutorial, and I'm willing to work wherever you think I'd be most useful. I know Scheme, C, and Python; I'm familiar with lex and yacc. Mentors please email me at kekenned@gmail.com<br />
<br />
** Hello, I am Shree Kant , I m interested in writing a typing tutor based on video and audio, I am thinking about something of this sort from quite a long time, I would like to do it this summer for OLPC email me shreekantbohra@gmail.com<br />
<br />
==== Finance ====<br />
<br />
The student would develop a simple financial planning program, basically the simplest possible version of Quicken. It would provide a simple income / expense register, monthly tracking, budget planning, expense & income categories, and a loan calculator.<br />
<br />
This activity idea came from a request by the Nepal deployment.<br />
<br />
== comment ==<br />
I'm interested in creating an easy to use finance program in java or python, although I wouldn't mind expanding its functionality to more than <br />
is described here. Trying to look for OLPC GSoC related items in IRC to no avail, but my email is mpoon@mit.edu.<br />
-mpoon<br />
<br />
== comment ==<br />
My name is David Wong and I am an undergraduate at U.C. Berkeley studying Business administration and EECS. <br />
I would love to create a financial accounting program! I could write the program in Java, C, or even Scheme. <br />
Please email more details to david_wong@berkeley.edu.<br />
<br />
== comment ==<br />
My name is Tamil and I am currently a Masters student at Georgia Institute of Technology. I actually have <br />
created rudimentary fuel economy and optimization programs through FORTRAN. I also know Java and <br />
C++ and am currently teaching myself Python. I am an active member of my school's Investments and Finance <br />
Club so I am astute in all things financial (plus i use Quicken on a regular basis). I would love to help out with OLPC on this plus I do have other ideas. Please contact me at <br />
tamil@gatech.edu.<br />
<br />
== comment ==<br />
I'm Sergiu, and I am an undergraduate at the Technical University of Iasi Gh Asachi, in Romania. The financial<br />
system i would like to build for you will be web based (php or java, you choice), so the same system can be<br />
accessed from any location. Also (no matter which language will be used for the web part), i can build a <br />
desktop application, for accessing the database from the server, so including the programs other students<br />
might be able to develop. The security won't be a problem (as i have developed applications verified and<br />
signed by VeriSign, world's most notorious authority in security). <br />
Please contact me at dogaru.sergiu@zrgiu.com, or zrgiu@yahoo.com<br />
<br />
==== [[OpenSim| System Dynamics modeling tool and simulation engine]] ====<br />
<br />
Create a system dynamics (SD) model editor and simulation engine. The advantages to this would be:<br />
* Models are visual and mathematical representations of a system, which allows for a different form of visual programing than that of Turtle Art<br />
* SD is used in international development planning and to teach systems thinking to K-12 students<br />
* Simulation engine could be accessible from other programs, like Micropolis<br />
* Programs like Micropolis could have their core logic in SD models and access it through the simulation engine, allowing people to switch to a visual representation of the program logic to understand and change it.<br />
<br />
[[User:bobbypowers|-Bobby Powers]] (student, looking for mentor)<br />
<br />
I'm a student in computer science and automation technologies. As a student of AT I'm deep<br />
skilled in Systems theory and would really like to offer such a tool to the olpc project.<br />
I'll apply on SoC's site. riccardo dot lucchese at gmail dot com<br />
<br />
==== Inferno ====<br />
<br />
There's a variety of work that is left to be done in [[Inferno]] on OLPC, things that might be best done by a student include:<br />
<br />
* fontfs - mapping OLPC fonts to inferno native fonts<br />
* metafs - mapping file system permissions to OLPC model<br />
* camera/audio support<br />
* new window manager for Inferno which better matches OLPC paradigm<br />
* integration with OLPC collaboration framework<br />
* integration with OLPC internationalization mechanisms<br />
* edutainment applications written in Limbo for OLPC<br />
<br />
[[User:ericvh|-Eric Van Hensbergen]]<br />
<br />
<br />
==== [[GIS]] activity for XO ==== <br />
[http://www.ewb.org/ Engineers Without Borders], [http://www.timepedia.org/ Timepedia], and [http://isde5.pbwiki.com/One-Laptop-Per-Child 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...<br />
<br />
==== Activity Translation Activity ====<br />
Similar to the functionality offered by the "View Source" key, an activity should ideally allow the user to translate it. A Translate activity would allow the user to translate any given activity, and optionally let the user share the translation, so that it can be reused by other users in the mesh.<br />
<br />
==== Deducto ====<br />
<br />
Deducto is a Board Game based on pattern recognition initially developed by Walter Bender at MIT Media Labs using Perl language. The game has been re-written in Python by the founding members of Open Source Community-NSIT, India. HTML version of the game is available at [[http://nsitonline.in/assim/deducto.html Deducto]]. Project is also available at [[http://dev.laptop.org/git?p=projects/deducto-activity;a=summary GIT Repository]]. Addition of a feature where a user could generate his/her own levels of the game, development of UI, and re-design using PyGTK are the areas for development.<br />
<br />
==== Food Force Project ====<br />
World Food Programme's Food Force Project [[http://www.food-force.com/index.php/game/downloads/ Windows and Mac]] to be re-designed for the Sugar environment.Please visit [[Food_Force/Design_Document]].<br />
<br />
==== Education ToolKit ====<br />
There was a nice project done in Chile using Ipacks: the "teacher" would pose a problem and the children would formulate an answer. Then they'd gather in groups of four and pool their answers. Each group of four would then reach consensus on an answer they thought was correct. All of the group answers would be shared with the entire class. Then a class discussion would ensue: why did Group A come up with that answer? The role of the computer and the teacher was to facilitate the discussion among the students and to focus discussion around problem areas that revealed themselves in discussion. A nice use of collaboration that has nothing to do with taking control or "all eyes forward".<br />
For more information goto http://wiki.laptop.org/go/Educational_toolkit<br />
<br />
<br />
Hi, I am student from Indian Institute of Information Technology and Management, Gwalior, India interested in this type of software because of the reason that I have worked on this sometime long. I have created an E-learning software for children which is an interactive one. Let me know how can I help OLPC in this particular process. Contact me at tejapv@gmail.com. Thanks...<br />
<br />
<br />
<br />
Hi,<br />
My name is waseem. I am Master student in Royal Institute of Technology (Stockholm, Sweden), my major is Software Engineering<br />
of Distributed Systems. I have an idea (which i have been working on for a while) and it is closely related to this topic. The <br />
main idea is to develop an interactive application that will take any form of text (story, scientific essay, news or any form of <br />
composed text) and extract those part of the text that could be transformed in to multiple choice questions and short questions, <br />
which could be then presented to the user . Main purpose of the application will be to help children in their exam preparation, <br />
as they could make their own exam paper on the fly and evaluate their preparation . I would like to discuss this porject in more <br />
details. I can be easily reached by email exactlypinpoint@gmail.com.<br />
<br />
<br />
With Best Regards<br />
Waseem Shaukat<br />
<br />
==== PlayGo ====<br />
Go is a great game which promotes connectivity and cultural exchange, not to mention critical thinking. The PlayGo activity ([http://wiki.laptop.org/go/PlayGo]) has alreagy begun an implementation. It would be nice to bring this project into phases 2 and 3.<br />
<br />
:I am very interested in this particular project. My name is Brandon Wilson, and if I could be of help in this project please contact me at [mailto:bmw.stx@gmail.com].<br />
:My name is Artem Kaznatcheev and I am also interested in this project. I was curious if you desired future development to follow the "PlayGo" phase 2 and 3 goals exactly, or if we could expand and split from there; some ideas could include: AI opponents (GnuGo, AnyGo and other open source players), "learning" mode, "puzzle" mode, and variants of Go (Zen Go, etc). Any information would be welcome, please email me at artem.kaznatcheev@mail.mcgill.ca<br />
<br />
==== ANN - Artificial Neural Networks ====<br />
[[ANN]] is an activity where children can design, build, and test artificial neural networks (ANNs). Each 'experiment' will have a particular task ranging in difficulty from switching on and off a light to controlling a paddle in a game of pong. Children will design and build an ANN that they can then test in a simulated environment. If you have any comments, please contact me at bjgraham@udel.edu<br />
<br />
==== Puzzles ====<br />
Jigsaw puzzle. play and share.<br />
<br />
* Hi, I am Omar Arana. I study computing science. <br />
I like developing 3-D games and animations.<br />
I've got experience developing applications of this kind, <br />
for Cross-Platform Windows/Linux.<br />
Here you have a sample of what I can do: <br />
http://www.geocities.com/oa_indy<br />
I've used SDL beforehand. I'd love to create "Jigsaw <br />
Puzzles".<br />
I have also made 3-D graphics, using only basic 2-D graphic <br />
primitives.<br />
Mentors please email me to ao_indy@yahoo.com<br />
<br />
<br />
* Hi, I'm Omar Mestas, I've been interested in the developing of educational games for children, since <br />
it's the best time to learn.<br />
I am good in languages like C/C++, Delphi/Kylix.<br />
I'd like to create games in 3D that can catch children's eye helping to the learning process.<br />
I can also work with some tools related to the developing of graphics.<br />
I'm good at working in groups and under pressure so I can complete my aims.<br />
Please contact me to my mail: omar_23@hotmail.com<br />
<br />
=== Social games ===<br />
==== Board & card games ====<br />
<br />
A suite of board and/or card games would be developed by the student including things like Chess, Checkers, Othello, Mancala. They would all be built on a common framework so that more games could be developed easily. Features would include multiplayer tournaments (including chat & spectator support), good computer AI, interactive game teaching, game recording & playback, etc.<br />
<br />
: Hello, my name is Bryan Hockey, a computer science student at the University of Michigan. I am interested in creating one or more games, specifically Stratego, Euchre, Checkers, or Chess, for the OLPC project, either in Java, C++, or C. I have submitted an application detailing this. Contact: bryan.hockey@gmail.com <br />
Thanks.<br />
<br />
: Hi, I am Preeti, from New Delhi. I am very keen on working with OLPC on developing Board & Card Games. I have already done work in this aspect, in C++, by making several games such as Brainvita, Solitaire and Scrabble. I want to contribute to the Google Summer of Code in this project. Please let me know how I can help..kspreeti.13@gmail.com<br />
<br />
<br />
My name Is Christopher Hall, I study computing science at Glasgow University, I have already written Othello in Java and would love to be selected to write more games on a standard frame work. I will answer any questions about myself or my interest in this project at 0406503h(@)student.gla.ac.uk<br />
<br />
<br />
: Hello im a Lucien Pereira, I'm a computer scientist student. I'm interrested in contributing to write a chess game in GSoC context. I got good skills in Python, C++ and java. Mail me at lperei04[@t]etudiant.univ-mlv.fr.<br />
<br />
<br />
: Hi, my name is Guihon Mendy, I study Computer Science at the University of Marne-la-Vallée (Paris) and would like to contribute. I know C++, Java, Ruby and a bit of Python. I can write Freecell, Othello or any other card/board game. Contact me at guihon.mendy(@)gmail.com. Thanks.<br />
<br />
:Hello, my name is Pedro Marcos. I'm a computer engineering student at ITA (wich stands for, in English, Aeronautics Technology Institute), I'm Brazilian and I'm very interested in developing a checkers game for OLPC written in Java. It could possibly include a multiplayer mode and record history. Also an implementation of a Sudoku game (also in Java) with different levels of difficulty and size. I have already written a game (SuperTrunfo) in Java for a class and I would love to see one of my programs being a part of OLPC.For more information please email-me at petrol101@gmail.com<br />
<br />
<br />
>> Hello, My name is Dommaraju Sandeep.I am pursuing M.Sc (Hons) Mathematics and B.E (Hons) Computer Science Engineering in Bits-pilani,goa campus,India.I would like to work on developing an "Unscramble words" game for the OLPC programme, which I am sure will be both recreational and informative game for children.I have programming experience in C,C++ and Java.I would like to extend my help in developing in games like zatacka,arkanoid, etc.If you like you can contact me at sandeepdommaraju@gmail.com<br />
<br />
==== 3D Software Renderer & Game ====<br />
<br />
A simple flat shaded 3D graphics library would be developed by the student for the XO platform, with an accompanying game. The game would be something exciting and multiplayer but non-violent, I'm thinking about a first person firefighting simulator (where you shoot water at animated fires and rescue victims) or something like that. The game would be designed by the student with direction from the mentor.<br />
<br />
== comment ===<br />
I may be able to do this firefighting simulator game using python/pygame. Not sure about 3D graphics library. Request some details of mentor.<br />
--krish<br />
<br />
<br />
-------------------------<br />
<br />
Hi, my name is nataly, I am peruvian , I am working in 3D reconstruction now and I am <br />
interested in this project. My mail is nzapana@gmail.com . Mentors please tell me how <br />
I can help.<br />
<br />
==== XO Smart Kid ====<br />
<br />
Its a single player game where the main character is the role of a child(XO user).<br />
The story line of the game revolves around the life of the child & hence the stages include missions like<br />
1. going to school<br />
2. organising items in a room<br />
3. getting list of things from mall<br />
and more<br />
The game intends to teach the player(child) elements of social behaviour & also cautious and careful living.<br />
Examples:<br />
1. the player avoids any contact with strangers on his way to school.<br />
2. he needs to cautiously cross the roads<br />
3. remember routes for school, home,mall...<br />
<br />
The player will be awarded game points like chocolates/pastries; since most children love them.<br />
<br />
The learning from this game can be applied to real social life.<br />
<br />
==Comment==<br />
I had proposed this idea on the games mailing list. Looking for a mentor. Suggestions/comments welcome - raja.aishwarya@gmail.com<br />
<br />
==== Micropolis (SimCity) ====<br />
<br />
I have a long list of interesting ways to develop [[Micropolis]] (aka SimCity), which I have written about on [http://www.DonHopkins.com my blog]!<br />
<br />
The source code is on [http://code.google.com/p/micropolis Google Code], <br />
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. <br />
<br />
There are two Micropolis projects: <br />
<br />
* 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. <br />
<br />
* The new "MicropolisCore" C++/SWIG/Python module that I've cleaned up and I have started developing a user interface. <br />
<br />
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.<br />
<br />
[[User:dhopkins|-Don Hopkins]]<br />
<br />
<br />
=== Book and Document readers ===<br />
* ''see project description by [[user:jgay|jgay]]''<br />
<br />
=== Updates to core Activities ===<br />
==== Port Browse to WebKit ====<br />
[[http://webkit.org/ Webkit]] is somewhat lighter than the current Xulrunner engine powering the Browse activity. Porting Browse to use Webkit might see some performance benefits.<br />
<br />
** I would like to know further about this project and if there is an expected port such as the Qt version or some webkit derivative in mind. Also on expected skills of the student. I have high interest in talking to someone and cannot find an e-mail submission page, I see most people just commenting here. A (very) little about me: I am currently a Junior/Senior student with C++ and Java programming skills. e-mail: jlukas79@gmail.com<br />
<br />
==== Enhancements for Measure ====<br />
* Feed generated data from simulations or the software synthesizer into the Measure activity.<br />
* Add sensor support to Activities such as TamTam that would allow musical pitch, tempo etc to be controlled by sensors<br />
* 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.<br />
* Make triggered logging possible (similar to triggered logging in Oscilloscopes)<br />
* Some more immediate plans here [[Measure/Plans]]<br />
* Sensor based input into games. For example control a game character based on light intensity<br />
<br />
==== Make activities programmable ====<br />
More generally, support snap-together programming of XO [[activities]] in the manner that [[Turtle Art]] and [[Etoys]] provide internally.<br />
<br />
==== Improve DrGeo ====<br />
<br />
The [[DrGeo]] activity (interactive geometry) port need to be finished and improved in different areas.<br />
<br />
=====Parts to be written=====<br />
* 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 [http://documentation.ofset.org/drgeo/fr/using_macro.html the original implementation].<br />
* implementation of the script system. A script within [[DrGeo]] is code hooked to an interactive sketch, it is used to perform calculus. See [http://documentation.ofset.org/drgeo/fr/drgenius_56.html the original implementation in Scheme]. The script language will be Smalltalk based.<br />
<br />
=====Parts to improve=====<br />
* Improve the load time, the load time is now unacceptable for the user and make [[DrGeo]] unadapted for the OLPC.<br />
* Define a journal type entry to save/load.<br />
* Improve the user interface, particularly the access to the construction tools.<br />
* Improve the locus sampling, it is by now suboptimal.<br />
<br />
Other suggestions for improvements, see [https://gna.org/bugs/index.php?go_report=Appliquer&group=istoa&func=browse&set=custom&msort=0&report_id=100&advsrch=0&status_id=1&resolution_id=0&assigned_to=0&category_id=101&bug_group_id=0&history_search=0&history_field=0&history_event=modified&history_date_dayfd=2&history_date_monthfd=2&history_date_yearfd=2008&chunksz=50&spamscore=5&boxoptionwanted=1#options the DrGeo tracker].<br />
<br />
== comment ==<br />
I'd love to participate to DrGeo. I'm Anna Wrochna ([[User:Lilavati|Lilavati]]), I am studying math+CS at the Warsaw Univeristy. <br />
I speak French, have used SmallTalk, loved geometry in high school - I'm the man for the job. <br />
Please contact me as a.wrochna(a)gmail.com .<br />
<br />
=== Other activities ===<br />
==== Email activity ====<br />
<br />
Develop a light, functional and usable email client<br />
* log children on automatically.<br />
* cache things locally, both for writing and for reading.<br />
<br />
: interest: [[User:Shikhar|Shikhar]] is interested in developing an email activity, see proposal outline [[Email client]]<br />
: Hello, I'm Pedro Marcos and I have already showed my interest in developing a project for OLPC (the Board, card games Project) but this project also interests me a great deal. I have, while i was a intern at a webdevelopment and webhosting company called Secrel (www.secrelnet.com.br) , developed a light email manager written in ASP. It could download emails via SMTP and categorize then according to what it was at the body of the message and more. Contact-me at petrol101@gmail.com for further information. Thanks for the oportunity :)<br />
<br />
==== Mind mapping activity ====<br />
A few teachers (including the teacher in Arahuay) have requested a mind-mapping activity. <br />
MindMeister and similar suites have offered us some of their toolchains.<br />
: interest: [[User:Homunq|Homunq]]<br />
<br />
==== Elements. 2D physics simulation ====<br />
Making 2D rigid body physics easily accessible and implementable with python/pygame on the XO laptop. Project started already as '[[Elements]]'<br />
<br />
==== Computer Vision with OpenCV ====<br />
OpenCV is a computer vision library developed by Intel that greatly simplifies complex tasks like object recognition and tracking and image manipulation. Possible uses for it include vision based games, gesture recognition, and video chat with low bandwidth cartoon characters substituted for video.<br />
<br />
Nirav Patel [http://eclecti.cc/code/face-detection-on-the-olpc-xo started working] with [[OpenCV]] and face recognition on the XO laptop.<br />
<br />
==== XOradio and XOtv ====<br />
The idea is to supply an easy way (1 click) to broadcast contents (audio and video) from a OLPC laptop, and then, put all the available channels together in a OLPC global channel of lectures sharinghowtos sharing, p2p online help, video connected classrooms/sessions,... [http://www.olpcaustria.org/mediawiki/index.php/XOtv|Project page in OLPC Austria wiki]<br />
<br />
==== Virtual Garden ====<br />
It will be a virtual garden where children can grow and breed different plants. The plant's characteristics are going to be defined by the user, but the main idea of the project is that every characteristic of the plant is genetically represented; therefore, to create beautiful, interesting plants, children would need to understand the way in which the genes affect the plant, and how can they use inheritance to produce the desired offspring. In the creation of the artificial plants, the work by Przemyslav Prusinkiewicz y Aristid Lindenmayer in their book "The Algorithmic beauty of Plants" will be used, with an addition: The flowers will be based in the superformula by Jhon Giellis.<br />
<br />
Hi, My name is Venture M and I am pursuing my Masters in Information Technology at RMIT, Melbourne Australia. I have programming experience since last 7 years, of which 4 years is in Software Industry. I have been programming in OpenGL since the last 5 years as a hobby. Although I have not read the ideas behind this project, I am sure that I will be able to grasp and implement them.<br />
Please contact me at venturecoder@gmail.com.<br />
<br />
Hi, I'm Jair Trejo, Mechatronics student from Mexico City, and original proponent of the Garden activity. A detailed description of my proposal lives here: [[Garden Activity]].<br />
<br />
=== Language Learning ===<br />
<br />
<br />
==== Foreign language learning====<br />
'''Focusing on English''':<br />
A tool to learn foreign languages would be a great addition for the XO. At it's most rudimentary form, it can start with an [[Words|interactive]] [[dictionary, but something advanced would be preferred, perhaps along the lines of [http://lingoteach.sourceforge.net/ LingoTeach]. <br />
<br />
* I've created a wiki pages with my ideas. [[Language Learning]] [[User:StevenMohr|-Steven Mohr]]<br />
<br />
* My name is Kelly. I'm interested in this task and other OLPC tasks, and want to talk to a mentor. Please email me at kekenned@gmail.com<br />
<br />
* I am interested in this task and in other linguistic/language oriented tasks. I would like to talk to a mentor. E-mail me at shwayd@brandeis.edu Thanks. ~Kobey<br />
<br />
* Hello, I have drafted my idea for a English vocabulary improving activity at [http://wiki.laptop.org/go/Wordnet_Activity WordNet Game]. Regards Nikola<br />
<br />
==== Speech synthesis ====<br />
<br />
'''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. <br />
<br />
The game can have the following features:-<br />
<br />
* Difficulty Level - Easy/Medium/Hard<br />
* Multiple Dictionary Sources<br />
* 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.<br />
* Mesh Challenge - Children can collaborate over the Mesh Network and challenge each other in a multiplayer 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.<br />
<br />
A very basic activity draft that can be suitably scaled is available at [[talkntype]]<br />
<br />
Hi, I am Assim Deodia. I have originally posted this idea on olpc mailing list and gsoc list. I have extented this idea and created a wiki page here [[Listen_and Spell]]. I am looking for a mentor who is interested in speech synthesis and language learning activity for the XO. <br />
email: assim.deodia@gmail.com<br />
<br />
I'm really interested in this project and need to contact mentor. e-mail:sachith.ponnamperuma@gmail.com<br />
<br />
=== Misc / needs development ===<br />
<br />
==== My FilmCity(@INDOKLEY) ====<br />
Record your songs and upload.<br />
Download the songs that is give by the "Music" Teacher.<br />
Make Playlist from the list of Songs(here we can resirict the list of songs according to the MUSIC TEACHERS)<br />
: Upload Video<br />
: Download Video<br />
<br />
<br />
====Embed twexter into activities====<br />
[http://twext.com/embed twexter] software formats twin text ([[twext]]) for language learners.. twexter can work with all kindsa tools/activities like [[moodle]] or [[scratch]] or [[Summer_of_Code/2008/Ideas#Mediawiki_stuff|mediawiki]] or [[wixi]] so we can grow [http://olpcnews.com/content/localization/learning_language.html multilingual].. <font color="silver">twexter can also annote same language text, for example by translating complex english to "basic english"</font><br />
<br />
hi,I am kinda interested in this project. I am a master student from China, whose research interest is natural language processing. I need more information about this. I guess my research experience may do some contribution to this project.Who is the mentor? could you please contace me. my email: wenjuan1239@gmail.com. thanks a lot.<br />
<br />
====synxi====<br />
[[synxi]] wants to make it easier to add timed text [[SLS]] to video.. <br />
# speech to text<br />
# closed captioning <br />
# timed text (syllabic level karaoke)<br />
# sync w/ audio video<br />
<font color="gray">synxi will help us 2.) learn language, 1.) teach language, 0.) share language</font><br />
<br />
==== Eclipse based development environment for Activities ====<br />
<br />
An [[http://www.eclipse.org/ Eclipse]] plugin which would allow software developers to easily write Python based activities for Sugar. Some of the features can be<br />
* Integration with an Xnest/Xephyr window which would run the activity being developed in Sugar<br />
* Easily accessible developer documentation<br />
<br />
----after three days playing around with XO, Sugar, xephyr ... i realize that we are no need another eclipse plugin for developing sugar activities. Just install PyDev plugin. start Xephyr and run eclipse "inside" Xephyr<br />
<br />
==== Sugar Factory ====<br />
[[Sugar Factory]] is an automated method for Sugarizing non-Python applications. Albert Cahalan has some of this working now.<br />
<br />
==== Extending Gnash ====<br />
Extend Gnash to read more data formats, in particular those at [http://olpc.tv/ OLPC.tv], and [[Mary Lou Jepsen]]'s [http://scribemedia.blip.tv/file/682463/ presentation] at the [[Greener Gadgets]] Conference. Integrate Supat's SSS code and move it upstream.<br />
<br />
==== Mediawiki stuff ====<br />
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 [[Summer of Content 2008 Proposals#Multilingual wiki|multilingual wiki]]. [[User:Homunq|Homunq]] 12:18, 2 March 2008 (EST)<br />
<br />
==== Shared wikis for projects ====<br />
<br />
Some ideas:<br />
* Keep a shared page for each collaborative project or actvity itself that is shared across a school and/or class : automatically generate pages/namespaces for class + activity + project where help notes, reports, and progress are tracked. Define how these namespaces interact aross clases, schools, and at a global level on wikieducator / wikiversity / similar sites<br />
* Define how to link together a set of related work into a report : linking to a project/file/record, customized to launch a specific activity via wiki markup.<br />
* Work on the interface b/t [[MikMik]] and a [[MediaWiki]] server.<br />
<br />
==== Sugar adaption for the Nasa Colombian ethnic community ====<br />
One of the 91 indigenous cultures that still exist in Colombia is the [http://en.wikipedia.org/wiki/Paez_people Paez people] (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. [[User:Santiago|Santiago]] 18:01, 8 March 2008 (EST)<br />
====Privacy and Parental Control====<br />
*Access control of the students <br />
*Trace of Student activity and alert if open illegal and unauthorized websites and contents.<br />
*Remote control of student laptop by if he is in home network<br />
*Activiy log of the student and daily usage of laptop <br />
*Daily,monthly analysis of the student usage (what they have used like fun,studies ,games etc)<br />
<br />
Hi, I am Maria, a master student at University of California. I am interested to help XO program by developing a tool for parental control. I have great knowledge in C++, Perl and Java and my previous research include some privacy preserving software development.<br />
<br />
=== Sugar packaging in other distros ===<br />
<br />
'''Debian'''<br />
* Help in maintaining and packaging sugar and activities in debian.<br />
* Including/adapting debian-edu .debs to sugar<br />
<br />
Hello there, I am quite interested in Debian and want to help with this and all other projects. Please contact me (bjoern AT xruby DOT net) if I can be of assistance to the XO project or other things. I will start my PhD studies in April and have previously studied Computer Science. I am highly interested in helping where I can and want to bring the necessary technology to kids around the world.<br />
<br />
...<br />
<br />
[[category:ideas]]<br />
[[category:projects]]<br />
[[Category:GSoC proposals]]</div>Jairtrejohttp://wiki.laptop.org/mediawiki/index.php?title=Summer_of_Code/Ideas&diff=122118Summer of Code/Ideas2008-04-01T14:33:49Z<p>Jairtrejo: /* Virtual Garden */</p>
<hr />
<div>This is a list of ideas for OLPC's participation in Google Summer of Code 2008. This is a pool of ideas for potential students to browse to find what they might want to work on; and for developers to use as a place to prioritize and brainstorm about what work would be most useful, or most rewarding.<br />
<br />
=== School Server ===<br />
==== Interface design ====<br />
<br />
Admin interface : The school server needs a graphical admin interface to configure some aspects of the services it offers, and to help diagnostics. Mentor: Martin Langhoff.<br />
*''Hi! My name is Andrey. I want to join your project and help with school server. [[User:Grad|Grad]]. [[XS AdminUI]].''<br />
<br />
==== Auto memory/disk tuning ====<br />
<br />
Automagic tuning: The school server may have different memory and disk relationships. Provide alternative configurations for key daemons (apache, postgresql/mysql, ejabberd, java-based daemons, etc) for different memory sizes. Learn a lot about scalability and performance tuning for servers. Provide a web based report of memory and disk traffic. Mentor: Martin Langhoff.<br />
<br />
==== Customise and package webbased elearning apps ====<br />
<br />
If you are familiar with good e-learning web applications that are aimed towards users from kindergarden to 16 year-old teenagers, propose an app to customise and package for the school server! Mentor: Martin Langhoff.<br />
<br />
Hello Mentor,<br />
Myself K.Vikranth Reddy I am studing B.Tech Final Year And Iam Interested in Involving myself in Your Project.Presently i am working on my project Titled Online Virtual Training System which is an elearning project. Iam doing the project using PHP and MySql<br />
I want to take part in this project and i want to share my ideas with you.<br />
my mail id is vikranthreddyk@gmail.com<br />
ThanQ<br />
vikranth reddy<br />
<br />
==== Networked Blogging Project ====<br />
* Uruguay is developing an Educational Blogger Project. This needs design, coding and configuration of Moodle (moodle.org) and drupal.<br><br />
*: Requirements definition at: http://wiki.laptop.org/go/Requiremientos_Para_XO <br>[[User:Gregorio|Gregorio]] 11:02, 21 March 2008 (EDT)<br />
<br />
=== Core Software ===<br />
<br />
==== Speech Synthesis integration into Sugar ====<br />
Integrate speech synthesis with all activities, not just [[Speak]], and provide for karaoke coloring. See [[User:Mokurai|Mokurai]]'s [http://www.olpcnews.com/content/ebooks/effective_adult_literacy_program.html article] on adapting [[Same Language Subtitling]] for literacy to the XO.<br />
<br />
Desirable Features for Sugar Speech Synthesis Plugin:<br />
<br />
* Provide Sugar Speech Synthesis Configuration Management Tool<br />
* Karaoke Style Coloring in Sugar Environment<br />
* UI for configuration Control<br />
* Accent gets set on the basis of locale<br />
<br />
==== Possible interest ====<br />
===== Java =====<br />
Package and integrate the IcedTea open source bootstrap of OpenJDK Java with browser plugin for the XO. Deliverables would include:<br />
* Binary, source and rpm dependencies for icedtea and icedtea browser plugin<br />
* Java enabled xo os image<br />
* Integration of packages into autobuild branch<br />
<br />
===== Print Support =====<br />
Print support in Sugar would be useful in many scenarios. The ideal project deliverables would include<br />
* Integration of a printing infrastructure (CUPS ??) into the XO-1 software images <br />
* Modification of Sugar Control Panel to set up the printer (add/select default printer?)<br />
* Modification of at least one activity (Write ?) to support printing<br />
* Making a printing activity, that follows sugar GUI guidelines?<br />
<br />
:I am highly interested in working on this project. Would the project leader mind contacting me at bmw.stx@gmail.com?<br />
<br />
===== JavaScript-Python Communication =====<br />
JavaScript Python Communication through the following strategies: PyXPCom, hulahop, and xulrunner.<br />
<br />
<br />
<br />
Hi, I am Preeti, from New Delhi. I would like to get myself involved in this very interesting aspect of the OLPC software development. I have jotted some of my views on the same at:<br />
<br />
http://wiki.laptop.org/go/User_talk:59.178.99.172<br />
<br />
Regards<br />
Preeti<br />
<br />
=== Publication and Journal sharing ===<br />
Incorporate the Distribute activity into the shell<br />
At the basic level this will require:<br />
* A way to initiate a transfer (a button in the Journal, a contextual option on an object, a drag'n'drop operation)<br />
* Notification to the receiver<br />
* Some method to indicate progress to sender and receiver, with a way to cancel<br />
* A journal entry for the receiver containing the resulting file<br />
<br />
Necessary future support:<br />
* Transparent support for interrupted connections<br />
<br />
<br />
=== Mesh Networking ===<br />
==== Tools development ====<br />
As we reach for increasingly larger numbers of nodes participating in mesh network testbed, it is evident that sophisticated methods and tools for monitoring, logging and debugging will become necessary. Project deliverables include:<br />
* Maintain our mesh network testbed<br />
* Review different methods for controlling and monitoring large numbers of machines (control over wireless vs. control over Ethernet, stored logs vs. online logging, etc)<br />
* Implementation of network application + GUI to remotely control, configure and analyze logs from mesh network experiments on large testbed<br />
<br />
==== Visualization development ====<br />
A few visualizations of the mesh have been developed so far; the default random visualization, a roughly signal-strength based visualization that shows other XOs a distance away inversely proportional to signal srength. What other visualizations would be useful or interesting? How do these idea scale to thousands of XOs or a number of school clusters?<br />
<br />
=== Health Tools ===<br />
* Design software to interact with the different health peripherals.<br />
*: Integration of other FLOSS software like OpenMRS.<br />
* Display and interpret bio-signals (e.g EKG. EMG..)<br />
*: Help in [[Projects/TeleHealth Database]]<br />
** Hello, my name is Chao Zhang, and I am a graduate student of computer science focused on bioinformatics. I always paid close attention to OLPC and I am very interested in developing some health tools for OLPC. It is a good chance to contribute my knowledge to the open source projects. Since I have more than 5 years experiences on developing finance and enterprise management systems and more than 8 years experiences on JAVA programming, I am also fascinated about the simple financial planning tools. I hope to chat with mentors to get more details on those ideas. My email: chaozhang.mu@gmail.com<br />
<br><br />
* Dear mentors, <br />
*:<p align = 'justify'>My name is Joana Cabral and I am an enthusiastic supporter of the OLPC project. I have graduated last September in Biomedical Engineering and I am currently following a PhD program in Computational Neuroscience in Barcelona. During my scholar education I got familiarized with bio-signals, not only EKG and EMG but also more chaotic signals like EEG so I believe I may fit to your needs. </p><br />
*:<p align = 'justify'>I think this kind of softwares will be extremely useful, especially for undevelopped countries, where the health services are sparse and unsufficient and cannot eventually afford to buy health tools softwares.Nevertheless we must underline that a special care must be given to the reliability and robustness of of health tools since they can eventually be used for diagnosis and remote monitorization of children patients.</p><br />
*:<p align = 'justify'>I would like to discuss with the mentors some more ideas about this project and let you know a little more about me. Please contact me to: juanitacabral@hotmail.com<br />
*:Cheers<br />
</p><br />
<br />
=== Code libraries ===<br />
<br />
==== Pygame/sdl ====<br />
Add as much support as possible using the Geode graphics processor.<br />
<br />
==== xo3d ====<br />
<br />
Develop the xo3d library based on work started by [[User:Wade]]. This is a flat shaded software 3D renderer with support for objects, lighting & clipping, exposed to Python. It also features a matrix and vector math library.<br />
<br />
<br />
=== Specific Activities ===<br />
This list of desirable activities is largely a grab-bag, meant to spark ideas. There are plenty more at [[:Category:Software ideas]]. Part of the work of doing your SoC application would be to do a preliminary evaluation of existing open source options in a domain and their adaptability to OLPC. Python and/or GTK-based programs are the easiest to adapt. Also present in the platform are Javascript, C/C++ (of course), and Smalltalk (squeak). See [[Sugar]] and [[Developers/Stack]] for further info.<br />
<br />
Applications should show serious thought about what can be achieved in the short time available. Whether you are starting from scratch or adapting an existing app, fewer well-implemented/adapted features are far preferable to many poorly-implemented ones. In either case, but especially in the case of an adaptation, a solid foundation makes it easy to add (back) in more features later.<br />
<br />
<br />
==== Flash Card creator ====<br />
<br />
The student and mentor would evaluate open source flash card programs together, and then either port or adapt one to XO. The flash card program would be developed with a Sugar-specific UI and features. It would feature one of the well known flash card memorization algorithms for tracking student progress through each deck of cards. (see [[Drill and test software]])<br />
<br />
** Hello, my name is Jon Volkman, and I am fascinated about working on the creation of an open source flash card program for XO. I have several preliminary ideas, and find what research (and efforts on other platforms) that have been put into this concept very intriguing.<br />
<br />
** Hi, my name is Adam Goldstein and I recently applied and submitted what thoughts I have for writing a flexible and complete flash card creator for XO. I would really like to take what lessons I've learned from both making and using various programs on multiple platforms to develop a solid tool for study. I'm very excited to explore implementation possibilities and would really enjoy a chance to discuss.<br />
<br />
==== Master Mind (game) ====<br />
<br />
Implement the well known board game: http://en.wikipedia.org/wiki/Mastermind_(board_game)<br />
<br />
** Hello, my name is Ian, and I am interested in working on this project, as it seems similar to other projects I have worked on. I would be interested in learning more about this project in detail if possible. Please email me at imperialisthobo@yahoo.com.<br />
<br />
==== Typing Turtle ====<br />
<br />
A game-like typing tutor activity would be developed by the student. Existing open source projects would be evaluated for ideas. Features would include adapting to student progress, support for all XO keymaps (take a look at [[Keyboard#Languages_other_than_English]] for information on supported keyboard layouts) and written languages, progress tracking graphs, the ability to locally customize the program, etc<br />
<br />
** Hello, my name is Kelly. I'm most interested in writing a game to teach basic numbers and math. I'm also interested in this typing tutorial, and I'm willing to work wherever you think I'd be most useful. I know Scheme, C, and Python; I'm familiar with lex and yacc. Mentors please email me at kekenned@gmail.com<br />
<br />
** Hello, I am Shree Kant , I m interested in writing a typing tutor based on video and audio, I am thinking about something of this sort from quite a long time, I would like to do it this summer for OLPC email me shreekantbohra@gmail.com<br />
<br />
==== Finance ====<br />
<br />
The student would develop a simple financial planning program, basically the simplest possible version of Quicken. It would provide a simple income / expense register, monthly tracking, budget planning, expense & income categories, and a loan calculator.<br />
<br />
This activity idea came from a request by the Nepal deployment.<br />
<br />
== comment ==<br />
I'm interested in creating an easy to use finance program in java or python, although I wouldn't mind expanding its functionality to more than <br />
is described here. Trying to look for OLPC GSoC related items in IRC to no avail, but my email is mpoon@mit.edu.<br />
-mpoon<br />
<br />
== comment ==<br />
My name is David Wong and I am an undergraduate at U.C. Berkeley studying Business administration and EECS. <br />
I would love to create a financial accounting program! I could write the program in Java, C, or even Scheme. <br />
Please email more details to david_wong@berkeley.edu.<br />
<br />
== comment ==<br />
My name is Tamil and I am currently a Masters student at Georgia Institute of Technology. I actually have <br />
created rudimentary fuel economy and optimization programs through FORTRAN. I also know Java and <br />
C++ and am currently teaching myself Python. I am an active member of my school's Investments and Finance <br />
Club so I am astute in all things financial (plus i use Quicken on a regular basis). I would love to help out with OLPC on this plus I do have other ideas. Please contact me at <br />
tamil@gatech.edu.<br />
<br />
== comment ==<br />
I'm Sergiu, and I am an undergraduate at the Technical University of Iasi Gh Asachi, in Romania. The financial<br />
system i would like to build for you will be web based (php or java, you choice), so the same system can be<br />
accessed from any location. Also (no matter which language will be used for the web part), i can build a <br />
desktop application, for accessing the database from the server, so including the programs other students<br />
might be able to develop. The security won't be a problem (as i have developed applications verified and<br />
signed by VeriSign, world's most notorious authority in security). <br />
Please contact me at dogaru.sergiu@zrgiu.com, or zrgiu@yahoo.com<br />
<br />
==== [[OpenSim| System Dynamics modeling tool and simulation engine]] ====<br />
<br />
Create a system dynamics (SD) model editor and simulation engine. The advantages to this would be:<br />
* Models are visual and mathematical representations of a system, which allows for a different form of visual programing than that of Turtle Art<br />
* SD is used in international development planning and to teach systems thinking to K-12 students<br />
* Simulation engine could be accessible from other programs, like Micropolis<br />
* Programs like Micropolis could have their core logic in SD models and access it through the simulation engine, allowing people to switch to a visual representation of the program logic to understand and change it.<br />
<br />
[[User:bobbypowers|-Bobby Powers]] (student, looking for mentor)<br />
<br />
I'm a student in computer science and automation technologies. As a student of AT I'm deep<br />
skilled in Systems theory and would really like to offer such a tool to the olpc project.<br />
I'll apply on SoC's site. riccardo dot lucchese at gmail dot com<br />
<br />
==== Inferno ====<br />
<br />
There's a variety of work that is left to be done in [[Inferno]] on OLPC, things that might be best done by a student include:<br />
<br />
* fontfs - mapping OLPC fonts to inferno native fonts<br />
* metafs - mapping file system permissions to OLPC model<br />
* camera/audio support<br />
* new window manager for Inferno which better matches OLPC paradigm<br />
* integration with OLPC collaboration framework<br />
* integration with OLPC internationalization mechanisms<br />
* edutainment applications written in Limbo for OLPC<br />
<br />
[[User:ericvh|-Eric Van Hensbergen]]<br />
<br />
<br />
==== [[GIS]] activity for XO ==== <br />
[http://www.ewb.org/ Engineers Without Borders], [http://www.timepedia.org/ Timepedia], and [http://isde5.pbwiki.com/One-Laptop-Per-Child 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...<br />
<br />
==== Activity Translation Activity ====<br />
Similar to the functionality offered by the "View Source" key, an activity should ideally allow the user to translate it. A Translate activity would allow the user to translate any given activity, and optionally let the user share the translation, so that it can be reused by other users in the mesh.<br />
<br />
==== Deducto ====<br />
<br />
Deducto is a Board Game based on pattern recognition initially developed by Walter Bender at MIT Media Labs using Perl language. The game has been re-written in Python by the founding members of Open Source Community-NSIT, India. HTML version of the game is available at [[http://nsitonline.in/assim/deducto.html Deducto]]. Project is also available at [[http://dev.laptop.org/git?p=projects/deducto-activity;a=summary GIT Repository]]. Addition of a feature where a user could generate his/her own levels of the game, development of UI, and re-design using PyGTK are the areas for development.<br />
<br />
==== Food Force Project ====<br />
World Food Programme's Food Force Project [[http://www.food-force.com/index.php/game/downloads/ Windows and Mac]] to be re-designed for the Sugar environment.Please visit [[Food_Force/Design_Document]].<br />
<br />
==== Education ToolKit ====<br />
There was a nice project done in Chile using Ipacks: the "teacher" would pose a problem and the children would formulate an answer. Then they'd gather in groups of four and pool their answers. Each group of four would then reach consensus on an answer they thought was correct. All of the group answers would be shared with the entire class. Then a class discussion would ensue: why did Group A come up with that answer? The role of the computer and the teacher was to facilitate the discussion among the students and to focus discussion around problem areas that revealed themselves in discussion. A nice use of collaboration that has nothing to do with taking control or "all eyes forward".<br />
For more information goto http://wiki.laptop.org/go/Educational_toolkit<br />
<br />
<br />
Hi, I am student from Indian Institute of Information Technology and Management, Gwalior, India interested in this type of software because of the reason that I have worked on this sometime long. I have created an E-learning software for children which is an interactive one. Let me know how can I help OLPC in this particular process. Contact me at tejapv@gmail.com. Thanks...<br />
<br />
<br />
<br />
Hi,<br />
My name is waseem. I am Master student in Royal Institute of Technology (Stockholm, Sweden), my major is Software Engineering<br />
of Distributed Systems. I have an idea (which i have been working on for a while) and it is closely related to this topic. The <br />
main idea is to develop an interactive application that will take any form of text (story, scientific essay, news or any form of <br />
composed text) and extract those part of the text that could be transformed in to multiple choice questions and short questions, <br />
which could be then presented to the user . Main purpose of the application will be to help children in their exam preparation, <br />
as they could make their own exam paper on the fly and evaluate their preparation . I would like to discuss this porject in more <br />
details. I can be easily reached by email exactlypinpoint@gmail.com.<br />
<br />
<br />
With Best Regards<br />
Waseem Shaukat<br />
<br />
==== PlayGo ====<br />
Go is a great game which promotes connectivity and cultural exchange, not to mention critical thinking. The PlayGo activity ([http://wiki.laptop.org/go/PlayGo]) has alreagy begun an implementation. It would be nice to bring this project into phases 2 and 3.<br />
<br />
:I am very interested in this particular project. My name is Brandon Wilson, and if I could be of help in this project please contact me at [mailto:bmw.stx@gmail.com].<br />
:My name is Artem Kaznatcheev and I am also interested in this project. I was curious if you desired future development to follow the "PlayGo" phase 2 and 3 goals exactly, or if we could expand and split from there; some ideas could include: AI opponents (GnuGo, AnyGo and other open source players), "learning" mode, "puzzle" mode, and variants of Go (Zen Go, etc). Any information would be welcome, please email me at artem.kaznatcheev@mail.mcgill.ca<br />
<br />
==== ANN - Artificial Neural Networks ====<br />
[[ANN]] is an activity where children can design, build, and test artificial neural networks (ANNs). Each 'experiment' will have a particular task ranging in difficulty from switching on and off a light to controlling a paddle in a game of pong. Children will design and build an ANN that they can then test in a simulated environment. If you have any comments, please contact me at bjgraham@udel.edu<br />
<br />
==== Puzzles ====<br />
Jigsaw puzzle. play and share.<br />
<br />
* Hi, I am Omar Arana. I study computing science. <br />
I like developing 3-D games and animations.<br />
I've got experience developing applications of this kind, <br />
for Cross-Platform Windows/Linux.<br />
Here you have a sample of what I can do: <br />
http://www.geocities.com/oa_indy<br />
I've used SDL beforehand. I'd love to create "Jigsaw <br />
Puzzles".<br />
I have also made 3-D graphics, using only basic 2-D graphic <br />
primitives.<br />
Mentors please email me to ao_indy@yahoo.com<br />
<br />
<br />
* Hi, I'm Omar Mestas, I've been interested in the developing of educational games for children, since <br />
it's the best time to learn.<br />
I am good in languages like C/C++, Delphi/Kylix.<br />
I'd like to create games in 3D that can catch children's eye helping to the learning process.<br />
I can also work with some tools related to the developing of graphics.<br />
I'm good at working in groups and under pressure so I can complete my aims.<br />
Please contact me to my mail: omar_23@hotmail.com<br />
<br />
=== Social games ===<br />
==== Board & card games ====<br />
<br />
A suite of board and/or card games would be developed by the student including things like Chess, Checkers, Othello, Mancala. They would all be built on a common framework so that more games could be developed easily. Features would include multiplayer tournaments (including chat & spectator support), good computer AI, interactive game teaching, game recording & playback, etc.<br />
<br />
: Hello, my name is Bryan Hockey, a computer science student at the University of Michigan. I am interested in creating one or more games, specifically Stratego, Euchre, Checkers, or Chess, for the OLPC project, either in Java, C++, or C. I have submitted an application detailing this. Contact: bryan.hockey@gmail.com <br />
Thanks.<br />
<br />
: Hi, I am Preeti, from New Delhi. I am very keen on working with OLPC on developing Board & Card Games. I have already done work in this aspect, in C++, by making several games such as Brainvita, Solitaire and Scrabble. I want to contribute to the Google Summer of Code in this project. Please let me know how I can help..kspreeti.13@gmail.com<br />
<br />
<br />
My name Is Christopher Hall, I study computing science at Glasgow University, I have already written Othello in Java and would love to be selected to write more games on a standard frame work. I will answer any questions about myself or my interest in this project at 0406503h(@)student.gla.ac.uk<br />
<br />
<br />
: Hello im a Lucien Pereira, I'm a computer scientist student. I'm interrested in contributing to write a chess game in GSoC context. I got good skills in Python, C++ and java. Mail me at lperei04[@t]etudiant.univ-mlv.fr.<br />
<br />
<br />
: Hi, my name is Guihon Mendy, I study Computer Science at the University of Marne-la-Vallée (Paris) and would like to contribute. I know C++, Java, Ruby and a bit of Python. I can write Freecell, Othello or any other card/board game. Contact me at guihon.mendy(@)gmail.com. Thanks.<br />
<br />
:Hello, my name is Pedro Marcos. I'm a computer engineering student at ITA (wich stands for, in English, Aeronautics Technology Institute), I'm Brazilian and I'm very interested in developing a checkers game for OLPC written in Java. It could possibly include a multiplayer mode and record history. Also an implementation of a Sudoku game (also in Java) with different levels of difficulty and size. I have already written a game (SuperTrunfo) in Java for a class and I would love to see one of my programs being a part of OLPC.For more information please email-me at petrol101@gmail.com<br />
<br />
<br />
>> Hello, My name is Dommaraju Sandeep.I am pursuing M.Sc (Hons) Mathematics and B.E (Hons) Computer Science Engineering in Bits-pilani,goa campus,India.I would like to work on developing an "Unscramble words" game for the OLPC programme, which I am sure will be both recreational and informative game for children.I have programming experience in C,C++ and Java.I would like to extend my help in developing in games like zatacka,arkanoid, etc.If you like you can contact me at sandeepdommaraju@gmail.com<br />
<br />
==== 3D Software Renderer & Game ====<br />
<br />
A simple flat shaded 3D graphics library would be developed by the student for the XO platform, with an accompanying game. The game would be something exciting and multiplayer but non-violent, I'm thinking about a first person firefighting simulator (where you shoot water at animated fires and rescue victims) or something like that. The game would be designed by the student with direction from the mentor.<br />
<br />
== comment ===<br />
I may be able to do this firefighting simulator game using python/pygame. Not sure about 3D graphics library. Request some details of mentor.<br />
--krish<br />
<br />
<br />
-------------------------<br />
<br />
Hi, my name is nataly, I am peruvian , I am working in 3D reconstruction now and I am <br />
interested in this project. My mail is nzapana@gmail.com . Mentors please tell me how <br />
I can help.<br />
<br />
==== XO Smart Kid ====<br />
<br />
Its a single player game where the main character is the role of a child(XO user).<br />
The story line of the game revolves around the life of the child & hence the stages include missions like<br />
1. going to school<br />
2. organising items in a room<br />
3. getting list of things from mall<br />
and more<br />
The game intends to teach the player(child) elements of social behaviour & also cautious and careful living.<br />
Examples:<br />
1. the player avoids any contact with strangers on his way to school.<br />
2. he needs to cautiously cross the roads<br />
3. remember routes for school, home,mall...<br />
<br />
The player will be awarded game points like chocolates/pastries; since most children love them.<br />
<br />
The learning from this game can be applied to real social life.<br />
<br />
==Comment==<br />
I had proposed this idea on the games mailing list. Looking for a mentor. Suggestions/comments welcome - raja.aishwarya@gmail.com<br />
<br />
==== Micropolis (SimCity) ====<br />
<br />
I have a long list of interesting ways to develop [[Micropolis]] (aka SimCity), which I have written about on [http://www.DonHopkins.com my blog]!<br />
<br />
The source code is on [http://code.google.com/p/micropolis Google Code], <br />
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. <br />
<br />
There are two Micropolis projects: <br />
<br />
* 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. <br />
<br />
* The new "MicropolisCore" C++/SWIG/Python module that I've cleaned up and I have started developing a user interface. <br />
<br />
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.<br />
<br />
[[User:dhopkins|-Don Hopkins]]<br />
<br />
<br />
=== Book and Document readers ===<br />
* ''see project description by [[user:jgay|jgay]]''<br />
<br />
=== Updates to core Activities ===<br />
==== Port Browse to WebKit ====<br />
[[http://webkit.org/ Webkit]] is somewhat lighter than the current Xulrunner engine powering the Browse activity. Porting Browse to use Webkit might see some performance benefits.<br />
<br />
** I would like to know further about this project and if there is an expected port such as the Qt version or some webkit derivative in mind. Also on expected skills of the student. I have high interest in talking to someone and cannot find an e-mail submission page, I see most people just commenting here. A (very) little about me: I am currently a Junior/Senior student with C++ and Java programming skills. e-mail: jlukas79@gmail.com<br />
<br />
==== Enhancements for Measure ====<br />
* Feed generated data from simulations or the software synthesizer into the Measure activity.<br />
* Add sensor support to Activities such as TamTam that would allow musical pitch, tempo etc to be controlled by sensors<br />
* 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.<br />
* Make triggered logging possible (similar to triggered logging in Oscilloscopes)<br />
* Some more immediate plans here [[Measure/Plans]]<br />
* Sensor based input into games. For example control a game character based on light intensity<br />
<br />
==== Make activities programmable ====<br />
More generally, support snap-together programming of XO [[activities]] in the manner that [[Turtle Art]] and [[Etoys]] provide internally.<br />
<br />
==== Improve DrGeo ====<br />
<br />
The [[DrGeo]] activity (interactive geometry) port need to be finished and improved in different areas.<br />
<br />
=====Parts to be written=====<br />
* 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 [http://documentation.ofset.org/drgeo/fr/using_macro.html the original implementation].<br />
* implementation of the script system. A script within [[DrGeo]] is code hooked to an interactive sketch, it is used to perform calculus. See [http://documentation.ofset.org/drgeo/fr/drgenius_56.html the original implementation in Scheme]. The script language will be Smalltalk based.<br />
<br />
=====Parts to improve=====<br />
* Improve the load time, the load time is now unacceptable for the user and make [[DrGeo]] unadapted for the OLPC.<br />
* Define a journal type entry to save/load.<br />
* Improve the user interface, particularly the access to the construction tools.<br />
* Improve the locus sampling, it is by now suboptimal.<br />
<br />
Other suggestions for improvements, see [https://gna.org/bugs/index.php?go_report=Appliquer&group=istoa&func=browse&set=custom&msort=0&report_id=100&advsrch=0&status_id=1&resolution_id=0&assigned_to=0&category_id=101&bug_group_id=0&history_search=0&history_field=0&history_event=modified&history_date_dayfd=2&history_date_monthfd=2&history_date_yearfd=2008&chunksz=50&spamscore=5&boxoptionwanted=1#options the DrGeo tracker].<br />
<br />
== comment ==<br />
I'd love to participate to DrGeo. I'm Anna Wrochna ([[User:Lilavati|Lilavati]]), I am studying math+CS at the Warsaw Univeristy. <br />
I speak French, have used SmallTalk, loved geometry in high school - I'm the man for the job. <br />
Please contact me as a.wrochna(a)gmail.com .<br />
<br />
=== Other activities ===<br />
==== Email activity ====<br />
<br />
Develop a light, functional and usable email client<br />
* log children on automatically.<br />
* cache things locally, both for writing and for reading.<br />
<br />
: interest: [[User:Shikhar|Shikhar]] is interested in developing an email activity, see proposal outline [[Email client]]<br />
: Hello, I'm Pedro Marcos and I have already showed my interest in developing a project for OLPC (the Board, card games Project) but this project also interests me a great deal. I have, while i was a intern at a webdevelopment and webhosting company called Secrel (www.secrelnet.com.br) , developed a light email manager written in ASP. It could download emails via SMTP and categorize then according to what it was at the body of the message and more. Contact-me at petrol101@gmail.com for further information. Thanks for the oportunity :)<br />
<br />
==== Mind mapping activity ====<br />
A few teachers (including the teacher in Arahuay) have requested a mind-mapping activity. <br />
MindMeister and similar suites have offered us some of their toolchains.<br />
: interest: [[User:Homunq|Homunq]]<br />
<br />
==== Elements. 2D physics simulation ====<br />
Making 2D rigid body physics easily accessible and implementable with python/pygame on the XO laptop. Project started already as '[[Elements]]'<br />
<br />
==== Computer Vision with OpenCV ====<br />
OpenCV is a computer vision library developed by Intel that greatly simplifies complex tasks like object recognition and tracking and image manipulation. Possible uses for it include vision based games, gesture recognition, and video chat with low bandwidth cartoon characters substituted for video.<br />
<br />
Nirav Patel [http://eclecti.cc/code/face-detection-on-the-olpc-xo started working] with [[OpenCV]] and face recognition on the XO laptop.<br />
<br />
==== XOradio and XOtv ====<br />
The idea is to supply an easy way (1 click) to broadcast contents (audio and video) from a OLPC laptop, and then, put all the available channels together in a OLPC global channel of lectures sharinghowtos sharing, p2p online help, video connected classrooms/sessions,... [http://www.olpcaustria.org/mediawiki/index.php/XOtv|Project page in OLPC Austria wiki]<br />
<br />
==== Virtual Garden ====<br />
It will be a virtual garden where children can grow and breed different plants. The plant's characteristics are going to be defined by the user, but the main idea of the project is that every characteristic of the plant is genetically represented; therefore, to create beautiful, interesting plants, children would need to understand the way in which the genes affect the plant, and how can they use inheritance to produce the desired offspring. In the creation of the artificial plants, the work by Przemyslav Prusinkiewicz y Aristid Lindenmayer in their book "The Algorithmic beauty of Plants" will be used, with an addition: The flowers will be based in the superformula by Jhon Giellis.<br />
<br />
Hi, My name is Venture M and I am pursuing my Masters in Information Technology at RMIT, Melbourne Australia. I have programming experience since last 7 years, of which 4 years is in Software Industry. I have been programming in OpenGL since the last 5 years as a hobby. Although I have not read the ideas behind this project, I am sure that I will be able to grasp and implement them.<br />
Please contact me at venturecoder@gmail.com.<br />
<br />
Hi, I'm Jair Trejo, Mechatronics student from Mexico City, and original proponent of the Garden activity. A detailed description of my proposal lives here: [Garden Activity].<br />
<br />
=== Language Learning ===<br />
<br />
<br />
==== Foreign language learning====<br />
'''Focusing on English''':<br />
A tool to learn foreign languages would be a great addition for the XO. At it's most rudimentary form, it can start with an [[Words|interactive]] [[dictionary, but something advanced would be preferred, perhaps along the lines of [http://lingoteach.sourceforge.net/ LingoTeach]. <br />
<br />
* I've created a wiki pages with my ideas. [[Language Learning]] [[User:StevenMohr|-Steven Mohr]]<br />
<br />
* My name is Kelly. I'm interested in this task and other OLPC tasks, and want to talk to a mentor. Please email me at kekenned@gmail.com<br />
<br />
* I am interested in this task and in other linguistic/language oriented tasks. I would like to talk to a mentor. E-mail me at shwayd@brandeis.edu Thanks. ~Kobey<br />
<br />
* Hello, I have drafted my idea for a English vocabulary improving activity at [http://wiki.laptop.org/go/Wordnet_Activity WordNet Game]. Regards Nikola<br />
<br />
==== Speech synthesis ====<br />
<br />
'''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. <br />
<br />
The game can have the following features:-<br />
<br />
* Difficulty Level - Easy/Medium/Hard<br />
* Multiple Dictionary Sources<br />
* 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.<br />
* Mesh Challenge - Children can collaborate over the Mesh Network and challenge each other in a multiplayer 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.<br />
<br />
A very basic activity draft that can be suitably scaled is available at [[talkntype]]<br />
<br />
Hi, I am Assim Deodia. I have originally posted this idea on olpc mailing list and gsoc list. I have extented this idea and created a wiki page here [[Listen_and Spell]]. I am looking for a mentor who is interested in speech synthesis and language learning activity for the XO. <br />
email: assim.deodia@gmail.com<br />
<br />
I'm really interested in this project and need to contact mentor. e-mail:sachith.ponnamperuma@gmail.com<br />
<br />
=== Misc / needs development ===<br />
<br />
==== My FilmCity(@INDOKLEY) ====<br />
Record your songs and upload.<br />
Download the songs that is give by the "Music" Teacher.<br />
Make Playlist from the list of Songs(here we can resirict the list of songs according to the MUSIC TEACHERS)<br />
: Upload Video<br />
: Download Video<br />
<br />
<br />
====Embed twexter into activities====<br />
[http://twext.com/embed twexter] software formats twin text ([[twext]]) for language learners.. twexter can work with all kindsa tools/activities like [[moodle]] or [[scratch]] or [[Summer_of_Code/2008/Ideas#Mediawiki_stuff|mediawiki]] or [[wixi]] so we can grow [http://olpcnews.com/content/localization/learning_language.html multilingual].. <font color="silver">twexter can also annote same language text, for example by translating complex english to "basic english"</font><br />
<br />
hi,I am kinda interested in this project. I am a master student from China, whose research interest is natural language processing. I need more information about this. I guess my research experience may do some contribution to this project.Who is the mentor? could you please contace me. my email: wenjuan1239@gmail.com. thanks a lot.<br />
<br />
====synxi====<br />
[[synxi]] wants to make it easier to add timed text [[SLS]] to video.. <br />
# speech to text<br />
# closed captioning <br />
# timed text (syllabic level karaoke)<br />
# sync w/ audio video<br />
<font color="gray">synxi will help us 2.) learn language, 1.) teach language, 0.) share language</font><br />
<br />
==== Eclipse based development environment for Activities ====<br />
<br />
An [[http://www.eclipse.org/ Eclipse]] plugin which would allow software developers to easily write Python based activities for Sugar. Some of the features can be<br />
* Integration with an Xnest/Xephyr window which would run the activity being developed in Sugar<br />
* Easily accessible developer documentation<br />
<br />
----after three days playing around with XO, Sugar, xephyr ... i realize that we are no need another eclipse plugin for developing sugar activities. Just install PyDev plugin. start Xephyr and run eclipse "inside" Xephyr<br />
<br />
==== Sugar Factory ====<br />
[[Sugar Factory]] is an automated method for Sugarizing non-Python applications. Albert Cahalan has some of this working now.<br />
<br />
==== Extending Gnash ====<br />
Extend Gnash to read more data formats, in particular those at [http://olpc.tv/ OLPC.tv], and [[Mary Lou Jepsen]]'s [http://scribemedia.blip.tv/file/682463/ presentation] at the [[Greener Gadgets]] Conference. Integrate Supat's SSS code and move it upstream.<br />
<br />
==== Mediawiki stuff ====<br />
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 [[Summer of Content 2008 Proposals#Multilingual wiki|multilingual wiki]]. [[User:Homunq|Homunq]] 12:18, 2 March 2008 (EST)<br />
<br />
==== Shared wikis for projects ====<br />
<br />
Some ideas:<br />
* Keep a shared page for each collaborative project or actvity itself that is shared across a school and/or class : automatically generate pages/namespaces for class + activity + project where help notes, reports, and progress are tracked. Define how these namespaces interact aross clases, schools, and at a global level on wikieducator / wikiversity / similar sites<br />
* Define how to link together a set of related work into a report : linking to a project/file/record, customized to launch a specific activity via wiki markup.<br />
* Work on the interface b/t [[MikMik]] and a [[MediaWiki]] server.<br />
<br />
==== Sugar adaption for the Nasa Colombian ethnic community ====<br />
One of the 91 indigenous cultures that still exist in Colombia is the [http://en.wikipedia.org/wiki/Paez_people Paez people] (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. [[User:Santiago|Santiago]] 18:01, 8 March 2008 (EST)<br />
====Privacy and Parental Control====<br />
*Access control of the students <br />
*Trace of Student activity and alert if open illegal and unauthorized websites and contents.<br />
*Remote control of student laptop by if he is in home network<br />
*Activiy log of the student and daily usage of laptop <br />
*Daily,monthly analysis of the student usage (what they have used like fun,studies ,games etc)<br />
<br />
Hi, I am Maria, a master student at University of California. I am interested to help XO program by developing a tool for parental control. I have great knowledge in C++, Perl and Java and my previous research include some privacy preserving software development.<br />
<br />
=== Sugar packaging in other distros ===<br />
<br />
'''Debian'''<br />
* Help in maintaining and packaging sugar and activities in debian.<br />
* Including/adapting debian-edu .debs to sugar<br />
<br />
Hello there, I am quite interested in Debian and want to help with this and all other projects. Please contact me (bjoern AT xruby DOT net) if I can be of assistance to the XO project or other things. I will start my PhD studies in April and have previously studied Computer Science. I am highly interested in helping where I can and want to bring the necessary technology to kids around the world.<br />
<br />
...<br />
<br />
[[category:ideas]]<br />
[[category:projects]]<br />
[[Category:GSoC proposals]]</div>Jairtrejohttp://wiki.laptop.org/mediawiki/index.php?title=Summer_of_Code/Ideas&diff=122116Summer of Code/Ideas2008-04-01T14:25:24Z<p>Jairtrejo: /* Virtual Garden */</p>
<hr />
<div>This is a list of ideas for OLPC's participation in Google Summer of Code 2008. This is a pool of ideas for potential students to browse to find what they might want to work on; and for developers to use as a place to prioritize and brainstorm about what work would be most useful, or most rewarding.<br />
<br />
=== School Server ===<br />
==== Interface design ====<br />
<br />
Admin interface : The school server needs a graphical admin interface to configure some aspects of the services it offers, and to help diagnostics. Mentor: Martin Langhoff.<br />
*''Hi! My name is Andrey. I want to join your project and help with school server. [[User:Grad|Grad]]. [[XS AdminUI]].''<br />
<br />
==== Auto memory/disk tuning ====<br />
<br />
Automagic tuning: The school server may have different memory and disk relationships. Provide alternative configurations for key daemons (apache, postgresql/mysql, ejabberd, java-based daemons, etc) for different memory sizes. Learn a lot about scalability and performance tuning for servers. Provide a web based report of memory and disk traffic. Mentor: Martin Langhoff.<br />
<br />
==== Customise and package webbased elearning apps ====<br />
<br />
If you are familiar with good e-learning web applications that are aimed towards users from kindergarden to 16 year-old teenagers, propose an app to customise and package for the school server! Mentor: Martin Langhoff.<br />
<br />
Hello Mentor,<br />
Myself K.Vikranth Reddy I am studing B.Tech Final Year And Iam Interested in Involving myself in Your Project.Presently i am working on my project Titled Online Virtual Training System which is an elearning project. Iam doing the project using PHP and MySql<br />
I want to take part in this project and i want to share my ideas with you.<br />
my mail id is vikranthreddyk@gmail.com<br />
ThanQ<br />
vikranth reddy<br />
<br />
==== Networked Blogging Project ====<br />
* Uruguay is developing an Educational Blogger Project. This needs design, coding and configuration of Moodle (moodle.org) and drupal.<br><br />
*: Requirements definition at: http://wiki.laptop.org/go/Requiremientos_Para_XO <br>[[User:Gregorio|Gregorio]] 11:02, 21 March 2008 (EDT)<br />
<br />
=== Core Software ===<br />
<br />
==== Speech Synthesis integration into Sugar ====<br />
Integrate speech synthesis with all activities, not just [[Speak]], and provide for karaoke coloring. See [[User:Mokurai|Mokurai]]'s [http://www.olpcnews.com/content/ebooks/effective_adult_literacy_program.html article] on adapting [[Same Language Subtitling]] for literacy to the XO.<br />
<br />
Desirable Features for Sugar Speech Synthesis Plugin:<br />
<br />
* Provide Sugar Speech Synthesis Configuration Management Tool<br />
* Karaoke Style Coloring in Sugar Environment<br />
* UI for configuration Control<br />
* Accent gets set on the basis of locale<br />
<br />
==== Possible interest ====<br />
===== Java =====<br />
Package and integrate the IcedTea open source bootstrap of OpenJDK Java with browser plugin for the XO. Deliverables would include:<br />
* Binary, source and rpm dependencies for icedtea and icedtea browser plugin<br />
* Java enabled xo os image<br />
* Integration of packages into autobuild branch<br />
<br />
===== Print Support =====<br />
Print support in Sugar would be useful in many scenarios. The ideal project deliverables would include<br />
* Integration of a printing infrastructure (CUPS ??) into the XO-1 software images <br />
* Modification of Sugar Control Panel to set up the printer (add/select default printer?)<br />
* Modification of at least one activity (Write ?) to support printing<br />
* Making a printing activity, that follows sugar GUI guidelines?<br />
<br />
:I am highly interested in working on this project. Would the project leader mind contacting me at bmw.stx@gmail.com?<br />
<br />
===== JavaScript-Python Communication =====<br />
JavaScript Python Communication through the following strategies: PyXPCom, hulahop, and xulrunner.<br />
<br />
<br />
<br />
Hi, I am Preeti, from New Delhi. I would like to get myself involved in this very interesting aspect of the OLPC software development. I have jotted some of my views on the same at:<br />
<br />
http://wiki.laptop.org/go/User_talk:59.178.99.172<br />
<br />
Regards<br />
Preeti<br />
<br />
=== Publication and Journal sharing ===<br />
Incorporate the Distribute activity into the shell<br />
At the basic level this will require:<br />
* A way to initiate a transfer (a button in the Journal, a contextual option on an object, a drag'n'drop operation)<br />
* Notification to the receiver<br />
* Some method to indicate progress to sender and receiver, with a way to cancel<br />
* A journal entry for the receiver containing the resulting file<br />
<br />
Necessary future support:<br />
* Transparent support for interrupted connections<br />
<br />
<br />
=== Mesh Networking ===<br />
==== Tools development ====<br />
As we reach for increasingly larger numbers of nodes participating in mesh network testbed, it is evident that sophisticated methods and tools for monitoring, logging and debugging will become necessary. Project deliverables include:<br />
* Maintain our mesh network testbed<br />
* Review different methods for controlling and monitoring large numbers of machines (control over wireless vs. control over Ethernet, stored logs vs. online logging, etc)<br />
* Implementation of network application + GUI to remotely control, configure and analyze logs from mesh network experiments on large testbed<br />
<br />
==== Visualization development ====<br />
A few visualizations of the mesh have been developed so far; the default random visualization, a roughly signal-strength based visualization that shows other XOs a distance away inversely proportional to signal srength. What other visualizations would be useful or interesting? How do these idea scale to thousands of XOs or a number of school clusters?<br />
<br />
=== Health Tools ===<br />
* Design software to interact with the different health peripherals.<br />
*: Integration of other FLOSS software like OpenMRS.<br />
* Display and interpret bio-signals (e.g EKG. EMG..)<br />
*: Help in [[Projects/TeleHealth Database]]<br />
** Hello, my name is Chao Zhang, and I am a graduate student of computer science focused on bioinformatics. I always paid close attention to OLPC and I am very interested in developing some health tools for OLPC. It is a good chance to contribute my knowledge to the open source projects. Since I have more than 5 years experiences on developing finance and enterprise management systems and more than 8 years experiences on JAVA programming, I am also fascinated about the simple financial planning tools. I hope to chat with mentors to get more details on those ideas. My email: chaozhang.mu@gmail.com<br />
<br><br />
* Dear mentors, <br />
*:<p align = 'justify'>My name is Joana Cabral and I am an enthusiastic supporter of the OLPC project. I have graduated last September in Biomedical Engineering and I am currently following a PhD program in Computational Neuroscience in Barcelona. During my scholar education I got familiarized with bio-signals, not only EKG and EMG but also more chaotic signals like EEG so I believe I may fit to your needs. </p><br />
*:<p align = 'justify'>I think this kind of softwares will be extremely useful, especially for undevelopped countries, where the health services are sparse and unsufficient and cannot eventually afford to buy health tools softwares.Nevertheless we must underline that a special care must be given to the reliability and robustness of of health tools since they can eventually be used for diagnosis and remote monitorization of children patients.</p><br />
*:<p align = 'justify'>I would like to discuss with the mentors some more ideas about this project and let you know a little more about me. Please contact me to: juanitacabral@hotmail.com<br />
*:Cheers<br />
</p><br />
<br />
=== Code libraries ===<br />
<br />
==== Pygame/sdl ====<br />
Add as much support as possible using the Geode graphics processor.<br />
<br />
==== xo3d ====<br />
<br />
Develop the xo3d library based on work started by [[User:Wade]]. This is a flat shaded software 3D renderer with support for objects, lighting & clipping, exposed to Python. It also features a matrix and vector math library.<br />
<br />
<br />
=== Specific Activities ===<br />
This list of desirable activities is largely a grab-bag, meant to spark ideas. There are plenty more at [[:Category:Software ideas]]. Part of the work of doing your SoC application would be to do a preliminary evaluation of existing open source options in a domain and their adaptability to OLPC. Python and/or GTK-based programs are the easiest to adapt. Also present in the platform are Javascript, C/C++ (of course), and Smalltalk (squeak). See [[Sugar]] and [[Developers/Stack]] for further info.<br />
<br />
Applications should show serious thought about what can be achieved in the short time available. Whether you are starting from scratch or adapting an existing app, fewer well-implemented/adapted features are far preferable to many poorly-implemented ones. In either case, but especially in the case of an adaptation, a solid foundation makes it easy to add (back) in more features later.<br />
<br />
<br />
==== Flash Card creator ====<br />
<br />
The student and mentor would evaluate open source flash card programs together, and then either port or adapt one to XO. The flash card program would be developed with a Sugar-specific UI and features. It would feature one of the well known flash card memorization algorithms for tracking student progress through each deck of cards. (see [[Drill and test software]])<br />
<br />
** Hello, my name is Jon Volkman, and I am fascinated about working on the creation of an open source flash card program for XO. I have several preliminary ideas, and find what research (and efforts on other platforms) that have been put into this concept very intriguing.<br />
<br />
** Hi, my name is Adam Goldstein and I recently applied and submitted what thoughts I have for writing a flexible and complete flash card creator for XO. I would really like to take what lessons I've learned from both making and using various programs on multiple platforms to develop a solid tool for study. I'm very excited to explore implementation possibilities and would really enjoy a chance to discuss.<br />
<br />
==== Master Mind (game) ====<br />
<br />
Implement the well known board game: http://en.wikipedia.org/wiki/Mastermind_(board_game)<br />
<br />
** Hello, my name is Ian, and I am interested in working on this project, as it seems similar to other projects I have worked on. I would be interested in learning more about this project in detail if possible. Please email me at imperialisthobo@yahoo.com.<br />
<br />
==== Typing Turtle ====<br />
<br />
A game-like typing tutor activity would be developed by the student. Existing open source projects would be evaluated for ideas. Features would include adapting to student progress, support for all XO keymaps (take a look at [[Keyboard#Languages_other_than_English]] for information on supported keyboard layouts) and written languages, progress tracking graphs, the ability to locally customize the program, etc<br />
<br />
** Hello, my name is Kelly. I'm most interested in writing a game to teach basic numbers and math. I'm also interested in this typing tutorial, and I'm willing to work wherever you think I'd be most useful. I know Scheme, C, and Python; I'm familiar with lex and yacc. Mentors please email me at kekenned@gmail.com<br />
<br />
** Hello, I am Shree Kant , I m interested in writing a typing tutor based on video and audio, I am thinking about something of this sort from quite a long time, I would like to do it this summer for OLPC email me shreekantbohra@gmail.com<br />
<br />
==== Finance ====<br />
<br />
The student would develop a simple financial planning program, basically the simplest possible version of Quicken. It would provide a simple income / expense register, monthly tracking, budget planning, expense & income categories, and a loan calculator.<br />
<br />
This activity idea came from a request by the Nepal deployment.<br />
<br />
== comment ==<br />
I'm interested in creating an easy to use finance program in java or python, although I wouldn't mind expanding its functionality to more than <br />
is described here. Trying to look for OLPC GSoC related items in IRC to no avail, but my email is mpoon@mit.edu.<br />
-mpoon<br />
<br />
== comment ==<br />
My name is David Wong and I am an undergraduate at U.C. Berkeley studying Business administration and EECS. <br />
I would love to create a financial accounting program! I could write the program in Java, C, or even Scheme. <br />
Please email more details to david_wong@berkeley.edu.<br />
<br />
== comment ==<br />
My name is Tamil and I am currently a Masters student at Georgia Institute of Technology. I actually have <br />
created rudimentary fuel economy and optimization programs through FORTRAN. I also know Java and <br />
C++ and am currently teaching myself Python. I am an active member of my school's Investments and Finance <br />
Club so I am astute in all things financial (plus i use Quicken on a regular basis). I would love to help out with OLPC on this plus I do have other ideas. Please contact me at <br />
tamil@gatech.edu.<br />
<br />
== comment ==<br />
I'm Sergiu, and I am an undergraduate at the Technical University of Iasi Gh Asachi, in Romania. The financial<br />
system i would like to build for you will be web based (php or java, you choice), so the same system can be<br />
accessed from any location. Also (no matter which language will be used for the web part), i can build a <br />
desktop application, for accessing the database from the server, so including the programs other students<br />
might be able to develop. The security won't be a problem (as i have developed applications verified and<br />
signed by VeriSign, world's most notorious authority in security). <br />
Please contact me at dogaru.sergiu@zrgiu.com, or zrgiu@yahoo.com<br />
<br />
==== [[OpenSim| System Dynamics modeling tool and simulation engine]] ====<br />
<br />
Create a system dynamics (SD) model editor and simulation engine. The advantages to this would be:<br />
* Models are visual and mathematical representations of a system, which allows for a different form of visual programing than that of Turtle Art<br />
* SD is used in international development planning and to teach systems thinking to K-12 students<br />
* Simulation engine could be accessible from other programs, like Micropolis<br />
* Programs like Micropolis could have their core logic in SD models and access it through the simulation engine, allowing people to switch to a visual representation of the program logic to understand and change it.<br />
<br />
[[User:bobbypowers|-Bobby Powers]] (student, looking for mentor)<br />
<br />
I'm a student in computer science and automation technologies. As a student of AT I'm deep<br />
skilled in Systems theory and would really like to offer such a tool to the olpc project.<br />
I'll apply on SoC's site. riccardo dot lucchese at gmail dot com<br />
<br />
==== Inferno ====<br />
<br />
There's a variety of work that is left to be done in [[Inferno]] on OLPC, things that might be best done by a student include:<br />
<br />
* fontfs - mapping OLPC fonts to inferno native fonts<br />
* metafs - mapping file system permissions to OLPC model<br />
* camera/audio support<br />
* new window manager for Inferno which better matches OLPC paradigm<br />
* integration with OLPC collaboration framework<br />
* integration with OLPC internationalization mechanisms<br />
* edutainment applications written in Limbo for OLPC<br />
<br />
[[User:ericvh|-Eric Van Hensbergen]]<br />
<br />
<br />
==== [[GIS]] activity for XO ==== <br />
[http://www.ewb.org/ Engineers Without Borders], [http://www.timepedia.org/ Timepedia], and [http://isde5.pbwiki.com/One-Laptop-Per-Child 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...<br />
<br />
==== Activity Translation Activity ====<br />
Similar to the functionality offered by the "View Source" key, an activity should ideally allow the user to translate it. A Translate activity would allow the user to translate any given activity, and optionally let the user share the translation, so that it can be reused by other users in the mesh.<br />
<br />
==== Deducto ====<br />
<br />
Deducto is a Board Game based on pattern recognition initially developed by Walter Bender at MIT Media Labs using Perl language. The game has been re-written in Python by the founding members of Open Source Community-NSIT, India. HTML version of the game is available at [[http://nsitonline.in/assim/deducto.html Deducto]]. Project is also available at [[http://dev.laptop.org/git?p=projects/deducto-activity;a=summary GIT Repository]]. Addition of a feature where a user could generate his/her own levels of the game, development of UI, and re-design using PyGTK are the areas for development.<br />
<br />
==== Food Force Project ====<br />
World Food Programme's Food Force Project [[http://www.food-force.com/index.php/game/downloads/ Windows and Mac]] to be re-designed for the Sugar environment.Please visit [[Food_Force/Design_Document]].<br />
<br />
==== Education ToolKit ====<br />
There was a nice project done in Chile using Ipacks: the "teacher" would pose a problem and the children would formulate an answer. Then they'd gather in groups of four and pool their answers. Each group of four would then reach consensus on an answer they thought was correct. All of the group answers would be shared with the entire class. Then a class discussion would ensue: why did Group A come up with that answer? The role of the computer and the teacher was to facilitate the discussion among the students and to focus discussion around problem areas that revealed themselves in discussion. A nice use of collaboration that has nothing to do with taking control or "all eyes forward".<br />
For more information goto http://wiki.laptop.org/go/Educational_toolkit<br />
<br />
<br />
Hi, I am student from Indian Institute of Information Technology and Management, Gwalior, India interested in this type of software because of the reason that I have worked on this sometime long. I have created an E-learning software for children which is an interactive one. Let me know how can I help OLPC in this particular process. Contact me at tejapv@gmail.com. Thanks...<br />
<br />
<br />
<br />
Hi,<br />
My name is waseem. I am Master student in Royal Institute of Technology (Stockholm, Sweden), my major is Software Engineering<br />
of Distributed Systems. I have an idea (which i have been working on for a while) and it is closely related to this topic. The <br />
main idea is to develop an interactive application that will take any form of text (story, scientific essay, news or any form of <br />
composed text) and extract those part of the text that could be transformed in to multiple choice questions and short questions, <br />
which could be then presented to the user . Main purpose of the application will be to help children in their exam preparation, <br />
as they could make their own exam paper on the fly and evaluate their preparation . I would like to discuss this porject in more <br />
details. I can be easily reached by email exactlypinpoint@gmail.com.<br />
<br />
<br />
With Best Regards<br />
Waseem Shaukat<br />
<br />
==== PlayGo ====<br />
Go is a great game which promotes connectivity and cultural exchange, not to mention critical thinking. The PlayGo activity ([http://wiki.laptop.org/go/PlayGo]) has alreagy begun an implementation. It would be nice to bring this project into phases 2 and 3.<br />
<br />
:I am very interested in this particular project. My name is Brandon Wilson, and if I could be of help in this project please contact me at [mailto:bmw.stx@gmail.com].<br />
:My name is Artem Kaznatcheev and I am also interested in this project. I was curious if you desired future development to follow the "PlayGo" phase 2 and 3 goals exactly, or if we could expand and split from there; some ideas could include: AI opponents (GnuGo, AnyGo and other open source players), "learning" mode, "puzzle" mode, and variants of Go (Zen Go, etc). Any information would be welcome, please email me at artem.kaznatcheev@mail.mcgill.ca<br />
<br />
==== ANN - Artificial Neural Networks ====<br />
[[ANN]] is an activity where children can design, build, and test artificial neural networks (ANNs). Each 'experiment' will have a particular task ranging in difficulty from switching on and off a light to controlling a paddle in a game of pong. Children will design and build an ANN that they can then test in a simulated environment. If you have any comments, please contact me at bjgraham@udel.edu<br />
<br />
==== Puzzles ====<br />
Jigsaw puzzle. play and share.<br />
<br />
* Hi, I am Omar Arana. I study computing science. <br />
I like developing 3-D games and animations.<br />
I've got experience developing applications of this kind, <br />
for Cross-Platform Windows/Linux.<br />
Here you have a sample of what I can do: <br />
http://www.geocities.com/oa_indy<br />
I've used SDL beforehand. I'd love to create "Jigsaw <br />
Puzzles".<br />
I have also made 3-D graphics, using only basic 2-D graphic <br />
primitives.<br />
Mentors please email me to ao_indy@yahoo.com<br />
<br />
<br />
* Hi, I'm Omar Mestas, I've been interested in the developing of educational games for children, since <br />
it's the best time to learn.<br />
I am good in languages like C/C++, Delphi/Kylix.<br />
I'd like to create games in 3D that can catch children's eye helping to the learning process.<br />
I can also work with some tools related to the developing of graphics.<br />
I'm good at working in groups and under pressure so I can complete my aims.<br />
Please contact me to my mail: omar_23@hotmail.com<br />
<br />
=== Social games ===<br />
==== Board & card games ====<br />
<br />
A suite of board and/or card games would be developed by the student including things like Chess, Checkers, Othello, Mancala. They would all be built on a common framework so that more games could be developed easily. Features would include multiplayer tournaments (including chat & spectator support), good computer AI, interactive game teaching, game recording & playback, etc.<br />
<br />
: Hello, my name is Bryan Hockey, a computer science student at the University of Michigan. I am interested in creating one or more games, specifically Stratego, Euchre, Checkers, or Chess, for the OLPC project, either in Java, C++, or C. I have submitted an application detailing this. Contact: bryan.hockey@gmail.com <br />
Thanks.<br />
<br />
: Hi, I am Preeti, from New Delhi. I am very keen on working with OLPC on developing Board & Card Games. I have already done work in this aspect, in C++, by making several games such as Brainvita, Solitaire and Scrabble. I want to contribute to the Google Summer of Code in this project. Please let me know how I can help..kspreeti.13@gmail.com<br />
<br />
<br />
My name Is Christopher Hall, I study computing science at Glasgow University, I have already written Othello in Java and would love to be selected to write more games on a standard frame work. I will answer any questions about myself or my interest in this project at 0406503h(@)student.gla.ac.uk<br />
<br />
<br />
: Hello im a Lucien Pereira, I'm a computer scientist student. I'm interrested in contributing to write a chess game in GSoC context. I got good skills in Python, C++ and java. Mail me at lperei04[@t]etudiant.univ-mlv.fr.<br />
<br />
<br />
: Hi, my name is Guihon Mendy, I study Computer Science at the University of Marne-la-Vallée (Paris) and would like to contribute. I know C++, Java, Ruby and a bit of Python. I can write Freecell, Othello or any other card/board game. Contact me at guihon.mendy(@)gmail.com. Thanks.<br />
<br />
:Hello, my name is Pedro Marcos. I'm a computer engineering student at ITA (wich stands for, in English, Aeronautics Technology Institute), I'm Brazilian and I'm very interested in developing a checkers game for OLPC written in Java. It could possibly include a multiplayer mode and record history. Also an implementation of a Sudoku game (also in Java) with different levels of difficulty and size. I have already written a game (SuperTrunfo) in Java for a class and I would love to see one of my programs being a part of OLPC.For more information please email-me at petrol101@gmail.com<br />
<br />
<br />
>> Hello, My name is Dommaraju Sandeep.I am pursuing M.Sc (Hons) Mathematics and B.E (Hons) Computer Science Engineering in Bits-pilani,goa campus,India.I would like to work on developing an "Unscramble words" game for the OLPC programme, which I am sure will be both recreational and informative game for children.I have programming experience in C,C++ and Java.I would like to extend my help in developing in games like zatacka,arkanoid, etc.If you like you can contact me at sandeepdommaraju@gmail.com<br />
<br />
==== 3D Software Renderer & Game ====<br />
<br />
A simple flat shaded 3D graphics library would be developed by the student for the XO platform, with an accompanying game. The game would be something exciting and multiplayer but non-violent, I'm thinking about a first person firefighting simulator (where you shoot water at animated fires and rescue victims) or something like that. The game would be designed by the student with direction from the mentor.<br />
<br />
== comment ===<br />
I may be able to do this firefighting simulator game using python/pygame. Not sure about 3D graphics library. Request some details of mentor.<br />
--krish<br />
<br />
<br />
-------------------------<br />
<br />
Hi, my name is nataly, I am peruvian , I am working in 3D reconstruction now and I am <br />
interested in this project. My mail is nzapana@gmail.com . Mentors please tell me how <br />
I can help.<br />
<br />
==== XO Smart Kid ====<br />
<br />
Its a single player game where the main character is the role of a child(XO user).<br />
The story line of the game revolves around the life of the child & hence the stages include missions like<br />
1. going to school<br />
2. organising items in a room<br />
3. getting list of things from mall<br />
and more<br />
The game intends to teach the player(child) elements of social behaviour & also cautious and careful living.<br />
Examples:<br />
1. the player avoids any contact with strangers on his way to school.<br />
2. he needs to cautiously cross the roads<br />
3. remember routes for school, home,mall...<br />
<br />
The player will be awarded game points like chocolates/pastries; since most children love them.<br />
<br />
The learning from this game can be applied to real social life.<br />
<br />
==Comment==<br />
I had proposed this idea on the games mailing list. Looking for a mentor. Suggestions/comments welcome - raja.aishwarya@gmail.com<br />
<br />
==== Micropolis (SimCity) ====<br />
<br />
I have a long list of interesting ways to develop [[Micropolis]] (aka SimCity), which I have written about on [http://www.DonHopkins.com my blog]!<br />
<br />
The source code is on [http://code.google.com/p/micropolis Google Code], <br />
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. <br />
<br />
There are two Micropolis projects: <br />
<br />
* 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. <br />
<br />
* The new "MicropolisCore" C++/SWIG/Python module that I've cleaned up and I have started developing a user interface. <br />
<br />
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.<br />
<br />
[[User:dhopkins|-Don Hopkins]]<br />
<br />
<br />
=== Book and Document readers ===<br />
* ''see project description by [[user:jgay|jgay]]''<br />
<br />
=== Updates to core Activities ===<br />
==== Port Browse to WebKit ====<br />
[[http://webkit.org/ Webkit]] is somewhat lighter than the current Xulrunner engine powering the Browse activity. Porting Browse to use Webkit might see some performance benefits.<br />
<br />
** I would like to know further about this project and if there is an expected port such as the Qt version or some webkit derivative in mind. Also on expected skills of the student. I have high interest in talking to someone and cannot find an e-mail submission page, I see most people just commenting here. A (very) little about me: I am currently a Junior/Senior student with C++ and Java programming skills. e-mail: jlukas79@gmail.com<br />
<br />
==== Enhancements for Measure ====<br />
* Feed generated data from simulations or the software synthesizer into the Measure activity.<br />
* Add sensor support to Activities such as TamTam that would allow musical pitch, tempo etc to be controlled by sensors<br />
* 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.<br />
* Make triggered logging possible (similar to triggered logging in Oscilloscopes)<br />
* Some more immediate plans here [[Measure/Plans]]<br />
* Sensor based input into games. For example control a game character based on light intensity<br />
<br />
==== Make activities programmable ====<br />
More generally, support snap-together programming of XO [[activities]] in the manner that [[Turtle Art]] and [[Etoys]] provide internally.<br />
<br />
==== Improve DrGeo ====<br />
<br />
The [[DrGeo]] activity (interactive geometry) port need to be finished and improved in different areas.<br />
<br />
=====Parts to be written=====<br />
* 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 [http://documentation.ofset.org/drgeo/fr/using_macro.html the original implementation].<br />
* implementation of the script system. A script within [[DrGeo]] is code hooked to an interactive sketch, it is used to perform calculus. See [http://documentation.ofset.org/drgeo/fr/drgenius_56.html the original implementation in Scheme]. The script language will be Smalltalk based.<br />
<br />
=====Parts to improve=====<br />
* Improve the load time, the load time is now unacceptable for the user and make [[DrGeo]] unadapted for the OLPC.<br />
* Define a journal type entry to save/load.<br />
* Improve the user interface, particularly the access to the construction tools.<br />
* Improve the locus sampling, it is by now suboptimal.<br />
<br />
Other suggestions for improvements, see [https://gna.org/bugs/index.php?go_report=Appliquer&group=istoa&func=browse&set=custom&msort=0&report_id=100&advsrch=0&status_id=1&resolution_id=0&assigned_to=0&category_id=101&bug_group_id=0&history_search=0&history_field=0&history_event=modified&history_date_dayfd=2&history_date_monthfd=2&history_date_yearfd=2008&chunksz=50&spamscore=5&boxoptionwanted=1#options the DrGeo tracker].<br />
<br />
== comment ==<br />
I'd love to participate to DrGeo. I'm Anna Wrochna ([[User:Lilavati|Lilavati]]), I am studying math+CS at the Warsaw Univeristy. <br />
I speak French, have used SmallTalk, loved geometry in high school - I'm the man for the job. <br />
Please contact me as a.wrochna(a)gmail.com .<br />
<br />
=== Other activities ===<br />
==== Email activity ====<br />
<br />
Develop a light, functional and usable email client<br />
* log children on automatically.<br />
* cache things locally, both for writing and for reading.<br />
<br />
: interest: [[User:Shikhar|Shikhar]] is interested in developing an email activity, see proposal outline [[Email client]]<br />
: Hello, I'm Pedro Marcos and I have already showed my interest in developing a project for OLPC (the Board, card games Project) but this project also interests me a great deal. I have, while i was a intern at a webdevelopment and webhosting company called Secrel (www.secrelnet.com.br) , developed a light email manager written in ASP. It could download emails via SMTP and categorize then according to what it was at the body of the message and more. Contact-me at petrol101@gmail.com for further information. Thanks for the oportunity :)<br />
<br />
==== Mind mapping activity ====<br />
A few teachers (including the teacher in Arahuay) have requested a mind-mapping activity. <br />
MindMeister and similar suites have offered us some of their toolchains.<br />
: interest: [[User:Homunq|Homunq]]<br />
<br />
==== Elements. 2D physics simulation ====<br />
Making 2D rigid body physics easily accessible and implementable with python/pygame on the XO laptop. Project started already as '[[Elements]]'<br />
<br />
==== Computer Vision with OpenCV ====<br />
OpenCV is a computer vision library developed by Intel that greatly simplifies complex tasks like object recognition and tracking and image manipulation. Possible uses for it include vision based games, gesture recognition, and video chat with low bandwidth cartoon characters substituted for video.<br />
<br />
Nirav Patel [http://eclecti.cc/code/face-detection-on-the-olpc-xo started working] with [[OpenCV]] and face recognition on the XO laptop.<br />
<br />
==== XOradio and XOtv ====<br />
The idea is to supply an easy way (1 click) to broadcast contents (audio and video) from a OLPC laptop, and then, put all the available channels together in a OLPC global channel of lectures sharinghowtos sharing, p2p online help, video connected classrooms/sessions,... [http://www.olpcaustria.org/mediawiki/index.php/XOtv|Project page in OLPC Austria wiki]<br />
<br />
==== Virtual Garden ====<br />
It will be a virtual garden where children can grow and breed different plants. The plant's characteristics are going to be defined by the user, but the main idea of the project is that every characteristic of the plant is genetically represented; therefore, to create beautiful, interesting plants, children would need to understand the way in which the genes affect the plant, and how can they use inheritance to produce the desired offspring. In the creation of the artificial plants, the work by Przemyslav Prusinkiewicz y Aristid Lindenmayer in their book "The Algorithmic beauty of Plants" will be used, with an addition: The flowers will be based in the superformula by Jhon Giellis.<br />
<br />
Hi, My name is Venture M and I am pursuing my Masters in Information Technology at RMIT, Melbourne Australia. I have programming experience since last 7 years, of which 4 years is in Software Industry. I have been programming in OpenGL since the last 5 years as a hobby. Although I have not read the ideas behind this project, I am sure that I will be able to grasp and implement them.<br />
Please contact me at venturecoder@gmail.com.<br />
<br />
Hi, I'm Jair Trejo, Mechatronics student from Mexico City, and original proponent of the Garden activity. A detailed description of my proposal lives here: [http://jairtrejo.googlepages.com/gardenactivity], I'm wikifying it at the moment.<br />
<br />
=== Language Learning ===<br />
<br />
<br />
==== Foreign language learning====<br />
'''Focusing on English''':<br />
A tool to learn foreign languages would be a great addition for the XO. At it's most rudimentary form, it can start with an [[Words|interactive]] [[dictionary, but something advanced would be preferred, perhaps along the lines of [http://lingoteach.sourceforge.net/ LingoTeach]. <br />
<br />
* I've created a wiki pages with my ideas. [[Language Learning]] [[User:StevenMohr|-Steven Mohr]]<br />
<br />
* My name is Kelly. I'm interested in this task and other OLPC tasks, and want to talk to a mentor. Please email me at kekenned@gmail.com<br />
<br />
* I am interested in this task and in other linguistic/language oriented tasks. I would like to talk to a mentor. E-mail me at shwayd@brandeis.edu Thanks. ~Kobey<br />
<br />
* Hello, I have drafted my idea for a English vocabulary improving activity at [http://wiki.laptop.org/go/Wordnet_Activity WordNet Game]. Regards Nikola<br />
<br />
==== Speech synthesis ====<br />
<br />
'''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. <br />
<br />
The game can have the following features:-<br />
<br />
* Difficulty Level - Easy/Medium/Hard<br />
* Multiple Dictionary Sources<br />
* 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.<br />
* Mesh Challenge - Children can collaborate over the Mesh Network and challenge each other in a multiplayer 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.<br />
<br />
A very basic activity draft that can be suitably scaled is available at [[talkntype]]<br />
<br />
Hi, I am Assim Deodia. I have originally posted this idea on olpc mailing list and gsoc list. I have extented this idea and created a wiki page here [[Listen_and Spell]]. I am looking for a mentor who is interested in speech synthesis and language learning activity for the XO. <br />
email: assim.deodia@gmail.com<br />
<br />
I'm really interested in this project and need to contact mentor. e-mail:sachith.ponnamperuma@gmail.com<br />
<br />
=== Misc / needs development ===<br />
<br />
==== My FilmCity(@INDOKLEY) ====<br />
Record your songs and upload.<br />
Download the songs that is give by the "Music" Teacher.<br />
Make Playlist from the list of Songs(here we can resirict the list of songs according to the MUSIC TEACHERS)<br />
: Upload Video<br />
: Download Video<br />
<br />
<br />
====Embed twexter into activities====<br />
[http://twext.com/embed twexter] software formats twin text ([[twext]]) for language learners.. twexter can work with all kindsa tools/activities like [[moodle]] or [[scratch]] or [[Summer_of_Code/2008/Ideas#Mediawiki_stuff|mediawiki]] or [[wixi]] so we can grow [http://olpcnews.com/content/localization/learning_language.html multilingual].. <font color="silver">twexter can also annote same language text, for example by translating complex english to "basic english"</font><br />
<br />
hi,I am kinda interested in this project. I am a master student from China, whose research interest is natural language processing. I need more information about this. I guess my research experience may do some contribution to this project.Who is the mentor? could you please contace me. my email: wenjuan1239@gmail.com. thanks a lot.<br />
<br />
====synxi====<br />
[[synxi]] wants to make it easier to add timed text [[SLS]] to video.. <br />
# speech to text<br />
# closed captioning <br />
# timed text (syllabic level karaoke)<br />
# sync w/ audio video<br />
<font color="gray">synxi will help us 2.) learn language, 1.) teach language, 0.) share language</font><br />
<br />
==== Eclipse based development environment for Activities ====<br />
<br />
An [[http://www.eclipse.org/ Eclipse]] plugin which would allow software developers to easily write Python based activities for Sugar. Some of the features can be<br />
* Integration with an Xnest/Xephyr window which would run the activity being developed in Sugar<br />
* Easily accessible developer documentation<br />
<br />
----after three days playing around with XO, Sugar, xephyr ... i realize that we are no need another eclipse plugin for developing sugar activities. Just install PyDev plugin. start Xephyr and run eclipse "inside" Xephyr<br />
<br />
==== Sugar Factory ====<br />
[[Sugar Factory]] is an automated method for Sugarizing non-Python applications. Albert Cahalan has some of this working now.<br />
<br />
==== Extending Gnash ====<br />
Extend Gnash to read more data formats, in particular those at [http://olpc.tv/ OLPC.tv], and [[Mary Lou Jepsen]]'s [http://scribemedia.blip.tv/file/682463/ presentation] at the [[Greener Gadgets]] Conference. Integrate Supat's SSS code and move it upstream.<br />
<br />
==== Mediawiki stuff ====<br />
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 [[Summer of Content 2008 Proposals#Multilingual wiki|multilingual wiki]]. [[User:Homunq|Homunq]] 12:18, 2 March 2008 (EST)<br />
<br />
==== Shared wikis for projects ====<br />
<br />
Some ideas:<br />
* Keep a shared page for each collaborative project or actvity itself that is shared across a school and/or class : automatically generate pages/namespaces for class + activity + project where help notes, reports, and progress are tracked. Define how these namespaces interact aross clases, schools, and at a global level on wikieducator / wikiversity / similar sites<br />
* Define how to link together a set of related work into a report : linking to a project/file/record, customized to launch a specific activity via wiki markup.<br />
* Work on the interface b/t [[MikMik]] and a [[MediaWiki]] server.<br />
<br />
==== Sugar adaption for the Nasa Colombian ethnic community ====<br />
One of the 91 indigenous cultures that still exist in Colombia is the [http://en.wikipedia.org/wiki/Paez_people Paez people] (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. [[User:Santiago|Santiago]] 18:01, 8 March 2008 (EST)<br />
====Privacy and Parental Control====<br />
*Access control of the students <br />
*Trace of Student activity and alert if open illegal and unauthorized websites and contents.<br />
*Remote control of student laptop by if he is in home network<br />
*Activiy log of the student and daily usage of laptop <br />
*Daily,monthly analysis of the student usage (what they have used like fun,studies ,games etc)<br />
<br />
Hi, I am Maria, a master student at University of California. I am interested to help XO program by developing a tool for parental control. I have great knowledge in C++, Perl and Java and my previous research include some privacy preserving software development.<br />
<br />
=== Sugar packaging in other distros ===<br />
<br />
'''Debian'''<br />
* Help in maintaining and packaging sugar and activities in debian.<br />
* Including/adapting debian-edu .debs to sugar<br />
<br />
Hello there, I am quite interested in Debian and want to help with this and all other projects. Please contact me (bjoern AT xruby DOT net) if I can be of assistance to the XO project or other things. I will start my PhD studies in April and have previously studied Computer Science. I am highly interested in helping where I can and want to bring the necessary technology to kids around the world.<br />
<br />
...<br />
<br />
[[category:ideas]]<br />
[[category:projects]]<br />
[[Category:GSoC proposals]]</div>Jairtrejo