From Sugar Labs
< Karma
Revision as of 23:25, 2 April 2009 by Subzero (talk | contribs)
Jump to navigation Jump to search

About you

  • What is your name?

Felipe López Toledo

  • What is your email address?

zer dot subzero at gmail dot com

  • What is your Sugar Labs wiki username?


  • What is your IRC nickname?


  • What is your primary language? (We have mentors who speak multiple languages and can match you with one of them if you'd prefer.)


  • Where are you located, and what hours do you tend to work? (We also try to match mentors by general time zone if possible.)

México (GMT - 6). I prefer to work from 16:00 to 24:00

  • Have you participated in an open-source project before? If so, please send us URLs to your profile pages for those projects, or some other demonstration of the work that you have done in open-source. If not, why do you want to work on an open-source project this summer?

I was involved as a developer and the project leader of LIMAS (“List Manager Assistant”), it is a school project for management and control of students through mobile devices.

Virtual space: https://www.assembla.com/wiki/show/dragonteam
Repository: http://svn2.assembla.com/svn/dragonteam/

About your project

  • What is the name of your project?

Karma + Activities

  • Describe your project in 10-20 sentences. What are you making? Who are you making it for, and why do they need it? What technologies (programming languages, etc.) will you be using?

The main idea is to boost educational Web Develop.

There are lots of designers-particularly in developing countries-that want to contribute to OLPC. The bad news is that they don't know python. or GTK+. They may not even be familiar with linux. They do know HTML, CSS, Javascript, and Adobe Flash. ... Due to rise of the Internet and related boom in outsourcing, the vast, vast majority of programmers in developing countries are web developers(according to my own grossly unscientific survey). The rise of the Internet has also led a lot of talented graphic designers in developing and developed countries to learn web technologies. ... Unfortunately, there aren't any IDE's that provide WYSIWYG animation editing for DOJO, JQuery, and Processing.js and so on tools. While real programmers use emacs (or vi, joe, sam, etc.), designers use WYSIWYG GUI's. from How to Make Activity Designers Happy , Parts I and II

I propose using web technologies for completely offline activities. Allowing activity designers to quickly build activities utilizing widely-used tools. We need Karma (original idea Bryan Berry) to enable web designers to quickly build activities for the XO without having to learn a whole new skillset. So...I will creat an educational framework (Karma) using html5 + JavaScript, it will handle animation ( through <canvas>), sounds (through <audio>), also client-side i18n (according to browser locale) and general persistence (Gears) at the end we will have a re-usable javascript libraries for lesson plan reader (ideally with plain html rather than a pdf or other proprietary format), navigation and help (ideally reusing widgets from popular javascript libraries like Jquery, Prototype, Mootools or DOJO), etc. this framework will allow web designers to reuse their existing skills and tools.

The objetive is to provide a single prototype activity which could be used as a template for sugarizing AJAX activities. I will recreate an existing activity such as one of OLE Nepal's flash activities.

I am planning to use

  • Webkit for html rendering engine.
  • Google Gear's Filesystem API because it seems to have the most traction in the linux world.
  • What is the timeline for development of your project? The Summer of Code work period is 7 weeks long, May 23 - August 10; tell us what you will be working on each week. (As the summer goes on, you and your mentor will adjust your schedule, but it's good to have a plan at the beginning so you have an idea of where you're headed.) Note that you should probably plan to have something "working and 90% done" by the midterm evaluation (July 6-13); the last steps always take longer than you think, and we will consider cancelling projects which are not mostly working by then.

Before GSoc (right now! - may 22)

  • learn more about phyton
  • get familiar with Sugar
  • get familiar with html5

(discussing it...)

  • Convince us, in 5-15 sentences, that you will be able to successfully complete your project in the timeline you have described. This is usually where people describe their past experiences, credentials, prior projects, schoolwork, and that sort of thing, but be creative. Link to prior work or other resources as relevant.

I'm really motivated, I have the necesary time and I've good programming skills.

My main programming language is C/C++, using it I have developed:

  • sniffer for linux using libpcap
  • Othello game,
  • Pascal (with modifications) interpreter

among others minor porjects. However, the effectiveness of Phyton has led me to explore it, I've done some little experiments using it.

I've a lot of experience using flash, i.e. some projects:

  • Rule-based expert system using CLIPS for detection of hepatitis through internet (Source code)
  • Implementation of chess using Prolog as back-end and Adobe Flash (with Zinc) as the front-end under Microsoft Windows (Source code).

So, one good question is what am I changing sides? (why no using flash) I have been talking with Bryan Berry [1] and I have read several threads in the mailing list. Bryan has convinced me that open web technologies are the correct way in order to get an open-source ecosystem.

So... it seems that my experience with flash is not useful, well.. Flash uses Action Script that is really similar to Java Script (both are basend on ECMAScript). About web technologies I've used PHP (i.e. implementing BEA algorithm), html and css in school projects.

Also I have participated in several programming contest: "ACM Programming Contest México and Central América 2007" in 2005, 2007[2] and 2008[3] obtaining honorable mention, 5th (global) place and 8th (global) place respectively.

Other good question is: how are you in linux?, being honest I used both (linux and windows), I have done school work, projects and also I have used Gnash :)

You and the community

  • If your project is successfully completed, what will its impact be on the Sugar Labs community? Give 3 answers, each 1-3 paragraphs in length. The first one should be yours. The other two should be answers from members of the Sugar Labs community, at least one of whom should be a Sugar Labs GSoC mentor. Provide email contact information for non-GSoC mentors.
  • Myself:

I will make activity designers happy :) so, it will expand the range of activities and it will increase the number of Sugar programmers. You would be able to "view source" for any activity developed with Karma. Copy it - improve it - test it - release it!

Please feel free to add your comment here :)

  • Sugar Labs will be working to set up a small (5-30 unit) Sugar pilot near each student project that is accepted to GSoC so that you can immediately see how your work affects children in a deployment. We will make arrangements to either supply or find all the equipment needed. Do you have any ideas on where you would like your deployment to be, who you would like to be involved, and how we can help you and the community in your area begin it?

I have been talking with Gabriel Gerónimo Castillo [4] he's the leader and founder of "Sakua'an Sasiki - Club de niños Edumóvil" [5] at my university. The main idea of this club is to bring technology to children in areas of scarce resources, they give classes to children with linux games that we develop here.
He would love to work with us running the Sugar pilot group. He will support us with the facilities and staff if necessary.

  • What will you do if you get stuck on your project and your mentor isn't around?
  1. Google
  2. check sugarlabs/olpc wiki/mailing list
  3. talk with my mentor, other mentors and GSoC students
  4. ask on IRC channel
  • How do you propose you will be keeping the community informed of your progress and any problems or questions you might have over the course of the project?
  • Mailing the progress I have made on the sugar devel mailing list.
  • Constantly updating the activity wiki page as I make progress
  • Sending weekly reports to my mentor.


My first modification to the development environment.
  • We want to make sure that you can set up a development environment before the summer starts. Please send us a link to a screenshot of your Sugar development environment with the following modification: when you hover over the XO-person icon in the middle of Home view, the drop-down text should have your email in place of "Restart." See the image on the right for an example. It's normal to need assistance with this, so please visit our IRC channel, #sugar on irc.freenode.net, and ask for help.

see it ---->

  • What is your t-shirt size? (Yes, we know Google asks for this already; humor us.)


  • Describe a great learning experience you had as a child.

why why?
why why .... why?
asking "why" was a good way to challenge what everyone knows, we often ended learning together.

  • Is there anything else we should have asked you or anything else that we should know that might make us like you or your project more?

Adobe flash is currently the standard the creating interactive educational activities for the web. I strongly believe that a healthy open-source ecosystem will never develop around the flash platform for a number of reasons. Primarily because the Adobe run-time itself is proprietary and because flash programs are distributed in binary format. There are a lot more open-source projects working on extending the javascript API on linux than those extending the Flash API. The technologies of the OpenWeb -- html, css, and javascript -- have brought tremendous innovation to the wider Internet and real value to everyday people. I feel the same can be true for education if we apply the technologies of the OpenWeb to this problem space. My humble intent is to create a simple learning activity that shows OpenWeb technologies can be used in place of Adobe Flash.