Skip to content
This repository was archived by the owner on Apr 5, 2019. It is now read-only.
Leonardo Crauss Daronco edited this page May 28, 2013 · 15 revisions

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.

Changelog

v0.4.8 (November 10th 2012)

  • Compatibility with the Mconf-Live 0.2
  • The app now parses the BigBlueButton config.xml and uses that information to auto join the voice conference, for instance
  • Improvements on stability
  • Minor bug fixes

v0.4.7 (May 15th 2012)

  • Included Spanish and Persian translation
  • Fixed an important issue introduced when we started to use the Mconf Load Balancer with the web portal mconf.org
  • Minor bug fixes

v0.4.6 (April 29th 2012)

  • Implemented the video rotation for both the transmitted video and the video preview

v0.4.5 (April 5th 2012)

  • User can type a server URL without the prefix http:// now
  • Now the app warns about incorrect passwords or connection problems
  • Improvements on stability
  • User can now close the fullscreen video with a touch on the screen
  • Implemented a way to use the API server different than the Application server - useful to run it with a scalable infrastructure

v0.4.4 (December 16th 2011)

  • Implemented the new chat module compatible with BigBlueButton 0.8beta3

v0.4.3 (November 17th 2011)

  • Improvements on stability of the video capture module
  • Removed the hardware requirements to run the app (more devices are supported now)

v0.4.2 (October 31th 2011)

  • Improvements on stability
  • First version released on Android Market

v0.4.1 (September 5th 2011 - bugfix release)

  • Anonymous data is sent to the dev team when the app crashes

v0.4 (August 25th 2011)

  • Moderator is able to lower hand of a participant
  • Dialog with some informations about the meeting
  • Improvement on the app notifications
  • Integration with Mconf-Web
  • Video capture and publish

v0.3beta (May 28th 2011)

  • Video integration - view one video at a time on a dialog or full screen when the phone is on landscape
  • Mute / unmute room
  • Join a conference by a QR code (url bigbluebutton://)

v0.2 (May 6th 2011)

  • Visualization of the participants and listeners lists
  • Raise / lower hand
  • Private and public chat
  • Integration with a SIP client (Sipdroid) - full interactivity by audio
  • Tap to speak
  • Audio settings
  • Mute / unmute users

Roadmap

  • Multiple videos in one screen
  • Better interfaces integrated to the video feature (Adobe Connect's app like)
  • Shared notes module
  • Presentation module
  • Voice interface for chat
  • Auto translation on chat
  • Desktop share visualization
  • Full desktop share integration

Clone this wiki locally