What does a gold standard of performance looks like - demo of Arré voice app
In this post, I want to show the gold standard of how a mobile app should behave, especially on a fluctuating internet connection.
This is the Demo of Arré voice app (https://www.arrevoice.com/). It's a social network over short audio. If I have to oversimplify, it's Twitter for short audio. Check out the video below -
Click here to watch the video on Youtube
You can see how the app performs with a fluctuating 5G internet connection. Infact, coincidentally, the internet fluctuated from 4G to 5G in between, and you can see how the app gracefully handled that. When I left Arré (in March 2024), the app had a 100% crash-free rate for the last two quarters on both Android and iOS. That is despite the app's primary target audience being Tier 2 and Tier 3 India, where mobile devices are usually not very high-end in terms of processor or memory. These are smartphones under Rs. 10k or 20K.
Even though the app uses multiple databases such as - a NoSQL database (DynamoDB serverless), Cache database (Redis), a Graph database (AWS Neptune), and a Vector database (Astra DB), the performance you see in the video was achieved at less than $10 spent per day on databases at a scale of 3k+ daily active users (250k+ total users. 70k+ MAU). The platform has a macroservices architecture that consistently serves 2000+ RPS across 12 services with a p99 latency of less than 100ms.
Performance is objectively measurable in tech!
Unlike your brand marketing strategy or an untested GTM strategy, which may or may not be measurable, Measuring the performance and stability of a tech product is very objective. For a mobile app, I define the gold standard of performance as -
-
You have to track the app launch time, and it should be as fast as possible. Arré voice app has less than a second of app launch time.
-
API response time, specifically P99 and P95 latency, should be as low as possible - Arré voice app has P99 of less than 100 milliseconds and P95 of less than 80 milliseconds for every feature on the app - including group messaging and analytics
-
Database query times should be as low as possible. Read latency should be less than ten milliseconds. (For a single query)
-
The crash-free rate should be as high as possible. Arré voice app had a 100% crash-free rate on Android and IOS.
-
The number of bugs users encounter per month should be less than five.
-
The app should have the same performance at any scale for any feature.
-
The cost of all of the above should be as low as possible. If your infrastructure is over-provisioned, you may get a short time gain in performance, but you are setting yourself up for failure when the actual scale hits. Also, you are just hurting your bottom line.
There are several open-source and closed-source tools for measuring all the above, and if you have a well-funded company and team, I can't think of a single reason not to do it.
I can go on and on, but you get the point
The scale here doesn't matter. In my previous organization Leher App , we served a peak DAU of 250K+ with similar stats in terms of stability and performance. The point I am trying to make is —this is possible.
If your app is performing any less than this, you are just making a compromise. I achieved all this with a small team of 7 developers and zero QAs. And I if you want a similar end-user experience and objectively good stats in speed and performance, use this link to schedule a call with me (click here).
Prefer async communication? - drop a Hi on Twitter or LinkedIn.