Frederick Dixon
    • Create new note
    • Create a note from template
      • Sharing URL Link copied
      • /edit
      • View mode
        • Edit mode
        • View mode
        • Book mode
        • Slide mode
        Edit mode View mode Book mode Slide mode
      • Customize slides
      • Note Permission
      • Read
        • Only me
        • Signed-in users
        • Everyone
        Only me Signed-in users Everyone
      • Write
        • Only me
        • Signed-in users
        • Everyone
        Only me Signed-in users Everyone
      • Engagement control Commenting, Suggest edit, Emoji Reply
      • Invitee
    • Publish Note

      Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

      Your note will be visible on your profile and discoverable by anyone.
      Your note is now live.
      This note is visible on your profile and discoverable online.
      Everyone on the web can find and read all notes of this public team.
      See published notes
      Unpublish note
      Please check the box to agree to the Community Guidelines.
      View profile
    • Commenting
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
      • Everyone
    • Suggest edit
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
    • Emoji Reply
    • Enable
    • Versions and GitHub Sync
    • Note settings
    • Engagement control
    • Transfer ownership
    • Delete this note
    • Save as template
    • Insert from template
    • Import from
      • Dropbox
      • Google Drive
      • Gist
      • Clipboard
    • Export to
      • Dropbox
      • Google Drive
      • Gist
    • Download
      • Markdown
      • HTML
      • Raw HTML
Menu Note settings Sharing URL Create Help
Create Create new note Create a note from template
Menu
Options
Versions and GitHub Sync Engagement control Transfer ownership Delete this note
Import from
Dropbox Google Drive Gist Clipboard
Export to
Dropbox Google Drive Gist
Download
Markdown HTML Raw HTML
Back
Sharing URL Link copied
/edit
View mode
  • Edit mode
  • View mode
  • Book mode
  • Slide mode
Edit mode View mode Book mode Slide mode
Customize slides
Note Permission
Read
Only me
  • Only me
  • Signed-in users
  • Everyone
Only me Signed-in users Everyone
Write
Only me
  • Only me
  • Signed-in users
  • Everyone
Only me Signed-in users Everyone
Engagement control Commenting, Suggest edit, Emoji Reply
Invitee
Publish Note

Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

Your note will be visible on your profile and discoverable by anyone.
Your note is now live.
This note is visible on your profile and discoverable online.
Everyone on the web can find and read all notes of this public team.
See published notes
Unpublish note
Please check the box to agree to the Community Guidelines.
View profile
Engagement control
Commenting
Permission
Disabled Forbidden Owners Signed-in users Everyone
Enable
Permission
  • Forbidden
  • Owners
  • Signed-in users
  • Everyone
Suggest edit
Permission
Disabled Forbidden Owners Signed-in users Everyone
Enable
Permission
  • Forbidden
  • Owners
  • Signed-in users
Emoji Reply
Enable
Import from Dropbox Google Drive Gist Clipboard
   owned this note    owned this note      
Published Linked with GitHub
Subscribed
  • Any changes
    Be notified of any changes
  • Mention me
    Be notified of mention me
  • Unsubscribe
Subscribe
Kickoff session: https://demo.bigbluebutton.org/rooms/ggu-sze-sqf-bxr/join # Project worksheet for 19th BigBlueButton Developer Summit (Brazil, 2024) Hi everyone! Let's collaborate here using HackMD on the projects we want to do this developer summit (April 22th to April 26th). List the projects you are interested in seeing developed -- we'll likely have more projects than people, but let's capture all of the ideas. As with past summits, we'll form groups around the projects, sprint (hack) on them for the week, learn along the way, and give presentations starting at 14:00 on Friday, April 26th. Many of these projects will be using the latest build of BigBlueButton 3.0-dev. Here are some of the main project -- feel free to add your own or sign-up for an existing project. Plese edit/correct any information you see in the document. # Conference Participants ## In Person From Blindside Networks (Canada) - Anton Georgiev - Fred Dixon From iMDT (Brazil) - André Castro - Anton Barboza De Sa - Gabriel Luiz Porfirio - Guilherme Pereira Leme - Gustavo Trott - João Victor - Ramón Souza - Tainan Felipe Pauli De Almeida - Tiago Daniel Jacobs From Mconf (Brazil) - Átila Uebel - Arthur Böckmann Grossi - Bruno Guilherme Valentini - Felipe Cecagno - Júlia Palma Rathke - Lucas Fialho Zawacki - Paulo Renato Lanzarin - Rafaela Caroline Mônaco From Element.io - Timo Kandra ## Attending Remotely From RIADVICE (Tunisia) - Ghazi Triki From aufKurs.de (Germany) - Tim Korn (partially attending) From Blindside Networks (Canada) - Kert Browne From University of Mainz (Germany) - Jan Kessler - Malte From Mconf (São Tomé) - Germano Caumo Carniel From fairkom (Austria) - Roland Alton - Martin Klampfer (Tue) # Projects ## Integration with Element Element.io are the creators of the Matrix Protocol. Element is the most popular Matrix client. There are two variants to integration of BigBlueButton with Element. 1. Launch into a BigBlueButton from within Element 2. Enable BigBlueButton to join a Matrix channel and continue the discussion within BigBlueButton. We will be focussing on (1). Initial session recording https://pro.fairteaching.net/p/6a0479531fc476b0b782d5cd763c49fa85c4f640-1713815682648 - Phase 1: get again work the old dimension setup from HU berlin, may be the preferable solution if users are federated and use different clients, integrate widget without dimension. - Phase 2: sync RTC session state, show this information to join any call, even parallel calls in one room, we do that to add widget link, is directly integrated without dimension, we need then a JWT proxy server, we may use the wrapper for jitsi, we go with the smart ownership concept: one owner one membership event. non-element participants would not sync the state - Phase 3: livekit integration - get audio/video with joining native RTC sessions Members: Timo Kandra, Roland Alton, Jan Krammer, Martin Klampfer ## Away Mode Improvements - Mute microphone + camera when away. - Disable away when microphone is unmuted. - Avoid changing users userlist position when it is away. - Find a new place for the "Set yourself to away" button (discuss with design team) Members: Ramon ## Automated Testing ### Create Plugin Tests Create tests to ensure that new versions of BigBlueButton will work with the [plugin SDK samples](https://github.com/bigbluebutton/bigbluebutton-html-plugin-sdk/tree/main/samples), and also with the [official plugins](https://github.com/bigbluebutton/plugins). Members: Anton B. ### Enhance Failed Test Messages Members: Gabriel ### Host Test Reports Externally Allow developers to access test results directly from the pull request Members: Anton B. ## Removal of Meteor collections Remove all usages of server-side Meteor collections in BigBlueButton 3.0 Members: Tainan, João Victor ## BigBlueButton 3.0 stress tests Determine user capacity and system bottlenecks. Members: Tiago ## Support Multiple Connections per User Handle cases where a user opens multiple browser tabs of the same session Ideas: - ensure same `userId` for a given `externalUserId` - use `userId+sessionToken` as identifier for media, as userId will be duplicated - when duplicate a tab, tell user that sessionToken is already in use and offer to create a new session Members: Gustavo, Paulo ## Run BigBlueButton on ARM server Explore how far we can go running BBB on an ARM server. Members: Anton G ## Containerization / Kubernetes We want to explore the possibilities of running BigBlueButton under Kubernetes. [This article]( https://medium.com/l7mp-technologies/kubernetes-the-next-step-for-webrtc-fb8d8a33f24e) outlines the major technical challanges as well as ways to overcome them: Media Gateways. This project can be split in two major domains: #### Containerization efforts This can be done with docker-compose and without the complexity of a full Kubernetes setup. No Kubernetes knowledge is required, but basic understanding of containerization is helpful. - Bring the Container images up-to-date with BBB 3.0 (Update existing ones, add GraphQL, etc) - Alan has already started: https://github.com/bigbluebutton/docker/pull/313 #### K8S specific work Which this only takes off where the above has produced up-to-date pods, research can already start with this: - Explore [Stunner](https://github.com/l7mp/stunner), a k8s ingress gateway - looks good, exposes only one UDP port for all media and acts as TURN for all users - Explore how LiveKit works in containerized environments, particulary so that not all worker nodes require public IPs and the number of required ports is limited - Check the [Jitsi Kubernetes](https://github.com/jitsi-contrib/jitsi-kubernetes) project - Check cloud-native TURN implementations - Check if LiveKit can run on a single port per connection - Unfortunately not, see https://docs.livekit.io/realtime/self-hosting/ports-firewall/#Ports Once the Containerization efforts are complete, a helm or kustomize chart needs to be written, which can largely be converted from the docker compose file. After this summit, this effort aims to provide a clearer picture on how Kubernetes can provide benefits over a VM-based deployment in terms of - Maintenance - General scalability - Ad-hoc (e.g. per meeting) scalability - Reliability - we need for production root-less images It will most likely not result in a full BBB 3.0 in Kubernetes, but pave a significant part of the way. Members: Danimo ## LiveKit (part 2) Continue work on the LiveKit integration for BigBlueButton, initiated at the 18th BigBlueButton Developer Summit. The goal to achieve an initial, experimental LiveKit integration merged into the v3.0.x release (behind feature flags) Priorities include: - Merging a MVP integration for audio into v3.0.x-release. - Laying out a public roadmap for LiveKit integration and transition. Members: Paulo ## Tagged Server Support in Greenlight Since Scalelite now supports tagging of servers and a corresponding meta parameter in the create call, the aim is to prototype support for the feature in Greenlight. Members: Jan ## Plugin Improvements ### Core Improvements and Official Plugins - Review and improve pull requests about data channels + sub-data channels. - Review, improve and merge the first official plugins: - share-link - pick random user - decrease volume on speak - Review and improve documentation Members: Guilherme, Tiago ### New plugin: Personal notes Add a floating window for writing personal notes during the meeting (persisted to the server). Members: Tiago ### New plugin: Code Syntax Highlighting in Chat Messages We want to create a plugin that renders code in chat messages, just like github does in issues. Members: André ### New plugin: Typed captions We want to drop typed captions from core and write it as a plugin. Members: Guilherme ### New plugin: Interpretation fairkom had developed fairblue as an HTML5 replacement for interpreters in multilingual conferences, has been maintained up to BBB 2.5. Now we aim at a rewrite fairblue as a stand-alone service which is using the plugin SDK. To achieve this we need additional plugin hooks see https://github.com/bigbluebutton/bigbluebutton/issues/20016 Meta-Issue for relaunch of fairblue https://git.fairkom.net/hosting/chat/fairblue/-/issues/160 Members: Martin Klampfer, Roland Alton, Guilherme, Anton ### New plugin: YYY Members: ... ### Hybrid Teaching Plugin We want to further improve the prototype we developed at the Dev Summit in Berlin 2023. Members: Daniel Schreiber ### PHP Library Improvements The official PHP library is now popuplar with its 468k downloads. It needs a more detailed documentation that covers all its possiblities. Also it needs to cover 2.7 and 3.0 API. ## Design UX and UI ### Redesign of the User Interface One of our biggest challenges of de UX is the features dicoverability. We want to improve the users experiences by designing a prototype of a new UIwich is ease-to-use bay teachers and students. Members: Bruno, Júlia, Rafaela & Tyler ## Post to bigbluebutton-dev The BigBlueButton project is holding its 19th Developer Summit this week in Balneário Camboriú, Brazil (April 22 - 26th). At the summit, the core developers from around the world have been working together to advance our mission: to build the world's most effective virtual classroom measured in learning outcomes. Here's a video of the activity of the developers and designers working together https://youtu.be/U883xHbL2Vo We welcome everyone in our community to join us for live demos tomorrow at 17:00 UTC Time: Friday, April 26, 17:00 UTC Location: https://conference.meetbbb.org/rooms/vdo-o5x-tmg-dok The demos will be 5 - 10 minutes long and cover the following areas - BigBlueButton Project Update (Fred Dixon) - Supporting VIP meetings in ScaleLite (Jan Kessler) - Hybrid Teaching Plugin Update (Timo Nogueira Brockmeyer) - An update on integration with LiveKit (Paulo Renato Lanzarin) - Prototype integration of BigBlueButton with Element Matrix Client (Timo Kandra) - Progress made for a [Matrix bot](https://git.fairkom.net/hosting/chat/matrix-bigbluebutton-bot) being [refactored in golang](https://git.fairkom.net/hosting/chat/matrix-bigbluebutton-bot-go) to launch a BBB conference (Martin Klampfer, Roland Alton) - Architecture plan for [language interpretation service](https://git.fairkom.net/hosting/chat/fairblue/-/issues/160) for BBB 3+ (Martin Klampfer, Roland Alton) - Demo of support for LTI 1.3 (Jesus Federico, Mariam Almalki) - Stress testing BigBlueButton 3.0 - lambda strategy: Chrome headless and the full client loading (Tiago Jacobs) - jmeter strategy: just websocket connection, acting like a client, to profile how messages degrade under load (Felipe Cecagno) - Progress on refactoring BigBlueButton to use GraphQL (Tainan Felipe Pauli De Almeida) - Away Mode Improvements (Ramón Souza) - Improving quality of BigBlueButton through CI testing (Anton Barboza De Sa, Gabriel Luiz Porfirio) - Plugin for highlighted source code (André Castro) - Plugin for integrating with H5P (Guilherme Pereira Leme) - Enabling joining from multiple browser tabs or devices (Gustavo Trott, Tiago Jacobs) - Exploring running BigBlueButton under Kubernetes (Daniel Molkentin) - Experiences using the new plugin architecture for BigBlueButton 3.0 (Lucas Fialho Zawacki) - Prototype of Breakout Vision using tldraw 2.0 (Kert Brown) - A new design for the BigBlueButton UI (Rafaela Caroline Mônaco, Júlia Palma Rathke, Bruno Guilherme Valentini) Feel free to share the above information with others and invite anyone interested in the BigBlueButton project to attend the live demos.

Import from clipboard

Paste your markdown or webpage here...

Advanced permission required

Your current role can only read. Ask the system administrator to acquire write and comment permission.

This team is disabled

Sorry, this team is disabled. You can't edit this note.

This note is locked

Sorry, only owner can edit this note.

Reach the limit

Sorry, you've reached the max length this note can be.
Please reduce the content or divide it to more notes, thank you!

Import from Gist

Import from Snippet

or

Export to Snippet

Are you sure?

Do you really want to delete this note?
All users will lose their connection.

Create a note from template

Create a note from template

Oops...
This template has been removed or transferred.
Upgrade
All
  • All
  • Team
No template.

Create a template

Upgrade

Delete template

Do you really want to delete this template?
Turn this template into a regular note and keep its content, versions, and comments.

This page need refresh

You have an incompatible client version.
Refresh to update.
New version available!
See releases notes here
Refresh to enjoy new features.
Your user state has changed.
Refresh to load new user state.

Sign in

Forgot password

or

By clicking below, you agree to our terms of service.

Sign in via Facebook Sign in via Twitter Sign in via GitHub Sign in via Dropbox Sign in with Wallet
Wallet ( )
Connect another wallet

New to HackMD? Sign up

Help

  • English
  • 中文
  • Français
  • Deutsch
  • 日本語
  • Español
  • Català
  • Ελληνικά
  • Português
  • italiano
  • Türkçe
  • Русский
  • Nederlands
  • hrvatski jezik
  • język polski
  • Українська
  • हिन्दी
  • svenska
  • Esperanto
  • dansk

Documents

Help & Tutorial

How to use Book mode

Slide Example

API Docs

Edit in VSCode

Install browser extension

Contacts

Feedback

Discord

Send us email

Resources

Releases

Pricing

Blog

Policy

Terms

Privacy

Cheatsheet

Syntax Example Reference
# Header Header 基本排版
- Unordered List
  • Unordered List
1. Ordered List
  1. Ordered List
- [ ] Todo List
  • Todo List
> Blockquote
Blockquote
**Bold font** Bold font
*Italics font* Italics font
~~Strikethrough~~ Strikethrough
19^th^ 19th
H~2~O H2O
++Inserted text++ Inserted text
==Marked text== Marked text
[link text](https:// "title") Link
![image alt](https:// "title") Image
`Code` Code 在筆記中貼入程式碼
```javascript
var i = 0;
```
var i = 0;
:smile: :smile: Emoji list
{%youtube youtube_id %} Externals
$L^aT_eX$ LaTeX
:::info
This is a alert area.
:::

This is a alert area.

Versions and GitHub Sync
Get Full History Access

  • Edit version name
  • Delete

revision author avatar     named on  

More Less

Note content is identical to the latest version.
Compare
    Choose a version
    No search result
    Version not found
Sign in to link this note to GitHub
Learn more
This note is not linked with GitHub
 

Feedback

Submission failed, please try again

Thanks for your support.

On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?

Please give us some advice and help us improve HackMD.

 

Thanks for your feedback

Remove version name

Do you want to remove this version name and description?

Transfer ownership

Transfer to
    Warning: is a public team. If you transfer note to this team, everyone on the web can find and read this note.

      Link with GitHub

      Please authorize HackMD on GitHub
      • Please sign in to GitHub and install the HackMD app on your GitHub repo.
      • HackMD links with GitHub through a GitHub App. You can choose which repo to install our App.
      Learn more  Sign in to GitHub

      Push the note to GitHub Push to GitHub Pull a file from GitHub

        Authorize again
       

      Choose which file to push to

      Select repo
      Refresh Authorize more repos
      Select branch
      Select file
      Select branch
      Choose version(s) to push
      • Save a new version and push
      • Choose from existing versions
      Include title and tags
      Available push count

      Pull from GitHub

       
      File from GitHub
      File from HackMD

      GitHub Link Settings

      File linked

      Linked by
      File path
      Last synced branch
      Available push count

      Danger Zone

      Unlink
      You will no longer receive notification when GitHub file changes after unlink.

      Syncing

      Push failed

      Push successfully