Summer Coding 2010 proposal - web cam support implementation in libyahoo2

About my project

 * 1) The name of the project is implementation of web cam support in libyahoo2  which is broken due to changes in protocol.
 * 2) Yes, the  project does come from an idea on the summer coding 2010 page . https://fedoraproject.org/wiki/Summer_Coding_2010_ideas_-_Libyahoo2
 * 3) The project would deal in implementing the web cam support in libyahoo2, while the libyahoo2 complies to YMSG16 . This project would help all the messengers that are based on libyahoo2 or the ones that are going to be developed on libyahoo2 to get a wholesome nature when the web cam chat mode would be enabled. This project would require a thorough understanding of the protocols like UDP , SIP , and how they have been implemented in the yahoo server. Thus the libyahoo2 code has to be understood first , which includes the code for web cam , even though its not working , which would help us to understand how the yahoo server might work . The technology used would include Socket programming in C , understanding all the RFC’s for the various protocols , analyzing protocol dumps taken from client-server communication using wireshark or tcpdump . Further , this package when completed should be provided with a better documentation , thus easing future usage and understanding , and also would be pushed into the fedora repository.
 * 4) * June 1st to June 10th - Understand current functionality of libyahoo2 and its current webcam code, read the RFC’s for the protocols and polish the socket programming skills.
 * 5) *June 10th to June 14th -  Analyse protocol dumps using the official libyahoo2 messenger . This I have given more time as it would take some time to understand how the interaction with the Yahoo server is taking place, and already knowing the protocols well in advance , would help us to understand the dumps quick enough to move into the coding session.
 * 6) *June 14th to June 21  – Implementing the module of switching on the web cam and being able to take feeds (frames ) from it and transmit it using the UDP protocol.
 * 7) *June 21 to June 28- Implementation of the previous module, through libyahoo2 , keeping in mind the interaction with the yahoo server should not be broken.
 * 8) *June 28 th to July 5 th Implementing the module of authentication of the data being sent, by implementing the SIP protocol , and making sure the interaction is smooth with the Yahoo server.
 * 9) *July 5th to July 12th   – Doing integration testing of the code, by using either freehoo or ayttm.
 * 10) *July 12th to July 19th - Providing a better GUI window for the user so that he/she can see live feed of web cams of both him/her and the person with whom he/she is having web cam conversation.
 * 11) *July 19th   to July 26th  – Implementing a mechanism of dealing with bots and more testing and  debugging using integration testing
 * 12) *July 26th to August 4th – Test its efficiency by analyzing the packet dumps from the messenger which would have implemented the web cam support  and then pushing it into the fedora package.
 * 13) *August 4th to August 9th – Prepare proper documentation, and wiki pages of the work done , and how to implement the protocol to build a messenger from it , thus helping the others in the community.
 * 14) I have worked on my college projects, the first one was building an intranet code repository , which can be accessed through the lan , based on C , Python and Sql and a lot of socket programming . I also did a project dealing with implementation of an encryption called microTesla in network sensors , using nesC as my final year project . I have also worked in Centre for Artificial Intelligence and Robotics in implementing various papers and then building a robotics framework , similar to ROS ,with the help of my mentor and other colleagues there . Have also worked as a free lance coder building lexers , code debuggers for others  . My knowledge in C is efficient and my network basics are in depth . I have also worked in various hacking competitions in IIT Chennai fest , which needed usage of wireshark.
 * 1) I have worked on my college projects, the first one was building an intranet code repository , which can be accessed through the lan , based on C , Python and Sql and a lot of socket programming . I also did a project dealing with implementation of an encryption called microTesla in network sensors , using nesC as my final year project . I have also worked in Centre for Artificial Intelligence and Robotics in implementing various papers and then building a robotics framework , similar to ROS ,with the help of my mentor and other colleagues there . Have also worked as a free lance coder building lexers , code debuggers for others  . My knowledge in C is efficient and my network basics are in depth . I have also worked in various hacking competitions in IIT Chennai fest , which needed usage of wireshark.

Me and the community
If my project is completed in Fedora -- freehoo and ayttm. Those messengers can then avail of the webcam feature as a result of successful completion of this project.
 * 1) *Mine : This would bring a wholesome look to the messengers in fedora like freehoo and ayttm, which have been based on libyahoo2 , as they would be having support similar to any messenger working on windows . Previously , to attain the functionality of yahoo messenger , it had to be installed through wine , but could never give the similar features or feel as it could give in windows. With libyahoo2 and all features like web cam support up and runing , it can give a huge boost to developers building messengers for modern day usage . Future development can also be trying to use the protocol to do video streaming  , which can only   result in more popularity fedora , linux , and the open source community in general.
 * 2) *Mentor : libyahoo2 is packaged for Fedora and is used by two instant messengers
 * 1) *Mentor : libyahoo2 is packaged for Fedora and is used by two instant messengers
 * 1) If I get stuck, I will take help from the various libyahoo2 forums , libyahoo2 mailing list , my fellow libyahoo2 enthusiasts who would be working on libyahoo2 and also use sites like StackOverflow or ServerFault to advantage.
 * 2) Apart from blogging twice a week  , I shall keep my mentor informed about the progress with constant exchange of mails  , I would also be in touch with the others who are working on libyahoo2 FSOC  proposals , so that the work can be coherent.

Miscellaneous

 * 1) I have installed libyahoo2, ayttm , yahoo messenger on wine , tcpdump , wireshark , have read the RFC’s regarding various protocols and also have gone through the code of libyahoo2.
 * 2) Yes, I have been in constant touch with Siddhesh Poyarekar, who is going to be the mentor of the project . He has been extremely helpful and has been providing guidance in the project.
 * 3) My tshirt size is L.
 * 4) I was suspended from my computer lab when I was in Std-4, as I  put an infinite  for loop  which somehow managed to crash the computer  in gw basic . I wasn’t any good in computers then and I took it up as a challenge to understand why I was being punished , when all my fault was putting an infinite loop .  It took me 1 year  to figure out what exactly had happened , as none of my teachers knew the answer and there wasn’t much of internet around my place . Stack Overflow , the problem which crashed the computer , but it was not the problem , but the learning curve towards knowing that it was a huge push for me in the field of computers and there was no looking back since then.
 * 5) I believe in my abilities of doing well, and like to think twice before I code.

Comments
Use the Talk:Summer Coding 2010 student proposal application to actually make comment, which then appear here on the main proposal page. You can use this link to make a new comment].