This price feels wrong, and I think part of it is the pricing of the other similar sorts of service we use for our app, and that I suspect others use.
Ultimately this service and the others are about improving reliability and quality in some sense, so while different markets I think they are comparable as teams can opt to focus on quality in different areas.
- CI, we pay $100-200 for this, and it obviously consumes a lot of compute resources and needs to regularly. Price feels ~reasonable.
- Crash reporting, we pay <$100 for this. It scales with user base, and while low cost per user this does feel like it has some scale to it. It's also essentially user-facing, so very high uptime requirements.
- Code coverage, $5. It's basically a few database records behind an API with a special interface. Feels like it's worth very little, but fantastic price, worth it. Also coverage is similar metric to app size – a small change is probably ok, but long term trends are an issue, so in a way it provides a similar type of value.
- And then we come to this. $500. The analysis is a complex bit of code I'm sure, and the company should be able to charge for that, but there isn't compute, (significant) storage, or high SLAs as a necessary part of the product. It feels "wrong" next to these other services.
I think all of these feelings roughly boil down to intuition around the cost of goods sold (COGS). Logic that has already been written has a low COGS, and while that doesn't mean it should be free at all, it does make it hard to justify over being, say, a standalone piece of software that one buys once. Perhaps a way to circumvent this is to go hard on the constant evolution of the platform as Apple changes their technologies.
Maybe this is all from the viewpoint of someone who would likely be on the free plan! And so maybe this is a non-issue, but we'd happily pay for this, it just feels like it's a $50/mo service not a $500/mo one.
Main approach to this problem in industry is when you approach cellular limit, you optimize.
I also agree that it is big engineering investment sometimes. But the problem is you are targeting low hanging fruit (stripping comments from localization, stripping symbols, optimizing images etc) or stuff that doesn't effect download size ( deduplicate files )
Those fixes are good for small startups, which you are giving away for free.
The main engineering problem for big companies is binary size, optimizations like "reordering of the build optimization passes" etc.
I would buy this as a tool, but as a service it is a hard sell for me.
In my experience working on large apps like Airbnb we try to get ahead of the problem even before approaching the cellular limit, since a smaller size helps acquire and keep users, and we want to avoid architecture decisions that would become a problem down the road.
It's not too rare for one of these low hanging fruit optimizations to be accidentally introduced in a large company, with testing on every PR you can catch them before they‘re introduced. Binary size is definitely what changes most often at these large companies and that's why our continuous monitoring lets developers know exactly the granular binary size affect of a PR. With a lot of code, things like exposing Swift functions to Obj-C which introduce new metadata can frequently be mistakenly added. For enterprise companies we also track the biggest modules in their binary, so eng managers can get a better understanding of where the size is coming from.