For a full understanding of these new possibilities, check out the latest blog from our CEO Lukas Kinigadner.
For this, we used the emscripten toolchain. This is a very modern compiler toolchain based around LLVM that turns C++ code into WebAssembly. WebAssembly can be loaded by all modern browsers and executes blazingly fast.
Not all smooth sailing…
So far, so simple, right? Not quite. We did face some significant challenges. Firstly, we had to overcome some technical issues relating to Tensorflow, which we use for training of classification and detection networks. Tensorflow is at the heart of our SDK and its execution speed defines much of how fast our SDK feels overall. Because of that we switched to TensorflowJS to get WebGL accelerated inference.
We also had to make some changes inside our core, and compile the dependencies for WebAssembly before adjusting our internal architecture to match the web. Sorting these issues was a tedious process at times, but ultimately worth the effort.
Teamwork makes the dream work
This meant that all of the UI functionality for the browser-based SDK was ready to go, so we could focus on ironing out the issues elsewhere and bring the product to market as quickly as we did.
Sign up for our Newsletter!
Be the first to receive the latest news, release notes and updates!