Video demo 1 (February 9th 2011): http://www.youtube.com/watch?v=v4Du20LsWGs
Download: on Google Play (link).
About the subprojects
Flazr - a Java implementation of multimedia streaming protocols
Flazr is a very good implementation of the RTMP protocol with minimal dependencies. It was developed by Peter Thomas and it's licensed under LGPL.
We've had to "clone" the subversion repository of Flazr because we needed to adapt the library to support Remote Shared Objects. We've used part of the Red5 source code - Red5 is an Open Source Flash Server written in Java. Red5 is also licensed under LGPL.
This is our Java implementation that uses Flazr to communicate with BigBlueButton Server. It is a client-side API and could be used as an interface between any Java application and BBB. The code is licensed under GNU Lesser General Public License (LGPL).
BBB-Android is an Android implementation of the BigBlueButton client. The code is licensed under GNU Lesser General Public License (LGPL).
Update: since March 2011 we changed the license of BBB-Android to GNU General Public Licence (GPL) because we started to use Sipdroid for audio interaction. Sipdroid is a free SIP/VoIP client for Android and it's licensed under GNU General Public License (GPL).
Mconf-Mobile is an mobile client for Mconf. It interacts with the web portal (https://mconf.org), and the user can join any conference room he could access from a web browser. The code is licensed under GNU General Public License (LGPL).
If you want to test the application, the BigBlueButton demo server provides mobile access, and it's pre-configured in BBB-Android. You can also run BBB-Android with your own server.
On BigBlueButton 0.71a
To run the application with your BigBlueButton 0.71a server, it must provide access to the demo
mobile.jsp. You can download and deploy the file with the following command:
sudo curl https://raw.github.com/mconf/mconf-mobile/master/mobile.jsp -o \ /var/lib/tomcat6/webapps/bigbluebutton/demo/mobile.jsp
The mobile.jsp demo wrap the default API to remove the need of the security salt. On BigBlueButton 0.8 there's a special security key for mobile access. When BBB-Android asks for the server password, just leave it blank.
On BigBlueButton 0.8
The BigBlueButton 0.8 and above supports mobile access natively. To configure/change the mobile security key, you will need to edit the following configuration file:
In your integrated environment, if you provide the BigBlueButton join calls replacing the prefix
bigbluebutton://, the BBB-Android application will start automatically, and will handle the session in your mobile device. The mconf.org uses this feature - to understand how it works, I would like to invite you to join Mconf and try it yourself. :)
Building the app from the repository
Important: we use and recommend Ubuntu to build Mconf-Mobile. We know that the root build.xml script doesn't work well on Windows - if you are interested in working on the build scripts to make it compilable on Windows, we will be glad to integrate such enhancement.
- Install Android SDK (link / troubleshooting)
- Install Android NDK (link) - we use and recommend version r6b (link)
- Install Apache Ant (link) -
sudo apt-get install ant
- Install Findbugs (link)
- Clone the repository
./local.propertiesand edit this file to reproduce your environment
If you run into a build problem like
arm-linux-androideabi-gcc: Command not found, see this link.
If you want to work with Eclipse (after followed the steps above):
- Install Eclipse (link)
- Configure the environment (Eclipse + Android SDK integration) (link)
- Import all the projects in your workspace on Eclipse
- Just wait while Eclipse build the code
mconf-mobileas an Android application
ant build-all will download all the submodules and dependencies, you will need to remove the files
bbb-android-core/libs. It's needed because Eclipse will use the libraries BBB-Java and Flazr from the imported projects instead of the already compiled libraries - if you keep the .jar files, Eclipse will try to include the resources twice (one from the Eclipse projects and one from the .jar files) and it won't run.
A full documentation for Android developers is available here.
How could I contribute?
If you are not a developer, the best you can do is to test the Android application and provide us any feedback. It could be done by creating a new issue reporting a bug or specifying an enhancement. Also you can send messages to the BigBlueButton developers mailing list.
We use Gengo as a translation suite for the project. There are three independent translation projects: BBB-Android and Mconf-Mobile are the Android applications, and BBB-Android-Core is the Android library that handles the conference (as previously explained).
If you are interested in translating the Android application to your language, click in the following links, and then request access to the project pointing the language you want to translate. Of course, better translations of the supported languages are very welcome. :)
If you are a developer and want to be part of this project, you can pick an issue and try to solve it. Of course we are totally open to help you in what you need.