What is the vision on the implementation of WebRTC video in BBB?

161 views
Skip to first unread message

Marc Schipperheyn

unread,
Sep 8, 2016, 10:48:27 AM9/8/16
to BigBlueButton-dev
Hi all,

I've been using and closely following BigBlueButton for a few years now, and it's great.

However, since the beginning of last year we have been challenged increasingly with the fact that many of our users use ipads and iphones in using our website.

As such, we were eagerly awaiting the the HTML 5 client in the hope that this, through the use of WebRTC video would enable us to service these platforms.

As time progressed, it became clear to me that the HTML 5 client was not progressing as rapidly in the direction of WebRTC video, or any video at all, as I had expected.
I didn't understand this at first. Surely, with Flash being End of Life and increasingly limited in browsers and not working on the IOS platform, this would be the number one priority for BBB?

I since learned two things:
1. BBB is built on top of Red 5 for video and Red 5 only supports WebRTC video on their "pro"/paid platform
2. Even with WebRTC video, the fact that Apple doesn't support the open source H.264 standard, would potentially limit its usability on Safari and IOS

So, it seems BBB is stuck between a rock and a hard place. I myself didn't find any kind of open source alternatives to Red5. But maybe I'm wrong. I'm certainly no expert in this area. 

So, I don't understand where BBB is going with this while at the same we see webRTC video being used left and right. The suggestion that "Flash will be around for a long time", is in my humble opinion completely misguided (it's dead and disappearing) and also doesn't address the limitations of using BBB on mobile platforms that have basically taken over from the laptops and are now dominant. 

Personally, I would be open to paying reasonable monthly fees for these kinds of features. But I also realize that the feature set that BBB offers is still quite unique. So, I would hope to be able to keep using it.

What I would really appreciate is some roadmap or long term view for the future that deals with these matters. Or any kind of discussion? 

Cheers,
Marc

Fred Dixon

unread,
Sep 8, 2016, 11:39:19 AM9/8/16
to BigBlueButton-dev
Hi Marc,

Thanks for your feedback. As a background to this thread, anyone reading this post should first read



> As such, we were eagerly awaiting the the HTML 5 client in the hope that this, through the use of WebRTC video would enable us to service these platforms.

We've been working hard on an HTML5 client for quite some time. It's not a small project, and we want to provide the HTML5 users, in the long term, with the same level of interactivity enjoyed by the Flash users.

You should see a developer release of the HTML5 client in the next few months that follows the designs that we've outlined here


As described in the above page, we'll be doing this in phases, where the first phase is the ability for a viewer to participate in the session via audio (no video).


>  Surely, with Flash being End of Life and increasingly limited in browsers and not working on the IOS platform, this would be the number one priority for BBB?

I'm going to present an alternative assessment of Flash.   I took a quick google and found these articles



Here's my take ... the browsers (and their manufactures) take a strong stance against anything that could affect the user in a negative sense.   In particular, Mozilla leans very heavily on the side of protecting the user from malicious web pages, sites, and applications.  

To this end, FireFox and Chrome have been increasingly adding logic to decide when to run a Flash applications in the browser.  This logic could be summarized as follows:

  (a) is it from a trusted web site [1]?
  (b) Is it an Ad [2]?
  (c) Is it a 5x5 pixel or hidden Flash application [3]?
  (d) Has the user given permission to run the Flash application [3,4]?

 
Not surprisingly, the Ars Technical article (linked above) started with the sentence

"Firefox will begin retiring Adobe Flash on August 2 with the release of Firefox 48."

Interesting use of "retiring".  More accurately, the article actually talks about FireFox restricting and asking for confirmation to access Flash applications (not retiring).  Later on the writer states

"Mozilla hasn't directly stated that Flash will be completely retired after the click-to-play change, though that is clearly the ultimate end goal."

The phrase "clearly the ultimate end goal" is an opinion by the writer, not a fact.  The new sites need to attract readers (and generate traffic for ads), so Flash is a favorite topic to state bold opinions about its demise.  

Basically, Flash will become click-to-play, but the browsers are not dropping support for Flash.  To state it stronger, I can't find any public statement (fact) by any major browser manufacture that they are removing the ability for their browser to run Flash Can you?

What we have seen over the years is browsers increasing restricting access to Flash and, in some cases, blocking egregious Flash applications.  And, whenever a browser manufacture adds a restriction, the mainstream computer press always leads with headline "Flash is dead" to attract readers.

Flash is not loosing support in the browsers.  In fact, the exact opposite is happening.  Given that Google has embedded Flash into Chrome and that Microsoft recently embedded Flash into IE and Edge [5], the major browsers have actually increased their support Flash over the years.

BigBlueButton does not fall into categories (a), (b), (c) or (d).  This means the browser will prompt for the user's permission to run BigBlueButton (and will remember the user's preferences if loaded from a site served via SSL).  BigBlueButton will then run.

I'm certainly not stating that Flash is perfect or without flaws (even the operating systems get frequent updates).  I don't be believe it last forever (nothing does).  What I am stating is that within the BigBlueButton project, we continue to improve the Flash client for our community.  And, in parallel, we have been working on, and continue to work hard on, a full HTML5 version of the BigBlueButton client.


I since learned two things:
> 1. BBB is built on top of Red 5 for video and Red 5 only supports WebRTC video on their "pro"/paid platform
> 2. Even with WebRTC video, the fact that Apple doesn't support the open source H.264 standard, would potentially limit its usability on Safari and IOS

The red5 pro team is extending red5 to support WebRTC.  While they are not open sourcing their WebRTC extensions, any improvements they make to core red5 will be made in the open source version of red5.  We continue to benefit from red5 as a solid project and, without it, BigBlueButton would simply not exist.  

Point (2) is a problem.  Specifically, Apple prevents you (and us) from installing a browser that provides it's own WebRTC stack -- all browsers are restricted to using the built-in mobile Safari rendering engine.  The Chrome and FireFox browsers you use on iOS, for example, are really just a UI layer over the mobile Safari rendering engine.

Until either Apple provides WebRTC support in the mobile Safari rendering engine, or they allow other browser manufactures to install their own rendering engine, any HTML5 application that uses WebRTC to send/receive audio/video will not work on iOS.

We're not holding our breath.  Furthermore, if at the end of the day we need to create a native mobile application for iOS that fully supports the BigBlueButton client with WebRTC, we will do it.  It make take us more time, but we're very determined to provide our community fully supported mobile clients for BigBlueButton on both Android and iOS.

In the meantime, there are options.  We are looking at moving the Flash client to Flex 4 which, using Adobe Air, will enable us to create a mobile client for iOS and Android.  Others have done this as well, see Mconf Mobile at http://mconf.org/.  It's not WebRTC, but users, at the end of the day, don't care so much about the underlying technology.  They just care if it works.  We are also looking at react-native too.

Right now, our main effort for mobile is focused first on getting the HTML5 client completed first.  That way, others can contribute and built on top of the client.


What I would really appreciate is some roadmap or long term view for the future that deals with these matters. Or any kind of discussion? 

There are no new announcements in this post.  Nothing has changed in our priorities to provide a full HTML5 client (in stages) and mobile clients for both iOS and Android.   

Whether we have to write a fully mobile client in iOS (or use Flex 4, react-native, or create a mobile client ourselves), we will deliver a solution to the community.  It's only a matter of time and resources.  We've been working on BigBlueButton for over 8 years now, and there is no lack of determination.

As you've probably seen in past posts, we release on quality, not dates.  

You can judge our progress towards a mobile client when we release a developer version of the HTML5 client.  From there, you'll be able to install and run it on your BigBlueButton server (you will need to run 1.1-dev or later).


Regards,... Fred




[1] Chrome will be going click-to-play for all but the top 10 websites serving Flash applications (see https://groups.google.com/a/chromium.org/forum/#!searchin/chromium-dev/HTML5$20by$20default/chromium-dev/0wWoRRhTA_E/__E3jf40OAAJ)

[2] Chrome has removed all Flash ads from their Ad network.  Quote:

In June [2015], we announced (https://goo.gl/TF7dmD) that Chrome will begin pausing many Flash ads by default to improve performance for users. This change is scheduled to start rolling out on September 1, 2015. 


[3] Mozilla will now scan and maintain a block list of Flash applications that are expressly designed to track user activity.  Quote:

Then, in 2017 (probably Firefox 53 in May), Flash content will be entirely click-to-play: so, you'll still be able to play Flash games and watch Flash videos, but all of thoseFlash ads and hidden Flash elements will be completely blocked. (This is functionally very similar to how Chrome has handled Flash elements since September 2015.)


[4] FireFox has gone to click-to-play for plugins (see https://blog.mozilla.org/security/2014/02/28/update-on-plugin-activation/)  


[5]  Microsoft as built Flash into IE 11 and Edge.  From Microsoft FAQ:

Is Adobe Flash supported in Microsoft Edge?

Yes, Adobe Flash is supported as a built-in feature of Microsoft Edge. We continue to work closely in partnership with Adobe to provide this version of Flash, which we support and service via Windows Update.

Quote from Adobe:

As of Windows 8, Microsoft embeds Flash Player in Internet Explorer, and Edge browser in Windows 10. 

 

--
You received this message because you are subscribed to the Google Groups "BigBlueButton-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to bigbluebutton-dev+unsubscribe@googlegroups.com.
To post to this group, send email to bigbluebutton-dev@googlegroups.com.
Visit this group at https://groups.google.com/group/bigbluebutton-dev.
For more options, visit https://groups.google.com/d/optout.



--
BigBlueButton Developer
@bigbluebutton

Marc Schipperheyn

unread,
Sep 9, 2016, 6:47:29 AM9/9/16
to BigBlueButton-dev
Hi Fred, 
Thanks for your extensive reply.

The option of a mobile Air based client is interesting (I assume it packages an integrated Flash client in the app), especially since the Holy Grail of WebRTC Video will prob prevent an open source option on IOS for the foreseeable future. 

I'm not sure how open Red 5 is and wether it would be an option to develop an open WebRTC plugin for it, nor how hard it would be.

Both options might be an interesting university dev project, summer of code, etc.

Cheers,
Marc

To unsubscribe from this group and stop receiving emails from it, send an email to bigbluebutton-...@googlegroups.com.
To post to this group, send email to bigblueb...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages