Blog of Calibre, a web performance monitoring service, covering page speed, CSS and JavaScript bundles, and performance budgets.
HN links it for web performance guides like Time to Interactive; commenters compare Calibre with WebPageTest and Lighthouse, and its founder introduced it there.
> * physically closer
> How can this be guaranteed? You have no control over the closest Edge function vs Cloud Server to the user.
Because the user doesn't get to talk directly to the database. The database could be on the second floor of the user's building, but it's still going to have to get routed via an API. If you're using serverless functions for your API (presumably so, given this conversation), you still have the multi-hop issue to fetch data from the db. And in the case of a complex BI dashboard with multiple data sources, the extra hops can add up significantly.
> Again, your Edge function seems likely to either be cold or busy, so this is only something you can speak about probabilistically
A true Edge function has nearly 0ms latency to spin up from cold. They are distinguished from Lambda functions, which would alternatively be running in a data-center colocated with your database in most cases. Lambda functions do have a small cold start issue. But whether you're using Lambdas or Edge functions or Node.js containers, this doesn't affect the core issue.
> HTML still needs to render a DOM, not sure you're hitting on the right points of the parsing... Plus if this page is meant to be interactive still, you've not gained anything with the initial SSR phase
The HTML has to load into memory and only when it hits the JS script that actually triggers the XHR request does the call out for data occur. Depending on how your JS is bundled with your static HTML,…
Hi HN! I'm Ben, the solo founder of Calibre Analytics: https://calibreapp.com. Calibre monitors websites and applications in a clean-room testing environment from all over the world. Up until January Calibre has been an "inbetween other things" / evenings / holidays kind of project. (Only, oops—I did that for four years.).
Last year I knuckled down to get into the position where I could work on it full time. I've spent the last 8 weeks working on "Test profiles" (The launch post is here: https://medium.com/get-calibre/announcing-test-profiles-and-budgets-2-0-84667a4e4749) — It allows you to emulate hardware devices (cpu speed, user-agents and screen dimensions), as well as limit the bandwidth (latency, download and upload speeds), and set cookies (you could use this to log into your app, test a staff-shipped feature, or maybe turn off advertising and see the performance impact.)
I think I've finally got the basis of a really powerful tool, and I'm keen to share it with… everyone! I do everything myself, so if you've any questions, I'm here to answer them!
So, I'm curious.
How does https://calibreapp.com/ compare to https://www.webpagetest.org/ and https://www.sitespeed.io/ and https://gtmetrix.com/ ?
Why would someone want to pay you for your service, as opposed to using any of the above? Do you support browsers other than Chrome? Do you support a wide variety of simulated hardware? Do you support a wide variety of testing locations? Do you support any page speed test profile other than Lighthouse and Google Page Speed? Do you support running your software in a Docker container of my own choice?
Because I can get all those things via one or more of the competitors in this space, and I'm not seeing any compelling reason to even look at Calibre.
Please feel free to convince me that I'm wrong.
A few resources I've found useful:
- lighthouse (https://github.com/GoogleChrome/lighthouse). You can implement this with their Node CLI to automate in your pipeline and output the results somewhere.
- calibre (https://calibreapp.com/). Gives you nice graphs and snapshots over time.
Time to Interactive: https://calibreapp.com/blog/time-to-interactive