The Case for a New Speedtest
In a digital landscape saturated with internet speed testing tools, Nevik Schmidt, a developer known by the handle Nevik Schmidt, asked a fundamental question: why build another one? The answer, detailed on dev.to, lies in a desire for transparency, efficiency, and granular control over the testing process. Unlike many established speed test platforms that can weigh in at several megabytes due to extensive tracking scripts and complex frameworks, Schmidt’s creation is a single HTML file. It boasts a lean footprint, relying on approximately 250 lines of JavaScript, plain HTML, and CSS. This approach sidesteps the need for heavy dependencies like npm packages or frameworks such as React, resulting in an exceptionally lightweight tool.
Schmidt's motivation stems from a desire to understand precisely what is being measured and to avoid the bloat associated with commercial alternatives. The control offered by a self-built tool allows for direct comparison between measured speeds and a user's subscribed internet plan, enabling more informed recommendations. The live demo, accessible at dsl.nevik.de/speedtest/, showcases this philosophy in action.
Technical Implementation: Vanilla JS and Cloudflare API
The core of this speedtest is its reliance on Vanilla JavaScript, meaning it uses no external libraries or frameworks. This choice is deliberate, aiming for maximum compatibility and minimal overhead. The measurement process involves a series of HTTP requests to a server endpoint. For this, Schmidt leverages the Cloudflare API. Cloudflare’s infrastructure is well-suited for this task, offering globally distributed servers that can simulate real-world network conditions and provide reliable latency and throughput measurements.
The test typically involves downloading a file of a specific size from the Cloudflare-hosted endpoint. By measuring the time taken to download this file, the tool calculates the download speed. Upload speed is often measured by sending data back to the server, though the specifics of the upload test implementation can vary. The key is that the requests are directed to Cloudflare's edge network, which is designed for high performance and low latency, providing a realistic benchmark of a user's connection to a major internet backbone.
The simplicity of the code means the entire application can be delivered as a single, easily shareable file. This is a significant departure from the multi-megabyte bundles typical of many web applications today. The ~250 lines of JavaScript are dedicated solely to the testing logic, user interface updates, and result calculation, ensuring that the user's bandwidth is primarily used for the speed test itself, not for downloading the testing tool.
Transparency and Control: Beyond Benchmarks
Schmidt's emphasis on transparency means that users can inspect the code and understand exactly how their internet speed is being evaluated. There are no hidden tracking mechanisms or opaque algorithms at play. This directness is crucial for users who want to verify their internet service provider's performance against their contracted speeds. The tool provides a clear, unadulterated look at network throughput.
The ability to directly compare the measured speed against the user's subscribed plan is a powerful feature. Many commercial speed tests provide a raw number, leaving the user to interpret whether that speed is good or bad relative to their plan. Schmidt's tool aims to close this gap by offering actionable insights. If the measured speed consistently falls short of the advertised speed, the tool can prompt the user to investigate further or contact their ISP. This added layer of utility transforms the speed test from a simple benchmark into a diagnostic tool.
The control extends to the user experience as well. Because the tool is so lightweight, it loads quickly and performs the test efficiently, even on slower connections. This contrasts with some larger, feature-rich speed tests that can themselves consume significant bandwidth or processing power, potentially skewing the results. The focus remains squarely on accurately measuring the user's internet connection performance.
The Future of Lightweight Web Tools
This project serves as a compelling example of how modern web technologies can be used to create efficient, focused tools. By eschewing large frameworks and complex build processes, Schmidt demonstrates that it's possible to deliver sophisticated functionality with minimal resources. The use of Vanilla JS and a robust API like Cloudflare's offers a blueprint for other developers looking to build performant, transparent web applications.
The question remains whether this minimalist approach will gain traction in a market often driven by feature creep and framework adoption. However, for specific use cases where performance, transparency, and minimal footprint are paramount, this method presents a clear advantage. It’s a reminder that sometimes, the most effective solutions are the simplest ones, built with a deep understanding of core web technologies and a clear vision for user value.
