For the past week I’ve been using the Xiaomi Redmi 8 as my main phone. It’s the most common “budget” smartphone in India.

In some ways, this thing is shockingly good. In others, downright surprising. But there were some disappointments.

🧵 My experience in-thread:
For context, I ordered this phone from AliExpress. Cost me $90 USD.

It costs ₹8,000, well below the average Indian smartphone price of ₹12,000 / $160.

Source: https://www.statista.com/statistics/809351/india-smartphone-average-selling-price/
Quick caveat: I’m not pretending that my internet experience has been identical to that of an average Indian smartphone-user

The average mobile internet speed in India is 12Mbps, roughly 1/3rd global average. But unless you’re video-streaming, 12Mbps seems OK to me?
The phone itself is solidly-built. It doesn’t feel as premium as my iPhone, but it doesn’t feel cheap either.

The screen is vivid and pixel-dense, the OS is smooth and snappy. Honestly it’s way better than my last Android phone, the OnePlus One.
Using the web has been interesting, though. I was expecting JS-heavy sites to chug, to see React’s performance issues. But overall, The ones I tried were perfectly usable.

It was the rest of the internet that felt unbearable 😅
Here's my Twitter profile.

[Video alt: Two phones side-by-side load Twitter. It loads faster on the iPhone, but within a few seconds on the Redmi]
Here's my personal website!

For context, it's a medium-sized Gatsby site. Lighthouse gives it a performance score in the mid-70s, because of all the JS—there's a lot of interactive stuff, and MDX isn't perfectly code-split yet.
[Video alt: Two phones load http://joshwcomeau.com , scroll down, and click a link. They're both quite snappy]

[Also, sorry I forgot the alt text on the first tweet in this thread! It's photos of the Xiaomi Redmi 8, a smartphone that looks just like every other Android phone]
Things get problematic when we visit news sites. I think because of all the tracking snippets and such, these sites take FOREVER. Here's the New York Times:

[Video alt: iPhone takes 4 seconds to load an article, Redmi takes 12 seconds]
Even worse, the Washington Post.

This video is 30 seconds long, because that's how long it took the Redmi to load an article. The iPhone did it in 1-2 seconds.
Over the past week, my experience has been that modern web apps have been slower, but usable. It's all the ad-heavy Wordpress sites that make me want to throw the phone out of the window.
Every major React app I could find is either server-rendered or pre-generated, so there isn't that experience of staring at a white screen forever.

The "time to interactive" is slow, sure, but as long as the site uses typical anchor/form tags, things still work just fine.
I feel like the common perception of React is that it's slow because of all that JS, but if you use something like Next/Gatsby, this problem largely goes away.

As long as you take care to respect the platform. Developers can still mess it up, but you have to go out of your way.
If you develop internationally, you really should pick up a couple of these devices. As I said, they're <$100, and it's really illuminating! Even if you don't want to do a hard switch, you should at least test on them, make sure your site/app works well.
Overall, the Redmi was _way_ better than I expected it to be. It cost <10% of my iPhone, but it's not actually that much worse for most things.

It's clear as developers we still have work to do vis-a-vis performance. But it's a burden we all share, no matter your tech stack.
You can follow @JoshWComeau.
Tip: mention @twtextapp on a Twitter thread with the keyword “unroll” to get a link to it.

Latest Threads Unrolled:

By continuing to use the site, you are consenting to the use of cookies as explained in our Cookie Policy to improve your experience.