Line 4: |
Line 4: |
| | | |
| # What is your name? | | # What is your name? |
− | #* Yao Zhang | + | #* Anu M |
| # What is your email address? | | # What is your email address? |
− | #* Saturntoad@gmail.com | + | #* anum.mec@gmail.com |
| # What is your Sugar Labs wiki username? | | # What is your Sugar Labs wiki username? |
− | #* Saturntoad | + | #* Anu m |
| # What is your IRC nickname? | | # What is your IRC nickname? |
− | #* Saturn | + | #* anu_m on freenode |
| # What is your primary language? (We have mentors who speak multiple languages and can match you with one of them if you'd prefer.) | | # What is your primary language? (We have mentors who speak multiple languages and can match you with one of them if you'd prefer.) |
− | #* Chinese & English | + | #* English |
| # Where are you located, and what hours do you tend to work? (We also try to match mentors by general time zone if possible.) | | # 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'm located in Shanghai, China( "UTC+8" ). | + | #* Time zone: Indian Standard IST |
| + | #*Location : Kerala,India |
| + | #*Time of work : 8.00am-6.00pm |
| # 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? | | # 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 have participated in the open-source project "Cairo-Dock(a.k.a GLX-Dock)" by doing some translation work.(URL: https://launchpad.net/~saturntoad) And now I think it is time that I should make more contributions to the open-source to do some critical and technical stuff because I think I am capable of it. It is the excellent experience of using open-source softwares as well as my current programming knowledge and skills that makes me want to work on an open-source project this summer. | + | #*I have been working in open source environment and always had wanted to contribute to the free and open source community.I've been really impressed by the olpc project.It is a really inspiring open source endeavour.I had installed Sugar and have been playing around with the activities. |
− | | |
| ====About your project==== | | ====About your project==== |
| | | |
| # What is the name of your project? | | # What is the name of your project? |
− | #* Language Primer | + | #*Talkie-a generic audio/video conferencing tool |
| # 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? |
− | #* In general, my project is to provide a simple and intuitive language learning activity for children who are either pre-school or low-grade elementary school students. | + | #: Sugar window manager is being used in various laptops which are connected in the local network.It misses an Activity that can be used to perform audio-video conferencing between the users of local machines conneted via wired LAN or wifi.The project aims at introducing audio and video conferencing tool.It can be done using the telepathy.Telepathy helps to provide idea of communication as a desktop service. It uses D-Bus to separate components running in separate processes. Telepathy clients use this D-Bus API to share connections between multiple clients.Telepathy-salut is an XMPP link-local serverless connection manager which is used for activity sharing and presence. Salut uses avahi which shows a real-time graphical browse list for mDNS/DNS-SD network services running on the local LAN using the avahi-discover. Telepathy-python is a python package containing base classes for use in connection managers, and proxy classes for use in clients. |
− | ##What am I making?
| + | #:Telepathy-python has support for audio and video streaming and has recently gained support for using gstreamer, which means that we could easily do efficient audio and video conferencing.As most of the applications in OLPC software,this tool can also be implemented using python programming language.To protect users security and privacy,only users given permission by the owner can share videos with the owner.So the tool will be a similiar to a chat client where neighbouring pcs in the mesh network will be used instead of the email-ids of users.The owner will have choice to accept or reject the share requests of neighbouring owners.The users have options for audio or video conferencing. |
− | ##*A simple and intuitive language learning activity.
| + | |
− | ##*It helps kids to learn a language from the basic letters, words to common daily usage of the language.
| + | :* Following technologies can be used to implement this project: |
− | ##*Intuitive images should be heavily included in it to make it easy and interesting for kids to use.
| + | :** Python |
− | ##*It has a language database, where entries can be easily added, removed or modified. | + | :** XMPP |
− | ##*To make it adapted to a new language should be easy, as most of the images can be reused without modification and the replacement of corresponding text can be done by using things "Google Translate" automatically.
| + | :** Telepathy-salut |
− | ##*It should also have the potential to add new language learning methods to it.
| + | :** Dbus |
− | ##Who am I making it for?
| + | :** Gstreamer |
− | ##*Mainly for kids who are either pre-school or low-grade elementary school students (between the age of 5~10 approximately) in less-developed and developing countries.
| + | :* The development of the Talkie activity can be stated in following sequence. |
− | ##*Can be used by teachers to help teaching, they can add, remove or modify any entries in the database.
| + | |
− | ##*Can also be used by elder students as a easy-to-use vocabulary enhancing tool.
| + | :* Write a python lib/module that implements basic functionalites like connection, streaming, disconnecting, authorization, logging and debug options. It will act as an API for Talkie.A Dbus service like org.talkie.widgets will be coded and all the methods of the above written python module will be exported into it.Hence it can be used as generic API for any other sugar Activities. Many Activities can share the audio/video conferencing and code new applications based on that. The above written python class will serve as base class for the audio/video conferencing. |
− | ##Why do they need it?
| + | :* Telepathy-python will be used as backend to the video conferenceing since telepathy salut can make local link xmpp service. In the case of normal xmpp connection, it requires an xmpp/jabber server. Here since its a local network, it is hard to maintain a server. Hence peer-peer connection should be implemented. For that each user should know ip addresses of other systems in the network. This can be resolved using Avahi. Avahi can be used to auto discover other devices available in the network. Hence we can easily provide a combobox or liststore object into which we populate the hostames of other machines to uniquely identify each of them. A user who wants to communicate can select the host and start video conference.Telepathy-salut handles this connetion establishment using xmpp protocols.Telepathy-python support for Gsteamer python can be utilised for audio-video conferencing.The record option can be included in the Talkie activity. |
− | ##*Because it is a critical time period for kids to get a good sense of language when in their early childhood.
| + | :* Once the backend python library is developed frontend can be used to link all of them. PyGTK development approach, which is the standard in developing activities for OLPC, can be used as frontend for Talkie Activity. UI part can be built with glade.The project can be split into Activity UI, device discovery with avahi,Telepathy,telepathy connection/ and libs method,gstreamer video/audio handling, Dbus service, methods exporting. |
− | ##*Can form a solid foundation of language for those kids, which is important for their further study.
| + | :* The project actually would be a great help for teachers who use presentations and videos to teach as the teacher can share it with all the students in the class.Students and teachers can also use this tool to communicate with the each other in large class rooms with hundereds of children. |
− | ##*When used to learn a native language, it can help reduce illiteracy rate in those countries.
| + | |
− | ##*When used to learn other languages like English, it can give those kids a better chance to meet their future challenge of the globaliztion and internationalization
| + | 3. 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. |
− | ##What technologies will I be using?
| + | * By the beginning of May,familiarise fully with the concepts of implementing Talkie.Talking with the mentors and deciding on all the issues regarding the project. |
− | ##*I will use my favourite programming language Python since Sugar is also written in Python so it should integrate well and my project do not need a huge amount of resources to run.
| + | * May 23-30 |
− | ##*For the UI part, I will use PyGTK as I have some experience with it.[[Image:PyGTK_Fingers_to9!.png|thumb|right|My little game using PyGTK..]]
| + | : Create a user friendly activity ui for the Talkie using PyGTK and Glade.The ui should include provisions for authentification and also forms for senting share requests. |
− | ##*For the database part, I will use the sqlite module as the whole db does not need to be very large and the performance on a XO should be taken in consideration as well.
| + | * May 30-Jun 6 |
− | ##*For the learning methods used in this activity, I will not only add my own learning experience of a student from a developing country to it, but consult some professors in the School of Foreign Language in my university as well. Also, some sophisticated commercial language learning softwares could be good reference for this activity, and I will try my best to simplify them to be suitable for kids.
| + | : Solving security related issues by introducing user authentification into the tool and using avahi daemon for device discovery. |
− | # 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.
| + | * June 6-13 |
− | #*Before the summer begins: Finish a draft for UI design. Consult language professors for proper learning methods and think about an approach to implement it. Set required environment and build a HelloWorld activity.
| + | : Getting D-Bus bus and Telepathy Connection & Contact,finding the handle for that contact,getting a Telepathy Channel,wraping it into Telepathy-Python and Request streams . |
− | #*Week 1:Discuss with mentor and have a total plan for the whole project. Decide and clarify all key details to implement the project.
| + | * June 13-20 |
− | #*Week 2:Code the UI part. This should be easy once the design is done before the summer begins.
| + | : Implement the audio-video conferencing by using telepathy-python and using the channel for communication of audio-video conferencing. Utilising the telepathy support for gstreamer for video conferencing.By the end of Interim evaluation,the main modules of the activity are complete. |
− | #*Week 3:Code the db part. This may be a little sophisticated and can take up a bit more time.
| + | * June 20-27 |
− | #*Week 4:Finish all the main framework by connecting the frontend and the backend as well as any rest part of the procject.
| + | : Final developments in the Talkie.The audio and video record options can be included. |
− | #*Week 5:Add basic images and entries to test if it works. Debug and solve problems.
| + | * June 27-Aug 4 |
− | #*Week 6:Add more images and entries to db.
| + | : Integrating the whole project and running it as a module.This involves the last modifications in the gui part so as to include all the options. |
− | #*Week 7:Writing documentation files.
| + | * Aug 4-10 |
− | # 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.
| + | : Further testing and error corrections.Final improvements for the Talkie.Documentation for the project |
− | #*First, I am capable of doing the project. I have had many computer science courses in university and have the programming experience in Python. Here is some of my work before.(If you want the source code or related screenshots please feel free to email me and I will be very happy to send them to you:)
| + | 4. 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. |
− | #**Fingers-to-9 ("http://fingers-to9.appspot.com/") - A small game originally written in PyGTK due to my personal interests. And later on I re-wrote it in Java to put it on the "Google App Engine" so that my friends who do not have Python and GTK installed can also play it online.
| + | |
− | #**MobileRave - An application written in PyS60(Python for S60) to prevent RSI(repetitive strain injury) caused by consistent use of mobile phones. I submitted it to participate in "Nokia CallingAllInnovators" event.[[Image:Scr000010.jpg|thumb|right|MobileRave - An application written in PyS60(Python for S60) to prevent RSI(repetitive strain injury) caused by consistent use of mobile phones.]]
| + | :* As i had recently done a project on developing an xmpp based chat messenger which implements transliteration,i'm familiar with the xmpp features.It was a python based project and the experiance gained would help me in the successful completion of this project.The screenshots of that project is available in the following link. |
− | #*Second, I have the time to do the project. I am an undergraduate student now and I do not have the burden of other heavy research work in the summer. And I am always enthusiastic about coding own creative stuff.
| + | http://code.google.com/p/sanschat/ |
− | #*Third, I come from a developing country. That makes me know well the society and what kind of help those kids need most.
| + | |
− | #*Most importantly, I really like open-source and regard the OLPC plan a wonderful and meaningful thing to do. After enjoying so much from the open-source communities and going through a little difficult childhood, I want make my own contributions to the open-source world as well as making other children's life better.
| + | |
| ====You and the community==== | | ====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. | | # 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: It can provide a language learning activity for Sugar and thus make the Sugar and the OLPC more complete in the field of education for young kids. And If my project is successfully completed, there will be more children in China know about the Sugar Labs community and the OLPC, and there will be more fellows around me who will have the interests and be willing to write more cool activities for the Sugar Labs community. | + | #* The completion of this project would give teachers more dedicated to traditional, presentation-based curriculum a new means to share multimedia such as lecture slides, live lab demonstrations, live demonstrations on software usage, or other multimedia. The project helps to reduce teachers' dependence on projectors, and even replace the need for expensive projectors, would also make it attractive financially for any budget-limited schools considering participation in the olpc program.The audio conferencing feature will facilitate better communication between teachers and students. |
− | #*From Christoph Derndorfer(christoph@olpcnews.com): "this definitely sounds like a great project idea! :-) ", "it's very important to provide a good interface for both using and building such language learning lessons", and "yet I think we haven't done a great job at addressing this when it comes to providing appropiate activities."
| |
| # 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 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 live in Shanghai, where there are many special elementary schools for children whose parents are immigrant workers(people who used to work as farmers and then went to big cities to seek opportunities of earning more money). In those schools, they don't have much modern teaching facilities and most of the students come from the poorest families in the city. I think those schools are where the deployment could be since most of them are in the best age for starting language learning but lack the facilities. | + | #* Though I would like a pilot to be set up near my locality,I cannot propose a good target as I'm not directly involved with any schools |
| # 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? |
− | #*Ask the community for help, e.g. on IRC, mailing list | + | #* I would utilize the IRC channel and mailing lists to get help from others |
− | #*do some googling, and look up in SugarLabs's wiki
| |
− | #*Turn to those professors in my university for help
| |
− | #*Discuss it with my fellows
| |
| # 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? |
− | #*I will report my progress to my mentor weekly, and post the progress report to the mailing list at the same time. I will also write blog posts to record those problems, questions and my own experience of taking part in the course of the project. | + | #* For documenting general progress and milestones achieved, I will be using a page on the Sugar Wiki which can be watched by any interested members. For any problems or questions I encounter, I will be sending email to the appropriate mailing lists, so those subscribed to them would be informed about it |
| | | |
| ====Miscellaneous==== | | ====Miscellaneous==== |
− | [[Image:Sugar_Ubuntu_Saturntoad_AT_Gmail.png|thumb|right|My version for the little challenge. There is no "Restart" in the newest version of Sugar..]] | + | |
| + | [[Image:http://wiki.sugarlabs.org/images/archive/7/71/20100402192146!New-developer-challenge.png|thumb|right|Replaced logout with my email-id..]] |
| # 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. | | # 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. |
− | #* Done. I've managed to find the corresponding source code on my own, but I can not find the "Restart" text at first. And then I was informed of the fact that there is an update of Sugar, and "Restart" has been removed :( by Mr.McNamara through email contact. So I replaced the text of "Logout" with my email address, build it and got the screenshot :) | + | #* The sugar 0.88 version do not have Restart.Hence made the changes in the Logout option. |
| # 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.) |
− | #* XL :) | + | #* M |
| # Describe a great learning experience you had as a child. | | # Describe a great learning experience you had as a child. |
− | #*When I was a child, here in China many children of the same age were forced by their parents to attend extra courses on weekends in order to get better grades at school and be more competitive to others. However, my parents did not do that to me. Instead, they just let me choose whatever I wanted to do. And my favorite choice was going to the local library. From there I read lots of interesting books, but more importantly it helped me form a habit of reading extensively and through reading my sight was largely broadened. I really wanted to thank my parents for letting me learn things in my own ways rather than attending those boring and meaningless weekend classes. That made me know how to read and then think deeply and independently, which I found was the basis for team working with others in my later studies. | + | #* I was a quick learner from childhood and i think self study is the best method of study. |
| # 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? |
− | #*Yep.. I like to add a large amount of sugar when drinking coffee so that it tastes really sweet~ :) | + | #* No |
| | | |
| | | |
| [[Category:GSoC]] | | [[Category:GSoC]] |