Changes

Jump to navigation Jump to search
3,944 bytes added ,  20:19, 27 November 2011
m
proper category
Line 27: Line 27:  
5. '''What is your primary language? (We have mentors who speak multiple languages and can match you with one of them if you'd prefer.)'''
 
5. '''What is your primary language? (We have mentors who speak multiple languages and can match you with one of them if you'd prefer.)'''
   −
My native language is Portuguese but I have a advanced level of English too.
+
My native language is Portuguese but I have an advanced level of English too.
    
----
 
----
Line 33: Line 33:  
6. '''Where are you located, and what hours do you tend to work? (We also try to match mentors by general time zone if possible.)'''
 
6. '''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 am located on São Paulo, Brazil (GMT -3). I prefer to work after the lunch time until late hours in the night but it is not a problem to work in another horary.
+
I am located in São Paulo, Brazil (GMT -3). I prefer to work after the lunch time until late hours in the night but it is not a problem to work in other periods.
    
----
 
----
Line 39: Line 39:  
7. '''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?'''
 
7. '''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?'''
   −
Yes, I participated in some open-source projects before. Some of them was developed in the classes of university (they are in different stages of development) and they are hosted at Google Code:
+
Yes, I participated in some open-source projects before. Some of them were developed in university classes (they are in different stages of development) and they are hosted at Google Code:
   −
* Alumini (http://code.google.com/p/alumini/): a manager of Conferences;
+
* Alumini (http://code.google.com/p/alumini/): a conferences manager;
 
* Labsof2 (http://code.google.com/p/labsoft2/): a System Service Center and
 
* Labsof2 (http://code.google.com/p/labsoft2/): a System Service Center and
 
* Pintassilgo (http://code.google.com/p/pintassilgo/): an image gallery.
 
* Pintassilgo (http://code.google.com/p/pintassilgo/): an image gallery.
Line 53: Line 53:  
I have just started two new open-source projects at university:
 
I have just started two new open-source projects at university:
 
* Labsoftinfra (http://code.google.com/p/labsoftinfra/): an application for PDA to manage the classroom equipments and a web application to supervise the university stock. It has been developed for a course named Software Engineering Laboratory 2 and
 
* Labsoftinfra (http://code.google.com/p/labsoftinfra/): an application for PDA to manage the classroom equipments and a web application to supervise the university stock. It has been developed for a course named Software Engineering Laboratory 2 and
* FEBRACEV (http://github.com/nathaliaspatricio/febracev): my capstone project and it will be developed a Virtual Science Fair.
+
* FEBRACEV (http://github.com/nathaliaspatricio/febracev): my capstone project and it will be a Virtual Science Fair.
      Line 68: Line 68:  
1. '''What is the name of your project?'''
 
1. '''What is the name of your project?'''
   −
The name of my project is “ Programmable Brush for Oficina”
+
The name of my project is “ Programmable Brushes for Oficina”
    
----
 
----
Line 74: Line 74:  
2. '''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?'''
 
2. '''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?'''
   −
Oficina is one of the Paint Activities for Sugar. It has a lot of tools like brushes, eraser, forms and text. The objective of the current project is to develop a new tool for Oficina. This tool is a programmable brush with kids can write your own brushes.
+
Oficina is one of the Paint Activities for Sugar. It has a lot of tools like brushes, eraser, forms and text. The objective is refactoring the Oficina code and make a common base where tools can be plugged. The current available tools will use this base. With this, kids can put the tools that they want, including their own brushes.  
    
In Turtle Art Activity there already is a way to plug a python code to add new block's functions. The idea is add a similar feature to Oficina. Sugar has already a python editor called Pippy. Using this kids can developed or edit your own brush and import your custom code into Oficina using the Pippy button.
 
In Turtle Art Activity there already is a way to plug a python code to add new block's functions. The idea is add a similar feature to Oficina. Sugar has already a python editor called Pippy. Using this kids can developed or edit your own brush and import your custom code into Oficina using the Pippy button.
 +
 +
One example of a tool code (nowadays it is the current brush):
 +
 +
    def brush(self, widget, coords, last, size = 5, shape = 'circle'):
 +
        widget.desenha = False
 +
        if(shape == 'circle'):
 +
            widget.pixmap.draw_arc(widget.gc_brush, True, coords[0], coords[1], size, size, 0, 360*64)
 +
            if last:
 +
                widget.gc_brush.set_line_attributes(size, gtk.gdk.LINE_SOLID, gtk.gdk.CAP_ROUND, gtk.gdk.JOIN_ROUND)
 +
                widget.pixmap.draw_line(widget.gc_brush,last[0]+size/2,last[1]+size/2,coords[0]+size/2,coords[1]+size/2)
 +
                widget.gc_brush.set_line_attributes(0, gtk.gdk.LINE_SOLID, gtk.gdk.CAP_ROUND, gtk.gdk.JOIN_ROUND)
 +
        if(shape == 'square'):
 +
            widget.pixmap.draw_rectangle(widget.gc_brush, True, coords[0], coords[1], size, size)
 +
            if last:
 +
                points = [coords, last, (last[0]+size,last[1]+size), (coords[0]+size,coords[1]+size)]
 +
                widget.pixmap.draw_polygon(widget.gc_brush,True,points)
 +
                points = [(last[0]+size,last[1]), (coords[0]+size,coords[1]), (coords[0],coords[1]+size), (last[0],last[1]+size)]
 +
                widget.pixmap.draw_polygon(widget.gc_brush,True,points)
 +
        if last:
 +
            x = min(coords[0], last[0])
 +
            width = max(coords[0], last[0]) - x
 +
            y = min(coords[1], last[1])
 +
            height = max(coords[1], last[1]) - y
 +
            widget.queue_draw_area(x, y, width+size, height+size) # We add size to avoid drawing dotted lines
 +
        else:
 +
            widget.queue_draw()
 +
 +
 +
Other important functionality is that children can share their brushes since Sugar 0.84 already allows users to take any item in the Journal and send it to anyone else. There are already some available tools for default but kids can modify or delete this.
    
Oficina is developed in Python using PyGTK library and the bucket tool is implemented in C language. I will use these technologies in my project.
 
Oficina is developed in Python using PyGTK library and the bucket tool is implemented in C language. I will use these technologies in my project.
Line 89: Line 118:  
* Study the Oficina code and his architecture (remember some things because it has a lot of time since I worked with it)
 
* Study the Oficina code and his architecture (remember some things because it has a lot of time since I worked with it)
 
* Study a similar feature in the Turtle Art Activity
 
* Study a similar feature in the Turtle Art Activity
* Development of a simple brush
      
June 6 - July 7
 
June 6 - July 7
* Development of the programmable brush
+
* Development of the common base
    
July 8 - July 12
 
July 8 - July 12
 
* Preparation of the alpha release
 
* Preparation of the alpha release
 +
* Development of some example brushes for demonstration
    
July 13
 
July 13
Line 126: Line 155:     
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.'''
 
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.'''
 +
 +
My answer:
 +
 +
This project is important for Sugar Labs community since a Paint Activity like Oficina is one of the core activities in the Sugar and it has a good and improved activity of this type is necessary for the adoption by schools and kids. Before children can read words they learn another expression ways and the painting is one of the most important way. In my proposal the main idea is to turn Oficina a more flexible expression environment. This would allow greater freedom for children' expression since they could create their own brushes. Moreover, this idea has a interdisciplinary characteristic because children can work the artistic side and also learn how to programming. When I participated in deployment of XO here in Brazil we had a couple of discussions on what the children wanted and what we didn't have. I thought they needed more brushes and tools. Especially, the power to create them on our own, which is missing.
 +
 +
Manu Sheel Gupta (manu@laptop.org) - Oficina maintainer:
 +
 +
This project will help meet one of the most important goals of Sugar Labs and free software - "to make it simple for the user to extend activities". This is very important as free software communities build on top of each others' work to build learning eco-systems. Collaboration, and building of such an eco-system in absolutely essential for the sustainability of the project and the communities. I believe that giving the power to the user to develop brushes of their choice is what a paint activity is supposed to do. And, this feature will help shape this idea, and put it in the right context, which has been missing since day one of any paint project. I wish to see this proposal getting selected.
    
----
 
----
Line 162: Line 199:     
3. '''Describe a great learning experience you had as a child.'''
 
3. '''Describe a great learning experience you had as a child.'''
 +
 +
A great learning experience came from the incentive of reading Brazilian Children's books when I was in primary school. Nowadays I can learn about everything that I want or which I am curious about. I think it is possible today because of this incentive that I have had. This makes me more participative in my learning process and interested in learning technologies.
    
----
 
----
Line 171: Line 210:  
The paper calls "Testing the OLPC Drawing Activity: an usability report" by Alexandre Antonino Gonçalves Martinazzo, Nathalia Sautchuk Patrício, Leandro Coletto Biazon, Irene Karaguilla Ficheman and Roseli de Deus Lopes. It is available in the link: http://www2.computer.org/portal/web/csdl/doi/10.1109/ICALT.2008.200.
 
The paper calls "Testing the OLPC Drawing Activity: an usability report" by Alexandre Antonino Gonçalves Martinazzo, Nathalia Sautchuk Patrício, Leandro Coletto Biazon, Irene Karaguilla Ficheman and Roseli de Deus Lopes. It is available in the link: http://www2.computer.org/portal/web/csdl/doi/10.1109/ICALT.2008.200.
   −
[[Category:2009_GSoC_applications]]
+
[[Category:GSoC]]

Navigation menu