<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>The Interledger Community 🌱: Flaki</title>
    <description>The latest articles on The Interledger Community 🌱 by Flaki (@flaki).</description>
    <link>https://community.interledger.org/flaki</link>
    <image>
      <url>https://community.interledger.org/images/dGRMb_wgRIjmRzgNLlxRcFOuv3W3Y-9FAjmn06kS0HA/rs:fill:90:90/g:sm/mb:500000/ar:1/aHR0cHM6Ly9jb21t/dW5pdHkuaW50ZXJs/ZWRnZXIub3JnL3Jl/bW90ZWltYWdlcy91/cGxvYWRzL3VzZXIv/cHJvZmlsZV9pbWFn/ZS8zNDQvZDQ5MmYw/MTktM2Y5NC00Nzg1/LTkwZmMtMzQwNDE3/ZDYxNDcxLmpwZw</url>
      <title>The Interledger Community 🌱: Flaki</title>
      <link>https://community.interledger.org/flaki</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://community.interledger.org/feed/flaki"/>
    <language>en</language>
    <item>
      <title>Waasabi — Final Grant Report</title>
      <dc:creator>Flaki</dc:creator>
      <pubDate>Mon, 09 Aug 2021 07:41:24 +0000</pubDate>
      <link>https://community.interledger.org/waasabi/waasabi-final-grant-report-38l1</link>
      <guid>https://community.interledger.org/waasabi/waasabi-final-grant-report-38l1</guid>
      <description>&lt;h2&gt;
  
  
  Project Update
&lt;/h2&gt;

&lt;p&gt;It’s been a year since Waasabi's first prototype was conceived, so amidst the ongoing planning of our second large conference and onboarding of new early-adopters to Waasabi Beta it's time we discussed what's already done and what we sets ours sights on for the the upcoming updates.&lt;/p&gt;

&lt;h2&gt;
  
  
  Progress on objectives
&lt;/h2&gt;

&lt;p&gt;It was November when last year the first version of Waasabi powered rustfest.global. Like many other events, we too were forced to migrate into cyberspace, and Waasabi was our way response to seeing the lack of creativity and missing tooling in the online event space. Since then we have been moving our learnings and code from that experimental version into an open and flexible framework under the Waasabi Framework's umbrella.&lt;/p&gt;

&lt;p&gt;In the past months multiple events (Rust Berlin meetup, Rust Hungary meetup), even our own development stream the Waasabi Live stream has used Waasabi as we worked to constantly evolve and expand its feature set through this feedback.&lt;/p&gt;

&lt;p&gt;The work is still far from done, though Grant for the Web has enabled much experimentation and laid the foundations upon which we may continue expanding the initial scope as we dive deeper into creating the tool that will enable the engaging interactive experiences we have envisioned.&lt;/p&gt;

&lt;p&gt;All Waasabi components are &lt;a href="https://github.com/baytechc/?q=waasabi"&gt;open source, released under the Apache-2.0 license on Bay Area Tech Club's GitHub&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Key activities
&lt;/h2&gt;

&lt;p&gt;Waasabi set out to&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;"solve the hard problems of event streaming"&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;and through this, to enable event organizers build custom experiences, quickly. The toolkit's underlying concept is to create a coupling of efficient live streaming and a variety of realtime integrations (such as chat, captions, interactive experiences and more). Waasabi is the "hub" that aggregates data from all these systems and provides a unified API, as well as real-time event notifications (e.g. of incoming messages or when a new live stream is started).&lt;/p&gt;

&lt;p&gt;Instead of a single, long-running live video stream — which is how most online events today are usually structured — Waasabi encourages a single stream per program and will take care of starting &amp;amp; switching between streams automatically. It may even multiplex multiple simultaneous live streams, for example to allow showing the live stream and a live sketchnoter, side-by-side.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://community.interledger.org/images/6im6eq-HbmJc3l1BptgveS8f64dOfryT0RcqOgE2OGk/w:880/mb:500000/ar:1/aHR0cHM6Ly9jb21t/dW5pdHkuaW50ZXJs/ZWRnZXIub3JnL3Jl/bW90ZWltYWdlcy91/cGxvYWRzL2FydGlj/bGVzLzBkZHV1NWIx/MWNrYmdwdmczbGNq/LmpwZw" class="article-body-image-wrapper"&gt;&lt;img src="https://community.interledger.org/images/6im6eq-HbmJc3l1BptgveS8f64dOfryT0RcqOgE2OGk/w:880/mb:500000/ar:1/aHR0cHM6Ly9jb21t/dW5pdHkuaW50ZXJs/ZWRnZXIub3JnL3Jl/bW90ZWltYWdlcy91/cGxvYWRzL2FydGlj/bGVzLzBkZHV1NWIx/MWNrYmdwdmczbGNq/LmpwZw" alt="RustFest Global 2020 screenshot showing the live stream and sketchnoter’s work side by side" width="880" height="523"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://twitter.com/Kingdutch/status/1325001098923565056/photo/1"&gt;The conference live stream shown on the left with a live view at the sketchnoter’s work on the right at RustFest Global 2020&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Waasabi Core Beta
&lt;/h3&gt;

&lt;p&gt;Waasabi's Core module extends the open source &lt;a href="https://github.com/strapi/strapi"&gt;Strapi&lt;/a&gt; content management system with its own preset template. &lt;a href="https://github.com/baytechc/strapi-template-waasabi"&gt;Waasabi's template&lt;/a&gt; is used by the installer (see below) when creating a new Waasabi instance from scratch.&lt;/p&gt;

&lt;p&gt;The Strapi administration interface of the instance can be used to manage Waasabi's events and broadcasts. Strapi's API can be used from any existing website to integrate streaming functionality. The Waasabi Installer also provides a "Live Event starter kit" that can be used for the live experience and further customized if needed (more on this later).&lt;/p&gt;

&lt;p&gt;&lt;a href="https://community.interledger.org/images/ql7Pn_LIWvGzYWaw9jPRJCp-_IxnBiPMDs9BSmvj5OE/w:880/mb:500000/ar:1/aHR0cHM6Ly9jb21t/dW5pdHkuaW50ZXJs/ZWRnZXIub3JnL3Jl/bW90ZWltYWdlcy91/cGxvYWRzL2FydGlj/bGVzLzlseHZ2aG5p/Znk5bXRiYzlqZGZj/LnBuZw" class="article-body-image-wrapper"&gt;&lt;img src="https://community.interledger.org/images/ql7Pn_LIWvGzYWaw9jPRJCp-_IxnBiPMDs9BSmvj5OE/w:880/mb:500000/ar:1/aHR0cHM6Ly9jb21t/dW5pdHkuaW50ZXJs/ZWRnZXIub3JnL3Jl/bW90ZWltYWdlcy91/cGxvYWRzL2FydGlj/bGVzLzlseHZ2aG5p/Znk5bXRiYzlqZGZj/LnBuZw" alt="Waasabi’s administration interface in Strapi" width="880" height="543"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The current Beta focuses on public events, while built-in registration, ticketing and user management has also been previewed at RustFest Global 2020, and is coming to the suite in the next version.&lt;/p&gt;

&lt;h3&gt;
  
  
  Web Monetization
&lt;/h3&gt;

&lt;p&gt;Waasabi aims to be a collection of tools&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;"…for [event] organizers who want to experiment with new event formats and business models…"&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;It intends to encourage &amp;amp; help organizers fully embrace that online events come with a completely different set of limitations, when compared to in-person events, but also have their unique advantages. For example, people might be less focused and less present during day-long digital events: in-person events bring with them a very different headspace, that cannot be replicated from home. On the other hand, given enough flexibility and organizer support, features like Waasabi's instant replays, captioning and other affordances can make online events orders of magnitude more accessible, with a much larger, potentially global reach.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://community.interledger.org/images/mOnWBwJNCoxca3yg6XzrWLR0CoztM9IgKaidSnSC8XU/w:880/mb:500000/ar:1/aHR0cHM6Ly9iYWNr/ZW5kLnJ1c3RmZXN0/Lmdsb2JhbC91cGxv/YWRzL3dlYm1vbmV0/aXphdGlvbl9hYjVl/NjEyYzg2LnBuZw" class="article-body-image-wrapper"&gt;&lt;img src="https://community.interledger.org/images/mOnWBwJNCoxca3yg6XzrWLR0CoztM9IgKaidSnSC8XU/w:880/mb:500000/ar:1/aHR0cHM6Ly9iYWNr/ZW5kLnJ1c3RmZXN0/Lmdsb2JhbC91cGxv/YWRzL3dlYm1vbmV0/aXphdGlvbl9hYjVl/NjEyYzg2LnBuZw" alt="webmo" width="600" height="314"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://rustfest.global/information/about-web-monetization/"&gt;Web Monetization is a great example of &lt;em&gt;“things that would not make sense in an in-person context, but can work really well for online events”&lt;/em&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Web Monetization as a creator incentive
&lt;/h4&gt;

&lt;p&gt;During RustFest we wanted to use Web Monetization for more than just a revenue source for the event: we wanted it to serve as an incentive for the true producers of the conference content, the speakers and artists.&lt;/p&gt;

&lt;p&gt;The way this is currently implemented in Waasabi, is that every session can be assigned a Payment Pointer and Waasabi takes care of switching to the correct payment pointer during the session’s runtime. While this works, it’s a crude solution that raised multiple other issues:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What happens if a session has more than one speaker/collaborator?&lt;/li&gt;
&lt;li&gt;Having all speakers and artists register &amp;amp; share their Web Monetization-enabled wallets was cumbersome and many missed the opportunity due to this friction;&lt;/li&gt;
&lt;li&gt;Making sure the attendees had Web Monetization-enabled clients (subscription with the required extensions installed) resulted in even more friction.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;With increased awareness and adoption some of the above issues could be alleviated, but we are also looking into &lt;a href="https://github.com/interledger/rafiki"&gt;Rafiki&lt;/a&gt;, and exploring hosting our own Interledger service within Waasabi, which could provide a lot more flexibility in these micropayment integrations and open up more creative ways to utilize Web Monetization in Waasabi with greatly reduced friction.&lt;/p&gt;

&lt;h4&gt;
  
  
  Web Monetization for access control
&lt;/h4&gt;

&lt;p&gt;Initially we had planned to enable using Web Monetization as an access control mechanism: gating some of the content, or enhancements such as higher resolution streaming behind streaming payments. Watching the evolution of online community conferences, it quickly became clear that:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;in order to have the best possible, global reach and make community events accessible to all a free event or free tier is needed;&lt;/li&gt;
&lt;li&gt;in fact, many seem to came to expect online events to be free, with costs covered mainly by corporate sponsorships;&lt;/li&gt;
&lt;li&gt;but one can still capture funds via “ticket” sales by providing extra features, especially when employees can forward these costs to their employers.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Due to these, Web Monetization access control to these additional features or the stream itself became a lower priority and this first Beta focuses on publicly available events.&lt;/p&gt;

&lt;p&gt;We are looking at potentially implementing video access control and monetization via &lt;a href="https://opencollective.com/waasabi/updates/sneak-peek-at-the-largest-waasabi-update-to-date"&gt;Peertube&lt;/a&gt;, a new video backend we integrate with. Peertube is receiving &lt;a href="https://community.webmonetization.org/miles/web-monetization-in-peertube-grant-report-2-3jd6"&gt;first-class Web Monetization support&lt;/a&gt; via another GftW grantee’s project and making this available within Waasabi is something we are looking into.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://community.interledger.org/images/NfEAniNdYEIOtVmV2eF2nwRB5N1obdjOKGT5Vmd_7GA/w:880/mb:500000/ar:1/aHR0cHM6Ly9jb21t/dW5pdHkuaW50ZXJs/ZWRnZXIub3JnL3Jl/bW90ZWltYWdlcy91/cGxvYWRzL2FydGlj/bGVzL2RpdzBkbXdi/d3A0ZjF3aTR6OXlq/LnBuZw" class="article-body-image-wrapper"&gt;&lt;img src="https://community.interledger.org/images/NfEAniNdYEIOtVmV2eF2nwRB5N1obdjOKGT5Vmd_7GA/w:880/mb:500000/ar:1/aHR0cHM6Ly9jb21t/dW5pdHkuaW50ZXJs/ZWRnZXIub3JnL3Jl/bW90ZWltYWdlcy91/cGxvYWRzL2FydGlj/bGVzL2RpdzBkbXdi/d3A0ZjF3aTR6OXlq/LnBuZw" alt="Screenshot of the Peertube Waasabi plugin" width="880" height="635"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Configuring Waasabi instances
&lt;/h3&gt;

&lt;p&gt;Waasabi’s goal is to enable everyone create their own custom digital event experience. This means we need find ways to allow people create highly customized instances relatively easily.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://community.interledger.org/images/w3j5QzRaS45fIIsOMDNaxMoDaXmKGqkK4vktOV9vPRU/w:880/mb:500000/ar:1/aHR0cHM6Ly9jb21t/dW5pdHkuaW50ZXJs/ZWRnZXIub3JnL3Jl/bW90ZWltYWdlcy91/cGxvYWRzL2FydGlj/bGVzL3l5MDljMnlt/djZuZm11Mmx5ajB2/LnBuZw" class="article-body-image-wrapper"&gt;&lt;img src="https://community.interledger.org/images/w3j5QzRaS45fIIsOMDNaxMoDaXmKGqkK4vktOV9vPRU/w:880/mb:500000/ar:1/aHR0cHM6Ly9jb21t/dW5pdHkuaW50ZXJs/ZWRnZXIub3JnL3Jl/bW90ZWltYWdlcy91/cGxvYWRzL2FydGlj/bGVzL3l5MDljMnlt/djZuZm11Mmx5ajB2/LnBuZw" alt="Screenshot of the Waasabi Installer" width="880" height="578"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Our initial approach focuses on the &lt;em&gt;Waasabi Installer&lt;/em&gt;, a &lt;a href="https://github.com/baytechc/waasabi-init"&gt;cross-platform command line tool&lt;/a&gt; focusing on the more technologically adept users of Waasabi. This tool allows configuring all of Waasabi’s features and generating a new instance, that can be ran locally for testing or deployed directly on a server.&lt;/p&gt;

&lt;p&gt;Currently direct server/cloud deploys are not implemented yet, but the configuration files generated by this tool makes it rather trivial to run Waasabi on any cloud or webserver that is based on Debian, or one that at least can run Ubuntu containers or virtual machines.&lt;/p&gt;

&lt;p&gt;Waasabi and the Installer runs well in WSL, so Windows users can also configure and test Waasabi instances before deployment.&lt;/p&gt;

&lt;h3&gt;
  
  
  Customizable event page starter
&lt;/h3&gt;

&lt;p&gt;As noted before, Waasabi’s core provides an API to embed the live streaming functionality directly into one’s existing website. We plan to provide more “batteries-included” tools for this in the future (such as iframe-based integrations, and plugins for popular website tools, such as Wordpress), but currently this needs to be done manually.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://community.interledger.org/images/NpRYc9nBxz1ceUJ-6WpomcSVZjJwD-7jL11MZIh14PU/w:880/mb:500000/ar:1/aHR0cHM6Ly9jb21t/dW5pdHkuaW50ZXJs/ZWRnZXIub3JnL3Jl/bW90ZWltYWdlcy91/cGxvYWRzL2FydGlj/bGVzL3hmNDM3MnN6/bGh1a29mOGhhcTgw/LmpwZw" class="article-body-image-wrapper"&gt;&lt;img src="https://community.interledger.org/images/NpRYc9nBxz1ceUJ-6WpomcSVZjJwD-7jL11MZIh14PU/w:880/mb:500000/ar:1/aHR0cHM6Ly9jb21t/dW5pdHkuaW50ZXJs/ZWRnZXIub3JnL3Jl/bW90ZWltYWdlcy91/cGxvYWRzL2FydGlj/bGVzL3hmNDM3MnN6/bGh1a29mOGhhcTgw/LmpwZw" alt="Screenshots of various Waasabi live stream pages with distinct branding" width="880" height="244"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To make Waasabi usable even without the need for lengthy manual integration, we provide an out-of-box experience with the &lt;em&gt;Waasabi Live Page&lt;/em&gt;. This interface can be configured under a subdomain of the existing website and provides complete functionality of Waasabi: streaming, Web Monetization, chat integrations and more. Some in-development upcoming features such as registered user management are coming soon as well.&lt;/p&gt;

&lt;p&gt;The Live Page can be configured from the Installer, and its appearance can be further customized via “brand packages” that may override any of the content, CSS, images and other assets, and may even implement additional functionality via client-side JavaScript.&lt;/p&gt;

&lt;h3&gt;
  
  
  Chat support
&lt;/h3&gt;

&lt;p&gt;One of Waasabi’s fundamental goals was stated to be:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;"[allow organizers to] integrate their live events into their existing community infrastructure"&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Waasabi explicitly opts for not reinventing a wheel, and does not provide a built-in chat within the live stream page itself, but instead chooses to integrate with existing chat providers. Many communities who do live streaming already have an existing community chat which they often end up wanting to integrate with their live streaming platform of choice &lt;em&gt;anyway&lt;/em&gt;, so Waasabi circumvents this by going the other way right off the bat.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://community.interledger.org/images/qkhNrVAyOi6dKTQsYjowRnXcNmZ3KHRNQy4u9J-D-Kk/w:880/mb:500000/ar:1/aHR0cHM6Ly9jb21t/dW5pdHkuaW50ZXJs/ZWRnZXIub3JnL3Jl/bW90ZWltYWdlcy91/cGxvYWRzL2FydGlj/bGVzLzhwbGN6Zmpm/c2VtdXl0Z2FvOWF3/LmpwZw" class="article-body-image-wrapper"&gt;&lt;img src="https://community.interledger.org/images/qkhNrVAyOi6dKTQsYjowRnXcNmZ3KHRNQy4u9J-D-Kk/w:880/mb:500000/ar:1/aHR0cHM6Ly9jb21t/dW5pdHkuaW50ZXJs/ZWRnZXIub3JnL3Jl/bW90ZWltYWdlcy91/cGxvYWRzL2FydGlj/bGVzLzhwbGN6Zmpm/c2VtdXl0Z2FvOWF3/LmpwZw" alt="Waasabi live stream displaying an incoming Matrix chat message overlaid on the stream" width="880" height="506"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Multiple integrations are planned for Waasabi, but the currently implemented one in the beta builds on the robust and fully open source &lt;a href="https://matrix.org/"&gt;Matrix network&lt;/a&gt;. Currently this means messages sent on the linked chat rooms are relayed to the live stream.&lt;/p&gt;

&lt;p&gt;Once the work-in-progress account management pieces land users will be able to join private channels from the Waasabi interface. This feature was initially used at RustFest Global, and allowed attendees to be added to specific conference channels automatically or on request. Ensuring proper access control of the event chat is really important (especially for publicly accessible live events), and allows hosts to perform better moderation, enforcement of the event’s code of conduct and keeping the conference chat safe for all participants.&lt;/p&gt;

&lt;p&gt;As noted, we are still looking into integrating with more chat services, especially looking at Discord and Slack to allow event hosts to bring their existing community into their events, as well as use their events (meetups, streams, etc.) as a funnel to bring more community members onto their community chat of choice.&lt;/p&gt;

&lt;h3&gt;
  
  
  Ownership &amp;amp; control
&lt;/h3&gt;

&lt;p&gt;Waasabi tries to offer as much flexibility on the axes of content ownership and full control as possible. Administrators of the instances can configure Waasabi with the Mux.com streaming backend provider for a reliable conventional streaming service, or choose Peertube and many other planned self-hosted video backends that fit their requirements. The framework allows for making these decisions in accordance with one’s requirements, expectations, scaling needs and other individual needs.&lt;/p&gt;

&lt;h4&gt;
  
  
  Realtime captions
&lt;/h4&gt;

&lt;p&gt;We are also experimenting with tools for automated captioning, improved transcripts and similar accessibility improvements. You may learn more about our experimental work as part of this grant to bring machine learning and speech recognition to Waasabi without third-party dependencies by reading &lt;a href="https://community.webmonetization.org/waasabi/automated-captions-for-everyone-with-waasabi-3522"&gt;our last detailed report&lt;/a&gt;!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://i.giphy.com/media/f76R89pKixR2VQHARu/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/f76R89pKixR2VQHARu/giphy.gif" alt="" width="480" height="301"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Complete control over content
&lt;/h4&gt;

&lt;p&gt;Waasabi exposes the low-level building blocks of live streaming. This has already made functionality like &lt;a href="https://rustfest.global/information/how-to-watch/#replays"&gt;instant replays&lt;/a&gt; and web monetization possible, and we are constantly experimenting how could we use these possibilities in novel, unconventional ways.&lt;/p&gt;

&lt;p&gt;Waasabi is also embracing various peer-to-peer technologies in a form of &lt;a href="https://nlnet.nl/project/Waasabi/"&gt;another grant&lt;/a&gt;. The Peertube video backend is one of the first early results of this effort. We strongly believe peer-to-peer technologies allow for better positioning these self-owned and individually controlled streaming hubs, further improving discovery, robustness and reach of the instances, allowing Waasabi to provide a viable alternative to large corporate silos.&lt;/p&gt;

&lt;h4&gt;
  
  
  Extensibility
&lt;/h4&gt;

&lt;p&gt;In the name of unparalleled flexibility we set out to encourage a Waasabi ecosystem of&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;“[…] a growing library of open source plugins and integrations&lt;br&gt;
contributed back by the community building on Waasabi”&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;There is no point of pushing for plugin development before the stabilization and proper documentation of Waasabi’s API, but once these pieces fall into place we are looking forward to people building new integrations and contributing back to the commons. Until then, of course, Waasabi instances can be customized in the ways mentioned further above, and of course bugfixes and feature contributions to Waasabi’s open source codebase are appreciated and encouraged as well.&lt;/p&gt;

&lt;h2&gt;
  
  
  Communications and marketing
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://waasabi.org"&gt;Waasabi’s website&lt;/a&gt; has recently went live and is continuously being expanded with documentation, guides and updates. We are also waiting for Waasabi’s first branding to be delivered to dress the project into a brand new exciting and playful gown.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://live.waasabi.org"&gt;Waasabi’s development live stream&lt;/a&gt; is currently offline as it is being upgraded to the latest Waasabi version, and shall be returning with development updates in the coming weeks.&lt;/p&gt;

&lt;p&gt;We are constantly looking for early adopters interested in experimenting with this early release of the Waasabi suite (and are in contact with few already), and we plan to bring back the RustFest conference this fall, this time around using the open source Waasabi suite instead of the experimental version from 2020.&lt;/p&gt;

&lt;p&gt;We are ready to answer any questions and discuss Waasabi’s future in our dedicated Matrix channel at &lt;a href="https://matrix.to/#/#waasabi:baytech.community"&gt;&lt;code&gt;#waasabi:baytech.community&lt;/code&gt;&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  What’s next?
&lt;/h2&gt;

&lt;p&gt;The development of Waasabi continues, there are many things to look forward to!&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Accounts and registrations (e.g. for ticketing)&lt;/li&gt;
&lt;li&gt;An advanced event administration interface, provided by the “event-manager” Strapi plugin of the Waasabi template&lt;/li&gt;
&lt;li&gt;Subscribe to events on the live page (email notifications, add-to-calendar, RSS and more)&lt;/li&gt;
&lt;li&gt;P2P enhancements, distributed streaming and connecting to decentralized networks&lt;/li&gt;
&lt;li&gt;Independent automatic captioning and transcript-augmentation via customizable machine learning detection&lt;/li&gt;
&lt;li&gt;Further Web Monetization and Interledger-experiments using Rafiki&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Some of these features above we plan to experiment with and test on our upcoming RustFest conference this fall, and other early-adopters.&lt;/p&gt;

&lt;h2&gt;
  
  
  What community support would benefit your project?
&lt;/h2&gt;

&lt;p&gt;Interested or have questions? Join our Matrix channel and talk to us!&lt;br&gt;
Want to run your own event? Please reach out, we’d love to help!&lt;br&gt;
Like what we are doing? Consider supporting the project on Open Collective.&lt;br&gt;
Find links to all of these channels below.&lt;/p&gt;

&lt;h2&gt;
  
  
  Relevant links/resources
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://waasabi.org"&gt;Waasabi website&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://matrix.to/#/#waasabi:baytech.community"&gt;Waasabi chatroom on Matrix&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://opencollective.com/waasabi"&gt;Waasabi on Open Collective&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/baytechc/?q=waasabi"&gt;Waasabi open source components on GitHub&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>conferences</category>
      <category>streaming</category>
      <category>events</category>
      <category>grantreports</category>
    </item>
    <item>
      <title>Automated captions for everyone with Waasabi</title>
      <dc:creator>Flaki</dc:creator>
      <pubDate>Fri, 23 Jul 2021 09:03:28 +0000</pubDate>
      <link>https://community.interledger.org/waasabi/automated-captions-for-everyone-with-waasabi-3522</link>
      <guid>https://community.interledger.org/waasabi/automated-captions-for-everyone-with-waasabi-3522</guid>
      <description>&lt;p&gt;This is an update on the automatic captioning proof-of-concept that we have been working on for the past couple months, as part of our grant for the &lt;a href="https://community.webmonetization.org/waasabi/waasabi-live-event-framework-grant-report-1-8l1"&gt;Waasabi live event framework&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Below you can read about our motivations, the progress we have made, sprinkled with some early demos and examples, as well as some of the future plans. This is going to be a long post, feel free to jump around to the parts you care about.&lt;/p&gt;

&lt;h2&gt;
  
  
  On Transcripts
&lt;/h2&gt;

&lt;p&gt;The earliest motivation of this work was born out of our dedication to &lt;a href="https://rustfest.global/information/accessibility-statement/#online-events"&gt;inclusive and accessible events at RustFest&lt;/a&gt;, and had nothing to do with &lt;em&gt;automated&lt;/em&gt; captions. All our events in the past years - online, or in-person - have been live closed-captioned by a professional &lt;a href="https://en.wikipedia.org/wiki/Stenographer"&gt;stenographer&lt;/a&gt;. These live captions have made our content accessible for disabled people and also attendees who were not native English-speakers (which, as you'd imagine for Europe's largest Rust conference meant &lt;em&gt;most participants&lt;/em&gt;).&lt;/p&gt;

&lt;p&gt;Our live captioners also produced a transcript of every talk, that we were hoping to put to good use &lt;em&gt;eventually&lt;/em&gt; — but in reality for the longest part were just collecting dust tucked away in a &lt;a href="https://github.com/RustFestEU/transcript"&gt;GitHub repository&lt;/a&gt;. RustFest Global now publishes all talk transcripts on the &lt;a href="https://rustfest.global/session/9-everything-is-serialization/#transcript"&gt;individual session pages&lt;/a&gt;, which was an improvement in some ways (searchability, SEO), but at the end of the day this was still very far from the ideal user experience. Throughout the years we slowly recognized what we truly needed was a more direct connection between the audio, video and text.&lt;/p&gt;

&lt;p&gt;The thing our transcripts were missing dearly is the &lt;em&gt;timings&lt;/em&gt;. The difference between transcripts and captions is what's called &lt;a href="https://www.gte-media.com/subtitling-services/video-timecoding-services/"&gt;"timecoding"&lt;/a&gt; in industry terms: annotating the transcript with time codes that correspond to precise timecodes of the original recording. We always made sure to allocate funds for captioning from the conference budget, but being a small community event it was never easy to justify the extra costs of hiring a professional timecoding service after the event already ended.&lt;/p&gt;

&lt;p&gt;YouTube getting better at captioning has alleviated the pressing need for getting our transcripts in order (more on this later), but we never truly given up on making this happen without the big G watching over our shoulders.&lt;/p&gt;

&lt;h2&gt;
  
  
  Closed captions for conferences, today
&lt;/h2&gt;

&lt;p&gt;A small intermission before we move on. There's no question whether paying (often thousands of dollars) for a professional live captioner's time is worth it, when it comes to the accessibility of a paid event — that is what conference budgets are for. That said (and this was true even &lt;em&gt;before&lt;/em&gt; the Coronavirus-pandemic) flying a captioner and their equipment to the conference is not a cost that is worth it — for the organizers, and the captioner alike. Why yank someone out of their cozy home or office, away from their family, hurl them halfway across the planet amidst a climate crisis just to... spend a day listening to someone talking into a microphone and transcribing what they said all the same? Right?!&lt;/p&gt;

&lt;p&gt;Well, of course it's not &lt;em&gt;this&lt;/em&gt; easy, as latency becomes an issue. Live captions will have &lt;em&gt;some&lt;/em&gt; inherent latency — even the fastest captioner needs to listen to, understand, and type up what is being said — but when you add VOIP, internet roundtrip latencies and other factors, on occasion, captions would sometimes become significantly delayed (in the tens-of-seconds range) which may very well become confusing, especially for abled people who can hear and understand the audio of the presentation.&lt;/p&gt;

&lt;p&gt;As a weird twist, online conferences often exhibit the &lt;em&gt;polar opposite&lt;/em&gt; of this issue! Due to inherent properties of the widely deployed HLS and similar streaming technologies, the so called "glass-to-glass" latency of live streams is frequently 15-30s or even higher. This forces event organizers to choose between two bad choices: stick to the traditional method of putting captions onto the streamed out video (and accepting the significant latency inherent to the work of a remote captioner), or push the captions directly into the clients on a &lt;em&gt;separate&lt;/em&gt; channel, which risks desynchronization and potentially even captions arriving &lt;strong&gt;before&lt;/strong&gt; the live stream catches up!&lt;/p&gt;

&lt;p&gt;At RustFest we are not really fans of &lt;em&gt;"the lesser of two evils"&lt;/em&gt;-sort of ultimatums so we had to come up with a plan. And so we did.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Waasabi Captions PoC
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Disclaimer:&lt;/strong&gt; This is a proof-of-concept. This is not ready-to-use software, but a couple of focused experiments to establish the feasibility of this endeavor. The experiments showed quite promising results, and we intend to publish the current work as well as continue to grow this project into  software that could be used by anyone (with or without Waasabi itself). If you like the direction please consider supporting the project or even contributing to the work (find the relevant links at the end of the article).&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;In keeping with the spirit of Waasabi, the goal for this captioning component was to provide a live captioning solution for event organizers that is completely independent of external services and API providers. Our focus is on small, largely free community events, organized primarily by enthusiasts, and not to cater for enterprise events and large, multiple-thousands-strong commercial conferences.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://community.interledger.org/images/EGlrxD65GPMJv3i0mqR87gBMI441pv8P4YMVX2RuM2Y/w:880/mb:500000/ar:1/aHR0cHM6Ly9jb21t/dW5pdHkuaW50ZXJs/ZWRnZXIub3JnL3Jl/bW90ZWltYWdlcy91/cGxvYWRzL2FydGlj/bGVzL2J5c2dqc2Zt/MzVvZWJhcnd1bGVm/LnBuZw" class="article-body-image-wrapper"&gt;&lt;img src="https://community.interledger.org/images/EGlrxD65GPMJv3i0mqR87gBMI441pv8P4YMVX2RuM2Y/w:880/mb:500000/ar:1/aHR0cHM6Ly9jb21t/dW5pdHkuaW50ZXJs/ZWRnZXIub3JnL3Jl/bW90ZWltYWdlcy91/cGxvYWRzL2FydGlj/bGVzL2J5c2dqc2Zt/MzVvZWJhcnd1bGVm/LnBuZw" alt="Mozilla DeepSpeech logo" width="880" height="440"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It was clear that we should be looking for a solution in the booming machine learning space, and importantly, one that used free &amp;amp; open source software and royalty-free training data, available to anyone. This proof-of-concept integrates Mozilla's &lt;a href="https://github.com/mozilla/deepspeech"&gt;DeepSpeech&lt;/a&gt; project for machine-learning-assisted speech-to-text processing, which itself is built on models generated from open training data using the industry-standard open source TensorFlow framework.&lt;/p&gt;

&lt;h3&gt;
  
  
  Testdriving the default model
&lt;/h3&gt;

&lt;p&gt;The experiments below are using &lt;a href="https://rustfest.global/session/5-the-anatomy-of-error-messages-in-rust/"&gt;Sean Chen's talk on Rust Error Messages&lt;/a&gt; from last year's online &lt;a href="https://rustfest.global"&gt;RustFest Global&lt;/a&gt; conference as an input. Sean is a fairly eloquent native English speaker so we are playing easymode here, but for a proof of concept this serves as a sufficient foundation.&lt;/p&gt;

&lt;p&gt;First we fed the unmodified talk audio into DeepSpeech's &lt;a href="https://github.com/mozilla/DeepSpeech/releases/tag/v0.9.3"&gt;pre-trained model&lt;/a&gt; — the result of this was already really interesting!&lt;/p&gt;

&lt;p&gt;As part of this exploratory research we have created several, relatively simple JavaScript tools to aid us in the evaluation. One of these tools takes DeepSpeech's output and tries to cross-reference it with our existing transcript for the same audio. Another tool is a visualizer, that takes the output of this "stitcher" and shows it visually in a HTML form, this is what is linked below:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://community.interledger.org/images/zMZJLQsIETatrmT10xjn7PQ83ar2X_fmZUWQDVmu0LQ/w:880/mb:500000/ar:1/aHR0cHM6Ly9jb21t/dW5pdHkuaW50ZXJs/ZWRnZXIub3JnL3Jl/bW90ZWltYWdlcy91/cGxvYWRzL2FydGlj/bGVzL3QzaDJobW4w/OTk1YXMyNDRsZTgw/LnBuZw" class="article-body-image-wrapper"&gt;&lt;img src="https://community.interledger.org/images/zMZJLQsIETatrmT10xjn7PQ83ar2X_fmZUWQDVmu0LQ/w:880/mb:500000/ar:1/aHR0cHM6Ly9jb21t/dW5pdHkuaW50ZXJs/ZWRnZXIub3JnL3Jl/bW90ZWltYWdlcy91/cGxvYWRzL2FydGlj/bGVzL3QzaDJobW4w/OTk1YXMyNDRsZTgw/LnBuZw" alt="DeepSpeech vs transcript comparison tool screenshot" width="880" height="304"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;a href="https://rustfest-deepspeech.glitch.me/sean/default-scorer.html"&gt;Comparing the DeepSpeech output to the existing transcript&lt;/a&gt;




&lt;p&gt;On one hand, the ~60% match rate is nothing to call home about. Trying to build a fully automated captioning system without further finetuning would yield rather unconvincing results.&lt;/p&gt;

&lt;p&gt;On the other hand though, when we take a closer look, we realize that the  accuracy of "regular" talk transcription is actually reasonably good!&lt;/p&gt;

&lt;p&gt;Now, it is nigh impossible to compete with the tens of millions of people using Alexa or Google Home every day, or the multiple &lt;strong&gt;years&lt;/strong&gt; worth of content uploaded to YouTube every hour — the voice data and resources that are at the disposal of Amazon, Google and the likes are astounding. So the fact that we could achieve &lt;em&gt;decent&lt;/em&gt; transcription without mountains of data and datacenter-sized compute resources is already pretty amazing — but we also have at least one advantage over these megacorps... but well, let's not get ahead of ourselves.&lt;/p&gt;

&lt;p&gt;Remember, this is the pre-trained generic out-of-the-box model that ships with DeepSpeech releases, let's see what possibilities can some customization unlock for us...&lt;/p&gt;

&lt;h3&gt;
  
  
  Further fine-tuning
&lt;/h3&gt;

&lt;p&gt;Without wading too deep into &lt;a href="https://deepspeech.readthedocs.io/en/r0.9/Decoder.html#external-scorer"&gt;how DeepSeech works&lt;/a&gt;, there are two main components: the main &lt;em&gt;beam search decoder&lt;/em&gt;, a neural network that transcribes sounds into characters of an alphabet and constructs the output words alongside an (optional) &lt;em&gt;external scorer&lt;/em&gt; that helps to augment the results. The scorer contains a language model (generated from a large collection of text from the target language) and helps "bias" towards word compositions that are more probable. Here's a simplified example of the concept:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;code&gt;NEW&lt;/code&gt; followed by &lt;code&gt;YOLK&lt;/code&gt; is not really frequently used in the text corpus our scorer was built on. But &lt;code&gt;NEW&lt;/code&gt; + &lt;code&gt;YORK&lt;/code&gt; is, and especially when followed by &lt;code&gt;CITY&lt;/code&gt;. Our scorer will use this knowledge to influence the final result of the decoding accordingly.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;There are, thus, two ways to improve transcription accuracy: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;improve the &lt;em&gt;acoustic model&lt;/em&gt; — to transcribe the spoken audio more accurately, and&lt;/li&gt;
&lt;li&gt;improve the &lt;em&gt;scorer&lt;/em&gt; — build a better language model to better bias towards more relevant word combinations&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The first can be accomplished via &lt;a href="https://deepspeech.readthedocs.io/en/r0.9/TRAINING.html#fine-tuning-same-alphabet"&gt;fine-tuning&lt;/a&gt;, an exercise for after the proof-of-concept, but below we will be talking briefly about early results with the second approach.&lt;/p&gt;

&lt;p&gt;We can generate a new language model for DeepSpeech using any &lt;em&gt;text corpus&lt;/em&gt; — any sufficiently large body of target-language text will do. In a generic scenario, we would need to be mindful of &lt;a href="https://en.wikipedia.org/wiki/Overfitting"&gt;overfitting&lt;/a&gt;, creating a model that is only any good predicting the data it has been trained on, but... well for timecoding, that is precisely what we need! We can generate a custom language model from the collected RustFest talk transcripts and see how it changes the equation:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://community.interledger.org/images/JSa6DyLp7Xale4rUagZpv-2HIWDdgJYIk6JjhSLEk3A/w:880/mb:500000/ar:1/aHR0cHM6Ly9jb21t/dW5pdHkuaW50ZXJs/ZWRnZXIub3JnL3Jl/bW90ZWltYWdlcy91/cGxvYWRzL2FydGlj/bGVzL3NsbHh3OHdt/dDE0Z3lzZThpcTdm/LnBuZw" class="article-body-image-wrapper"&gt;&lt;img src="https://community.interledger.org/images/JSa6DyLp7Xale4rUagZpv-2HIWDdgJYIk6JjhSLEk3A/w:880/mb:500000/ar:1/aHR0cHM6Ly9jb21t/dW5pdHkuaW50ZXJs/ZWRnZXIub3JnL3Jl/bW90ZWltYWdlcy91/cGxvYWRzL2FydGlj/bGVzL3NsbHh3OHdt/dDE0Z3lzZThpcTdm/LnBuZw" alt="DeepSpeech speech-to-text with custom external scorer" width="401" height="310"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;a href="https://rustfest-deepspeech.glitch.me/sean/custom-scorer.html"&gt;Timecoding the transcript with the overfitted custom language model&lt;/a&gt;



&lt;p&gt;Whoah, look at all that beautiful bright green! Of course the transcription is still not &lt;em&gt;perfect&lt;/em&gt;, there are two main sources of error that remain still:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Some of these are "mishearings" of the acoustic model, that cannot be corrected even with such an overfitted language model, but&lt;/li&gt;
&lt;li&gt;Some of these stem from the fact that human captioners take certain &lt;em&gt;liberties&lt;/em&gt; when they transcribe a speaker: some of these are genuine and improve the brevity and/or clarity of the transcript, and occasionally these come from omissions (e.g. when a transcriber falls behind).&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;We will share some thoughts about how we plan to account for these issues going forward, but first, let's see what we can do with this data.&lt;/p&gt;

&lt;h3&gt;
  
  
  Using the DeepSpeech results
&lt;/h3&gt;

&lt;p&gt;Okay, so DeepSpeech spit out some text &amp;amp; timings and we correlated this to the transcripts, what now? Taking over the world, of course!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;For example, &lt;a href="https://rustfest-deepspeech.glitch.me/sean/recordings.html"&gt;we can easily turn a time-coded transcript into subtitles!&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;We are currently in the process of publishing all previous RustFest recordings on our website and this allows us to provide subtitles for all talks, as well as a transcript. In fact, we can even allow the user to &lt;em&gt;jump&lt;/em&gt; to parts of the video by clicking on the transcript — similarly how the visualizer allows for jumping to parts of the talk when clicking the. However all this is just the tip of the iceberg.&lt;/p&gt;

&lt;p&gt;So far we have only used DeepSpeech on existing recordings, but DS is a &lt;em&gt;streaming&lt;/em&gt; speech-to-text engine, it supports real-time inference! This means it's possible to do speech to text on the Waasabi backend and pipe the captions out in real time for any incoming video stream:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://i.giphy.com/media/f76R89pKixR2VQHARu/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/f76R89pKixR2VQHARu/giphy.gif" alt="Streaming captions with DeepSpeech" width="480" height="301"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;a href="https://rustfest-deepspeech.glitch.me/sean/captions.html"&gt;Streaming the live captions into a Waasabi event&lt;/a&gt;




&lt;p&gt;The above would allow low-budget or no-budget events (such as community meetups or similar) to provide completely automatic "best-effort" captions to &lt;em&gt;any content&lt;/em&gt; using fine-tuned, custom models that fit their purpose, but &lt;strong&gt;this could even help events with human captioners improve their user experience, too!&lt;/strong&gt; How?&lt;/p&gt;

&lt;p&gt;We could turn the livestream's latency to our advantage! By having the human captioner in the "studio" (near-realtime access to conference feed) they would be "ahead" of the stream as they were transcribing it. Meanwhile, we would generate an automatic transcript as well, timecoded to the currently active live stream. By combining these two in the same way we have demonstrated above, and sending down the generated captions on a direct realtime channel to the clients (e.g. WebSockets), we could ensure the captions appear &lt;em&gt;exactly&lt;/em&gt; when they were supposed to during the client's playback! No more spoilers!&lt;/p&gt;

&lt;h3&gt;
  
  
  Artisanal, small-batch, hand crafted machine learning
&lt;/h3&gt;

&lt;p&gt;As we said before, it's impossible to compete with data, resources and sheer scale of Google and the likes as an idividual or small community. We ourselves have resorted to be using YouTube's captioning and &lt;a href="https://support.google.com/youtube/answer/2734796?hl=en#zippy=%2Cupload-a-file%2Cauto-sync"&gt;transcript-auto-syncing&lt;/a&gt; (around which seemingly an entire cottage-industry of &lt;em&gt;"how to download your YouTube subtitles"&lt;/em&gt; content producers has sprung up). We do have one advantage though: in the sea of all this content, YouTube remains &lt;em&gt;generic&lt;/em&gt;, while we can &lt;em&gt;differentiate&lt;/em&gt; and bias towards our own content.&lt;/p&gt;

&lt;p&gt;As showcased before, a lot of the words the pre-trained (generic!) model missed — &lt;em&gt;Rust, errors, compilation&lt;/em&gt; — were the topic, or even industry-specific ones. We can afford to bias our models towards these without having to worry about other users, other consumers. What's more, our own models, trained on historical Rust content may be used by other events: conferences, meetups, live streamers! Then, these content producers would reap the gains of this focus for their own content and audience, after which they, too, could contribute their own recordings, transcripts to be used to further fine-tune the model and contribute back to the "commons"!&lt;/p&gt;

&lt;h3&gt;
  
  
  So what's next?
&lt;/h3&gt;

&lt;p&gt;We are coming away with really promising results from our research on this proof-of-concept and are eager to start the 'productization' process, to be able to use these techniques and technologies on our own upcoming events — and can't wait to see others test-drive and adopt them.&lt;/p&gt;

&lt;p&gt;One of the first things on our list of "next steps" is creating a self-contained RTMP stream proxy, that event hosts could pipe their live studio directly into for real time deepspeech transcription. The tool would take care of pushing the transcribed speech content into Waasabi, as well as forwarding the studio content to its intended streaming destination (Mux, Peertube, or even any other destination outside of Waasabi).&lt;/p&gt;

&lt;p&gt;Another very exciting feature we are looking into is in the front-end side: implementing crowd-sourced suggestions into the system. This would allow people watching the event live stream, replays or published recordings to suggest changes to the transcript in real time which could greatly improve the precision of transcripts. Since Waasabi provides instant replays for event attendees, making it possible to correct transcripts on the fly would provide a huge boost to the user experience of viewers joining in later on.&lt;/p&gt;

&lt;p&gt;We are also currently experimenting with employing the precisely time-coded transcripts to automatically fine-tune the acoustic model. In theory, we could have DeepSpeech and some clever scripts identify parts of the document that the current model misses use the audio extracted for these sections and the transcript to propose targeted fine-tuning of the acoustic model. This would especially become interesting for speakers of various English accents to make the model more capable in detecting and transcribing non-vanilla English speakers.&lt;/p&gt;

&lt;p&gt;Finally, we are also looking to working with other communities and content producers as early-adopters of this technology. We are also looking at adjacent content-producers, such as podcasts with a large archive to see if they can make use of this technique to augment their podcast archives and provide live transcription.&lt;/p&gt;

&lt;h2&gt;
  
  
  Let's stay in touch!
&lt;/h2&gt;

&lt;p&gt;Thank you for your interest in this long report, and we'd like to thank Grant for the Web for funding this effort!&lt;/p&gt;

&lt;p&gt;Follow our updates on &lt;a href="https://opencollective.com/waasabi/updates"&gt;Open Collective&lt;/a&gt; and &lt;a href="https://twitter.com/bayareatechclub"&gt;Twitter&lt;/a&gt;. You will find all the source code on &lt;a href="https://github.com/baytechc/"&gt;GitHub&lt;/a&gt;. You can ask questions and chat with us on &lt;a href="https://matrix.to/#/#waasabi:baytech.community"&gt;Matrix&lt;/a&gt;.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Waasabi development update: Chat Integrations</title>
      <dc:creator>Flaki</dc:creator>
      <pubDate>Sat, 27 Mar 2021 13:59:47 +0000</pubDate>
      <link>https://community.interledger.org/waasabi/waasabi-development-update-chat-integrations-5h8p</link>
      <guid>https://community.interledger.org/waasabi/waasabi-development-update-chat-integrations-5h8p</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Quick update after field-testing one of Waasabi's upcoming chat integration feature on Monday's &lt;a href="https://live.berline.rs/"&gt;Berline.rs Meetup&lt;/a&gt;!&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The Waasabi framework intentionally leaves the well known "stream chat" functionality out of the package. The reason for this is not just the sheer complexity of implementing an accessible and abuse-resistant chat client, but is also based on the observation that most communities in Waasabi's target group will &lt;em&gt;already have&lt;/em&gt; a chat system they were be using for the community and integrating these would be preferable than a wholly new, separate system just for the chat accompanying the  stream.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;At the very first RustFest Global pre-event: &lt;a href="https://twitter.com/dns2utf8?ref_src=twsrc%5Etfw"&gt;@dns2utf8&lt;/a&gt; introduces us at Rust Zürichsee to playing self-isolating snake games—together! (also test-driving our new conference experience platform, stay tuned for more!)&lt;br&gt;&lt;br&gt;Join the fun via Matrix: &lt;a href="https://twitter.com/hashtag/rust?src=hash&amp;amp;ref_src=twsrc%5Etfw"&gt;#rust&lt;/a&gt;-zuerisee:&lt;a href="https://t.co/BelQToQ9VW"&gt;https://t.co/BelQToQ9VW&lt;/a&gt; &lt;a href="https://t.co/LAniZ9GLeA"&gt;pic.twitter.com/LAniZ9GLeA&lt;/a&gt;&lt;/p&gt;— RustFest (@RustFest) &lt;a href="https://twitter.com/RustFest/status/1323334120483770370?ref_src=twsrc%5Etfw"&gt;November 2, 2020&lt;/a&gt;
&lt;/blockquote&gt;
An early prototype of Waasabi's chat integration from RustFest Global 2020 



&lt;p&gt; &lt;/p&gt;

&lt;p&gt;Access control and moderation of the stream chat is also an ever-present issue: to prevent abuse, some kind of access control for the chat is desirable for most communities. With existing event platforms, we have often found support for this lacking and reek with privacy compromises. That said, there is clear vlaue in providing frictionless access to the discussion even to those who may not want to join the chat channels for the broadcast: we accomplish this by displaying the ongoing discussion in a read-only fashion on the stream. As it is often with these things, this ends up being a balancing act and matter of personal preference, and so we are still experimenting with the best approach to exposing this feature in the user interface.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://community.interledger.org/images/9XNCrtqWjpjdicHQsDzZEOA3SZ03u5m8MMfmulnGMOg/w:880/mb:500000/ar:1/aHR0cHM6Ly9jb21t/dW5pdHkuaW50ZXJs/ZWRnZXIub3JnL3Jl/bW90ZWltYWdlcy91/cGxvYWRzL2FydGlj/bGVzL2FibWFnYWRo/d3dxcHBiODRmNDYw/LmpwZw" class="article-body-image-wrapper"&gt;&lt;img src="https://community.interledger.org/images/9XNCrtqWjpjdicHQsDzZEOA3SZ03u5m8MMfmulnGMOg/w:880/mb:500000/ar:1/aHR0cHM6Ly9jb21t/dW5pdHkuaW50ZXJs/ZWRnZXIub3JnL3Jl/bW90ZWltYWdlcy91/cGxvYWRzL2FydGlj/bGVzL2FibWFnYWRo/d3dxcHBiODRmNDYw/LmpwZw" alt="Screenshot of the Berline.rs live stream, showing a closed captions-style overlay of a chat message" width="598" height="336"&gt;&lt;/a&gt;&lt;/p&gt;
Chat messages are relayed in real time and display on the Waasabi page



&lt;p&gt; &lt;/p&gt;

&lt;p&gt;For every community out there, there is a plethora of community platforms to choose from. Waasabi's chat support thus has been designed with a high degree of modularity and freedom in mind: by exposing a generalized Chat API that accepts new chat messages over a regular HTTP endpoint we can support various services through &lt;em&gt;chat integration plugins&lt;/em&gt;. These plugins are usually external services that act as bridges between the network in question and Waasabi's backend, which takes care of forwarding incoming messages to clients following the active broadcast.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://community.interledger.org/images/XPqovcJbzoIG3rFcnjszeARQ8_AvfyonfnGdkHNG92I/w:880/mb:500000/ar:1/aHR0cHM6Ly9jb21t/dW5pdHkuaW50ZXJs/ZWRnZXIub3JnL3Jl/bW90ZWltYWdlcy91/cGxvYWRzL2FydGlj/bGVzL2QxbmRjbm5y/bjU1dDNxNDR3aHc5/LnBuZw" class="article-body-image-wrapper"&gt;&lt;img src="https://community.interledger.org/images/XPqovcJbzoIG3rFcnjszeARQ8_AvfyonfnGdkHNG92I/w:880/mb:500000/ar:1/aHR0cHM6Ly9jb21t/dW5pdHkuaW50ZXJs/ZWRnZXIub3JnL3Jl/bW90ZWltYWdlcy91/cGxvYWRzL2FydGlj/bGVzL2QxbmRjbm5y/bjU1dDNxNDR3aHc5/LnBuZw" alt="The logo of the Ruma framework" width="600" height="210"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Waasabi's first such bridge integrates with the &lt;a href="https://www.matrix.org/"&gt;Matrix network&lt;/a&gt;. The plugin is written in the &lt;a href="https://www.rust-lang.org/"&gt;Rust programming language&lt;/a&gt;, and relies heavily on the &lt;a href="https://www.ruma.io/"&gt;Ruma framework&lt;/a&gt; for communicating with the Matrix network. Developed by &lt;a href="https://twitter.com/badboy_/"&gt;Jan-Erik Rediger&lt;/a&gt; to support the RustFest Global event in 2020, the Matrix integration is currently undergoing work to bring its &lt;a href="https://rustfest.global/information/how-to-chat/"&gt;full feature set&lt;/a&gt;, such as private invites and handling of multiple rooms to Waasabi for the upcoming first public release.&lt;/p&gt;

&lt;p&gt;Other integrations are also planned, Discord and Slack are two networks we are actively looking into bridging early on, but thanks to the open nature of Waasabi's API, it should be relatively easy for adopters of the framework to bridge any other network to their instance, even if Waasabi may not have out-of-the-box support for them.&lt;/p&gt;

</description>
      <category>software</category>
      <category>community</category>
    </item>
    <item>
      <title>Waasabi live event framework — Grant Report #1</title>
      <dc:creator>Flaki</dc:creator>
      <pubDate>Thu, 11 Mar 2021 14:51:00 +0000</pubDate>
      <link>https://community.interledger.org/waasabi/waasabi-live-event-framework-grant-report-1-8l1</link>
      <guid>https://community.interledger.org/waasabi/waasabi-live-event-framework-grant-report-1-8l1</guid>
      <description>&lt;p&gt;Waasabi's idea first formed in March 2020. As an avid conference-goer and organizer I, too, like many others, was &lt;a href="https://musings.flak.is/tallinnrs-march2020/"&gt;disillusioned&lt;/a&gt;. Most events that have "moved online" felt like giant square expo-center-pegs, stuffed into a round internet-hole, mere pale digital reflections of a bygone era of physical attendance.&lt;/p&gt;

&lt;p&gt;Soon enough I realized much of this was not even for lack of trying: as we ourselves first embarked on the journey of bringing about a &lt;em&gt;much remote, very online&lt;/em&gt; &lt;a href="https://blog.rustfest.eu/past_events/"&gt;RustFest&lt;/a&gt; experience I had to face first-hand the frustrating lack of tools for creating unique, inclusive, engaging online event experiences.&lt;/p&gt;

&lt;p&gt;The task at hand was clear: &lt;em&gt;we had to build it&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;After some experimentation by late spring an &lt;a href="https://waasabi.baytech.community/about-this-prototype.html"&gt;early prototype&lt;/a&gt; provided the outline to what later that fall was to become the &lt;a href="https://watch.rustfest.global/"&gt;live streaming experience of RustFest Global&lt;/a&gt;: one of the largest conferences for the Rust programming language, and one &lt;em&gt;truly&lt;/em&gt; spanning the globe, with speakers and artists spread across multiple continents, languages and timezones.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://community.interledger.org/images/FKlDeeigJmThetonKHvPMo7iWr91nBaecy4WhV8Oh38/w:880/mb:500000/ar:1/aHR0cHM6Ly9jb21t/dW5pdHkuaW50ZXJs/ZWRnZXIub3JnL3Jl/bW90ZWltYWdlcy91/cGxvYWRzL2FydGlj/bGVzLzJibnphdmZk/OGtiYjhsaHB6NGFi/LnBuZw" class="article-body-image-wrapper"&gt;&lt;img src="https://community.interledger.org/images/FKlDeeigJmThetonKHvPMo7iWr91nBaecy4WhV8Oh38/w:880/mb:500000/ar:1/aHR0cHM6Ly9jb21t/dW5pdHkuaW50ZXJs/ZWRnZXIub3JnL3Jl/bW90ZWltYWdlcy91/cGxvYWRzL2FydGlj/bGVzLzJibnphdmZk/OGtiYjhsaHB6NGFi/LnBuZw" alt="Screenshot of the watch.rustfest.global webpage" width="880" height="463"&gt;&lt;/a&gt;&lt;/p&gt;
The Waasabi prototype used to power the RustFest Global online conference stream experience



&lt;h2&gt;
  
  
  Project Update
&lt;/h2&gt;

&lt;p&gt;Receiving a grant from Grant for the Web meant not only that we could experiment with new, unconventional funding and reward models built around Web Monetization, but has also given us a chance to continue the work well after the conference, turning the prototype powering RustFest Global's live experience into a tool that may be used by anyone and for a much wider range of use cases.&lt;/p&gt;

&lt;p&gt;This transition is going well and we are gearing up to publishing the first edition of Waasabi, with continuous updates to follow afterwards.&lt;/p&gt;

&lt;h2&gt;
  
  
  Progress on objectives
&lt;/h2&gt;

&lt;p&gt;In the past months tremendous progress has been made on executing on the project's initial goals. Below we will illustrate some of this progress in the context of the original objectives:&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Waasabi set out to…&lt;/em&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  ◦ &lt;em&gt;“Solve the "hard problems" of event streaming and allow event organizers to build custom experiences around this core”&lt;/em&gt;
&lt;/h4&gt;

&lt;p&gt;Almost any event that tries to create their own experience will eventually face implementing video broadcasts in one way or another. Waasabi, as you will notice, is wont to stray from the "tried and true", and video streaming is a good example of this.&lt;/p&gt;

&lt;p&gt;Waasabi supports (encourages, even!) splitting up long events into short, per-session live streams. This small change in approach has surprisingly broad implications to the attendee experience! On the one hand, it allows for immediate publishing individual sessions for on-demand viewing (we simply call these &lt;a href="https://rustfest.global/information/how-to-watch/#replays"&gt;"Replays"&lt;/a&gt;) right after the live session has concluded — this makes events much more inclusive, especially on a global scale, as everyone can "adjust" the conference to their own schedules, instead of aligning with whatever the broadcast schedule mandates.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Ever wished for a conference where any &amp;amp; all sessions show up *instantly* in a Replay box after they aired, to be re(?)watched anytime, even if you just grabbed your ticket halfway through the event?&lt;br&gt;&lt;br&gt;I did.&lt;br&gt;&lt;br&gt;So I built it. 🙈&lt;br&gt;&lt;br&gt;Probably my favorite &lt;a href="https://twitter.com/RustFest?ref_src=twsrc%5Etfw"&gt;@RustFest&lt;/a&gt; Global feature. 💖 &lt;a href="https://t.co/X2sUhso2c4"&gt;https://t.co/X2sUhso2c4&lt;/a&gt;&lt;/p&gt;— flaki (@slsoftworks) &lt;a href="https://twitter.com/slsoftworks/status/1325045310347997185?ref_src=twsrc%5Etfw"&gt;November 7, 2020&lt;/a&gt;
&lt;/blockquote&gt;

&lt;p&gt;Another interesting implication of this change is that the breaks between sessions become a space we can fill with valuable, even interactive content. Whether it's generative art, interactive sponsor experiences or an embedded experience dedicated for connecting and &lt;em&gt;mingling&lt;/em&gt;, the live stream gives way for other custom experiences, reclaiming its rightful prime real estate on the user's screen once a new live broadcast is due.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;At the very first RustFest Global pre-event: &lt;a href="https://twitter.com/dns2utf8?ref_src=twsrc%5Etfw"&gt;@dns2utf8&lt;/a&gt; introduces us at Rust Zürichsee to playing self-isolating snake games—together! (also test-driving our new conference experience platform, stay tuned for more!)&lt;br&gt;&lt;br&gt;Join the fun via Matrix: &lt;a href="https://twitter.com/hashtag/rust?src=hash&amp;amp;ref_src=twsrc%5Etfw"&gt;#rust&lt;/a&gt;-zuerisee:&lt;a href="https://t.co/BelQToQ9VW"&gt;https://t.co/BelQToQ9VW&lt;/a&gt; &lt;a href="https://t.co/LAniZ9GLeA"&gt;pic.twitter.com/LAniZ9GLeA&lt;/a&gt;&lt;/p&gt;— RustFest (@RustFest) &lt;a href="https://twitter.com/RustFest/status/1323334120483770370?ref_src=twsrc%5Etfw"&gt;November 2, 2020&lt;/a&gt;
&lt;/blockquote&gt;

&lt;h4&gt;
  
  
  ◦ &lt;em&gt;“Provide flexible, extensible tools for organizers who want to experiment with alternative formats and business models”&lt;/em&gt;
&lt;/h4&gt;

&lt;p&gt;Most commercial event platforms on the market today provide ready-made "just-add-water" experiences out of the box today. There is very little room for customization, integrations, or ways to engage with one's audience beyond what was pre-imagined by the platform's UX &amp;amp; design teams.&lt;/p&gt;

&lt;p&gt;Another large chunk of events, who decided to simply opt for broadcasting their event on one of the large video streaming platforms are similarly limited: both YouTube and Twitch, two predominant providers in the space allow for very little access control over their broadcast, and do their utmost to keep revenue sources limited to and dependent on their own silos (ad revenue, subscriptions, etc.).&lt;/p&gt;

&lt;p&gt;In either case, events have very little control over &lt;em&gt;how&lt;/em&gt; their broadcast is presented, and &lt;em&gt;who&lt;/em&gt; has access to it, thus it is pretty much impossible to freely experiment with a novel combination of micropayments, ticketing, sponsorships etc.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://i.giphy.com/media/WBEwYczGqmVm4YEGdz/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/WBEwYczGqmVm4YEGdz/giphy.gif" alt="Animation showcasing the RustFest Global event stream, as the surroundings and webpage design shift to reveal one of the sponsor's look &amp;amp; feel while the upcoming talk presented by someone working at that sponsor company is announced" width="480" height="270"&gt;&lt;/a&gt;&lt;/p&gt;
The RustFest Global live stream design subtly shifts in realtime to reveal one of the sponsors ahead of an upcoming talk



&lt;p&gt;Retaining full control over the streaming experience also meant that we could offer interesting alternate ways to &lt;a href="https://twitter.com/slsoftworks/status/1325059192537948161"&gt;showcase our sponsors&lt;/a&gt; and allow them to engage in more meaningful ways with our audience — something that would be impossible in any of the conventional platforms. This meant that we have been able to provide value (and on this, we have received unequivocally positive feedback) to sponsors while keeping these appearances unobtrusive (e.g. instead of stuffing the live stream &amp;amp; recording full of distracting logos), which has been a key goal of our community-centered conference since its inception.&lt;/p&gt;

&lt;h4&gt;
  
  
  ◦ &lt;em&gt;“Enable increased reach through more sophisticated control over content distribution and revenue sources”&lt;/em&gt;
&lt;/h4&gt;

&lt;p&gt;Having full control of every aspect of the video streaming experience allowed us to &lt;a href="https://rustfest.global/information/tickets/"&gt;set our own rules&lt;/a&gt;, even provide free &amp;amp; pay-what-you-can style ticket options, while still retaining &lt;a href="https://rustfest.global/information/how-to-watch/#differences-between-public-and-paid-streams"&gt;appealing incentives&lt;/a&gt; to those who would support the conference by buying tickets. That said, when it came to Web Monetization, we had &lt;a href="https://rustfest.global/information/about-web-monetization/"&gt;a different issue in mind&lt;/a&gt; that we set out to solve.&lt;/p&gt;

&lt;p&gt;Many events today &lt;a href="https://rustfest.global/cfp/#the-perks"&gt;support and incentivize&lt;/a&gt; content submissions by acknowledging the work put into creating a talk and the effort spent on educating the community. At RustFest we paid all our artists, given stipends and video streaming hardware reimbursements to our speakers in an effort to lower the barrier of entry for participation and sharing one's art and knowledge with the community.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Very happy to have had the opportunity to speak at &lt;a href="https://twitter.com/RustFest?ref_src=twsrc%5Etfw"&gt;@RustFest&lt;/a&gt; as a newbie speaker - this morning was a great experience :)&lt;/p&gt;— Vi (@gl4cierBlue) &lt;a href="https://twitter.com/gl4cierBlue/status/1325099653503836161?ref_src=twsrc%5Etfw"&gt;November 7, 2020&lt;/a&gt;
&lt;/blockquote&gt;

&lt;p&gt;We decided to use Web Monetization as yet another tool that would allow the &lt;em&gt;community&lt;/em&gt; to give back to these artists and speakers, even long after the conference is over.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://community.interledger.org/images/O_i65HpNvIhngUJJ-MMAwTdhoB55-_KVX_HIzd2Xuhc/w:880/mb:500000/ar:1/aHR0cHM6Ly9jb21t/dW5pdHkuaW50ZXJs/ZWRnZXIub3JnL3Jl/bW90ZWltYWdlcy91/cGxvYWRzL2FydGlj/bGVzLzF4N2x4NW5u/bDI3ZmJmZjhyejZz/LnBuZw" class="article-body-image-wrapper"&gt;&lt;img src="https://community.interledger.org/images/O_i65HpNvIhngUJJ-MMAwTdhoB55-_KVX_HIzd2Xuhc/w:880/mb:500000/ar:1/aHR0cHM6Ly9jb21t/dW5pdHkuaW50ZXJs/ZWRnZXIub3JnL3Jl/bW90ZWltYWdlcy91/cGxvYWRzL2FydGlj/bGVzLzF4N2x4NW5u/bDI3ZmJmZjhyejZz/LnBuZw" alt="Waasabi allows for any session to have its own payment pointer assigned to it" width="880" height="438"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Every session at RustFest could provide its own ILP payment pointer (set by the session host or administrators) which would be active during the live broadcast of the session, as well as during any on-demand playback. This way, Web Monetization supported the creator directly, while RustFest merely provided the infrastructure and the "marketplace" to connect presenters with their audience.&lt;/p&gt;




&lt;p&gt;Work on some of the initial objectives is still ongoing, see more information on these in the "What's next" section, as well as expect to see further updates on their progress in the coming weeks.&lt;/p&gt;

&lt;h2&gt;
  
  
  Key activities
&lt;/h2&gt;

&lt;p&gt;Field-testing Waasabi's ideas in a realistic setting was one of our main tasks for 2020, and the RustFest Global conference provided fertile grounds for experimentation. After the conference ended, we took the distilled learnings and the prototype to create a more streamlined, more flexible tool that can be customized to fit one's own usecase.&lt;/p&gt;

&lt;h4&gt;
  
  
  RustFest Global
&lt;/h4&gt;

&lt;p&gt;We believe RustFest Global was the first event that &lt;a href="https://rustfest.global/information/about-web-monetization/"&gt;took advantage of Web Monetization&lt;/a&gt; in the online conference space. RustFest's approach was using Web Monetization as a secondary income stream for artists &amp;amp; presenters at the event, and on the long tail. With close to 1.000 signups, RustFest streamed over 4.000 hours of content &amp;amp; produced 15 hours of talks and art performances.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://community.interledger.org/images/Lr95HhF12zSfvwlDwTWBSKaOriF4O4-iz-ImAYB0Oyc/w:880/mb:500000/ar:1/aHR0cHM6Ly9jb21t/dW5pdHkuaW50ZXJs/ZWRnZXIub3JnL3Jl/bW90ZWltYWdlcy91/cGxvYWRzL2FydGlj/bGVzL2xoZXp3bTA2/NGlmb2F2bzJvdjA2/LnBuZw" class="article-body-image-wrapper"&gt;&lt;img src="https://community.interledger.org/images/Lr95HhF12zSfvwlDwTWBSKaOriF4O4-iz-ImAYB0Oyc/w:880/mb:500000/ar:1/aHR0cHM6Ly9jb21t/dW5pdHkuaW50ZXJs/ZWRnZXIub3JnL3Jl/bW90ZWltYWdlcy91/cGxvYWRzL2FydGlj/bGVzL2xoZXp3bTA2/NGlmb2F2bzJvdjA2/LnBuZw" alt="Alt Text" width="880" height="187"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;For most of our presenters, Web Monetization was completely new, and had a great reception, especially among our artists, with ~50% signing up and registering a wallet to monetize their content. Even after the conference, &lt;a href="https://cinnamon.video/rustfest"&gt;recordings published on Cinnamon Video&lt;/a&gt;, as well as those watched on &lt;a href="https://rustfest.global/schedule/"&gt;the conference website&lt;/a&gt; would remain monetized towards the creator to provide a long tail revenue to the creator. To this date, our Cinnamon channel has seen over 600 views across all published talks and art performances.&lt;/p&gt;

&lt;p&gt;In the post-conference survey the artists were also expressing their enthusiasm towards Web Monetization and were interested in using it in their future appearances and on their own websites, which further reinforced our suspicion that Web Monetization was especially well-suited to cater for content producers and performers in the virtual event space.&lt;/p&gt;

&lt;h4&gt;
  
  
  Continued adoption
&lt;/h4&gt;

&lt;p&gt;Since RustFest we have spent the past months with streamlining Waasabi's offering and working slowly towards the public release &amp;amp; open sourcing of the first components under &lt;a href="https://baytech.community/eng/projects/"&gt;Bay Area Tech Club's umbrella&lt;/a&gt;. The various individual components of Waasabi will be released under an &lt;a href="https://opensource.org/licenses/Apache-2.0"&gt;Apache 2.0&lt;/a&gt; license, awaiting contributions on Bay Area Tech Club's &lt;a href="https://github.com/baytechc/"&gt;GitHub page&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The components are written in a wide range of technologies — from HTML/CSS/JavaScript to Rust and a variety of frontend and backend frameworks. While for a company with a specialized team such a varied tech stack could very well be a nightmare-scenario to maintain, it is absolutely intentional here: we believe this allows contributors to pick &amp;amp; choose to work on parts of the Waasabi suite that they feel most comfortable in.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://community.interledger.org/images/n9YqAT4v185aIru7IdUPLisCr8xyTkUI9H1i_0r6vhw/w:880/mb:500000/ar:1/aHR0cHM6Ly9jb21t/dW5pdHkuaW50ZXJs/ZWRnZXIub3JnL3Jl/bW90ZWltYWdlcy91/cGxvYWRzL2FydGlj/bGVzL2g5ZGd0bmN0/dDZ5dWtsMW1ydWNx/LnBuZw" class="article-body-image-wrapper"&gt;&lt;img src="https://community.interledger.org/images/n9YqAT4v185aIru7IdUPLisCr8xyTkUI9H1i_0r6vhw/w:880/mb:500000/ar:1/aHR0cHM6Ly9jb21t/dW5pdHkuaW50ZXJs/ZWRnZXIub3JnL3Jl/bW90ZWltYWdlcy91/cGxvYWRzL2FydGlj/bGVzL2g5ZGd0bmN0/dDZ5dWtsMW1ydWNx/LnBuZw" alt="Screenshot of Waasabi powering the Rust Hungary meetup's online streaming infrastructure" width="880" height="469"&gt;&lt;/a&gt;&lt;/p&gt;
Rust Hungary's online community meetup hosted on Waasabi



&lt;p&gt; &lt;/p&gt;

&lt;p&gt;While Waasabi will be sure to power any upcoming editions of RustFest, we have also started reaching out &lt;a href="https://meetup.rust-lang.hu/"&gt;to the first early adopters&lt;/a&gt; to help us test-drive the suite's offering. We are working with these communities, meetups and conferences to ensure the out-of-the box offering supports a wide range of use cases, and focusing on improving the maintainability of instances. This means both streamlining the initial configuration, as well as making sure keeping them up-to-date is as painless as possible.&lt;/p&gt;

&lt;p&gt;Work is well underway on &lt;code&gt;waasabi-init&lt;/code&gt;, a command line tool dedicated to provisioning a brand new Waasabi configuration, either for local development, or one that is intended for a live installation. This tool will be responsible not only for applying customizations, but selecting, installing and keeping the various components of the Waasabi suite up to date. Much of our current efforts are channeled into improving the usability and lowering the barrier of entry of a Waasabi-based setup by abstracting away much of the underlying complexity.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://i.giphy.com/media/xHruviZZ0P13hOOl9W/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/xHruviZZ0P13hOOl9W/giphy.gif" alt="Waasabi installer animation" width="480" height="320"&gt;&lt;/a&gt;&lt;/p&gt;
Waasabi's configurator in action



&lt;p&gt; &lt;/p&gt;

&lt;p&gt;&lt;em&gt;If this blog post has piqued your interest in adopting Waasabi for your community, please reach out in the contacts at the end of the article, we would love to hear from you!&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Communications and marketing
&lt;/h2&gt;

&lt;p&gt;While most of the work so far has taken place behind the scenes, in anticipation of the upcoming first release we have started live streaming Waasabi development — on Waasabi itself! This may unarguably feel &lt;em&gt;a bit meta&lt;/em&gt;, but is giving us an excellent opportunity to &lt;em&gt;eat our own dogfood&lt;/em&gt;, as well as being a useful venue for raising awareness and gathering feedback. Currently the streams are a bit ad-hoc (follow the Waasabi Matrix channel for when to look), but we should settle in for a nice cadence once we have worked out some of the kinks.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://live.waasabi.org/"&gt;Join the Waasabi Dev Streams at live.waasabi.org!&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://i.giphy.com/media/ctaDvPZNjWXD1VP1Hm/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/ctaDvPZNjWXD1VP1Hm/giphy.gif" alt="A short, animated screen capture of the Waasabi development stream" width="480" height="270"&gt;&lt;/a&gt;&lt;/p&gt;
The Waasabi Dev Stream in action!



&lt;h2&gt;
  
  
  What’s next?
&lt;/h2&gt;

&lt;p&gt;We haven't yet talked about external integrations and optional components ("plugins"), so let's have a look at what's coming to Waasabi in these areas:&lt;/p&gt;

&lt;h4&gt;
  
  
  ◦ &lt;em&gt;“Allow event organizers to tightly integrate their live events into their existing community infrastructure”&lt;/em&gt;
&lt;/h4&gt;

&lt;p&gt;Just weeks ago the Matrix team &lt;a href="https://matrix.org/blog/2021/02/15/how-we-hosted-fosdem-2021-on-matrix"&gt;debuted the official experience&lt;/a&gt; they envisioned for using the federated Matrix protocol in conjunction with online events.&lt;/p&gt;

&lt;p&gt;Months ahead of this, in November last year we also used the Matrix network to power RustFest Global's chat experience through our own custom integration and our own &lt;a href="https://rustch.at"&gt;RustCh.at&lt;/a&gt; Matrix server instance.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://community.interledger.org/images/C0utj_NODtXFD1SLbsJAYa3ZfWEn4Eu7k4EvPPfHXe4/w:880/mb:500000/ar:1/aHR0cHM6Ly9jb21t/dW5pdHkuaW50ZXJs/ZWRnZXIub3JnL3Jl/bW90ZWltYWdlcy91/cGxvYWRzL2FydGlj/bGVzL2tneWJmdHp6/c2pmeXU0aDMwNzAw/LnBuZw" class="article-body-image-wrapper"&gt;&lt;img src="https://community.interledger.org/images/C0utj_NODtXFD1SLbsJAYa3ZfWEn4Eu7k4EvPPfHXe4/w:880/mb:500000/ar:1/aHR0cHM6Ly9jb21t/dW5pdHkuaW50ZXJs/ZWRnZXIub3JnL3Jl/bW90ZWltYWdlcy91/cGxvYWRzL2FydGlj/bGVzL2tneWJmdHp6/c2pmeXU0aDMwNzAw/LnBuZw" alt="RustFest Global 2020 logo" width="880" height="491"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We are working on including a cleaned up &amp;amp; streamlined version of this integration in the components offered by Waasabi for those who would like to use this chat system with their custom streaming experience. We are also working on plugins for other popular chat platforms, to make it even easier to connect communities across Waasabi's interface simply by selecting and configuring the right integration, available out of the box.&lt;/p&gt;

&lt;h4&gt;
  
  
  ◦ &lt;em&gt;“A growing library of open source plugins and integrations contributed back by the community building on Waasabi”&lt;/em&gt;
&lt;/h4&gt;

&lt;p&gt;While releasing &amp;amp; open sourcing the Waasabi codebase will need to take place before we can start talking about community-contributed extensions to the Waasabi software suite, we have already started laying the foundations to this through spending considerable effort on ensuring a low barrier of entry to trying, installing, using and contributing to Waasabi.&lt;/p&gt;

&lt;p&gt;One of Waasabi's planned optional components was a "proof-of-concept" to a local transcription/captioning service, based in open data and open source software. We thought sharing the findings of this effort will deserve its own update, and thus keep an eye out for a coming update on this project in the following weeks. Check out a little teaser below of what we have in the works:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://community.interledger.org/images/do1zE3vnxLrUr7vBrRMXG29XY2iOY8k83kXaVPkeMNM/w:880/mb:500000/ar:1/aHR0cHM6Ly9jb21t/dW5pdHkuaW50ZXJs/ZWRnZXIub3JnL3Jl/bW90ZWltYWdlcy91/cGxvYWRzL2FydGlj/bGVzLzBwbWxqYXY2/ODMwcGlwOXZqYmR1/LnBuZw" class="article-body-image-wrapper"&gt;&lt;img src="https://community.interledger.org/images/do1zE3vnxLrUr7vBrRMXG29XY2iOY8k83kXaVPkeMNM/w:880/mb:500000/ar:1/aHR0cHM6Ly9jb21t/dW5pdHkuaW50ZXJs/ZWRnZXIub3JnL3Jl/bW90ZWltYWdlcy91/cGxvYWRzL2FydGlj/bGVzLzBwbWxqYXY2/ODMwcGlwOXZqYmR1/LnBuZw" alt="Teaser of the captioning proof of concept" width="880" height="304"&gt;&lt;/a&gt;&lt;/p&gt;
A comparison between a human-generated talk transcript and one generated by our automated local captioning proof-of-concept from RustFest Global



&lt;h4&gt;
  
  
  Future development
&lt;/h4&gt;

&lt;p&gt;We are also thrilled to announce that thanks to the &lt;a href="https://nlnet.nl"&gt;NLnet Foundation&lt;/a&gt; Waasabi has been &lt;a href="https://nlnet.nl/project/Waasabi/"&gt;recently awarded a grant&lt;/a&gt; from the NGI Zero initiative!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://community.interledger.org/images/e5tCe46QbwmEAh3ZZXaPqoUY91kYPeUVVtABGQXu_bY/w:880/mb:500000/ar:1/aHR0cHM6Ly9ubG5l/dC5ubC9pbWFnZS9s/b2dvcy9OR0kwX3Rh/Zy5zdmc" class="article-body-image-wrapper"&gt;&lt;img src="https://community.interledger.org/images/e5tCe46QbwmEAh3ZZXaPqoUY91kYPeUVVtABGQXu_bY/w:880/mb:500000/ar:1/aHR0cHM6Ly9ubG5l/dC5ubC9pbWFnZS9s/b2dvcy9OR0kwX3Rh/Zy5zdmc" alt="NGI Zero" width="553" height="170"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This project is still the planning/roadmapping phase but thanks to the new grant we will soon be able to start working on integrating P2P (peer-to-peer) video streaming backends as an alternative to Waasabi's current, commercial provider. We look forward to exploring technologies like HLS-over-IPFS and the recently announced &lt;a href="https://framablog.org/2021/01/07/peertube-v3-its-a-live-a-liiiiive/"&gt;PeerTube live streaming support&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  What community support would benefit your project?
&lt;/h2&gt;

&lt;p&gt;If the project's goals resonated with you, please consider supporting development through our &lt;a href="https://opencollective.com/waasabi"&gt;Open Collective page&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;If you would like to test-drive Waasabi for one of your own communities or events ahead of the public release, please let us know through any of the contacts listed below, we are always looking for feedback and early adopters who can help us improve Waasabi.&lt;/p&gt;

&lt;h2&gt;
  
  
  Relevant links/resources
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://opencollective.com/waasabi"&gt;Support Waasabi on Open Collective&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://matrix.to/#/#waasabi:baytech.community"&gt;The Waasabi chatroom on Matrix&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://live.waasabi.org/"&gt;Follow the Waasabi Dev Streams on live.waasabi.org&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/bayareatechclub"&gt;For updates follow the @bayareatechclub Twitter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://rustfest.global/"&gt;Subscribe to the RustFest newsletter to learn about future events&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Updated 2021.03.12&lt;/em&gt;: an earlier version of the post stated RustFest streamed 45.000 hours of content, this was incorrect, the correct number is around 4.400 hours, which is still &lt;em&gt;half a year&lt;/em&gt; worth of RustFest!&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>grantreports</category>
    </item>
  </channel>
</rss>
