Educational Blogger Project
- Abstract*
I will develop an educational blogging system that teachers and students can use to create and share content and runs efficiently on the XO laptop in low bandwidth environments. Current blogging systems tend to consume too much bandwidth, a precious commodity in some third world countries as stated by some users in Uruguay. Great success has been achieved from using blogging systems with the XO, but involved significant technical help and administration. This system would significantly facilitate the use of this technology on the XO environment, making it available for more widespread use.
- Project*
The project has already been divided into four steps on the requirements page (http://wiki.laptop.org/go/Requiremientos_Para_XO). At a high level, the requirements stipulate modifications to the WordPress system to make it support different levels of user permissions, synchronize blog data across servers to make data transfers as local as possible, more bandwidth conservative, and easy for a child to use and teacher to administer. I would like to create the four essential core functions of the XO educational blogging system and integrate them into a basic working application ready for deployment.
1) WordPress customization for granting different access levels As per requirements, I would like to create four access levels: public (internet), registered (school/class), selected (small group), publisher only. WordPress currently does not provide an effective mechanism for such a scheme. This modification would allow teachers to do things like keep posts private for their class, publish selected posts and create group projects. I propose implementing this feature by creating independent tables to store the permissions associated with each post and creating a class or set of functions (depending on target PHP version) to interface with this table. This would allow the feature to be fairly separate from the core of WordPress so updates and bug fixes to WordPress can be more easily integrated into the XO version of the system.
2) Daemons system for exchanging information within "Partner Servers" This consists of writing daemons for a set of servers to all share blog information. Essentially, public posts will be replicated across the servers so that internet bandwidth can be conserved (local caching). Other partner servers can store specific posts to make the information more readily available to the world. All of this is controlled by a web application. I would like to develop a set of PHP cron scripts to synchronize public posts between servers. Instead of sending the entirety of post information to each server, I think it would be sufficient to synchronize meta information for each post. Upon access of the post, the partner server would obtain the data from the originating server and cache it until new meta data appears for that post. This would conserve server-server bandwidth as well as client-server bandwidth.
3) WordPress customization for optimizing XO and children access WordPress currently contains many complicated features that can make the system appear intimidating for XO users. Simplifying the interface would make this system much more inviting to use. First, I would like to remove/hide complex WordPress features, unnecessary high bandwidth elements and XO incompatible elements. Also, I propose to simplify the theme interface and alter the editor interface. I think it would be sufficient for users to be able to select from a set of XO approved themes (that optimize bandwidth) and provide a few simple configuration options for style. I also want to modify the icon GUI in the editor with a more descriptive menu interface that would guide the child through formatting step by step.
4) Web application for creating and managing users and blogs School administrators need to be able to create/delete users, blogs and posts. A simple web based administration screen would allow them to do so as well as edit the settings of the system on the local school server. I would like to write a simple PHP script that allows administrators to change settings and manage users and blogs using browser based forms and controls.
- Benefits of Educational Blogging System*
-Adds teamwork capabilities to blogs through permissions creating a collaborative environment for students allowing teachers to use blogging as an effective educational tool -Much easier to set up and administer than current blogging systems -Overcomes limitations of bandwidth hungry blogging systems allowing for a good user experience on the XO
- Success Criteria*
The four stages of development described above can serve as the deliverables for this project. The system will have to work on the XO environment (both client and server) and be practical for use with low bandwidth.