Line 63: |
Line 63: |
| Q: '''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?''' | | Q: '''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?''' |
| | | |
− | A: This project has two components: | + | A: This project aims to create an Activity to allow users to easily broadcast and stream audio and video from their webcam and microphone or their computer's display output to a classroom's central server, and share the live feed with their peers. This will be integrated into the Neighborhood View (as a "broadcast audio and video to" option or similar) to allow for most seamless sharing of broadcasts. |
| | | |
− | 1. Develop an audio and video conferencing layer that can be integrated into applications such as sugar-chat-activity, and integrate such functionality into sugar-chat-activity. The layer would initially support the audio and video extensions to Jabber (Jingle), as well as the audio-video chat protocol utilized for local autodiscovered chatting. This would include, for example, widgets for video and audio chat, and the associated underlying backend code. This would be developed on top of Telepathy and Farsight2's libraries.
| |
| | | |
− | Rationale:
| |
| | | |
− | 2. Develop a user-friendly means to autodiscover and perform multimedia chat with nearby peers, without requiring the usage of a central server. This would be part of the Neighborhoood View.
| + | Rationale: This project does not aim to recreate Skype or similar central-server small-scale conferencing software. This project's local-peer-discovery and mass-broadcasting architecture would be of use in a classroom setting for the following reasons: |
| | | |
− | Rationale:
| + | As we have seen in classroom settings such as MIT's TEAL project (for teaching introductory Physics), in the context of displaying live information from a to a large group of students for an experiment, lecture, or the like, a video feed must be established and broadcast, ideally via several video displays. In TEAL, many projectors placed throughout the classroom are used for this purpose; however for an elementary school this would be prohibitively expensive. Assuming said elementary school is running a pilot program of Sugar-equipped laptops, they can instead have each student's laptop "listen" to incoming audio and video broadcasts, and display it when received. This also has the advantage of |
| + | |
| + | Security Architecture |
| + | |
| + | There is an obvious security risk of unsolicited streams appearing on students' laptops, especially if the broadcasting occurs from an online source. |
| + | |
| + | Video Sources |
| + | |
| + | Webcam |
| + | X11 desktop output |
| + | Icecast will be used for streaming video sources to the laptop. |
| + | |
| + | Video Interaction |
| + | |
| + | There should be some equivalent of a "pointer" on the video, for highlighting important information |
| + | |
| + | Potential Enhancements |
| + | |
| + | These enhancements are probably beyond the scope of a single GSoC project. However, since this architecture has the potential to replace the standard projector-based lecture presentation mechanism, perhaps other, non-video formats, namely PDF lecture slides, might be supported as a future enhancement as well. |
| | | |
| Programming Languages: Since sugar-chat-activity uses Python, I will likely be using it for this project as well. The Telepathy and Farsight2 libraries will be used for implementing the multimedia chat feature. | | Programming Languages: Since sugar-chat-activity uses Python, I will likely be using it for this project as well. The Telepathy and Farsight2 libraries will be used for implementing the multimedia chat feature. |
| | | |
− | # 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.
| + | Q: '''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.''' |
− | # 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.
| + | |
| + | A: Week 1: |
| + | Week 2: |
| + | Week 3: |
| + | Week 4: |
| + | Week 5: |
| + | Week 6: |
| + | Week 7: |
| + | |
| + | ---- |
| + | |
| + | Q: '''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.''' |
| + | |
| | | |
| ====You and the community==== | | ====You and the community==== |