Home

Leonardo Crauss Daronco edited this page May 28, 2013 · 15 revisions
Clone this wiki locally

Mconf-Mobile is an Android implementation of the BigBlueButton client. If you would like more information about the project, please visit mconf.org (Portuguese and English).

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.

BBB-Java

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

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

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).

Running BBB-Android

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:

/var/lib/tomcat6/webapps/demo/mobile_conf.jsp

Custom URLs

In your integrated environment, if you provide the BigBlueButton join calls replacing the prefix http:// with 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.

  1. Install Android SDK (link / troubleshooting)
  2. Install Android NDK (link) - we use and recommend version r6b (link)
  3. Install Apache Ant (link) - sudo apt-get install ant
  4. Install Findbugs (link)
  5. Copy findbugs/lib/findbugs-ant.jar to ~/.ant/lib
  6. Clone the repository
  7. Copy ./local.properties.template to ./local.properties and edit this file to reproduce your environment
  8. Run ant build-all

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):

  1. Install Eclipse (link)
  2. Configure the environment (Eclipse + Android SDK integration) (link)
  3. Import all the projects in your workspace on Eclipse
  4. Just wait while Eclipse build the code
  5. Run bbb-android or mconf-mobile as an Android application

Since ant build-all will download all the submodules and dependencies, you will need to remove the files bbb-java-git.jar and flazr-git.jar from 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?

Testing

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.

Translating

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. :)

Developing

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.