Every image and video is presented on a 6.39-inch, AMOLED display with a 2340x1080 FHD+ resolution. It's not the brightest, most vibrant or pixel-dense screen I've ever seen -- the latest crop of Galaxy phones take that crown with ease. But the panel is perfectly competent for Twitter threads, web pages and everything else I consume on a daily basis. For the price, I really have no complaints.
Moving across from a OnePlus phone, I had some reservations about the software. For the longest time, MIUI, Xiaomi's Android skin, was labeled a "blatant rip-off" of iOS. Were these assessments justified? Absolutely, though it didn't stop the company's impressive growth in China. If anything, the colorful and slightly simplified interface fueled it.
MIUI, however, has come a long way in the last few years. Like Samsung, the company has slowly evolved its design language into something that is mostly tolerable, occasionally delightful and recognizably different from so-called stock Android. The Mi 9 runs MIUI 10 (I spent most of my review on MIUI 10.2) the latest and best version of Xiaomi's skin. I still prefer Google's Pixel launcher and lighter alternatives such as Oxygen OS, but it's totally acceptable for the vast majority of people, in my opinion.
Well, that's provided you can stomach one massive difference from vanilla Android: the app drawer, or lack thereof. It's a big, glaring omission that has always been a cornerstone of the MIUI experience. And, unsurprisingly, it's the first way that critics draw comparisons with iOS.

I normally have two home screens: one filled with apps, the other with a stretched-out calendar widget. Transitioning to MIUI, therefore, took some time. I didn't like having four or five screens littered with folders, widgets and icons. And for the first few days, I would instinctively swipe from the bottom of the screen to find a particular app that wasn't on my default screen. After a while, though, I was able to rewrite some brain-goop and embrace Xiaomi's home screen-based workflow. If you can't get on board, I don't blame you -- just download Nova or another third-party launcher from the Play Store. There are tons to choose from, and most that I tried, including Evie and Microsoft Launcher, worked without a hitch.
Otherwise, there's a lot to like in MIUI 10. The notification shade is clean, legible and customizable, with plenty of shortcuts you can organize across two distinct pages. The app switcher, which uses two vertical columns, makes it dead simple to find and dismiss recently used applications. The small app cards are a great use of space, too, and ensure you're never scrolling for long. Honestly, I think it's better than the Pixel launcher, which only shows your current app and a hint of two others.
The system settings are logically organized and have small, consistently designed icons. The search bar is easy to use, and you'll find a full-blown dark mode under the Display option, similar to the one that Google is working on for the stock version of Android Q. MIUI 10 also lets you choose between classic navigation buttons and full-screen gestures. These work in a similar way to the Pixel launcher and other modern Android phones: You swipe up from the bottom of the display to go home, or swipe and hold to open the app drawer. A quick swipe from the left- or right-hand edge, meanwhile, will take you back one step or level in the current app.

Choosing gestures will, of course, free up some pixels at the bottom of the display and reveal more content inside your favorite applications. The Mi 9 comes with a truck-load of Xiaomi apps that are, for the most part, functional and thoughtfully designed. If you're part of the Google ecosystem, however, most of these basic utility apps will be redundant. (How many people in Europe are going to choose Mi Pay over Google Pay?) You can delete some but not all of these apps. Unsurprisingly, I now have a folder named 'Xiaomi' on my home screen that is never, ever opened.
Thankfully, Xiaomi's software ambitions don't stretch to the voice-enabled assistant. Pressing and holding the AI button on the left side of the device will trigger the helpful Google Assistant by default. Both the long press and a quick double-tap can be reconfigured to do other basic tasks, such as turning on the flashlight, reading mode or rear-facing camera. You can't change them to launch a custom app, however, which feels like a strange oversight. Still, a Google Assistant button is better than a Bixby one.