The ASUS ZenFone 2 Reviewby Brandon Chester on May 26, 2015 8:00 AM EST
Despite Google's continued improvements to the design and aesthetics of Android with each major version, manufacturers still find it necessary to make their own modifications to the interface as well as the standard suite of applications that the user will expect to have on the device. Some vendors, such as Motorola, are content to leave most of the Android interface intact, and only bundle a few of their own applications. Others like HTC and Samsung do a fairly comprehensive redesign of Android, including all of the system applications and elements of the interface.
ASUS tends to fall in the latter camp, with ZenUI being similar to Touchwiz and Sense in how it provides its own suite of applications, its own launcher, and its own design for areas like the notification drawer and the settings application. While some users are immediately put off by phones that don't run "stock" Google Android, the modifications that a manufacturer makes to the system are not necessarily negative.
The first thing I noticed after getting through the setup menu is the weather widget and the app shortcuts on the lock screen. I think having the weather available at a glance is a nice addition to the stock Android lock screen. The app shortcuts aren't implemented quite as well. When you touch them, the screen goes dark except for a bright area that you can drag around with your finger. You're just supposed to drag in any direction, which isn't made clear by the over complicated darkness and lighting effects that ASUS has thrown on. Google's lock screen definitely does a better job with the visual cues for activating the app shortcuts.
Once you unlock the phone, you're greeted with the launcher. There's nothing very special about the launcher itself, but ASUS offers a large number of options for customization which you can access by swiping up or long pressing on any of the launcher pages. I actually found that the defaults set by ASUS were to my liking for the most part, but I'm sure that many users will appreciate the ability to select different themes and customize certain aspects of their current theme like the animations and the application icons.
I think the design changes that ASUS has made to the OS can actually look pretty good. I like the changes they've made to the clock in the notification drawer, and having the brightness slider usable without swiping a second time to access the quick toggles is very useful. They've also added the ability to put application shortcuts and to customize the quick toggle menu. I've left it in its default state just so you can see what ASUS has opted to put there by default.
ASUS's design style is definitely not Material Design, but it doesn't look heavily dated or interfere with the user experience in a negative manner. Users who insist on having everything follow Google's guidelines will probably want to stick with Nexus devices, but I think most users won't be bothered by ASUS's changes. I personally think ZenUI is a much better interface than Touchwiz on the S6, although users who dislike Touchwiz may not feel like that's much of a compliment.
The big problem with the software experience on the ZenFone 2 is the obscene amount of preinstalled software. Some of it comes from ASUS, and some of it is quite frankly nothing more than shovelware. I'm thankful that ASUS has shoved the worst offending apps into a folder called Apps4U, and made them all uninstallable. Having Dr. Safety preinstalled on your phone is really like the Android equivalent of getting a Norton 360 trial on your PC.
On top of the shovelware, there's just a giant number of applications that I can't begin to explain. What is Omlet Chat, and why do I want it on my phone? Why is there a Mirror app that quite literally just turns on the front facing camera? Why is there a System Update app that just opens that section of the Settings app? Other strange decisions like the flashlight being a separate app is also annoying because it means that the standard flashlight quick toggle in the notification draw now takes you to an app.
ASUS can provide updates to all their apps via Google Play. Since that's the case, I don't know why they're stuck on the phone if you don't want them. While you can use the disable function to hide them, they still take up space on your phone. There isn't a huge impact in available storage (54GB) compared to most smartphones, but it is irritating at any rate.
In addition to the bloatware problems, I'm really beginning to get frustrated by the number of OEM applications that quite literally duplicate the functionality of the applications Google already provides. When it's a situation where the OEM applications genuinely makes improvements over Google's offerings, as in the case of camera applications and some web browsers, then I'm completely okay with it. But in many cases, such as the third party gallery apps I see on so many smartphones, the OEM app does absolutely nothing that Google's application doesn't do, and doesn't do anything better than Google's app does.
This is not an issue that is unique to ASUS, but they're guilty of it to a greater degree than some other manufacturers like Motorola. They have their own music app, their own mail app, their own photos app, their own browser, and all of them take up space that could be made available to the user.
The overall software experience on the ZenFone 2 ends up being a mixed bag. The software itself is not bad at all, but there's so many preinstalled applications from ASUS and other vendors, and almost none of them are useful. If you're one of the people who likes to root their phone you'll have a great time once you delete them from your device. If you aren't into that you'll have to settle for disabling them, which unfortunately won't free up any of the space they take.
Android Apps On An x86 Device
I've seen some concern from readers about potential issues with running applications due to the fact that the ZenFone 2 uses an Intel Atom CPU which uses the x86 instruction set rather than the ARM instruction set. It definitely seems like a reasonable concern, and so I felt it was important to address why it's not really an issue.
The important concept to understand here is the idea of an Instruction Set Architecture, or an ISA. This is different from the microarchitecture of the CPU itself. The microarchitecture is how the processor implements logic and the ISA, while the ISA itself relates to the programming of that CPU. It defines the processor's registers, native data types, and the set of opcodes or "instructions" that can be executed by the CPU. Different processors implement different instruction sets, and two processors can use the same instruction set but have completely different microarchitecture designs.
Since machine code targeting one ISA won't run on another, it would seem to make sense that Android phones that use Intel CPUs would be incompatible with Android applications. However, this is not true for the majority of Android applications which are written in Java. Java is unlike languages such as C++ which are compiled to machine code that is compatible with a given ISA. Instead, Java code is compiled to a special Java bytecode, which is then translated by a Java Virtual Machine into machine code. This is what enables the promise of "Write once, run anywhere" which is Java's main appeal.
Because the ART Runtime that Android now uses has support for ARM, MIPS, and x86, there's really no reason to be concerned about application support. Any application written in Java will be compiled to native code by ART and will work completely fine on your phone. This covers the vast majority of Android applications.
The only time an issue arises is when you start talking about applications made using the Android NDK, which are written in compiled languages like C++ and thus not easily portable. Thankfully, NDK-built applications that are not available in x86 are an increasingly rare sight these days, as the NDK has supported x86 for a number of years now. Consequently developers essentially have to choose not to support x86 at this point, as the NDK will otherwise hold your hand and encourage you to build for multiple architectures. And even then, although there's the potential for NDK applications to exist and not work on your Intel based phone (particularly old applications), Intel can still do binary translation from ARM to x86 which will allow the app to function, although it will have performance penalties.
I personally had no issues with application compatibility or performance on the ZenFone 2, and the same was true of Dell's Venue 8 7840 which I reviewed earlier this year. I can't even name any apps made using the NDK that aren't benchmarks. The only situation where there could be app problems would be extreme edge cases with very obscure apps that were programmed using the NDK for whatever reason. For the vast majority of Android applications, there's absolutely nothing that users should be worried about.