From CDOT Wiki
Jump to: navigation, search


1,884 bytes added, 12:35, 2 November 2016
CDOT BigBlueButton Contributors
===Who Develops BigBlueButton?===
BigBlueButton was started in 2007 by Richard Alam, who at the time was a Master's student at Carleton University. Since then, many other individuals and organizations have become involved. The core team of developers come from [ Blindside Networks], and [ Seneca CDOT], and [http:// Mconf].
===What Features Does BigBlueButton Have?===
See [https this] for a recent overview of BigBlueButton's server-side architecture. Behind the scenes, the BigBlueButton server uses the following technologies:
*[ Red5]: a Flash Media Server, with "room management" (a Red5 room corresponds to a BigBlueButton meeting) allowing easy handling of message sending and streaming to only those users who connected to a specific room. Red5 holds the following BigBlueButton components:
===For New Developers: Getting started on BBB===
'' <span style="colorIf you would like to start voluteering or working for CDOT, please read these step by step instructions for setting up your environment, as well as a tutorial for how to create a react component within BigBlueButton: red;">***Under construction[https: write something here!!***</span>''/ Starting at BBB]
All To read the documentation about BigBlueButton written for Employees of Blindside Networks, visit this link: [ BlindSide Networks BBB documentation] First, you will likely want to subscribe to the following BigBlueButton mailing-lists: *** Next, since all of the source code for BigBlueButton is hosted on GitHub. This means that one of the first things , you should do before contributing, is try to gain a rudimentary understanding of how to use Git. Nothing too fancy, but at the very least, you should know how to clone repositories, create and navigate local branches, add files to the staging area, commit staged files, pull changes from remote repositories, push your changes to remote repositories, and submit pull requests. If you get stuck, or get some weird error message, usually you can [ Google] the message and read forum posts or [ Stack Overflow] answers, as other people have likely encountered the exact same issue before. Some good Git resources include:
*[ A free online book] - The first three chapters should be sufficient
After that, the resources you will need will depend on which parts of BigBlueButton you want to develop.
For the steps on setting up a BigBlueButton version 1.0.90 development environment for the server, and for the Flash client, see httpshttp://codedocs.googlebigbluebutton.comorg/pinstall/bigbluebutton/wiki/090Developingsetup.html.
For the steps on setting up a development environment for the HTML5 client, seehttp: <span style="color: red;">***Under construction: write something here!!***</span>/
For the steps on setting up a development environment for the mobile client, seehttp: <span style="color: red;">***Under construction: write something here!!***</span>/
As of September 2014, the most important component of BigBlueButton that has yet to be implemented is the video module for the HTML5 client. This is because there is no suitable WebRTC live video streaming server that BigBlueButton can use. The way the Flash client does this, is by capturing webcam media, encoding it in H.264, and streaming it to BigBlueButton-Video using the RTMP protocol. BigBlueButton-video is Flash based, and can handle the re-streaming of this video stream to the other Flash clients. The HTML5 client does not use Flash, but instead uses WebRTC to capture and stream media. The philosophy of WebRTC is to use completely open and non-proprietary codecs and protocols, and both the RTMP protocol, and the H.264 video codec are proprietary. The most widely used WebRTC video codec is VP8. What BigBlueButton needs is something that can re-stream this video stream to all HTML5 clients, and something that can transcode between VP8 and H.264 so that the different clients (HTML5 and Flash based) can share video between them.
=====HTML5 Client=====
With mobile devices dropping Flash support, and HTML5 rising to replace Flash on the web, we are looking into adapting BigBlueButton to an HTML5 and JavaScript application. The first step in this is to develop an HTML5 client that can participate in an existing meeting (where the presenter is using the Flash client) at the most basic level. As of autumn 2014, the only core component missing is the video module. This is because, as of yet, there is no suitable WebRTC based video streaming media server (see the architecture section above for more details on this).
In the summer of 20142016, Danny Perrone, a co-op student Matthew Marangoni, Laily Ajellu, Oleksandr Zhurbenko, and Jaeeun Cho, students from Seneca, along with with Anton Georgiev, a co-op student from Carleton university working at Blindside Networks in Ottawa, rewrote the existing HTML5 client, moving it over to the [ Meteor.js] framework.
'' <span style="color: red;">***WRITE STUFF HERE!!!***</span>''====HTML5 Client and React===== React is an MVC framework for Javacsript that seamlessly and quickly updates your web app as soon as a change is made to it.
=====Mobile Client=====How? It "diffs the return value from the previous call to render with the new one, and generates a minimal set of changes to be applied to the DOM".
The BigBlueButton mobile client is a mobile application that allows users Read here to participate in a BigBlueButton meeting from their smartphone or tabletfind out more about React's features: https://facebook.github. It was started in late io/react/blog/2013 by a team of software developers from [http:/06/mconf.org05/ Mconf]why-react. Beginning in early 2014, the mobile project was taken over by a team of developers at Seneca CDOT. Chad Pilkey, Gary Deng, Stanislav Yeshchenko, and Adam Sharpe each worked on implementing features, rewriting components, and fixing bugs in the mobile client. In the summer of 2014, we:html
*[ Allowed mobile users to receive and view desktop sharing streams]*[ Rewrote and upgraded Find the mobile client to connect with new versions of BigBlueButton]*[ Improved the user interface, which was previously minimalistic and did not support tablets very well]*[ Added unit testing capabilities and framework]*[ Allowed the mobile client to respond to polls and view poll results]*[ Rewrote the user interface to conform with the UI designer's specifications]*[httpsofficial docs for React here:// Added support for receiving video streams on iOS (previously, video streams would not play on iOS devices as they do not support Adobe AIR very well)]*[ Enforced the meeting's lock state (permission settings) on the mobile client]*[ As well as lots of bug fixes, small improvements and features!]
===Completed/Inactive Projects===
<span>One of the requirements of the BigBlueButton project is for it to be accessible to all users without limitation, which encompasses both direct access (native to the application) and indirect access (compatible with assistive technologies) methods. Accessibility has already been fully implemented in the Flash client and is in development in the HTML5 client. The main accessibility features that were implemented include screen reader support, keyboard navigation, and localization. Since a large portion of the users of this application are students, the content and interface of the application is required to be equally functional for individuals with physical impairments and disabilities. All accessibility features have been implemented in compliance with the [ ARIA (Accessible Rich Internet Applciations) standards] and [ WCAG (Web Content Accessibility Guidelines)]. In regards to screen reader implementation, all text within the application and anything that the user can interact with (including buttons, menu's, and more) have a description which is interpreted by the screen reader and read out to the user to give meaning to the things they cannot see. Keyboard navigation and keyboard shortcuts have also been implemented to assist users with vision impairment so that they can still navigate through the entire application without having to see it on a screen. For international students or users of the application whose first language is not english, localization has been implemented to support the user' s native language, with a wide variety of languages to choose from. These language localizations are constantly being improved and updated by the community as the application develops further.</span style> =="color===Creating the Mobile Client===== The BigBlueButton mobile client is a mobile application that allows users to participate in a BigBlueButton meeting from their smartphone or tablet. It was started in late 2013 by a team of software developers from [http: red;">***WRITE STUFF HERE!!!***</span>''/ Mconf]. Beginning in early 2014, the mobile project was taken over by a team of developers at Seneca CDOT. 
===CDOT BigBlueButton Contributors===
[[File:Bbbteam20122Bbbteam2016Fall.pngjpg|thumb|right|350px400px|From left to right: JustinKert, Oleksandr, Fardad, and Laily, Chad, Jaeeun, Danny, Matthew]]
*[ Fardad Soleimanloo] - Project Supervisor
*[ Chad Pilkey] - Developer
*[ Danny Perrone] - Developer
*[ Oleksandr Zhurbenko] - Developer
*[ Laily Ajellu] - Developer
*[ Matthew Marangoni] - Developer
*[ Jaeeun Cho] - Developer
*[ Kert Browne] - Developer
*[ Gary (Xinggui) Deng] - Developer
*[ Stanislav Yeshchenko] - Developer
*[ Adam Sharpe] - Developer
*[ Danny Perrone] - Developer
*Maxim - Developer
*[ Anatoly Spektor] - Developer
*[ Justin Robinson] - Developer
*[ Dale Karp] - Developer
*[ Bo Li] - Developer
*[ Maxim Khlobystov] - Developer
*[ The Official BigBlueButton documentation]
*[ Old links]

Navigation menu