Push-to-Talk
Push-to-Talk
Description
I would implement a Push-To-Talk activity for the XO. It would act like a walkie-talkie. It would provide XO with the much needed VoIP. I would also enable it to play media files on other XO s from the XO which is sharing the media file.
Features
- Sugar activity model based
- Streams music
- Silent until button pressed
- Mixes simultaneous speakers
- Activity has to be shared to allow streaming
- Multiple connections
- VoIP
- User who may not get an invitation to join the activity may request one to the caller from the neighborhood view.
Individual Test Distribution Story:
- Caller shares activity in the neighborhood or to a specific user.As such all users with Push-to-talk receive an invitation to join / share the activity to converse with the caller.
- The call by the caller is accepted by the users by clicking on a green button in the GUI of the Push-to-Talk.
- Users who may not get an invitation may request the caller to allow him/her to join the activity.This may appear as yellow notification on the GUI of the caller.The name of the user would also be displayed.The caller may press the yellow notification / button to accept the user else he may ignore it.Once the user is accepted he is treated like a normal user.
- The users could disconnect from the call by pressing on the Red button in the GUI to leave the shared activity.
- Similarly the caller may disconnect from the users of the shared activity.He would press the red button and then the name of the user he would like to disconnect.
- To end activity, caller disconnects from the activity by pressing STOP.
Technologies
- TCP/IP and audio interfacing is what would be required.
- Later icecast server for streaming music MP3 audio streams.
- Gtk+ would be used for developing the graphics part.
- Use Farsight.
Needs
- It would provide XO with a VoIP activity.It is about facilitating free speech. It is but natural for humans to speak.The very ability to talk has brought mankind this far.Thus, Push-to-Talk would provide an easy way to converse with anyone who is using this activity.
- Locally, it would allow conversations and allow sharing of media files.It would also be used as a platform to develop a community radio http://wiki.laptop.org/go/Xoradio
- It would allow interactions between children from different schools across the globe.It would lead to free speech.
- It could also be used a Disaster Management tool.
TimeLine
- Implement Command Line Interface for setting up a multicast network.
- Establish chatting interface through which users can chat textually through the command line.
- Work on icecast server
- Add audio interface.
- Work on GUI
- Upload snapshots of GUI on wiki.
- Change from CLI to GUI
- Documentation
- Testing
- Defect Tracking
- Work on Alpha Release
[ALPHA RELEASE]
- Write "Read Me" file. i.e Work on Documentation
- Provide Bug List
- Testing on XO
- Community Testing
- Feedback from Community
- Minor tweaking
- Prepare for Beta Release
- Commenting the other parts of the push-to-talk source code, to make it a little easier to understand for newcomers to this project.
Contact
I am Zubair Assad.Feel free to contact me at: i.am.zubu[AT]gmail[DOT]com