Company
Date Published
Author
Vanessa Pyne, Max Rottenkolber
Word count
1035
Language
English
Hacker News points
None

Summary

Daily provides real-time video and audio APIs to help developers build and iterate on their apps quickly and efficiently. However, creating a reliable real-time communication product requires adapting to diverse network conditions. To address this challenge, Daily created Synthetic Network, a tool that simulates arbitrary network conditions using Docker and packet processing in userspace. The tool ships as a Docker image containing a Rust program that forwards packets between two Linux network interfaces, introduces artificial latency, bandwidth limits, packet loss, and jitter, as well as a frontend that exposes a JSON API and a Web UI to configure synthetic network conditions. Developers can derive an image from Synthetic Network and add their application to test under varying network conditions. The tool also includes a Chrome-on-Syntheticnet container example, which allows users to test web applications under arbitrary network conditions using VNC. Additionally, Synthetic Network provides scripting and automated testing capabilities through a JavaScript library that wraps the JSON API in a programmatically friendly object, enabling developers to automate their network testing.