The BBC have been broadcasting TV and radio into the homes of UK citizens for the past 99 years. For the past decade, digital delivery of content, through BBC iPlayer and BBC Sounds has become a vital component of their business. More recently the BBC R&D team have been exploring how to deliver customised and tailored content via Object Based Media(OBM).
With OBM being a new technology concept, which is not a browser standard, the BBC R&D team needed a way to create a web-based experience that supports this idea … and they chose WebAssembly.
This post describes how they created a media application in C++, and using a WASI-style approach, created a WebAssembly-based runtime for delivering rich media content. Furthermore, they are also considering whether they can run some of the media encoding / decoding on the cloud, capitalising on the universal nature of WebAssembly.
Lunatic is one of a growing number of runtimes built using WebAssembly, capitalising on the lightweight security / isolation model and its ability to support a wide range of languages. The goal of this Erlang-inspired project is to create a runtime that supports lightweight processes, fault tolerance, and capability-based security for different parts of the application.
There are many instance where you might want to run untrusted code side-by-side with your own application logic, for example, you might be developing a tool where you want to allow people to create plug-ins and third-party extensions. Currently your options are limited, you can use eval (and cross your fingers), or an iframe, neither of which are ideal.
This project provides a ‘safe eval’, by executing code within a WebAssembly sandbox. Cool 😎
A fun little application, that creates a ray-traced scene by sharing the workload between a number of Web Workers. This simple little application, written in Rust / WebAssembly makes use of a number of interesting open source tools that are worth exploring.