Create a Native HTML5 Interface to BigBlueButton #1605

Open
bigbluebutton-issue-import opened this Issue Aug 12, 2015 · 25 comments

Projects

None yet

7 participants

@bigbluebutton-issue-import

Originally reported on Google Code with ID 850

This is definitely a research are at the moment as HTML5 doesn't provide a means to
access the user's microphone or webcam.

Still, with the right architectural changes in the BigBlueButton server, it should
be possible to create an HTML5 client that could view a BigBlueButton presentation
in real-time.

Reported by ffdixon on 2011-02-06 15:33:48

@bigbluebutton-issue-import

Reported by ffdixon on 2011-02-07 17:56:12

@bigbluebutton-issue-import

Reported by ffdixon on 2011-02-07 18:00:09

  • Labels removed: Component-Apps
@bigbluebutton-issue-import

Reported by ffdixon on 2011-02-07 18:07:24

@bigbluebutton-issue-import

Reported by ffdixon on 2011-03-22 18:59:48

  • Labels removed: GSOC
@bigbluebutton-issue-import
HTML 5 perhaps does not. But WEBRTC does. It is currently being built into the Canary
build of Chrome and is also being available in Firefox.

https://labs.ericsson.com/apis/web-real-time-communication/

It is quite compelling, and no plugins on the client side are necessary/

Reported by troy.roberts@sultrydesigns.com on 2012-01-20 15:45:15

@bigbluebutton-issue-import

Reported by ffdixon on 2012-05-03 02:58:43

@bigbluebutton-issue-import
Changing this from Research

Reported by ffdixon on 2012-09-23 01:22:58

  • Status changed: Started
  • Labels added: Type-Enhancement, Component-HTML5-Client
  • Labels removed: Type-Research, Component-Client
@bigbluebutton-issue-import
We've created a wiki page to capture some of the progress around creating an HTML5 client.
 See

  http://code.google.com/p/bigbluebutton/wiki/HTML5

Reported by ffdixon on 2012-09-29 17:37:04

@bigbluebutton-issue-import
Hi there, can roughly tell when the HTML5 client demo will come out? Thanks

Reported by zhangguanglai on 2012-12-12 03:28:24

@bigbluebutton-issue-import
We don't provide release dates in the project.  We release on quality, not dates.

Reported by ffdixon on 2013-09-06 10:15:17

@bigbluebutton-issue-import

Reported by ffdixon on 2013-10-11 03:16:30

@bigbluebutton-issue-import

Reported by ffdixon on 2013-10-11 03:39:28

  • Labels added: Priority-High
  • Labels removed: Priority-Medium
@bigbluebutton-issue-import
Is there any progress being made here? I was somewhat involved in assisting with BBB
development ~4 years ago and the primary reason I stepped aside was the lack of focus
on non-Flash client options. At that time, it was pretty well established that Flash
was being phased out worldwide but it obviously still offered a number of benefits
not available elsewhere. Flash-forward to now, 4 years later, and half of the web is
on a mobile device. Over 50% of the traffic to our website is from a non-Flash supported
device or browser and many individuals, especially college students, operate exclusively
from Android/iOS tablets making Flash buggy, difficult, or in some cases downright
impossible to implement. 

There has been a big push recently to provide Android tablets to lower-income students
both in the US and elsewhere and without a viable alternative to the Flash client,
this project is now more trouble to configure, troubleshoot, and support than it's
typically worth.

I think it's awesome progress continues to be made here... but I think a non-Flash
client is mandatory and should be a priority instead of a side-project. Unhappy with
our current solution, I came back today hoping to see Flash completely abandoned. Unfortunately,
even worse than that, it appears to still be the focus. This is probably something
we should figure out now instead of later - 4 years is a long time and when we have
to have special instructions even for an OS X desktop to get the latest Flash version
installed you know, whether you like it or not, it's time to bail on Flash. Every other
major open source project that was built around Flash and remains active has moved
their Flash functionality as a fallback/last-resort.

I think it's awesome what's happening here and I'm glad there is still life in this
project but it's time to face facts. I would be happy to get involved and assist in
moving things forward with you guys if things were heading in the right direction but
at this point anything that isn't a strong effort to move away from Flash is just wasted
effort from the perspective of most. 

I've always been frustrated with the phase-out of Flash because it obviously has some
utility... but the decision has been made industry-wide and HTML5 and out-of-the-box
browser features have progressed to the point where we really don't need it (which
wasn't the case 4 years ago).

I'm surprised this isn't a primary focus - am I missing something here? If so, could
somebody point me in the right direction? Thanks.

Reported by bholzer@snapappointments.com on 2014-11-10 22:32:12

@bigbluebutton-issue-import
Agree completely. I'm already apologizing all over the place: it's coming, when I know
that "hopefully it will come sometime soon and without limitations that only the Flash
client can address". 

Reported by m.schipperheyn on 2014-11-10 23:05:52

@bigbluebutton-issue-import
Hi bholzer@snapappointments.com,

> Is there any progress being made here? I was somewhat involved in assisting with
BBB development ~4 years ago

I'm the product manager for BigBlueButton.

What username did you use in the project?  I could only find one post you made to bigbluebutton-dev
in 2011.  Did you make any contributions using another name?

We're pragmatics.   We choose Flash because it works, still works, and will likely
be using it for the foreseeable future.  

We can't create a solution for all platforms at once.  We've seen a lot of good progress
over the past two years on WebRTC support (in FireFox and Chrome), and we now support
improve WebRTC audio in those browsers (not Flash).  Should users use Safari or IE,
BigBlueButton uses Flash.

You'll see some updates on both the mobile client and HTML5 client before the end of
the year.

Regards,... Fred




Reported by ffdixon on 2014-11-11 02:34:44

@bigbluebutton-issue-import

Reported by ffdixon on 2015-04-04 14:32:36

  • Status changed: Accepted
@kfogel
kfogel commented Jan 11, 2016

Fred, thanks for the update. Might be good to change this issue's title to "Create an open-source (i.e., non-Flash) browser interface to BigBlueButton", since that's the real issue, not whether it's pure HTML5 vs WebRTC.

I looked for commits in the bigbluebutton repository mentioning issue #1605, but didn't see anything. Is that the right repository to be looking in, or would they be somewhere else?

Best regards,
-Karl

@antobinary
Member

Hey Karl,

The HTML5 client is part of the master branch, albeit still under development. You can find the code here: https://github.com/antobinary/bigbluebutton/tree/master/bigbluebutton-html5 . You use it to join Demo Meeting from here: http://demo.bigbluebutton.org/demo/demoHTML5.jsp .
Here is more info on the HTML5 client. You can also watch the video from the last summit: https://www.youtube.com/watch?v=3ioY-zyAUhQ

Regards,
Anton

@capilkey
Member

The link to the code should be this one, https://github.com/bigbluebutton/bigbluebutton/tree/master/bigbluebutton-html5. You linked to your personal fork Anton.

@capilkey
Member

Karl,
An overview of the HTML5 client in development can be found here, http://docs.bigbluebutton.org/labs/html5-overview.html. You can also follow the following link if you want to set up the development environment for the client, http://docs.bigbluebutton.org/labs/html5-dev.html.

As to the title of the issue, I think the current title is more accurate as the Flash client is already an open-source client. The difference between the two clients is Flash vs. HTML5.

@kfogel
kfogel commented Jan 11, 2016

Thanks so much, @antobinary and @capilkey! That's very helpful.

@capilkey: Yes, I see what you mean about the Flash client code being open source; it's just Flash itself that is not (though there's always Gnash). The current issue title is certainly accurate from a technical perspective, and perhaps is more findable anyway.

@mschipperheyn

I think that it is time to accept that quality and Flash don't belong in the same sentence anymore. I'm not talking about all the security issues with Flash. Flash is dead and has been for a while now. Pretty soon, Chrome will not even run it by default.

Every second invested in building or maintaining code related to the Flash client is a lost second. Because it could have been used to create the HTML 5 client, which, in the short term, seems to have very modest design goals (no video), and progresses very very slowly. Even with it, given the lack of support for open source video codecs on Safari, will have significant limitations on the most popular mobile client: iOS. But, it's the best option.

My suggestion in terms of focus would be:

  • Focus ALL energy on the HTML 5 client. Get the audio version our before the fall and get a beta video version out before EOY.
  • Migrate as much as possible to ReactJS to minimize development time and have access to ready made libraries
  • Integrate the open source video codec
  • Integrate the Apple video codec as a paid option. Try to license it so that you can use this license in a way that gives everybody an affordable option, e.g. monthly fee.

I get regular questions from our front office these days "can't we replace BBB with something that works on a mobile client"? A year ago, I was still saying, "next year, we'll have HTML 5" (I didn't realize the open source video codec issue then), but I've stopped doing that. Now, I'm looking around.

I know critical feedback often gets received by a: what have you done for me lately, it's open source. So be it. I invested significant time and energy in our BBB infrastructure and I really hope it will get to the next level. But some changes in focus are desperately needed. Because, if not, it will just die. And that would be a real shame.

@ffdixon
Member
ffdixon commented Jun 8, 2016 edited

Hi Karl,

Thanks for your comments -- it clearly shows you care about the project!

We are working on moving over the entire HTML5 client to react. You can see a recent update of our progresses here

http://bigbluebutton.org/2016/05/03/bigbluebutton-summit-viii-ottawa-ontario-canada/

Want to follow our progress? All this work on the HTML5 client now occurs on the master branch, and I encourage you to following the developments here

https://github.com/bigbluebutton/bigbluebutton/commits/master

Want to see what the interface is going to look like? Check out

http://docs.bigbluebutton.org/html/html5-design.html

Regarding Flash, given that Microsoft recently built it into Edge and IE 11, joining Google with an integrated Flash runtime -- Flash is a platform that is going to be around for a long time. We don't have any plans to abandon it as it "just works" (and has done so for the last seven years).

At the end of the day, an instructor going into a course just wants the web conferencing system to work -- they really don't care about the platform (we as developers care, but beyond ensuring the environment is working correctly, they don't care about the underlying technology).

We will continue to enhance the existing web client (in Flash) with updates coming in BigBlueButton 1.1, see

https://groups.google.com/d/msg/bigbluebutton-dev/2OLdUbi2K_w/1pzOZoppAwAJ

AND we are working hard to give you the option to have your users join via a pure HTML5 client that uses the latest web technologies (react and WebRTC). There has been a lot of development under the hood to modify the BigBlueButton server to support both the Flash client AND HTML5 client simultaneous.

Thanks for your feedback Marc -- hopefully the above gives you comfort that we're headed in the right direction for you.

@kfogel
kfogel commented Jun 8, 2016

Wow -- thanks for the update, @ffdixon, and congratulations on the progress!

@mschipperheyn

Fred, thanks for the feedback. I appreciate it.

I don't agree on your point of view regarding Flash and I think it's a mistake. But I understand your point that right now, it's the option that offers the most coverage.

I agree that it has to just work and on iOS, this is not the case. I hope that either Apple will start supporting open source video codecs, or open source their own, but I'm not holding my breath. So, I hope that someone will find a commercial opportunity in supporting Apple's codecs somehow to get BBB working on iOS. That's a lot of ifs and maybe's. And I'm really at a loss of how to deal with the demand for iOS tablet and iPhone access.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment