Progress on creating an HTML5 client for BigBlueButton

3,587 views
Skip to first unread message

Fred Dixon

unread,
Sep 10, 2012, 5:05:52 PM9/10/12
to BigBlueButton-dev
Hi Everyone,

We've been prototyping an HTML5 client for BigBlueButton and we want to share with everyone our progress.

Undertaking the prototype of an HTML5 client has been no small task.  Ryan Seys, a summer co-op student, worked with Richard and Marcos to create the prototype.  The code has been checked labs


To set expectations, the code is still in development.  It's not integrated with BigBlueButton yet, nor is there any support for broadcasting or receiving audio or video.  Furthermore, this code won't be part of 0.81, but we will be working on it in parallel over the coming months.

To further set expectations, we've broken the task of creating an HTML5 interface to BigBlueButton in four stages:
  1. Support viewing of a recording using HTML5 (done in 0.80!)
  2. Support viewing a live session using an HTML5 browser
  3. Support broadcasting audio/video from an HTML5 browser using WebRTC
  4. Support all presentation features of BigBlueButton in HTML5

We're currently working on Stage #2.  

In essence, for a first release, we want to deliver an BigBlueButton HTML5 client that will let a user view in a live session with two-way chat.  In other words, the user will be able to

 - view the current webcam
 - listen to the audio
 - see the current presentation
 - chat with others

For broadcasting the audio/video, the intent is to take a unified audio and video feed from BigBlueButton and stream it to the client using the WebM format.  As with BigBlueButton, we will be using open source audio and video formats.  

By keeping the scope for #2 narrow, our intent is to create a simplified interface that is easy to use (and not set expectations that the HTML5 client will do everything in the first release).  The current interface is temporary and will evolve into something more simplified.  

Please note in Stage #2 we're not trying to broadcast any audio or video from the client using WebRTC; that work will occur in a later stage.

We'll be working in parallel to the 0.81 release to integrate this prototype into BigBlueButton.  Some of us are travelling to Chattanooga, Tennessee for a Mozilla HackFest this weekend and we'll be working on the HTML5 integration as BigBlueButton projects.  See


We'll be tweeting from the show on our progress, so follow the tweets with hash tag #bigbluebutton.


Stepping back, it's worth pointing out that our intent is the BigBlueButton HTML5 client in no way replaces the current Flash interface. (Heck, there isn't any BigBlueButton HTML5 client yet, but it's worth pointing that out as well).  

We have been doing a substantial amount of work on the Flash client in 0.81, and will continue to do so in the coming release.  Obviously, the long-term vision (and note we've not defined 'long-term'), is that the BigBluebutton HTML5 client will be a first class client capable of doing everything.  As with our experience in record and playback, if we tried to implement everything at once, we would never ship; hence, the breakdown of stages above.

For more details about our efforts thus far on the HTML5 client and it's architecture, see
Give us a few weeks to integrate the prototype with BigBlueButton.  Once we have the prototype integrated, and that work will occur in a branch, we'll post instructions for others to try it out.  

As always, feedback welcome!


--
BigBlueButton Developer
BigBlueButton on twitter: @bigbluebutton

Séverin TERRIER

unread,
Sep 11, 2012, 3:45:07 AM9/11/12
to bigblueb...@googlegroups.com
Hi Fred,

Thanks for all these details, and the good work.

I don't know where you are exactly for 0.81 release, but i think it could be better to release it soon, and take time for HTML5 client in 0.82...

Just my opinion.
Séverin

Fred Dixon

unread,
Sep 11, 2012, 7:27:56 AM9/11/12
to bigblueb...@googlegroups.com
Hi Séverin,

You can get a progress on BigBlueButton 0.81 in our recent community call.  See


Once we get to 0.81-beta, we'll watch the feedback and amount of testing from the community.  The more feedback and testing, the faster we can deliver a 0.81 Release Candidate (0.81-RC).  At that point, we'll continue to resolve any outstanding issues to make sure 0.81 is as solid as we can make it.


Regards,... Fred
-- 
BigBlueButton Developer
BigBlueButton on twitter: @bigbluebutton

--
You received this message because you are subscribed to the Google Groups "BigBlueButton-dev" group.
To view this discussion on the web visit https://groups.google.com/d/msg/bigbluebutton-dev/-/Wmv-S-ERZIUJ.
To post to this group, send email to bigblueb...@googlegroups.com.
To unsubscribe from this group, send email to bigbluebutton-...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/bigbluebutton-dev?hl=en.





Fred Dixon

unread,
Sep 25, 2012, 11:22:18 PM9/25/12
to bigblueb...@googlegroups.com
Hi Everyone,

We've added some UI mockups for the BigBlueButton HTML5 client to the following wiki page:


Feedback welcome.

Again, to calibrate expectations, the HTML5 project is still in development and there isn't anything integrated yet.  Our focus is on finishing BigBlueButton 0.81.

We'll keep everyone up-to-date on our progress in this thread.

Regards,... Fred
-- 
BigBlueButton Developer
BigBlueButton on twitter: @bigbluebutton

Leonardo Daronco

unread,
Sep 25, 2012, 11:42:18 PM9/25/12
to bigblueb...@googlegroups.com
Hi,

Have you thought about using coffeescript (http://coffeescript.org/) in the HTML5 client?
I don't see a reason for not using it in a node.js application, it helps a lot!
Just a quick suggestion :)

Regards,
--
Leonardo Crauss Daronco

Fred Dixon

unread,
Sep 25, 2012, 11:50:50 PM9/25/12
to bigblueb...@googlegroups.com
He Leonardo,

Using coffeescript would be great.  You can see the JavaScript we're using here


One of the benefits in an HTML5 interface is that we can more quickly refactor the interface than Flash.  We're looking forward to working with yourself, Felipe, and the rest of the Mconf team on acceleration the implementation of the HTML5 interface.  

Once we get an integrated HTML5 prototype, you are (more than) welcome to refactor the code into coffeescript.

At the moment, we're working on getting an integrated HTML5 prototype in place to make it possible for others to build upon and improve.

More as it happens,... Fred
-- 
BigBlueButton Developer
BigBlueButton on twitter: @bigbluebutton


makhay

unread,
Sep 26, 2012, 10:20:38 AM9/26/12
to bigblueb...@googlegroups.com
hallo Fred and co-dev

very nicely done
, I personally really like this variation (((This shows multiple webcams.)))

http://bigbluebutton.googlecode.com/svn/trunk/bbb-images/html5/bbb_html_cam2.png


But I want to know whether the bbb htlm5 client
will support the real-time audio / video and P2P  P2P stream between clients without needing a  central server   ????

thanks for your answer

Fred Dixon

unread,
Sep 26, 2012, 10:42:56 AM9/26/12
to bigblueb...@googlegroups.com
Hi Makhay,

Currently, our intent is to use a central server for all video and audio connections (no P2P); otherwise, we would be unable to provide a recording of the session.  Much of the feedback we've received the past year suggested that our user base definitely wants to have the sessions recorded. 

An example would be an on-line tutoring session between two people.  The company providing the tutoring would definitely want the session recorded.


Do you need recording of audio/video in your sessions?

Regards,... Fred
-- 
BigBlueButton Developer
BigBlueButton on twitter: @bigbluebutton

To view this discussion on the web visit https://groups.google.com/d/msg/bigbluebutton-dev/-/agg6yvxFrYQJ.

Chad Pilkey

unread,
Sep 26, 2012, 11:16:28 AM9/26/12
to bigblueb...@googlegroups.com
My only feedback would be that the bottom bar looks a little large. Large buttons work well on a touch screen, but when you have a mouse the button's could be smaller and give more real-estate to the content.

Calvin Walton

unread,
Sep 26, 2012, 12:08:46 PM9/26/12
to bigblueb...@googlegroups.com
On Mon, 2012-09-10 at 17:05 -0400, Fred Dixon wrote:
> Hi Everyone,
>
> We've been prototyping an HTML5 client for BigBlueButton and we want to
> share with everyone our progress.
>
> Undertaking the prototype of an HTML5 client has been no small task. Ryan
> Seys, a summer co-op student, worked with Richard and Marcos to create the
> prototype. The code has been checked labs
>
>
> https://github.com/bigbluebutton/bigbluebutton/tree/master/labs/bbb-html5-client

> For more details about our efforts thus far on the HTML5 client and it's
> architecture, see
>
> http://code.google.com/p/bigbluebutton/wiki/HTML5
>
>
> Give us a few weeks to integrate the prototype with BigBlueButton. Once we
> have the prototype integrated, and that work will occur in a branch, we'll
> post instructions for others to try it out.

Hi, just a little note:

I've been doing some of the work on adapting the layout that Tyler has
designed to HTML5 code for the client. I currently have a
(non-functional) client layout demonstration temporarily hosted at

http://kepstin.github.com/bigbluebutton/html5layout/

It still needs more work, but it's coming along. As always, feedback is
appreciated.

--
Calvin Walton <calvin...@kepstin.ca>
BigBlueButton Developer
Blindside Networks

makhay

unread,
Sep 27, 2012, 4:01:32 PM9/27/12
to bigblueb...@googlegroups.com
hi fred

yes we do need recording of audio/video in our sessions but we do not need a central server for all video and audio connections

we do need a central server only for presenter and ( participants with presenter status = presenter )

 also this mean:

1- presenter stream to all participants ( do audio/video recording of session)
2- participants with presenter status stream to  all participants ( do audio/video recording of session)

the rest of participants without presenter status or guest do only p2p connection with each others ( WITHOUT audio/video recording of session )

this will be the best solution for us !!!

best regards

makhay

unread,
Sep 28, 2012, 8:01:05 AM9/28/12
to bigblueb...@googlegroups.com
hi Fred

is there a solution to do a combination audio/video recording (central server)  and P2P  or it s impossible ? or you are only against P2P??
please explain very well , because i cant undestand your decision to use only webrtc central server and evebody now that WebRTC is designed for p2p!!!!


please explain very well
thanks

Calvin Walton

unread,
Sep 28, 2012, 8:18:11 AM9/28/12
to bigblueb...@googlegroups.com
On Fri, 2012-09-28 at 05:01 -0700, makhay wrote:
> hi Fred
>
> is there a solution to do a combination audio/video recording (central
> server) and P2P or it s impossible ? or you are only against P2P??
> please explain very well , because i cant undestand your decision to use
> only webrtc central server and evebody now that WebRTC is designed for
> p2p!!!!

Another reason to use a central server is that with P2P, the presenter
must separately send a video stream to each other person connected. For
a class of 20 people, that means that the presenter has to send 20
separate video streams! With a server, the presenter only has to send 1
stream, and the server with a big connection in a data center can
replicate the stream.

Unfortunately, most places aren't like Chatanooga, TN (with gigabit
fibre!) and have very limited upload bandwidth. For the time being, this
is the best solution that we can see.

--
Calvin Walton <calvin...@kepstin.ca>
BigBlueButton Developer
Blindside Networks http://www.blindsidenetworks.com/

makhay

unread,
Sep 28, 2012, 10:11:09 AM9/28/12
to bigblueb...@googlegroups.com

the presenter only has to send 1 stream, and the server with a big connection in a data center can replicate the stream. what  does this mean??? witch data center?
we must us a data center in the future? never heard about it?

did you read this before
http://code.google.com/p/bigbluebutton/wiki/FAQ#Bandwidth_Requirements

or not?

with P2P, the presenter must separately send a video stream to each other person connected. For a class of 20 people, that means that the presenter has to send 20 separate video streams! !!!!!!!!!!

with central server the presenter must separately send a video stream to each other person connected. For a class of 20 people, that means that the presenter has to send 20 separate video stream or i am wrong?
and a class of 20 people should send 20 streams by a central server , this mean 400 streams for your central server,, i am wrong???

also to save  Bandwidth  we must use a central server???? is that what you want to say mr calvin???


best regards

Calvin Walton

unread,
Sep 28, 2012, 3:35:36 PM9/28/12
to bigblueb...@googlegroups.com
On Fri, 2012-09-28 at 07:11 -0700, makhay wrote:
> the presenter only has to send 1 stream, and the server with a big
> connection in a data center can replicate the stream. what does this
> mean??? witch data center?
> we must us a data center in the future? never heard about it?

Right now, we recommend that your BigBlueButton server is a dedicated
server, with a fairly high-bandwidth connection if you want to do video
sharing. This usually means that it is located in a data center. Some
companies or universities that have fast connections will run the server
in-house.
Yes, these calculations are to compute bandwidth for the current
BigBlueButton server, which looks like this:

+--------+
--> | Viewer |
+--------+ / +--------+
+---------+ | BBB | / +--------+
| Sharer | ----> | Server | ----> | Viewer |
+---------+ | | \ +--------+
+--------+ \ +--------+
--> | Viewer |
+--------+

If your mail client can't show that, click here:
https://raw.github.com/gist/3801603

> with P2P, the presenter must separately send a video stream to each other
> person connected. For a class of 20 people, that means that the presenter
> has to send 20 separate video streams! !!!!!!!!!!
>
> with central server the presenter must separately send a video stream to
> each other person connected. For a class of 20 people, that means that the
> presenter has to send 20 separate video stream or i am wrong?
> and a class of 20 people should send 20 streams by a central server , this
> mean 400 streams for your central server,, i am wrong???

With a central server, the presenter only sends one video stream to the
central server. The central server sends that one stream to each client.

For a classroom with 20 people with one person sharing their webcam,
that means:
* The sharer is sending 1 stream to the server (40kb/s)
* The server is receiving 20 streams (20 * 40 = 800kb/s)
* The server is sending 19 streams total, one to each viewer
(19*40 = 760kb/s)
* Each viewer receives 1 stream from the server (40kb/s)

If all 20 people are sharing their webcams, then:
* Each sharer is sending 1 stream to the server. (40kb/s)
* The total number of streams the server is receiving is 20.
(20*40 = 800kb/s)
* The server is sending 19 streams to each person. The total
number of streams the server is sending is 19*20=380 (380*40 =
15200kb/s = 15mb/s)
* Each person receives 19 streams from the server (19*40 =
760kb/s)

As you can see, the presenter only needs 40kb/s of upload bandwidth, no
matter how many users are connected. The server must have a fast
connection, but that is possible to get.

Even if the presenter has slow internet, they can still share their
webcam with lots of people.

With a P2P setup with 20 peopl, If one person is sharing their webcam,
then:
* The sharer is sending 19 streams, 1 to each viewer (19*40 =
760kb/s)
* The viewer is receiving 1 stream from the presenter (40kb/s)

If everybody shares their webcam:
* Everybody needs to send 19 streams, 1 to each other person
(19*40 = 760kb/s)
* Everybody receives 19 streams, 1 from each other person (19*40 =
760kb/s)

In this case, the sharer needs to use 760kb/s of upload bandwidth
instead of 40kb/s! (And if you add more people, it will get higher.) My
internet connection at home is too slow to share my webcam with 20
people using P2P. At most, I can share with 3 or 4 people.

--
Calvin Walton <calvin...@kepstin.ca>
BigBlueButton developer at Blindside Networks
http://www.blindsidenetworks.com/

makhay

unread,
Sep 28, 2012, 7:02:24 PM9/28/12
to bigblueb...@googlegroups.com
hallo Mr calvin

thanks for your answer but i think you misunderstood me !!!

in a classroom with 30 student and 1 presenter

we need a presenter that stream to 30 people using bbb webrtc central server also only 1 stream to many to (30 students)

If you'd have a typical classroom situation with the presenter broadcasting their webcam to 30 remote students, the calculation is as follows:

  • in: 1*40 = 40 Kbytes/sec incoming (e.g. 0.32 Mbit/sec)
  • out: 1*(30-1)*40 = 1160 Kbytes/sec outgoing (e.g. 9.3 Mbit/sec)
  • Total traffic used after one hour: 60 mins*60 secs*( 40 + 1160) = 4.3 Gbyte traffic per hour

thats all what we need from bbb webrtc central server

this 30 student will NOT use bbb webrtc central server

webrtc is designed for p2p , why not let students do p2p with each others???


why not to have bbb webrtc central server and  bbb p2p server at the same time ????

also show this::::

presenter stream to 30 students -------------         presenter -----> bbb webrtc central server -----> to 30 students

and presenter stream to student abc and to student xyz      presenter ------> bbbwebrtc p2p server -------> student abc and to student xyz

tell now presenter has opened 3 stream :::

one stream to bbb webrtc central server

one  stream to student abc using p2p ( direct connection between  presenter and student abc) no bbb webrtc central server

one stream  to student xyz using p2p ( direct connection between  presenter and student xyz) no bbb webrtc central server

and the same way should the other student do p2p with each others

we should use a bbb webrtc central server and bbb webrtc p2p server !!!!

you undestand now what i mean mr calvin??

is this possible or not????



thanks

Fred Dixon

unread,
Sep 28, 2012, 7:13:53 PM9/28/12
to bigblueb...@googlegroups.com
Hi Makhay,

Calvin gave (I believe) a very good answer. 

> BigBlueButton should use a bbb webrtc central server and bbb webrtc p2p server !!!!

BigBlueButton doesn't do everything everyone wants because it if did, no one would use it.  But it's open source, and you are (more than) welcome to modify it for your needs.  

If your wondering where this project is going, check out our road map


To understand how we focus on features for a release (and decline to do other features), see


So, if you ask "why does BigBlueButton not have feature X", please see the above FAQ.  


Regards,... Fred
-- 
BigBlueButton Developer
BigBlueButton on twitter: @bigbluebutton

--
You received this message because you are subscribed to the Google Groups "BigBlueButton-dev" group.
To view this discussion on the web visit https://groups.google.com/d/msg/bigbluebutton-dev/-/OjkLORivnSYJ.

makhay

unread,
Sep 29, 2012, 11:11:30 AM9/29/12
to bigblueb...@googlegroups.com



I have proposed solutions, and I think I have asked questions
you commented on my suggestion, that's all
you dindnt answered my question , or you do not know the answer !!!!

Instead, you give me this standard answer

very weakly

Richard Alam

unread,
Sep 29, 2012, 12:01:38 PM9/29/12
to bigblueb...@googlegroups.com
On Sat, Sep 29, 2012 at 11:11 AM, makhay <amazi...@hotmail.com> wrote:
>
>
>
> I have proposed solutions, and I think I have asked questions
> you commented on my suggestion, that's all
> you dindnt answered my question , or you do not know the answer !!!!
>
> Instead, you give me this standard answer

Your proposed solution will work. Having the presenter have a stream
to each student. Although not practical.

You can send a pull request and we'll evaluate it to be included into
BigBlueButton.

Richard
> https://groups.google.com/d/msg/bigbluebutton-dev/-/zL8B9rhbutcJ.
>
> To post to this group, send email to bigblueb...@googlegroups.com.
> To unsubscribe from this group, send email to
> bigbluebutton-...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/bigbluebutton-dev?hl=en.



--
-----
BigBlueButton Developer
http://www.bigbluebutton.org
http://code.google.com/p/bigbluebutton

tran tuan duong

unread,
Oct 3, 2012, 10:23:09 PM10/3/12
to bigblueb...@googlegroups.com
Hi Fres Dixon,

When i upload file presen. I get an error

/home/firstuser/Downloads/bbb-html5-client/node_modules/redis/index.js:523
            throw err;
                  ^
ReferenceError: sockt is not defined
    at /home/firstuser/Downloads/bbb-html5-client/routes/socketio.js:564:26
    at /home/firstuser/Downloads/bbb-html5-client/redis/index.js:367:7
    at try_callback (/home/firstuser/Downloads/bbb-html5-client/node_modules/redis/index.js:520:9)
    at RedisClient.return_reply (/home/firstuser/Downloads/bbb-html5-client/node_modules/redis/index.js:590:13)
    at HiredisReplyParser.RedisClient.init_parser (/home/firstuser/Downloads/bbb-html5-client/node_modules/redis/index.js:263:14)
    at HiredisReplyParser.EventEmitter.emit (events.js:93:17)
    at HiredisReplyParser.execute (/home/firstuser/Downloads/bbb-html5-client/node_modules/redis/lib/parser/hiredis.js:43:18)
    at RedisClient.on_data (/home/firstuser/Downloads/bbb-html5-client/node_modules/redis/index.js:476:27)
    at Socket.<anonymous> (/home/firstuser/Downloads/bbb-html5-client/node_modules/redis/index.js:79:14)
    at Socket.EventEmitter.emit (events.js:93:17)

Can you help me fix this error!


Vào 04:06:15 UTC+7 Thứ ba, ngày 11 tháng chín năm 2012, Fred Dixon đã viết:

Douglas Tang

unread,
Oct 4, 2012, 2:56:59 AM10/4/12
to bigblueb...@googlegroups.com
What is the use of redis in bbb-html5-client??

2012/10/4 tran tuan duong <trandu...@gmail.com>

--
You received this message because you are subscribed to the Google Groups "BigBlueButton-dev" group.
To view this discussion on the web visit https://groups.google.com/d/msg/bigbluebutton-dev/-/YcdTTHE8bhQJ.

To post to this group, send email to bigblueb...@googlegroups.com.
To unsubscribe from this group, send email to bigbluebutton-...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/bigbluebutton-dev?hl=en.



--
I shall return!

Fred Dixon

unread,
Oct 4, 2012, 8:48:05 AM10/4/12
to bigblueb...@googlegroups.com
Hi,

We're still working on integrating the HTML5 client into BigBlueButton.   Please see


where we state

   "To set expectations, the code is still in development.  It's not integrated with BigBlueButton yet, "

and
 
   "Give us a few weeks to integrate the prototype with BigBlueButton.  Once we have the prototype integrated, and that work will occur in a branch, we'll post instructions for others to try it out. "


Nothing has changed -- we're still working on the integration and we've not made any post that others are ready to try it out.  Give us a few more weeks to get a working prototype in place.  We'll post to bigbluebutton-dev when its ready for others to try.


Regards,... Fred
-- 
BigBlueButton Developer
BigBlueButton on twitter: @bigbluebutton


Richard Alam

unread,
Oct 4, 2012, 9:53:28 AM10/4/12
to bigblueb...@googlegroups.com
On Thu, Oct 4, 2012 at 2:56 AM, Douglas Tang <tangx...@gmail.com> wrote:
> What is the use of redis in bbb-html5-client??

Redis is used for pubsub to exchange messages with the Flash client.
For example, when a user sends
a chat message from the HTML5 client, we need to send that message to
the users joined through the
Flash client.

Also, we will be making redis store the state of the meetings so that
HTML5 and Flash clients will have the
same view of the meeting instead of passing around data through messages.

Richard

Douglas Tang

unread,
Oct 4, 2012, 10:25:33 AM10/4/12
to bigblueb...@googlegroups.com

Use the Redis,What about performance?
2012/10/4 Richard Alam <ritz...@gmail.com>



--
I shall return!

Richard Alam

unread,
Oct 4, 2012, 10:34:40 AM10/4/12
to bigblueb...@googlegroups.com
On Thu, Oct 4, 2012 at 10:25 AM, Douglas Tang <tangx...@gmail.com> wrote:
>
> Use the Redis,What about performance?

We'll worry about that later :) This is an intermediate step.

If we hit performance problems we can switch to RabbitMQ or others for
messaging.

We'll make it work, then we'll make it stable, then we'll make it fast.

We will be extracting what's in bbb-apps into a standalone application
not dependent on Red5.
Red5 will just be a proxy for Flash clients and Nodejs for HTML5
clients. These proxies will be as
dumb as possible, doesn't maintain state. This way, they can crash,
start, stop, and won't affect the
whole system. All we need to worry about making reliable is the
standalone app which will have the
business logic and data.

I'm starting to create an architecture doc which I will share it for
feedback and suggestions soon. Hopefully,
other developers in the community will be able to help implement
different parts of the system.

Richard

Douglas Tang

unread,
Oct 4, 2012, 10:58:31 AM10/4/12
to bigblueb...@googlegroups.com
Why not using ActiveMQ? and...In the record also use Redis,Why not using xml for store the record data?

Richard Alam

unread,
Oct 4, 2012, 11:24:07 AM10/4/12
to bigblueb...@googlegroups.com
On Thu, Oct 4, 2012 at 10:58 AM, Douglas Tang <tangx...@gmail.com> wrote:
> Why not using ActiveMQ? and...In the record also use Redis,Why not using xml
> for store the record data?

Redis does also pubsub so we don't need to add another component just
to do pubsub.

We did not want to write to XML file directly for recording. It's
better to hand storage of events to another component that's fast and
designed to save data. Then when the meeting ends, we do post
processing where we extract the recorded events to Redis and save it
to XML.

tran tuan duong

unread,
Oct 5, 2012, 2:50:02 AM10/5/12
to bigblueb...@googlegroups.com

Douglas Tang

I use redis version 0.81.

HostBBB.com

unread,
Oct 6, 2012, 11:16:03 AM10/6/12
to BigBlueButton-dev
Richard, That's a neat architecture and should work well with mixed
flash/html5 clients and provide great transition

Couple of questions.

How does the Freeswitch ESL data showing who is taking get
transmitted? I understand the first phase html5 client just allows
for listening/viewing but assume those view only users still see
notification on talking, mute etc in users list.

Also if someone dials with audio bridge? How is this handled since no
user is mapped. Does html5 client see the number in list, i assume
they will hear for sure since it is just one mixed audio stream.

Regards.
Stephen

On Oct 4, 10:34 am, Richard Alam <ritza...@gmail.com> wrote:
> On Thu, Oct 4, 2012 at 10:25 AM, Douglas Tang <tangxt2...@gmail.com> wrote:
>
> > Use the Redis,What about performance?
>
> We'll worry about that later :) This is an intermediate step.
>
> If we hit performance problems we can switch to RabbitMQ or others for
> messaging.
>
> We'll make it work, then we'll make it stable, then we'll make it fast.
>
> We will be extracting what's in bbb-apps into a standalone application
> not dependent on Red5.
> Red5 will just be a proxy for Flash clients and Nodejs for HTML5
> clients. These proxies will be as
> dumb as possible, doesn't maintain state. This way, they can crash,
> start, stop, and won't affect the
> whole system. All we need to worry about making reliable is the
> standalone app which will have the
> business logic and data.
>
> I'm starting to create an architecture doc which I will share it for
> feedback and suggestions soon. Hopefully,
> other developers in the community will be able to help implement
> different parts of the system.
>
> Richard
>
>
>
>
>
>
>
> > 2012/10/4 Richard Alam <ritza...@gmail.com>
>
> >> On Thu, Oct 4, 2012 at 2:56 AM, Douglas Tang <tangxt2...@gmail.com> wrote:
> >> > What is the use of redis in bbb-html5-client??
>
> >> Redis is used for pubsub to exchange messages with the Flash client.
> >> For example, when a user sends
> >> a chat message from the HTML5 client, we need to send that message to
> >> the users joined through the
> >> Flash client.
>
> >> Also, we will be making redis store the state of the meetings so that
> >> HTML5 and Flash clients will have the
> >> same view of the meeting instead of passing around data through messages.
>
> >> Richard
>
> >> > 2012/10/4 tran tuan duong <tranduong...@gmail.com>
>
> >> >> Hi Fres Dixon,
>
> >> >> When i upload file presen. I get an error
>
> >> >> /home/firstuser/Downloads/bbb-html5-client/node_modules/redis/index.js:523
> >> >>             throw err;
> >> >>                   ^
> >> >> ReferenceError: sockt is not defined
> >> >>     at
> >> >> /home/firstuser/Downloads/bbb-html5-client/routes/socketio.js:564:26
> >> >>     at /home/firstuser/Downloads/bbb-html5-client/redis/index.js:367:7
> >> >>     at try_callback
>
> >> >> (/home/firstuser/Downloads/bbb-html5-client/node_modules/redis/index.js:520­:9)
> >> >>     at RedisClient.return_reply
>
> >> >> (/home/firstuser/Downloads/bbb-html5-client/node_modules/redis/index.js:590­:13)
> >> >>     at HiredisReplyParser.RedisClient.init_parser
>
> >> >> (/home/firstuser/Downloads/bbb-html5-client/node_modules/redis/index.js:263­:14)
> >> >>     at HiredisReplyParser.EventEmitter.emit (events.js:93:17)
> >> >>     at HiredisReplyParser.execute
>
> >> >> (/home/firstuser/Downloads/bbb-html5-client/node_modules/redis/lib/parser/h­iredis.js:43:18)
> >> >>     at RedisClient.on_data
>
> >> >> (/home/firstuser/Downloads/bbb-html5-client/node_modules/redis/index.js:476­:27)
> >> >>     at Socket.<anonymous>
>
> >> >> (/home/firstuser/Downloads/bbb-html5-client/node_modules/redis/index.js:79:­14)
> >> >>     at Socket.EventEmitter.emit (events.js:93:17)
>
> >> >> Can you help me fix this error!
>
> >> >> Vào 04:06:15 UTC+7 Thứ ba, ngày 11 tháng chín năm 2012, Fred Dixon đã
> >> >> viết:
>
> >> >>> Hi Everyone,
>
> >> >>> We've been prototyping an HTML5 client for BigBlueButton and we want
> >> >>> to
> >> >>> share with everyone our progress.
>
> >> >>> Undertaking the prototype of an HTML5 client has been no small task.
> >> >>> Ryan Seys, a summer co-op student, worked with Richard and Marcos to
> >> >>> create
> >> >>> the prototype.  The code has been checked labs
>
> >> >>>https://github.com/bigbluebutton/bigbluebutton/tree/master/labs/bbb-h...
> >> >>>https://wiki.mozilla.org/Ignite/Hackanooga2012#Team_idea_1:_High-Qual...

Fred Dixon

unread,
Oct 6, 2012, 11:22:50 AM10/6/12
to bigblueb...@googlegroups.com
Hi Stephen,

We haven't considered transmitting the ESL events from FreeSWITCH, but it wouldn't be hard to wire up.  At the moment, we're sprinting to get a working HTML5 prototype that we can demonstrate to others.  

Also, if a user dials into the audio bridge via a phone, then not appear in the users list for the Flash and HTML5 client.  This will change in the future as we're also working on unifying the users and listeners list into one component.  This work will be post 0.81.


Regards,... Fred
-- 
BigBlueButton Developer
BigBlueButton on twitter: @bigbluebutton

Fred Dixon

unread,
Oct 6, 2012, 3:22:06 PM10/6/12
to bigblueb...@googlegroups.com
Hi Everyone,

Here's a video showing the most recent HTML5 prototype in action.  It demonstrates

 1.  Logging into a BigBlueButton session
 2.  Receiving updates to the Users and Chat 
 3.  Receiving updates to the mouse movement and a single draw event (pen tool).

To watch the video:


This prototype -- and we stress the word prototype -- isn't ready yet for others to download and try out.  Right now, we're working on hooking up the core events into the HTML5 client and need to add a live stream of the audio and video.

There is still much work ahead for us, but you can see our progress from the above video.

Mark

unread,
Jan 14, 2013, 9:14:54 AM1/14/13
to bigblueb...@googlegroups.com
Dear Everyone,

I would like to start using HTML5 client for BigBlueButton. I followed the steps described in the "Setup HTML5 Development" on Bigbluebutton wiki page. At the point where the instructions told to install bigbluebutton-client, web-bigbluebutton, bigbluebutton-apps, I continued without installing them (it's correct, or not, and I must install the three sw components? ). in my configuration is already present the BBB server, and it's working properly. At the Installation is complete, I insert on browser: http://myIP:3000/  , but in this page, after it's updating, the meeting ID field will be blank. So you can not start the html5 client and it's appears the following error message: "500 TypeError: Cannot read property 'id' of undefined".

In the setup, I'm using the version 0.8.1 of the html5 client.

Can you help me, please ?

Best Regards.
Thanks, M.

Fred Dixon

unread,
Jan 14, 2013, 9:23:41 AM1/14/13
to BigBlueButton-dev
Hi Mark,

> I would like to start using HTML5 client for BigBlueButton. 

Just to calibrate your expectations, there is no HTML5 client to use, only development work that is going in parallel to 0.81.  Also, the support for HTML5 client will not be in BigBlueButton 0.81; rather, the support for HTML5 will be in a subsequent release to 0.81. 

Currently, we're in the process of updating the HTML5 client sources and the instructions for setting up a development environment.  We'll post a message here when the update is available.  After that, you should have an easier time setting up a development environment.


Regards,... Fred
-- 
BigBlueButton Developer
BigBlueButton on twitter: @bigbluebutton



--
You received this message because you are subscribed to the Google Groups "BigBlueButton-dev" group.
To view this discussion on the web visit https://groups.google.com/d/msg/bigbluebutton-dev/-/IXmimqrwXp8J.

Mark

unread,
Jan 14, 2013, 9:34:16 AM1/14/13
to bigblueb...@googlegroups.com
Hi Fred,

Thanks for the informations.

Best Regards.

Wei Shao

unread,
Feb 13, 2013, 5:31:34 PM2/13/13
to bigblueb...@googlegroups.com
Hi Fred,

Want to follow up on html5 client.  Is it in a stable enough state to play with?

If I use it for read-only clients, how many clients does it support?

Thanks,
Wei

Fred Dixon

unread,
Feb 13, 2013, 6:19:51 PM2/13/13
to BigBlueButton-dev
Hi Wei,

The HTML5 client is still under development and not ready for others to try out -- believe me, when it reaches that point, we'll be posting to bigbluebutton-dev.  

At the moment, our focus is to get BigBlueButton 0.81 to beta.  You can expect the HTML5 client to merge into BigBlueButton core in a subsequent release after 0.81.


Regards,... Fred

-- 
BigBlueButton Developer
BigBlueButton on twitter: @bigbluebutton


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.

ghazi...@speakserve.com

unread,
Nov 19, 2013, 1:29:02 PM11/19/13
to bigblueb...@googlegroups.com
Hi,

Team has just discovered https://tawk.com/. You may find some useful feature to implement from.

Regards,
Ghazi

Fred Dixon

unread,
Nov 19, 2013, 1:50:33 PM11/19/13
to BigBlueButton-dev
Hi Ghazi,

Thanks.  Took a quick look ... it doesn't appear to be open source, so we probably won't spend a lot of time on it.  :-)

The core functionality that BigBlueButton provides -- audio, video, chat, webcam and desktop sharing -- is pretty common.  

We tend to spend more time listening to our community than trying to look at what other proprietary applications are doing.


Regards,... Fred
-- 
BigBlueButton Developer
BigBlueButton on twitter: @bigbluebutton

--
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-...@googlegroups.com.
To post to this group, send email to bigblueb...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages