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 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.
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.
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.
The security app also offers some more “optimizations”, visible in the screenshots. There is a “virus scanner” as well, powered by either AVL or Tencent (oh, the hypocrisy). I am not sure what these are supposed to do, but my phone did not get flagged for viruses or risks. The Cleaner tab on the Security app, powered by Clean Master, offers some more features as well. But since it is powered by Clean Master, we do not need to point out the obvious. You can separately disable the Clean Master Backend, which renders this area of the app dormant and unusable.
There are some more redeeming aspects of the Security apps. It can act as a firewall, allowing you to individually control which apps can access the Internet through Mobile Data and Wifi, or not at all. System apps can be toggled only for Mobile Data. There is an SMS and Call Blocker too. And there’s extensive permission management as well as an autostart manager.
We’re still not done yet.
MIUI on the Redmi Note 3 came preloaded with 3 third party apps: Facebook, Fleksy and WPS Office. All three of these can be uninstalled completely.
The Dialler app on MIUI 7 features a white background, with recents and contacts tabs to choose from. The list gets populated once you have recents/contacts. Smart T9 input, as we have come to expect in AOSP now, works over here as well. The InCall UI features a full screen display photo, with a shortcut to record the conversation as well. When you receive a call, the InCall UI features an answering icon which is to be slid up to answer.
You can find new UI’s everywhere, ranging from the contacts app, to the messaging app, the calendar and even the power button menu.
This is an app which is not seen in stock AOSP ROMs. The compass behaves slightly different when you place your phone and when you have it in your hand. On a flat surface, you get a UI which tells you the direction. Swiping onto the second pane gives you a spirit level app. When you hold the phone in your hand, the phone utilizes the camera, and lets you know the direction in which the camera is pointing. The same is with the spirit level.
The recorder, which is one application that appears as an automatic call recording feature and as a standalone audio recorder, lets you record audio. The recorded audio can also be synced to Mi Cloud, if you so wish. The reason this gets a mention in here is because of its pretty animations since the functionality is limited to th standard feature set you expect in recorder applications.
MIUI also features FM Radio capabilities. This is a nice backup option to have in situations where you do not have access to neither online nor offline music.
If your phone bears an IR Blaster, you can also find Mi Remote preloaded onto the device. Adding a device is quite easy. You select the appliance category, select the manufacturer and then follow the on screen prompts. In the instances that your device does respond properly, you select yes, which narrows down your application scope. Repeat this for another one or two actions, and you will have your device setup.
Mi Remote is one of those features that felt gimmicky at first, but I now use it very frequently because of its convenience. No more searching for the remote when I enter the house.
MIUI also features an inbuilt QR code scanner, which can also scan codes from photos apparently.
Functionality wise, it is quite close to the Clock app you find in every other ROM. The animations are what sets it apart.
The Explorer App, aka the File Manager, is one that has received a lot of thought. On the main screen of the app, you get type categories for your files, which quickly filters out your files. The traditional explorer category is below this. You also get sortings for individual apps, like the category for Telegram shows you media files saved by Telegram. Below these categories, you get a Recent Files screen. There is FTP functionality as well built into the app. Unfortunately, I could not find an option to browse the external sd card which is a grave oversight for a File Manager.
The browser on MIUI is not simply a refresh of the stock AOSP browser. Instead, it is an app with significantly different functionality, which makes me believe that it was built from the ground up by Xiaomi. In addition to all functionalities that a full browser should offer, you also get data saver options, scanning for URLs from QR codes and Night Mode.
The MIUI gallery app has four tabs: Photos, Offline, Cloud and People, of which Photos is the default tab, serving as a place to aggregate all of your camera photos. The Offline tab is similar to the normal Gallery that you may be used to, with sorting options inside individual folders being date, name and size. Cloud refers to the photos on Mi Cloud. The People tab lets you sort images as per the people appearing inside them, but requires the photos to be uploaded to Mi Cloud first.
The Music app is a bit confusing to me. Starting off, you are greeted with an Info page instead of your music collection. There are categories for offline, favorites and playlists; which indicates that there may be Online streaming options but I could not find any of them.
Once you enter Offline, you reach your music collection with four grouping tabs: Songs, Artists, Albums, Folders. Inside these grouping categories, you have sorting options based on Name, Date and Language. There is a music player on the bottom, tapping which opens up the Now Playing song. You get three panes on the Now Playing tab: swipe left for quick access to the music collection, swipe right for lyrics (which did not work for me for even popular songs). The Now Playing tab also changes background color based on the Album art.
The Weather app is another of those beautiful apps on MIUI. There isn’t much to explain here, as the images speak for themselves.
The MIUI ROM on the Redmi Note 3 also comes in with a Mi Store app. This is different from a Theme Store — Xiaomi sells actual products (smartphones and accessories) on this app. You can completely uninstall the app, thankfully. The app also has the contact details for customer service, which is a redeeming aspect.
This is one application that really helped me. What Mi Mover does is it allows you to switch over from an older phone onto the Xiaomi device. The companion app to be installed on your originating device can be found on the Play Store.
The companion app lets you select which apps you would like to share onto your new device. The companion app then sends those apks across to the Xiaomi device via WiFi-WiFi Hotspot. The main app on the receiving device then receives those apps and proceeds to install them. Sending and installing is parallel process, so while you receive app B, you will be installing app A, which saves time that your phone will be unusable. Mi Mover not only transfer apps, but also shares sms and call logs, so you do not have to look at 3rd party solutions for moving over. But, since this is not a root app, nor does it use ADB connections, it cannot share apk data and settings as well. Still, it is a blessing for people who have a lot of apps installed but cannot be bothered to reinstall all of them individually/batch via the Play Store.
It is abundantly clear that MIUI is more than a skin. It is not a simple cosmetic modification on the face of Android. Instead, it rethinks the entire design of Android and introduces functionality not seen in AOSP. In the earlier days, MIUI used to stand out for its bright colors. But with the advent of Material Design, the UI fits right in with the new look that apps have adopted in recent time.
Five thousand words later, I still find myself skipping over several details. There are a lot of small tweaks which may not seem important on the surface, but definitely contribute to the MIUI experience. Smaller tweaks, such as screenshots appending the package name of the app they were taken in, MIUI prompting to allow one time external apk installation without toggling the setting entirely, asking for Mi account password before device wipe — these are small enough that even the veteran of MIUI users will miss when asked to list what makes MIUI their ROM of choice.
Is MIUI buggy? Is it laggy? Does it bog down the performance of my device? Answers to these are not entirely software-dependent. For bugs, I could find that I could not switch off the Spell Checker. There may be more, but I have had only a few days to work with MIUI, and I am very impressed with the bug-to-feature ratio so far. As for performance, MIUI has been flying through my daily schedule. However, the Snapdragon 650 in the Redmi Note 3 has a lot of role to play in this. MIUI is definitely heavy and it could lag and stutter on less capable hardware. So it lagging on devices that aren’t even supported is not an unbelievable statement.
All of everything being said, I am thoroughly enjoying my time with MIUI. It is a very pleasant change of pace for someone who has stuck with CyanogenMod for the past couple of years, attempting to go for the blackest of UI’s to sate his subjective choice. The Redmi Note 3 has changed my perception about MIUI. MIUI is no longer a buggy and alien entity to the world of Holo; it is a first cousin to AOSP in the Material era. Just like with other popular OEM skins and even custom 3rd party ROMs, it is alright to have a favorable subjective opinion.
Stay tuned for our full review of the Redmi Note 3 Snapdragon 650 variant.