Going Over to the Dark Side: Comprehensive MIUI Review & Details

Going Over to the Dark Side: Comprehensive MIUI Review & Details

A lot of us come over to XDA to escape from the clutches of OEM software: to escape the chains that tie down our hardware, to realize the true potential of things we paid for. Sure, manufacturers claim to offer a software solution that aims to bring the best out of the hardware they created.

They optimize it sometimes, they make it sleeker and leaner, but more often than not, their solutions tend to create several hassles for users accustomed to living a cleaner life. Stock AOSP sans Google is too bare-bones for some, but manufacturer skins go overboard and end up on the opposite side of the spectrum.


So what happens when someone accustomed to a functional setup on stock AOSP based ROMs, has to use a ROM which stands in stark contrast to his entire Android experience till date?

MIUI: Me, You and I

My MIUI “experience” started way back in 2012, when my first phone received a “port” of the MIUI v3. The Samsung Galaxy Fit S5670 was supposed to run TouchWiz on Gingerbread 2.3.6, but instead, the new user in me was happy to find a rom which completely changed the way my phone was. That was a revolutionary experience for me as an 8 month old Android user, as I found old settings in new places and newer settings that never existed. TouchWiz suddenly felt incomplete — my phone could do so much more!

This experience was punctured a few hours into the usage of the ROM. Firstly, the ROM itself was built on top of a CyanogenMod 7 base, meaning that it was an emulated MIUI experience instead of a true port from the Source ROM from Xiaomi by Xiaomi. The independent developer had themed and repositioned items to match those found in MIUI: a monumental task in itself considering how radically different MIUI was compared to CM7. But this meant that the ROM was just that: a MIUI theme. The next issue in my experience arose partly due to my own foolishness at that time: the CM7 base ROM itself did not run great on the phone at those stages. There were bugs, and there were more bugs. Coupled with the additional background apps and services added into the ROM to emulate MIUI, running on a low end device, and it was no surprise that the dream experience very quickly turned into a nightmare. Needless to say, stock TouchWiz was flashed back with haste.

This particular experience scarred me for a good part of my Android custom ROM scene. The word MIUI and the associated ROM was quickly relegated into the “pretty but does not work” bin. There were various fallacies in my logic and argument, like how I associated an experience on a CyanogenMod based ROM to be representative of a MIUI ROM, like how I associated the drawbacks with one particular experience to be representative of the entire user experience on any Xiaomi device. The point is, the negative undertone continued on for far longer than I would admit, extending on to my next devices as well.

And that was no fault of MIUI.

So when I received the Redmi Note 3 Snapdragon 650 variant as a review unit from Xiaomi, I decided to walk in with an open mind. Mistakes were made by me in the past, and to judge a present device on preconceived notions based on incorrect arguments would undermine my legitimacy as an unbiased reviewer. After all, more than 4 years had passed since our last “contact”. Plenty would have changed, and it would only be fair to go in as a clean slate and ride out the proper MIUI experience on a device actually meant to provide it.

And contrary to what I expected would happen, I ended up being far more surprised than I was anguished.

The following review was done on MIUI Global Stable (LHOMIDA) ROM, based on Android 5.1.1 LMY47V. The review device is a Xiaomi Redmi Note 3 Snapdragon 650 variant with 2GB of RAM. This review forms a part of our full device review.

All views expressed in the article are of the author’s own free opinion and will. This is not a paid review or endorsement.

Tip: Right Click/Long Press on GIF images and Open them in New Tab for best GIF experience

First Boot

Screenshot_2016-04-16-02-39-46_com.android.provisionThe MIUI experience starts off on a surprisingly familiar note. You get a flat UI with bright colors and a white background with black text. There’s also an accent color, which is used to highlight actionable areas. If you think this looks familiar, then both of us are in the same boat.

The color scheme of MIUI has been transitioning since its inception days, but for the most part, MIUI has opted for bright colors as the primary shade. This would have been radically different if you came over from any stock AOSP based ROM before the Material Design revolution. Android 4.4 Kitkat brought to us the transitioning Dialer app which gave indications of a leave from the Holo-yolo days, and Android 5.0 went full-fledged with its Material Design. Comparing things from an updated point of view, MIUI does not seem that out of place as it once did, being the oddball UI from its starter days.

Moving on with the set up process, MIUI starts showing off areas where it has gone beyond the realms of AOSP functionality. Call them bloat, or call them features, MIUI’s setup process just touches upon the tip of the iceberg when it comes to the abundance of its software prowess. Like for example, on the WiFi selection screen, you get text prompts which lets you share the WiFi details of the router you are connected to! One could argue on the actual use of something like this, since you just entered the WiFi details on one phone and would need to grab the other phone and scan the QR code to get the details passed —  at this stage, it would be easier to simply input the password itself. But hey, it’s there if you ever needed to use it. You can also access the same “Tap to share password” in the WiFi settings later on, which makes more sense.

In the above gallery, you can notice how subdued Google’s Account Prompt feels in comparison to Xiaomi’s Account Prompt (albeit the Google Account prompt is just a lighter version of the Holo Dark prompt from Ice Cream Sandwich).

The MIUI setup wizard also introduced what is called Mi Message. Mi Message lets you send text messages to other MIUI users without incurring sms charges. It does not require any additional setup beyond this one screen, and works very conveniently. It is comparable to iMessage in this sense, although I could not find visual differentiators in messages sent to normal users versus messages sent to MIUI users. If you text a lot and have contacts which are MIUI users, then this could come in very handy to you as MIUI users are likely to have it enabled by default.

The setup wizard also lets you glimpse into the world of themes! MIUI themes are made by its community for the most part, similar to how CyanogenMod and Layers Theme Engines have communities around them. But, unlike CyanogenMod and Layers, these do not change the SystemUI completely. Themes affect the launcher, icons, lockscreen, clock widgets, sounds, and some system coloring, but other aspects of MIUI retain the same properties. You can get some really creative themes on the Theme Store depending on your subjective choice. So there is something for everybody. Themes can either be very simple and basic, altering nothing but your icon patterns, or be very divisive to the extent of getting you an alternate launcher setup, easily swappable with the default by a two-finger swipe.

Launcher: Homescreen & App Drawer

MIUI is often compared to iOS, and the Launcher is one of the prime reasons for it. Your homescreen and your app drawer share the same space, becoming a chimera of both the features combined. You can place widgets and shortcuts on the app drawer, and you can rearrange icons to more suit your use scenario. On the face of it, you get a hot mess of your most used apps jostling for space with the rest of the hundred apps on your phone. There’s no option to even auto sort the apps! But, if you do put in effort and try and organize your work space by making sufficient use of the unlimited panes and the folders, you can make things more bearable instead of a confused jumble. Or you can install a custom launcher — MIUI is still Android after all.

MIUI does have a few tricks to make organizing a tad bit easier. Once you go into edit mode on the launcher, you can remove icons on the page and place them into a holding area in the dock. This will help when you have a ton of icons to rearrange and you wish to start with a clean slate. If you end up with too many icons in the holding area, you can pinch the icons to make a group, and then place them all-at-once inside a folder or on an empty pane.


The launcher dock for MIUI can hold up to 5 icons and even folders, so you do have options, albeit in a limited range. You can also uninstall apps right from the launcher, a standard action that we have come to expect from launchers. The uninstall animation has a satisfying feel to it, “destroying” the unwanted apps icon.


The Launcher also gives you an unread message overlay over icons which have a notification in the notification panel. This is independant of the fact that the app may not have an unread message. Think of it as a way to draw your attention to the pending notification, like a successful file conversion in a file convertor or an error on sync with Drive. You can get rid of the unread counter by opening and closing the app, without getting rid of the notification in the notification shade itself. If an app in a folder has a notification, the folder gets an unread counter.


The stock lockscreen on MIUI 7 does not support notifications if you have fingerprint lock enabled. You get a non-configurable clock widget on the screen, and a camera shortcut present on the right swipe. Swiping up reveals the pin/pattern/password lock, but you can bypass any aspect of the lockscreen (or the lockscreen entirely) if you use the fingerprint scanner. The fingerprint scanner stays on always, so if you use your phone while holding it, there’s a good chance you won’t see too much of the lockscreen.

Xiaomi has added a lockscreen feature referred to as “Daily Lock Screen” or Wallpaper Carousel, which can be activated by hitting the icon on the top right corner on the lockscreen. Daily Lock Screen puts a host of high quality images, specially licensed to/by Xiaomi for use as wallpapers, on rotation as your lockscreen. There are a few categories to choose from, and the images are in the thousands, so you get a nice collection of images to cycle from. Lockscreen wallpapers are not a new thing on Android, but Xiaomi’s implementation is hassle-free and requires a very minimalist set up, and I can see a lot of average users partaking in this.

There is one limitation to the lockscreen that I could not bypass during my usage. There is no way to use the Daily Lock Screen feature in tandem with a Theme that modifies the lock screen as well. So you have to end up making a decision in using a theme that suits your taste and sticking with whatever lockscreen wallpaper it comes with as static (or choose one from your gallery), or use the Daily Lock Screen with the default theme.  My best guess for this is that Xiaomi does not provide API access to its Daily Lock Screen feature to theme developers, thereby restricting this feature to only the official themes.

The Daily Lock Screen also does not extend onto the homescreen-cum-app-drawer. You can find several backgrounds on the MIUI theme store, but you can’t get cycling wallpapers without making use of an external app. Since the app drawer will definitely be more viewed than the lockscreen, this is one area which feels unnecessarily lacking. Again, a guess on the omission on the app drawer would be because of the freedom given to users when it comes to app drawer panes — with a lockscreen, you know there will always be a portrait one panel, and hence, it is easier to curate content specifically tailored for one panel. There are ways around it, such as a scrolling wallpaper setup, and we hope something of this sort makes its way on in the future updates.

Notification Shade

The Notification Shade on MIUI, as with everything else on MIUI, is a rather distinct experience from AOSP. You can access the notification shade with a swipe down gesture on the launcher. If you have an active notification, a swipe down will bring you directly on to the notification panel. If you do not have a notification, a swipe down brings the quick settings panel. I could not figure out specific gestures to pull down only the notification panel or only the quick settings panel.

You can swipe off notifications with a left-to-right swipe gesture only. Swiping right-to-left will always scroll the page to the Quick Settings panel, which is something that took a bit of getting used to as you can swipe off notifications on AOSP bidirectionally. The Notification Pane also lets you control which notifications are visible.

Sorting the Quick Settings toggles actually requires the user to go into the Settings App > Notifications > Toggle Positions. There is not a whole lot of customizability here, as the most you can do is sort the icons per your choice. Over here, you can also set the Quick Settings Pane to be switched out after toggling, or remain intact.

Recents Panel

The recents panel follows along a very curious design. Pressing the recents button blurs the background and shows you the icons and names of the last four apps you were in. The rest of the screen is left blank. Swiping left scrolls one page, giving you another four icons, and so on. You may find it to be wasteful, but this ties up with MIUI’s aggressive memory-handling. MIUI is a heavy OS by itself, and then features aggressive task killing by default. There is a very good chance that your fifth and sixth app are already closed in the queue, so “hiding” it behind an extra scroll makes some sense. We will talk more about MIUI and Redmi Note 3’s memory handling in the performance section of our hardware review.


Swiping up on individual icon removes the app from the recents list (i.e. lowers its RAM priority), whereas swiping down “locks” the app from the clear all action. The cross icon present below clears all apps except the locked apps. You can still swipe up and remove the locked apps, which felt odd to me since unlocking should be an additional step.

Quick Edit: Thanks to dutchgio in the comments who pointed out that the recent menu icons can be “zoomed in” with a two finger gesture. The recents screen now has less wasted space.



If you have come so far in this MIUI review and thought MIUI was feature heavy, you certainly haven’t seen the Settings app. The Settings app is chock-full of features, as it brings just about everything in the ROM under one central place. Even individual system app settings find their way into the Settings app, which is reminiscent of how iOS organizes these settings.

For the sake of brevity, these have to be presented in a brief list format instead on individual paragraphs with extensive explanations and thoughts.

  • Notifications: Allows you to manage notifications of apps on a micro level(status bar icons aka “badges”, floating notifications and lock screen). Also lets you reposition the toggles in the Quick Settings pane. Houses additional settings as well (Display Connection Speed, Carrier Info etc).
  • Wallpaper: Central Hub for wallpaper selection. Gives a preview of the current lockscreen wallpaper as well as homescreen setup. Also connects to MIUI Theme Store for even more wallpapers.
  • Themes: Central Hub for themes. Gives a preview of all downloaded and pre-installed themes, as well as lets you connect to the MIUI Theme store for more.
  • Text Size: Offers Text Size settings, ranging from XS to XXL, with a preview of how it will appear on the homescreen as well.
  • Display: In addition to the normal settings found on AOSP, MIUI also introduces a Reading Mode (Night Mode filter). You can adjust the strength of the filter, as well as restrict reading mode to user selected apps only. Also, you can control the screen temperature as well as contrast.
  • Sound & Vibration: Aside from normal AOSP settings, there are settings to assign buttons on your headset/earphones to specific actions. Equalizer settings are present as well, with even more tailoring for Mi earphones (which are accessories sold separately).
  • Lite Mode: This mode places a very simplified version of a “homescreen” for basic users. The homescreen represents a Windows Phone style launcher, albeit with huge texts.
  • Child Mode: Ability to create whitelist/blacklist of apps that can be accessed.
  • Guest Mode: Hides private data such as messages, notes, photos etc.
  • App Lock: Use password (not fingerprint) to open certain user defined apps.
  • One Handed Mode: Allows you to downscale the display to fit specified sizes. Swipe from home to back button to activate on the right edge, swipe from home to recents button to activate on left edge. Swipe in the opposite direction, or click on blank areas to deactivate.
  • Battery Profiles: Allows you to set various profiles, specifying various conditions.
  • Battery Saver: Automatically switch to user defined profile at user defined battery level, and switch back upon plug in or recharge.
  • Schedule Profile Switch: Switch between battery profiles at predefined times.
  • Schedule Power On/Off
  • Manage Individual App Battery Usage: Allows you to control battery drain on the app level. Gives you three levels of control: Off, Standard, Advanced; with varying levels of restrictions.
  • Notification LED control: Few options to control LED color. Actual LED color is limited to few choices only, instead of an extended color spectrum.
  • Buttons Configuration: Allows yo to remap the capacitive buttons with a limited function set. Allows lets you choose backlight illumination.
  • Local Backups: Backs up system settings, app data, account info and contacts locally. Also gives an option to auto backup, and for encryption.

And we’re still not done yet. There’s so much more left in MIUI. You’ll understand and see why the ROM update rocks in a good 1GB of data.

Once you get past all of these options, you will find the central hub for all options for the system apps.

  • Mi Cloud: Think of Mi Cloud like Google Drive. MIUI backs up a lot of your data onto Mi Cloud, including Contacts, Messages, Photos, Call History, Notes, WiFi Settings, and more. You can restore any of these settings when needed. Depending on your point of view, and extra backup other than Google may be nice or may be bloat. There is also a Find My Device feature, in addition to Google’s Device Manager.
  • Call Recorder, Contact Location, Unknown Number Identification, Auto Answer and more.
  • SMS Filter for Company and People, Check SMS for OTP

All of these features may not necessarily be used by all users, but they can be useful for some. However, MIUI has a few features which are detrimental to the Android experience of the phone. Users think they might need them, but these tend to do more harm than they do good in the hands of the clueless. Prior versions of MIUI were criticized for antivirus features, and several of these and more still continue to exist in MIUI 7. Infact, the Settings Menu, under System Apps subheader, has an entire menu for “Security”.

Firstly, there is a Security app that comes pre-installed. You can’t uninstall this app (without root), nor can you disable it. At most, you can force stop it, which is often pointless as the app usually starts back up on its own anyways. On the startup screen, you see a Check button, clicking which analyzes your phone for various “risks” and other factors, and presents to you “optimizations” that you can undertake. Like for example, the system sections recommends me to enable installation monitor and to keep my antivirus definitions up to date automatically, both of which are things I really do not need to do seeing that the virus definition providers are AVL and Tencent. To its fair credit, the Security app mentions Developer Options and USB Debugging settings to be security risks, and I partially agree with these. At XDA, we usually leave them enabled, but these open up some of the most easy to exploit gateways.

Moving on, the Memory section advises to clear 4 processes to free up RAM. The problem over here is that the advised apps/process includes two of my IM apps (WhatsApp and Telegram) and one of Xiaomi’s inbuilt app (Wallpaper Carousel). The other app left was SyncMe, which I was actively using in tandem with the Security app (I use it to sync screenshots to my desktop). So clearing the RAM as per apps instructions will do me no good, but actually go one step further to harm me my interfering with my IMs.

The next thing that the Security app advised to fix is to clean up my cache files. For the most part, cache files are something that you should not bother yourself with. They are present to avoid refetching of data over the internet, and helps app pre-load repetitive elements. Cache is good, “regular cleaning” of cache will only increase your network data overheads as apps will have to request these elements again. I would only recommend cleaning cache no more than once a month, ideally once every 3 months just to get a clean state and clear up files for elements no longer needed —  any more and you will be defeating the purpose.