Sugar Grane

Please apply also in melange, google's web app; if you do not apply there before April 3, we will not be able to accept your application.

Please keep an eye on your talk page (the "discussion" link above). If you hit "watch" above, you can set up your "prefs" to email you the first time it changes since you last saw it.

About you
Eduardo Silva Pereira
 * What is your name?

edsiper@gmail.com
 * What is your email address?

edsiper
 * What is your Sugar Labs wiki username?

edsiper
 * What is your IRC nickname?

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

Chile, available to work from 19:30 EST
 * Where are you located, and what hours do you tend to work? (We also try to match mentors by general time zone if possible.)

I've been using linux during the last 10 years, as end user, system administrator and developer. In 2001 I started to contribute to the open source world, I created a project called "Monkey HTTP Daemon", a  small and fast web server for Linux written in C.  Also I had contributed to the One Laptop Per Child (OLPC) project through GSoC 2006, developing a resource usage tool for Linux called Memphis, where we focus on      quantify CPU, X, memory usage among with other metrics. On 2007 I got involved in OLPC again through GSoC but on these time directly contributing to the UI    interface called Sugar, where I was helping to develop the graphic toolkit and contributing with different activities as the developer console, log viewer, terminal, irc client and others. Every year I dedicate some time to participate in national/International conferences as speaker trying to motivate others to participate. A resume of my code contributions can be found here: http://www.ohloh.net/accounts/edsiper?ref=Detailed
 * 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?

About your project
Sugar-Grane
 * What is the name of your project?

Kids do not bring a laptop or computer on his bag every day, Sugar-Grane is a new sugar core feature will allow to the kids to sync his session+activities+personal_data in a mobile storage device as an USB Key, after that the kid can plug his storage device in another Sugar running and it will change to the Graned session, on that way Sugar becomes a more powerful educational core providing the option to kids which do not own a laptop feels like to have one when plug their Sugar-Grane. This implementation need to be done in the core of Sugar and integrated with Journal for data sync. The big difference with Sugar_on_a_Stick, is that we don't keep the OS in the storage device, sugar_on_a_stick uses an OS very generic and with grane we avoid that, both have different goals. Grane will work over Sugar and Sugar over a very customized OS environment for the running hardware. It will be designed to fast-switching between session around different computers, computer just contain the Sugar environment and sugar-Grane do the dirty tasks. Also it will helps to do a hard copy from one kid session to another Sugar environment if desired.
 * 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 design of this project involves to patch the Sugar Core, adding the availability to reload different phases of the startup process as requested: - Read activities lists from given path - Load journal information using given path - Set user information Also, is necessary to define a directory structure in the storage device in order to let sugar recognize that a sugar-grane is present, eg: sugar-grane_unique_user_id/ | *--> session.info  -- Information about the sugar-grane session as id, creation date, last updated, etc *--> Activities/  -- Full activities *--> Journal/     -- Journal information *--> Preferences/ -- User session preferences as colors, name, picture, list of friends, etc using the proposed structure defined above, when a mass storage device is plugged, Journal will mount the device per default behavior and then we try to detect if exists a sugar-grane_unique_user_id directory, after validate the session.info file information and if everything is ok, we  launch a UI sugar_grane UI dialog asking to the user if he wants to switch to the session found. How to create a sugar-grande session in a mass storage device ?, add a 'Mobile' or 'Grane' menu item in the main sugar menu with options such as export, import, recover, info, etc.
 * How it should work
 * 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.


 * 1) Apr 20: Know mentor, discuss about the project
 * 2) Apr 27: Identify Sugar core areas which will need to be modified
 * 3) May 04: Propose on-fly sugar configuration paths
 * 4) May 18: Create "backup package" process,it will cover activities and journal data
 * 5) Jun 15: Submit patches for Sugar-Grane load interface: graned-storage-device-detect, start sugar session based on graned version.
 * 6) Jul 06: Bug fixing, Q/A, first official release


 * 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.


 * 1) I have completed successfully two Summer of Code with OLPC/Sugar
 * 2) I've been involved in educational areas for years, working in children communities through the YMCA.
 * 3) I've the required skills for design, programming and working globally.
 * 4) I'm very creative and I like to collaborate
 * 5) Contribute in open source is very attractive to me, I've been involved for years and I would be glad to participate as third time for Sugar-Labs.

You and the community

 * 1) 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.

The Sugar-data of each child will be portable and easily to load in a Sugar environment, this will impact in a positive way to childs who do not own a laptop and always could continue their work/game from there were the last time. I would like to be involved on this, I have a couple of ideas and some contacts with organizations, I think that we could discuss this in private in first instance.
 * 1) 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?

Sugar Labs is a community, I would contact other SL-SoC mentors or discuss my issue in the mailing list/IRC...etc
 * 1) What will you do if you get stuck on your project and your mentor isn't around?

Communication is the, mailing list is the best way to keep the community informed about the project progress
 * 1) 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?

Miscellaneous



 * 1) 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.

http://www.olpcnews.com/images/olpc-chile.jpg :D

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

Long time ago...when I was a child my clock stop to work, I decide to open it and do something, I just remove like 8 pieces, when I assembly again it continue not working and 2 pieces continue on my other hand, the conclusion was: try to fix, try to discover, but sometimes you cannot do things by your own alone, try to ask or get some help some times.
 * 1) Describe a great learning experience you had as a child.


 * 1) 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?

not at this moment...