BigBlueButton is an open source web conferencing system for on-line learning.
The goal of the project is to provide remote students a high-quality on-line learning experience.
Given this goal, it shouldn’t surprise you that BigBlueButton started at a university (though it may surprise you which one). BigBlueButton was created by a group of very determined software developers who believe strongly in the project’s social benefits and entrepreneurial opportunities. Starting an open source project is easy: it takes about five minutes to create a GitHub account. Building a successful open source project that solves the complex challenges synchronous learning, however, takes a bit longer.
There has been a core group of commiters working on BigBlueButton since 2007. To date there have been been over a dozen releases of the core product. For each release the committers have been involved in developing new features, refactoring code, supporting the community, testing and documentation.
We believe that focus is important to the success of any open source project. We are focused on one market: on-line learning. If you are an institution (educational or commercial) that wishes to teach your students in a synchronous environment, we are building BigBlueButton for you.
Like most open source projects, BigBlueButton betan with an itch.
BigBlueButton started in 2007 at Carleton University when Dr. Tony Bailetti, director of the Technology and Innovation Management (TIM) program, wanted to expand TIM to reach a global student audience. It was expensive for students abroad to travel to Ottawa to attend the lecutres in person. A first, the TIM program used a commercial web conferencing system enable remote students to participate, but the solution was expensive.
The story might have ended there, but Dr. Bailetti had an advantage. The TIM program was designed to teach engineers to be entrepreneurs. Richard Alam, a TIM thesis student, was analyzing open source business models under the supervision of Dr. Bailetti. His thesis was that open source-based business can leverage a community of developers, users, and companies to create a solution that can exceed the quality offered by a single company. Good examples of such success were operating systems (such as RedHat), databases (such as mysql) and development tools (such as Eclipse).
Dr. Tony Bailetti challenged Richard to write an open source web conferencing system for the TIM program, one that could replace their commercial solution and enable instructors to reach global students. Working with Denis Zgonjanin (then an undergrad student in Systems and Computer Engineering at Carleton), Richard built an early version of BigBlueButton using red5 and other open source components. In the fall of 2007, the TIM program started using BigBlueButton for its courses.
Around the same time Fred Dixon, a software developer and serial entrepreneur, learned about the BigBlueButton project and met with Richard. They began discussing ways to grow the project into something bigger.
Richard graduated from the TIM program and the students had moved onto other projects.
The TIM program continued to use BigBlueButton and was looking for improvements to the software. Fred Dixon began working full-time on the project. The plan was to follow the ideas in Richard’s thesis and build a company and community around BigBlueButton. Carleton University received funding from the Talent First program and hired some students to accelerate development.
The above is a picture taken from one of the early chalkboard sessions in which Richard described the architecture of BigBlueButton to the students. (You can tell this work was done at a University because there were no whiteboards in the student lab.)
Given the plan to offer services to the BigBlueButton community, the first challenge was to build the community and that meant focusing on improving BigBlueButton. In June 2008, Richard, Fred and Denis became the core developers and started the bigbluebutton-dev mailing list. After a summer of refactoring and reworking the code, they uploaded to Google Code the BigBlueButton code and invited others to participate.
They release BigBlueButton 0.32 and invited others to install and setup their own server.
With the source code now available, the BigBlueButton open source project was launched. It still needed to build a community. In December 2008, the bigbluebutton-dev mailing list had a total of five (5) posts. It was small, but it was growth!
With a growing BigBlueButton community, Fred and Richard incorporated Blindside Networks in early 2009. The company’s strategy was to pursue the traditional open source business model of providing commercial support and hosting.
“Looking back, about seventy-five percent of our effort went into building the software and community,” says Fred Dixon. “It was (and still is) a volunteer effort without end. We were constantly coding, documenting, testing and releasing updates to the project, then we would post updates to the mailing list and help others get their BigBlueButton servers going. The best part was when we got feedback very quickly on the parts that needed improvement.”
The core developers created a demonstration web site at demo.bigbluebutton.org to enable anyone to try out the product. Interest in the project increased.
In the summer of 2009, the core developers added desktop sharing and built-in VoIP (previously users had to setup dail-in numbers to the asterisk voice conference server). To make it easier to setup BigBlueButton, the developers created Ubuntu packages and a downloadable BigBlueButton VM. The mailing list now had over a hundred members and more were joining each week.
One of the members was Jeremy Thomerson, an experienced open source software developer. Jeremy worked at Generic Conferencing, a company wanting to expand its voice conferencing into web conferencing. Jeremy wrote a proposal to add an application programming interface (API) to BigBlueButton for integration with 3rd party applications. The API was soon implemented and Generic Conferencing became the first external company to incorporate BigBlueButton within their product. Jeremy also became the first external developer to join the BigBlueButton core team. A short time later, Tiago Jacobs, a committer to the red5 project also joined the BigBlueButton core team.
By the fall of 2009, the pieces of BigBlueButton ecosystem were taking root. The project now had wikis, mailing lists, code repository and a growing community. The bigbluebutton-dev mailing list was averaging about 200 messages/month. There were developers, users and commercial companies, but the overall size of the project was still considered relatively small.
The project needed a boost and it was about to get a really big one.
BigBlueButton was accepted into the 2010 Google Summer of Code (GSOC).
During Feburary 2010, traffic in bigbluebutton-dev mailing list increased to over 700 messages. March had over 900 messages. Google offered to pay for two students to work on the project and 79 applications applied for the two positions. The developers picked Marcos Calderon and Neeraj Kumar to work on the project.
The number of external developers interested in contributing to BigBlueButton was also starting to increase. Xie Yan Qing and Chen Guangtao, two developers in China, added patches to localize all messages in the BigBlueButton client. Thanks to Jeremy’s API, a growing number of open source projects began offering plugins to make it easier to use BigBlueButton from within their projects.
To make it easier for other developers to fork and contribute to the code, the BigBlueButton source code moved to GitHub. The core development team released BigBlueButton 0.7 with built-in whiteboard.
Other open source projects began to adopt and incorporate BigBlueButton. Adrian Fish, a developer in the Sakai project, had built a web conferencing system called Agor. On February 2, 2010 he made the following post to the Sakai developers mailing list.
I’m currently playing with BigBlueButton (http://bigbluebutton.org/) which seems promising. Agora hasn’t got a great deal of room for development seeing how the JMF got more or less dumped by Sun years ago. If JMF had more codecs in it and Agora got updated maybe it would be viable – I still love the Agora interface for example – but I just don’t see it as feasible. I was actually thinking of investigating Red5 for an update of Agora but it seems crazy when BBB is around and open source.
Compared with commercial web conferencing systems, BigBlueButton did not have a lot of features but many liked the simplicity. For usability, the most pressing problem was the audio: there was a two second delay between the transmission and receiving of the audio. For most of the summer and fall of 2010, Richard worked on analyzing the audio, the flow of packets, and optimization of the code, looking for ways to improve the built-in audio.
Marcos Calderon, one of the students in the Google Summer of Code, joined the core development team full-time. To further accelerate the growth of the project, the core developers signaled to the community that their intent was to create an independent not-for-profit BigBlueButton foundation to oversee and support future development. The developers of the project also began to give presentations on the progress:
- Pressing the BigBlueButton, Free Software and Open Source Symposium 2010
- BigBlueButton day at Carleton University: part1, part2, part3, part4, and part5
In January 2011, the project released BigBlueButton 0.71a, the ninth release to date. At this point, the most requested feature from the community was record and playback. Richard had prototyped adding record and playback in an earlier version, but more effort was needed to rework the server architecture to both capture events and process them for playback.
The shift to GitHub was making it possible for more open source projects to build on BigBlueButton. The GT-Mconf team working in the Laboratory of Prav (located in the Institute of Informatics, Federal University of Rio Grande do Sul, Brazil), announced they would be working on an Android client for BigBlueButton. Their client is available from the Android marketplace. Felipe Cecagno from the Mconf team joined the BigBlueButton developers.
In summer 2011, the Mozilla Foundation used BigBlueButton to broadcast and record live classes. By September 2011, the team had released BigBlueButton 0.8-beta-1.
In the fall, Mozilla corporation started an accelerator program called WebFWD to support open innovation on the web. The BigBlueButton project was invited to join WebFWD in December.
- FLOSS Weekly 147 Interview by TWIT
- Lecture capture and broadcast with BigBlueButton, Software Developers Haven 2011
- Lessons from an Open Source Business, Fred Dixon, Open Source Business Review
- WebFWD Presentation, Fred Dixon
Thanks to a large community of users and developers, there was now a lot of external testing of BigBlueButton. We received lots of positive feedback on the project. We attended developer summits hosted by Mozilla and the WebFWD team. The pace was development was increasing. The localization of BigBlueButton helped it spread world-wide. In particular, the bigbluebutton-espanol mailing list was started to support Spanish-speaking countries. We began to see use of BigBlueButton in other countries.
After eighteen months of development, the developers released Bigbluebutton 0.8 on June 18, 2012. The ability record and playback the slides, audio, and chat from a lecture had made it into the core.
The BigBlueButton community held its first Developer Summit in which BigBlueButton developers came together in Ottawa, Ontario, Canada for one week to accelerate development.
See the Road Map to 1.0, for future plans.
With the initial implementation record and playback in place, the developers focused on extending the recording to include whiteboard events and videos. The developers also started working on adding support for screen readers (specifically JAWS) so students with visual disabilities could also use BigBlueButton.
The development team held a second BigBlueButton Summit in Ottawa. During the summit the developers did code sprints on 0.81 development. In the fall, we held our third BigBlueButton Summit in Porto Alegre, Brazil. We released BigBlueButton 0.81, our eleventh release, on November 7, 2013.
Infoworld also selected BigBlueButton as one of the best open source applications for 2013.
- University of West Scotland released case study on BigBlueButton
- The project also received funding from Mozilla Ignite.
- BigBlueButton 0.81
- Interview by VoIP Users Conference
The developer team turned their focus to audio. For any on-line course the most critical component was high-quality audio. Both FireFox and Chrome were supporting to support web real-time communications (WebRTC) in the browser and FreeSWITCH, the industrial-strength phone switch at the core of BigBlueButton’s audio conference, was adding support for WebRTC audio. With browser and FreeSWITCH both working to support WebRTC, the developers began prototyping the integration of WebRTC audio in early 2014. On October 16, 2014 a beta beta launched of the next release of BigBlueButton that supported WebRTC audio. The difference was noticeable — especially for reducing latency between users geographically located far apart.
In the development of BigBlueButton the goals are (in order of importance): stability, usability, features, security, and scalability. The core developers had adopted a development process that put stability at the top. The bet was that if BigBlueButton was as stable (or even more stable) than equivalent commercial web conferencing systems that other project would increasingly build upon it.
The focus on stability paid off: in February 2015, the United States Department of Defence announced they were replacing a commercial web conferencing system with an internal system built on BigBlueButton and, in doing so, expected to save over 12 million dollars per year.
BigBlueButton 0.81 had undergone months of testing before was release. In a similar manner, BigBlueButton 0.90 underwent over five months of beta testing with commercial companies and the community at-large before release on April 30, 2015.
In the summer Google Code went read-only and the team moved its issues and Moodle Cloud launches with integrated BigBlueButton
If you want to read more about the history of the BigBlueButton project, take a look at the blog posts from the past few years.