Thoughts on Android and iOS UI evolution

One of the Essential Phone’s core features is that it runs stock Android, rather than a flashy but slow and heavyweight skin like Samsung’s TouchWiz. Using this phone has been my chance to reacquaint myself with Android after a six year break, which was, in many ways, more interesting to me than testing out a phone with a cutting-edge, “bezel-less” design.

My last Android device was a Motorola Droid, running CyanogenMod’s version of Android Froyo. By the time I was able to upgrade to an iPhone 4S, in 2011, I wanted to throw the Droid against the wall. While it had lots of cool apps and was packed with features, it was so unreliable that I could barely make calls or take pictures with it any more. The iPhone, in comparison, seemed restrained and tasteful in design, fast and efficient in processing, and 100% reliable. What it lacked in customizability, it gained in simplicity and stability.

What happened to Android in the past six years?

Stock Android has changed less than I expected since my days running CyanogenMod on my Droid. When I unboxed the Essential phone, I was surprised right away that Google’s phone setup process was essentially unchanged since 2011. It worked well then, though, and it worked just as well today.

That same “it if ain’t broke, don’t fix it” attitude has been applied to be base Android OS features, too: the home screen, notification shade, app drawer, and so on were pretty much unchanged as well. Again, they are functional, and, unlike on iOS, replaceable by third party software; understandably, improving them must be a low priority for Google.

Android’s largest transformation since 2011, at least from a user’s perspective, is the introduction of Material Design. Google introduced Material Design in 2014 as the default design language on Android. It is, undoubtedly, an improvement over what had come before, but its principles are not universally applied, and don’t necessarily make apps easier to use in every case.

I don’t think Material Design has had a big effect on how Android apps are designed or used. Some indie developers never bothered to adopt it. Even on apps from big companies with large, talented, and nimble development teams, screen layouts are still dominated by hamburger buttons and slide-out menus, which leads to tedious navigation between parts of an app, and low discovery of key features. Also, sharing information between apps is still run through the same kind of share sheets used in 2011, which, ironically enough, can’t be customized as much as iOS share sheets can.

After a month or so of Android use, I concluded that Android runs more smoothly on high-end hardware than it did five years ago, but it is practically unchanged from a user experience perspective. As an iOS user, this is shocking, because iOS is completely different than it was in 2011.

Where has iOS been all this time?

Back when I used the Droid, Android was way ahead of Apple for many software features: the notification shade, quick settings on the notification shade, text selection, voice input, customizability, and, most of all, app extensibility (data sharing between apps, mostly) were way better on Android than on iOS. It would be fair to say that, in terms of user-facing features, iOS had a lot more ground to cover than Android did to improve certain aspects of user experience. My assessment now, with an Essential Phone and an iPhone 7 Plus at my disposal, is that Apple’s slow and steady advancement of iOS has allowed it to catch up to Android in all these areas, and exceed it in many of them.

The overall user interface design on iOS changed significantly in iOS 7, and has been refined and expanded upon in each iOS release since. Apple stole good user interface ideas from Android, such as the notification shade and the control center, but designed them differently and refined them each year, and implemented its own means of app extensibility in iOS 8, which has been slowly expanding in capabilities and usefulness year by year. An extensive number of indie developers’ embrace of x-callback-url for app extensibility has been a huge driver of inter-app communication and automation. App extensions, introduced by Apple in iOS 8, have matured into a cohesive ecosystem that does wonders for various workflows, especially those involving text and images. Apple’s Files app in iOS 11 allows third party storage providers, such as Dropbox, to have first-party-level integration with the OS and any apps that support the Files API. It is actually simple and seamless to use Dropbox with all sorts of iOS apps that were not written to support it. In this regard, Android is stuck in the same world as iOS 11 and earlier, where file service can be integrated, but each integration feels looser, more like a bolt-on feature or an afterthought.

It’s easy to think that iOS has been stagnant for many years because you still can’t arrange your app icons in arbitrary patterns on the screen, or change your default email app. If you can look beyond those customization points, you will see an enormous evolution in design and functionality on iOS, which is unmatched on the Android side.