Push-to-Talk

From Sugar Labs
Jump to navigation Jump to search

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

  1. Sugar activity model based
  2. Streams music
  3. Silent until button pressed
  4. Mixes simultaneous speakers
  5. Activity has to be shared to allow streaming
  6. Multiple connections
  7. VoIP
  8. 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:

  1. 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.
  2. The call by the caller is accepted by the users by clicking on a green button in the GUI of the Push-to-Talk.
  3. 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.
  4. The users could disconnect from the call by pressing on the Red button in the GUI to leave the shared activity.
  5. 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.
  6. To end activity, caller disconnects from the activity by pressing STOP.


Technologies

  1. TCP/IP and audio interfacing is what would be required.
  2. Later icecast server for streaming music MP3 audio streams.
  3. Gtk+ would be used for developing the graphics part.
  4. Use Farsight.

Needs

  1. 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.
  2. 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
  3. It would allow interactions between children from different schools across the globe.It would lead to free speech.
  4. It could also be used a Disaster Management tool.

TimeLine

  1. Implement Command Line Interface for setting up a multicast network.
  2. Establish chatting interface through which users can chat textually through the command line.
  3. Work on icecast server
  1. Add audio interface.
  2. Work on GUI
  3. Upload snapshots of GUI on wiki.
  1. Change from CLI to GUI
  1. Documentation
  2. Testing
  1. Defect Tracking
  2. Work on Alpha Release

[ALPHA RELEASE]

  1. Write "Read Me" file. i.e Work on Documentation
  2. Provide Bug List
  3. Testing on XO
  4. Community Testing
  1. Feedback from Community
  2. Minor tweaking
  3. Prepare for Beta Release
  4. 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