To build helpful utilities and educational games for the One Laptop Per Child organization's XO computer and XS Server.
Summery of Projects
I will continue to maintain and update the server portion of the File Distribution System along side with the development of the client portion of the system. Once the client has been completed, I will make an announcement to the community asking for feedback to support further development. While waiting for any feedback, I will start development on an educational game (more details below). As feedback is received for the client and server of the File Distribution System, I will try to address them as that project will be my highest priority.
Maintain Server of File Distribution System
The server of the file distribution system will have its primary features completed by the time this co-op starts. As a result of creating a client to interact with the server's api, bugs and future improvements will be found and need to be resolved. I will hopefully also be receiving feedback from the open source community which will also be helping me improve this system.
Depending on the community's thoughts on the system, it may be re-written into a pure python implementation which would remove the php and apache/httpd dependency and instead have it run as a standalone server application.
Create Client of File Distribution System
The primary goal of the file distribution system is to allow it to be easily used. To complete this goal, I plan on implementing a client to work with the server. This client will allow for better performance as an alternative to using the browser to interact with the server.
The client will be more challenging for me because it will require me to work on integrating the program with the XO interface and browser.
Create Educational Tower Defense Game
When I find myself not working on the File Distribution System, I plan on building an educational tower defense game that will help teach 4th grade level math. This game will probably end up being a major portion of my co-op as it will be more difficult to implement.
The game will be a standard tower defense game where the player must build towers in order to protect their structure from attack. The math portion of the game will help the player survive. The towers must be built on platforms that can only hold a set value of weight (given in fraction form). Each tower will have a weight given in another fraction. The user must not exceed the weight or their tower pad will collapse. There will also be tower upgrades that can increase the power of the tower. These upgrades will have a new weight which will force the player hopefully think about the problem.
I am choosing this style because the math will not interrupt the game flow while it is still important in order to complete the objective. The game will be designed so that if they are not optimizing their usage of towers (by calculating the tower's weight and power), it will be very difficult to successfully continue.
Reporting Work Progress
While I am working, I will keep an online journal that will keep a log of my activities. This log will include any major changes, implementations, bug fixes and reports, progress, and remaining estimates. Along side this daily log, I will also have git commits and wiki edits that can vouch for my work. During the day, I'll be found on the Sugar Lab's IRC channel as “Jlew” and I will be able to be reached by email and phone if needed. I will also be able to attend weekly meetings (in person or on IRC) to discuss my progress and answer any questions.
This chart shows the starting day of the week and any goals of the week. The timelime is an estimate and will probably need to be modified.. Should a modification be required, it will be addressed in our weekly meetings.
Backed of FDS Client implemented
Basic integration with the Sugar Journal API
Polish client for public testing.
Design Documentation for Game
Some bugfixes and updates may be released during break to help
Address any feedback for the client/server for the feedback system.
Game engine should be functional
Implementing educational portion of the game.
Proof of concept release of game. Ask for feedback from community.
Incorporate Graphics sound (replacing stubs used in proof of concept release)
Beta Release Bug fixes Documentation overhaul
Last minute changes and updates. Final Release Any wrap up required