Video Chat

From OLPC
Jump to navigation Jump to search
Activity-VideoChat.svg
Trac print.png Tickets all - active - new

see more templates or propose new

VideoChat has been used successfully in Australia to connect a school on the continent with a school on a remote island. See the project description for more details.

Summary

The Video Chat activity is a fun way for children to communicate with each other both audibly and visually. In addition to the basic one to one video chatting interface, the activity will also provide a virtual shared whiteboard for sketching on throughout the conversation.

Version 9 of Videochat has 640x480 resolution and 7.5 frames per second. This results in about 400kBs throughput. We are looking how we can reduce this. (Pia Waugh - Feb 2009)

Implementation information

To roll out the Videochat you need the following:

  • A jabber server - you can either use an existing public jabber server (although for ongoing use you should consider hosting one for your users to ensure it is available). Of you can install the schoolserver. Both laptops you want to chat need to change their "server" in the network settings to the same jabber server. If you can't see the other laptop in your network view, then you won't be able to videochat with them.
  • Two XO laptops either on the same network, or contactable with different public IP addresses via the Google STUN server. If neither then use a VPN to connect your two sites together.
  • XO image 8.2.1 (8.2.0 works but has network bugs that interrupt videochat stream significantly)

To use the application, have both users start videochat. They should each see the XO icon of the other pop up in the bottom of the screen. Then one person clicks the other, the other clicks "accept connection" and after a few seconds a videochat stream is established.

Please note: Version 9 of this is the first tested one that works, however it has a few bugs. For instance when the receiving client switches to another app or to the frame and back, the Videochat GUI crashes, although the video and audio stream continue.

Goals

Basic Communication

The Video Chat activity will provide, first and foremost, a way for children to communicate with a live audio and video connection. This activity will be limited to simple one to one interaction, but this limitation also allows for an extremely simple interface which will make video chats easy for them to initiate and participate in. The only controls surrounding the chat itself may be a "mute" button which will suspend transmission of outgoing audio and video temporarily, for privacy concerns.

This goal is achieved

Virtual Whiteboard

Extending the nature of this shared communication space, the Video Chat activity will have a virtual whiteboard space within which the children can draw throughout the conversation. This could be used in a variety of ways: simply for some collaborative doodling, for sketching ideas and improving productivity, or simply for playing a game of tic-tac-toe. The controls remain simple, providing a drawing tool (with color selection), an eraser, and a clear button which will erase the entire screen. To preserve important ideas resulting from the conversation, a snapshot of the screen may be taken at any time, creating an image entry in the journal.

This goal is not achieved

Drawing on Video

Since the virtual whiteboard covers the entire screen area, children can have some (less productive, but just as worthwhile) fun by drawing directly on top of the live video streams. Mustaches, glasses, and horns may be the obvious choices, but nothing limits the creative potential that this simple interaction allows. Of course, the whiteboard is shared, so any devious drawings a child creates over her friend's face will appear over her own at his end. Clicking on the thumbnail preview video will swap the video feeds, allowing each participant to see himself under his own drawing as well.

This goal is not achieved

Collaboration

Chat is a naturally collaborative activity. As such, no specific discussion is really needed beyond the overall goals for the activity.

Visual Design

Media

Document Description
Activity Mockup (1.7MB) history Adobe Illustrator file containing mockups for each toolbar


Screenshots

Please note, these are conceptual, the actual application at this point only does basic video/audio streaming and the whiteboard functionality is in need of development.

Drawing on live video
Pasting images
Swapping video

Development

Update

Work was done on this Sept/October 2008 and now it is available as a single working package. Available here VideoChat-9.xo

The history is available here. Note: The current activity source was a proof of concept and doesn't work with current builds.

Feature Requests

Hello, is there any compatibility with Skype network, i.e. is it possible to connect from within this application to Skype connected users ? If not, would it be easy to implement it ? Thanks a lot. Matthias Macé (France/Catalunya)

Implementation Discussion
Version History

VideoChat@RIT

VideoChat will be the focus of a new campaign at RIT sponsored by PEN International The following is the Job Description that was sent out to prospective students:

Developers will be focusing on a specific application: The Video Chat Activity for the XO platform. 
Developers sponsored by PEN International will be charged with developing a proof of concept by improving 
the underlying software stack to provide video chat functionality for communication between deaf and hard 
of hearing students in a classroom environment. The project leaders at PEN have expressed a long-term 
interest in the life of this application that includes release into the Opensource ecosystem, and eventually 
porting to other platforms.
Development will be documented on a weekly basis for publication/dissemination for the NTID Technology  
Symposium and for the Open Source communities (i.e.This wiki, and Opensource.com). Deliverables will be 
the application itself and the raw documentation of the process. Documentation of the process and the 
development team's experience will be released on an ongoing basis--live when possible--and will culminate 
at the terminus of the project with an open source video production to be released and viewed at the NTID 
Technology Symposium and FOSScon RIT this summer.

Current Development

For up to date information go to our wiki here.

OVC@RIT Team

RIT OVC Project

Name URL Role
Remy DeCausemaker RIT People Profile Project Lead & Storyteller
Justin Lewis RIT People Profile Lead Developer
Taylor Rose Blog Developer


Source

none available

Activity Download

VideoChat-9.xo <math>Insert non-formatted text here</math>[[Media:Example.ogg]]

Resources

See this discussion thread: http://www.mail-archive.com/sugar-devel@lists.sugarlabs.org/msg12095.html