User:Jlew/Co-Op 2009

From Sugar Labs
Jump to navigation Jump to search


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.

November 30th

Backed of FDS Client implemented

  • Downloads file list
  • Parse/tag/update file information
  • Modify file information and sync back to the server
  • Cache server information for off line browsing
December 7th

Basic integration with the Sugar Journal API

  • Save file to journal
  • Select files from journal to send to server

Basic UI
Basic prototype

December 14th

Polish client for public testing.

  • Announce on mailing list hoping for feedback.

Design Documentation for Game

December 21st
December 28th

Holiday Break Some bugfixes and updates may be released during break to help
get more feedback on the file distribution system.
Perhaps some research towards the game.

January 4th

Address any feedback for the client/server for the feedback system.
Start working on basic engine for game.

January 11th

Game engine should be functional

January 18th

Implementing educational portion of the game.

January 25th

Proof of concept release of game. Ask for feedback from community.

February 1st

Incorporate Graphics sound (replacing stubs used in proof of concept release)

February 8th

Beta Release Bug fixes Documentation overhaul

February 15th

Last minute changes and updates. Final Release Any wrap up required