Changes

Jump to navigation Jump to search
560 bytes added ,  15:59, 8 April 2009
m
fix camelcase links
Line 26: Line 26:     
* What is the name of your project?
 
* What is the name of your project?
KDEEdu
+
KDE Education Project for Sugar
 
* 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?
 
* 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?
There are a number of educational applications available on the K Desktop Environment. Sugar, having education in mind, would like to use these applications. The only problem is that these applications  are written for KDE using the Qt toolkit, while Sugar uses the GTK+ toolkit. Therefore for Sugar to have access to these applications they must be rewritten using the GTK+ toolkit.
+
There are a number of educational applications available on the K Desktop Environment. Sugar, having education in mind, would like to use these applications. The only problem is that these applications  are written for KDE using the Qt toolkit, while Sugar uses the GTK+ toolkit. Therefore for Sugar to have access to these applications they must be made compatible with the GTK+ toolkit.
   −
Trolltech, the developer of the Qt Toolkit, has included QGtkStyle into Qt 4.5. The QGtkStyle class provides a widget style rendered by GTK+ (http://doc.trolltech.com/4.5/qgtkstyle.html). QGtkStyle will allow programs written in Qt to integrate better into desktop environments that use GTK+. Using QGtkStyle as an alternative to recoding an entire program from Qt to GTK+ will dramatically speed up the process of bringing KDEEdu applications to Sugar.  
+
Trolltech, the developer of the Qt Toolkit, has included QGtkStyle in Qt 4.5. The QGtkStyle class provides a widget style rendered by GTK+ (http://doc.trolltech.com/4.5/qgtkstyle.html). QGtkStyle will allow programs written in Qt to integrate better into desktop environments that use GTK+. Using QGtkStyle as an alternative to recoding an entire program from Qt to GTK+ will dramatically speed up the process of bringing KDEEdu applications to Sugar.  
    
The only drawback to using QGtkStyle is that the Qt libraries will still be needed to run KDEEdu applications on Sugar. This may pose a problem for hardware with less resources such as the OLPC XO-1. After porting a KDEEdu application to Sugar and finding it stable, I will try to reduce the number of Qt libraries by removing ones that are not needed by the application.
 
The only drawback to using QGtkStyle is that the Qt libraries will still be needed to run KDEEdu applications on Sugar. This may pose a problem for hardware with less resources such as the OLPC XO-1. After porting a KDEEdu application to Sugar and finding it stable, I will try to reduce the number of Qt libraries by removing ones that are not needed by the application.
Line 74: Line 74:  
* 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.
 
* 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.
   −
This summer I will change my major from Electrical Engineering to Computer Engineering. The change is happening due to my increased interest in programming and open source software. My interest in software started when I took an introductory course on C programming. In this course I successfully developed programs to act as automatic teller machines, inventory databases, etc. I came to realize how useful programming knowledge is in our time. Later in my school career I took a course on Computer Organization. This course was based more on hardware but we used programming to understand the concepts. Our project for this course was to develop a program to act as a MIPS processor emulator; this emulator needed to successful process different instructions based on the MIPS datapath given to us. This would be my first experience with a large and complex program.
+
This summer I will change my major from Electrical Engineering to Computer Engineering. The change is happening due to my increased interest in programming and open source software. My interest in software started when I took an introductory course on C programming. In this course I successfully developed programs to act as automatic teller machines, inventory databases, etc. I came to realize how useful programming knowledge is in our time. Later in my school career I took a course on Computer Organization. This course was based more on hardware but we used programming to understand some of the concepts. Our project for this course was to develop a program to act as a MIPS processor emulator; this emulator needed to successful process different instructions based on the MIPS datapath given to us. This would be my first experience with a large and complex program.
   −
Eventually, I realized that most of my programming knowledge is based on developing engineering/scientific command line applications. So earlier this year I set a goal for myself to learn to use graphical toolkits. In order to learn the two major toolkits used in my experience, Qt and GTK+, I decided to help port applications between the two toolkits. This was to become my summer project, until I heard about Google Summer of Code and the KDEEdu idea from SugarLabs.  
+
Eventually, I realized that most of my programming knowledge is based on developing engineering/scientific command line applications. So earlier this year I set a goal for myself to learn to use graphical toolkits. In order to learn the two major toolkits, Qt and GTK+, I decided to help port applications between the two toolkits. This was to become my summer project, until I heard about Google Summer of Code and the KDEEdu idea from Sugar Labs.  
   −
I have already decided to dedicate myself to learning the skills needed for this idea over the summer. Nonetheless, I feel that working in a structured way with professionals would be extremely beneficial. My dedication to learning these skills and help from my mentor and the community will make success for this project a reality.
+
I have already decided to dedicate myself to learning the skills needed for this idea over the summer. Nonetheless, I feel that working in a structured way with professionals would be extremely beneficial to me and the open source community. My dedication to learning these skills and help from my mentor and the community will make success for this project a reality.
    
====You and the community====
 
====You and the community====
Line 84: Line 84:  
* 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.
 
* 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.
   −
With the completion of this project, Sugar Labs will have a documented procedure to port and deploy applications that are part of the KDE Education Project. This will include about twenty applications, and others that are built using Qt but are not part of KDEEdu. This will save Sugar activity developers from having to write applications that may already exist but are not built for Sugar or that use GTK+.  
+
With the completion of this project, Sugar Labs will have a documented procedure to port and deploy applications that are part of the KDE Education Project. This will include about twenty applications, and others that are built using Qt but are not part of KDEEdu. This will save Sugar activity developers from having to write applications that may already exist but are not built for Sugar or don't use GTK+.  
    
From homunq: KDEEdu is one of the most important set of open source educational programs. Having a demonstrated way to get those working in Sugar would help fill a number of important holes in our activity line-up, and would also help with making impressive demos.
 
From homunq: KDEEdu is one of the most important set of open source educational programs. Having a demonstrated way to get those working in Sugar would help fill a number of important holes in our activity line-up, and would also help with making impressive demos.
Line 94: Line 94:  
* What will you do if you get stuck on your project and your mentor isn't around?
 
* What will you do if you get stuck on your project and your mentor isn't around?
   −
I would look for answers with other developers. This project is a crossroads of many greater projects (Sugar, KDE, Qt, GTK+) and so I will attempt to get answers any way I can. That includes the fundamental Google search, followed by contacting developers on IRC and mailing lists. This task of inter-compatibility between graphical toolkits is so important to open source development that there should be some great advice available.
+
I will look for answers with other developers. This project is a crossroads of many greater projects (Sugar, KDE, Qt, GTK+) and so I will attempt to get answers any way I can. That includes the fundamental Google search, followed by contacting developers on IRC and mailing lists. This task of inter-compatibility between graphical toolkits is so important to open source development that there will be some great advice available.
    
* 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?
 
* 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?
Line 101: Line 101:     
====Miscellaneous====
 
====Miscellaneous====
* We want to make sure that you can set up a [[DevelopmentTeam#Development_systems|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.
+
* We want to make sure that you can set up a [[Development Team#Development_systems|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.
 
[[Image:Yazen'sDevSkillz.png|300px]]
 
[[Image:Yazen'sDevSkillz.png|300px]]
 +
 
* What is your t-shirt size? (Yes, we know Google asks for this already; humor us.)
 
* What is your t-shirt size? (Yes, we know Google asks for this already; humor us.)
 
Large
 
Large
 
* Describe a great learning experience you had as a child.
 
* Describe a great learning experience you had as a child.
I have always enjoyed hand-ons learning. One experience that I enjoy was making ice cream in school. The process was very simple: take the ingredients (milk, sugar, flavoring, salt) and put it all in a plastic bag. Next place the bag in a coffee can filled with ice. Now roll the can on the table (or wherever) for a while, maybe it was half an hour to an hour. Eventually, the ingredients in the bag will solidify and you will have ice cream. I think this was the first time that was able to see and participate in the process of making something I loved.  
+
 
 +
I have always enjoyed hand-ons learning. One experience that I enjoyed was making ice cream in school. The process was very simple: take the ingredients (milk, sugar, flavoring, salt) and put it all in a plastic bag. Next place the bag in a coffee can filled with ice. Now roll the can on the table (or wherever) for a while, maybe half an hour to an hour. Eventually, the ingredients in the bag will solidify and you will have ice cream. I think this was the first time that I was able to see and participate in the process of making something I enjoyed in my daily life.  
 
* 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?
 
* 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?
    +
I think the project is important for many of the reasons I've mentioned. But as for me, I have been known to work on the computer for up to ten hours straight without fatigue. That's not to say that I don't get frustrated when my programs don't work as expected, but I get in the zone and I really enjoy it. My programming projects (C, Matlab, etc.) have always been my favorite assignments and always keep me distracted from my other work. But then again, that's why I'm changing majors. ;)
    
<noinclude>[[Category:2009 GSoC applications]]</noinclude>
 
<noinclude>[[Category:2009 GSoC applications]]</noinclude>
    
[[Category:GSoC]]
 
[[Category:GSoC]]
2,751

edits

Navigation menu