Digital photography basics on GCompris A GSOC 2012 Proposal for GNOME
AbstractThe goal of this proposal is to develop a camera based educational activity toolkitthat extends GCompris, for kids between age group (2-10).“ Give a Child the Gift of Photography And You Give a Child a Key that CanOpen New Doors to Creative Expression, New Perspectives, Confidence, ArtisticAchievement, & FUN ”
MotivationCamera and Photography have always been fascinating for me and I wanted to domuch more with them.When I visited nearby rural areas in Rajasthan, India to train kids to use OLPClaptops , at that time making them familiar with GCompris fascinated me and drewmy attention to develop some activities related with camera to teach kids.Being kids lover, photographer and open source enthusiast. This project would letme combine all and Will help kids to learn as well.
Proposal Activity set: a) Know your camera Introduction know the parts and working of camera CamPuzzle b) Primary Light Colors Color Description (Primary, Secondary and White light) Identify colors (as Primary, Secondary and White light) Add color to get desired color c) Image filters Play with Different Filters Use Filters to get expected result Revert back the color d) Optics e) Take a shoot f) Camera Simulator
GCompris Camera Activities:A GCompris extension, that has following set of activities:a) Know your cameraIt will include the textual description of various parts of a camera and a level at theend to assemble various parts of camera in form of puzzles. Kids will click on eachpart of camera in the initial levels and will be explained its functionality in text /audio format. It will be categorized further as: Introduction know the parts and working of camera Cam-Puzzleb) Primary Light ColorsIn this Activity at the initial level there will be description about primary andsecondary light colors and formation of white light color with colors. Differentlevel of activities will be based on color selection, desired color formation, Kidswill be asked to form secondary color with mixing primary color. Furtherclassifications are as follows: Color Description (Primary, Secondary and White light) Identify colors (as Primary, Secondary and White light) Add color to get desired color
c) Image filtersIn the set of Image filters activity image filters will be presented to kids and lettingthem play with them and adjust brightness, saturation, hue, etc. In this activity, atthe end a level will be kept to make it more interactive where all filters will becombined together and kids will be asked to adjust different filters and produceexpected results in a specific image as bringing back tux to blue color andincreasing / decreasing its brightness etc. Also number of modes will be equivalentto number of levels in this activity as shown in the mockups below. Classificationsare as follows: Play with Different Filters Use Filters to get expected result Revert back the color
d) OpticsIn this activity we will teach kids about lens, magnification, how light ray passesthrough the lens but yes keeping it in mind the range of kids for GCompris is 2-10 ,here activity will be emphasize on on close / far and big / small (zoom in / out )effects as observed from camera lens. In this activity kids can learn how light rayscoming from object through camera lens in form of animations. Kids will be ableto change the position of lens and observe the effects.
e) Take a shootIn this activity well teach kid how to grab a picture holding a camera. Well assignthem a task mentioning different focal points and theyll be asked to capture them.Also a viewfinder will be provided on the screen as shown. The difficulty of levelwill vary on the number of objects in the Picture. Also in this set of this ActivityKids will learn about Identifying objects.f) Camera SimulatorIn this Activity, we will teach kid to interact with basic features of camera viasimulator. In the initial levels of this activity there will be explanation of each oneof them lightning, aperture, focal length, aperture ISO , etc individually and at theend of the level we will show them altogether and ask kids to modify image usingall the functionality. See 
Implementation: Getting insight into interaction between GCompris core and activity plugins. Create menus in xml formats for each activity including all important information & fields related with activity. Designing the User interface with PyGoocanvas to implement the canvas widgets & PyGTK for creating the GUI. Use GIMP for icon skins etc. Use PIL (Python Imaging Library) for image filters activity.  Developing algorithms for each game activity. Integrating algorithms with the code. To get started with sample code of pythontest & pythontemplate activities.
Timeline:April 23 - may 21:-Further discuss the activity ideas with the mentor-Getting familiar with PyGoocanvas, and GCompris API.-Getting familiar with the Gcompris development workflow.-Setting up the development environment.-Study the overview of game sequence & interaction betweenGCompris core & activity plugin.-Contact people whove worked on Gcompris in the past, learn from theirexperiences.Phase-1: May 22 - June 4:Start CodingUser Interface Design for the activities : Introduction and Know your Camera,Code integration of activity plugin with the UI.DocumentationPhase-2: June 5 - June 18:Designing UI for Primary Light Colors activity and its different levels,Code Integration and DocumentationPhase-3: June 19 - July 2:Designing UI for Image Filters and its different levels of Activity.Use of Python Imaging LibraryCode Integration and DocumentationPhase-4: July 3 - July 9:Designing UI for Optics ActivityMid-term evaluation:Three Activities will be Showable: know Your Camera, Primary Light Colors andImage Filters Activity with documentation.Phase-5: July 10 - July 16:Code Integration and Documentation for Optics Activity
Phase-6: July 17 - July 30:UI design for Take a shoot activity and its different level.Code integration and DocumentationPhase-7: July 31 - August 13:UI design for Camera Simulator activity with its different levels.Code Integration and DocumentationAugust 14 - August 20:Extensive Testing, Documentation & Debugging.Code cleaning.Final Release.