Nextcloud App for BigBlueButton integration

Hi Armin, RMM!

@oppitza ā€¦ Iā€™ve check out the demoā€¦ itā€™s great and I have a bit different use case but generally feature requirements are similar. Iā€™m cannot join in programming part currently but I would really like to collaborate regarding the user interfaceā€¦ You demo is a great proof of concept but I would like to see a deeper integration (join meetings from Talk or other apps) and meetings administration features (manage meetings, scheduling, recordings management etc.).

My case is a research institute and we provide the Nextcloud service for our researchers to collaborate around their research projects, sharing data and documentation and communicate via Talk or via BigBlueButton larger sessions (webinars, meetings).

Maybe you should create an app according to Nextcloud dev principles https://docs.nextcloud.com/server/latest/developer_manual//app/index.html
ā€¦ then we can collaborate through issues there.

Also, it is possible that we participate in funding the development.

So, lets make a team of interested parties and start collaboration.

Best,
Alen
alen@irb.hr

1 Like

Hello everyone,

My first post :slight_smile: Here is an idea:

Since NC Talk works well for 2-4 users (and is maintained), why not start with that, use the BB PHP API whenever video / audio calls are concerned. I am sure it is a bit harder than I make it sound, but much of the UI of Talk is mature. The chat would continue to go through NC back-end (since it works there is no reason to mess with it).

Thoughts?

We got it working! We need help to release it.

  1. We want to release it to the community, but donā€™t have enough experience to package it (and frankly, others would be better at it)
  2. Right now the parameters are hard-coded (BigBlueButton URL and secret) we need to update the settings page and pull values into the code
  3. We use an iframe to load BBB, so need to add the domain of BBB to /lib/public/AppFramework/Http/ContentSecurityPolicy.php ā€“ there has to be a better way
  4. Some code cleanup is needed to remove webrtc from JS and from signaling in PHP

Any takers to help?

On another note, while it is an achievement to use PHP for WebRTC audio / video signalling, it has high latency (not a persistent server), has limited scalability, and uses too much CPU power on the NC server. A bad idea! Now that this is working I donā€™t see how we would go back.

7 Likes

If you can publish your code on Github or Gitlab other people could help you out.

Dear Nextcloud community;
thanks for all your feedback so far. As already said our platform for live classroom is up and running (see demo at www.vicole.de ). The platform is based on Nextcloud and BigBlueButton and we are planning to release a Nextcloud app for this in the near future.

Please stay tuned and stay safe.

6 Likes

@oppitza,

Great! The Talk UI is very nice and maintains conversation history. As well, given it is integrated into NC (e.g. projects, tags, side file chat) and is developed by NC itself, I would recommend we use this as a starting platform. No need to reinvent the well.

We are going into production shortly.

Our repo is ready for primetime and used in production
Looking forward to contributions from the community

9 Likes

You should activate issues on your fork.

Thanks - done!

WOOOOOOOW!

guys (especially @oppitza and @ramezrafla and all the other guys here):

YOU absolutely rock!

thank you for your ideas and contributions. :heavy_heart_exclamation:

3 Likes

Thanks!

Itā€™s production-ready. All you need are:

  1. BBB server
  2. Access to config.php to set BBB parameters (we are adding shortly settings to the admin page)

It supports both full-fledged conversation with BBB and file-based conversations on the side with the built-in signalling server (less attendees so works well)

Let me know if you face any issues or need help.

@oppitza, you should give it a spin. Will make things easier in the future in terms of maintainability and integration in the calendar / tasks etc.

4 Likes

While this is cool, this seems like a rather basic modification and could maybe be better done inside NC-Talk?

How about a admin setting is added to choose the regular Spreed backend or as optional alternatives BBB or Jitsi-Meet iframes?

That would actually also help with the community unrest about the non open-source scaleable backend for NC-Talk :slight_smile:

@Krischan
I agree that this is the best way forward. However, I am not holding my breath.

It took me 3 work days with limited knowledge of NC and Vue (We are a ReactJS house) to get it done. It would have taken NC much less I am sure. Why havenā€™t they done it so far? Not long ā€¦

Why havenā€™t they?

@Krischan There is an issue on Github already about this issue: https://github.com/nextcloud/spreed/issues/3209

No that is for an alternative backend. Its nice that people look into that as well, but understandably for Nextcloud as a business there is nothing to ā€œwinā€ there.

But what @ramezrafla seems to have prototyped here is a complete replacement of the Spreed interface inside NCTalk with BBB. Of course that will likely have issues with the NCTalk mobile app and so on and requires technical expertise to setup the BBB server.
But I see an actual benefit in it for Nextcloud as a company as well, as they could thus taylor NCTalk to a wider range of use-cases or allow customers to use pre-existing BBB or Jitsi-meet services.

But anyways, I am also surprised that if Spreed is basically just an iframe integration in NCTalk, why this hasnā€™t been proposed earlier. It would seem like a really easy improvement.

Most BBB integrations via their API is to load a new tab, redirect current tab or load the client in an iframe. What we did is quite conventional. In fact, the API is all about creating a meeting then loading the client. Jitsiā€™s api explicitly mentions iframe parent in their JS API.

Frankly, I donā€™t see the need for NCā€™s internal (or paid) signalling for webrtc (except maybe for the file-side chat which has a simple camera-only client ā€“ BBB does not have that yet). Another exception is for low-volume self-hosted NC instances ā€¦ in which case you donā€™t need a full videoconf anyway. I donā€™t see a business-case for their high-performance server.

NOTES:

  1. We just made an improvement to Talk with BigBlueButton to show the BBB client full-width and hide all the sidebars when a call is launched (you can, of course reopen the right sidebar with the call info).
  2. There is an open-source nodejs signalling server here: https://gitlab.com/powerpaul17/nc_talk_backend ā€“ havenā€™t tried it and doc is skimpy
2 Likes

The founder of Nextcloud @frank Karlitscheck has expressed support for a new effort to write an open source Nextcloud Talk backend server alternative and has offered help:

I suggest @ramezrafla and vicole ping him directly to ask for support for the Big Blue Button integration as well. Given Nextcloudā€™s new partnership with Ionos and Viakom to push Nextcloud as solution for schools and SMEs there should be enough synergy to make this interesting for them:

Nextcloud Talk is based on code done by Spreed, a company that is keeping the High Performance Backend to Talk closed source and is asking huge license fees for it . So its just not accurate to imply that Nextcloud is benefiting from the fact that the High Performance Backend is closed source

5 Likes

A bunch of public and private school districts are just getting used to using Zoom, and their demand has blown up since giving unlocked accounts to schools for freeā€¦ and now with both major privacy and security revelations recently, school districts are starting to ban its use just as quickly. Many of them also use Google Drive to reduce storage costs, but our state AG also has a lawsuit on Google for data mining students.

There is definitely room for Nextcloud to pick up popularity, both among data storage and teleconferencing.

2 Likes

Thanks @menelic, @frank

Schools and Colleges are using Big Blue Button as their preferred communication tool (if they are not using Office365 or GSuite) as it includes white board, break out rooms etc. Our ā€˜Talk with Big Blue Buttonā€™ App is used in production and ready for prime-time.

We listed on the README a few things that need to be done (3 things to be exact). If interested, Nextcloud folks can reach out to me to plan next steps. As it is, it serves our purpose very well, time for the community / NC to step in if more customisation are needed.

5 Likes

@menelic
I canā€™t speak on the veracity of this claim. But I can tell you that Big Blue Button has been around for a very long time (and others too, like Red5; Jitsi is over 10 years old). I canā€™t see any good reason for NC to support a no-name no-body small basement outfit with their own implementation of some esoteric signalling algorithm no one knows about and they keep their own server closed source. All their public repos on Github are abandoned and desolate.

And I am mincing my words ā€¦

However, to say itā€™s business and provides a stream of revenue to finance operations, that ā€¦ I buy.

1 Like