Lynckia is based on WebRTC technologies. It is 100% compatible with latest stable versions of Google Chrome. Web users will be able to talk from their web browsers with no need to installing anything. Lynckia allows web developers to include videoconference rooms on their web. They can also implement streaming, recording and any other real-time multimedia features!
Social Stream is an engine for Ruby on Rails , the popular web development framework. Social Stream provides your Rails application with a robust and flexible framework for building any kind of social network websites. Social Stream has already used in succesful websites such as the Virtual Science Hub , an excursion-oriented social network, and Advise Only , and invertors social network.
Objective: Design and implement a Gateway to non-WebRTC systems. This gateway will deal with signalling translation between protocols and it could use the available transcoding component to send video in different formats.
Objective: There is a wide variety of devices that can be connected to the Internet nowadays. Lynckia supports connections from desktop, tablet and mobile phone with Android and Chrome Beta, so it will be desirable that Erizo could deal with different screen sizes and connection bandwidth. The group already implemented a similar component in Flash, but now, in Lynckia, it has to be refactored in C++ for WebRTC videos.
Objective: This challenge includes the design and the implementation of a software module that receives a media stream from the Lynckia MCU (erizo), processes it modifying the audio samples and/or video frames and sends the result back to the MCU. It can be use for multiple tasks like augmented reality or adds management. The module can be implemented in any language.
Objective: Lynckia now supports multiplex for audio and video streams. Now that WebRTC also supports Data the student could implement the DataChannel API in Lynckia. It will also be used to forward data between multiple participants, in a similar way it is currently done using WebSockets. The development will focused on the different protocols involved in this API.
Objective: For features related with performance and scalability of Lynckia it is very useful the development of a monitoring console that analyze the state of the computers in which the MCUs are running (like CPU, memory or bandwidth usage). Also this console can include a module to manage the resources that Lynckia is using in a session, starting or stopping computers, managing the rooms, configuring parameters of the MCU, etc.
Knowledge on Cloud platforms and typical scalability issues.
Objective: Lynckia is now focused on Amazon EC2 API to increase/decrease the number of Erizo Controllers, but other Cloud platforms also offer scalability opportunities to Lynckia. For example, OpenStack also allows to increase the size of the virtual machines, and start and stop similar virtual machines. The student could implement different wrappers to different Cloud providers in order to scale the number of machines in a Hybrid Cloud scenario.
Objective: Lynckia already provides a mechanism to develop brand new web applications where many users may get involved in interactive rooms by sharing their audio, video and data. There has been a lot of examples using Lynckia that provide interactive games, 3D videoconference scenarios, access to IP cameras, etc. During this development the student could improve Lynckia’s user API to provide advanced functionality for the web developers, such as video and audio management, video pattern recognition, etc.
Objective: Social network federation is a promise that has gained much attention from the W3C . However, there is not a simple protocol that supports it yet. Proposals such as OStatus have several drawbacks: they repeat functionality and have not privacy support.
The objective is designing and building a simple, straightforward protocol, probably based on Activity Streams that supports network federation of any kind of object between social networks.
Objective: Though Social Stream is a ready to use framework, its deployment is hard and requires system administration skills. Building a package for Linux distributions or Mac OS X would lower the bar for new Social Stream’s users and developers. The packaging would include a way to easily select desired modules from Social Stream components and customize them through a user-friendly interface in order to get an fully customized social network easily and quickly.
Objective: Mobile access to social networks is rapidly increasing. A mobile framework for Social Stream would let developers to easily and rapidly build a native application for their customized social network.
Objective: Design and develop a JS library and maybe a Ruby gem that implements a broker where developers could query Places info from all major Places API providers at once: Google Places, Foursquare, Yahoo GeoPlanet, Twitter Places, Facebook Places... This would solve many problems to Location Based Services like Places support for Social Stream such as missing places, lack of some info fields or wrong information.