måndag 2 maj 2016

An Android fan tries iOS

Introduction

In general, I am a long-time fan of Google's services and devices. In addition to the HTC Hero and original Samsung Galaxy Tablet both running Android, I have owned every single Nexus phone and tablet except for the Nexus One and the most recent devices released in 2015. In other words, I owned the Nexus S, Galaxy Nexus, Nexus 4, Nexus 5, Nexus 6 (2014 edition), Nexus 7 (both the 2012 and 2013 editions), Nexus 9 and Nexus 10. I have been quite pleased with the feature-set of these Google-branded Android devices which receive prompt updates, unlike the Android ecosystem at large.

However, over the years I've become increasingly annoyed at the user interface performance and usability of Android devices. Usability was mostly cured with the Ice Cream Sandwich release and performance was significantly improved with Jelly Bean, but even today my Nexus 6 and Nexus 9 from 2014 have much slower and jerkier scrolling and swiping while browsing heavy sites in Chrome than even the original iPad running Safari, a device I imported from the UK before it was released in Sweden and still own (so I can compare side-by-side). That an ancient device like that, the first popular tablet if you will, is faster than a state-of-the-art Android device -- even in limited scenarios -- says something about the technology or culture of Android and its eco-system!

Ever since getting my MacBook Pro, by far the best computer I have ever owned, I was tempted to see if the grass was greener on the Apple side of the fence. While Android seemed to still be more feature-complete than iOS, the gap had been shrinking over the years.

This post will summarize the good and bad points of this experiment as I see them, having replaced my Nexus 6 and Nexus 9 with an iPhone 6S 64 GB and iPad Air 2 64 GB (wifi + cellular edition) for two months. The post will go through my experiences with iOS in terms of the following aspects:

  • Build and Hardware
  • Apps
  • Web Browsing
  • Using Google Services
  • Navigation
  • Keyboard
  • Notifications
  • Multitasking
  • Mac and iPad Integration
  • Using an Android Wear Smartwatch
  • Conclusion

Build and Hardware


While some Nexus devices had good pretty good build quality (e.g. Nexus 5), others were a disaster (Nexus 9) owing to the fact that Google partners with different manufacturers for every device. That might change in the future as rumour has it that Google might start building its own phones completely in-house, much like it has with its Pixel line of devices (including the great-looking but criticized Android tablet released last year).

The iPhone 6S feels a little bit slippery in my hand, but overall it's the best-feeling phone I have owned in terms of build and appearance. It's a lot smaller than my Nexus 6 and I'm torn on whether it's too small or not -- perhaps I should have gotten the Plus edition instead which is similar in size to the Nexus 6 and can fit more stuff on the display.

The display itself despite the "Retina" moniker has a lower pixel density than my Nexus 6, but it's still good enough not to notice (and that probably helps with the performance, too). It seems less prone to picking up fingerprints than my Nexus 6. It also has a pressure-sensitive screen which I felt was a big selling point (it is rumoured to come to some Android devices soon, as well). In practice, I over-estimated the value of this feature and barely make use of it in practice. While reliable most of the time, sometimes it mistakes my light press for a hard one. This feature still feels gimmicky since it's not well-integrated into the user interface of most apps yet (and perhaps more importantly, it's difficult to actually recognize what apps support it and where, since it's never apparent from the user interface graphics).

The finger-print sensor is great. It's fast and accurate and rarely fails on the iPhone (for some reasons I have had to frequently re-train the iPad's finger-print sensor, though, in order for it to keep recognizing me). Unlocking the phone by placing the finger on the home button for a second is very convenient. The finger-print sensor on the new Nexus 5S and 6P devices is even faster, but is somewhat awkwardly placed on the back and that's simply not as convenient for me.

The camera produces better photos than most Nexus devices that I've owned, but more importantly the shutter responds instantaneously -- more important in practice than the capability of the sensor. Even starting up the camera app on an Android device is often painfully slow and by the time it's ready the perfect shot is already gone.

Coming from the Nexus 6, I feel like the battery lasts much longer -- especially overnight. I can't tell for sure whether this is due to the battery coming straight from the factory or whether it's an issue with iOS itself, but I suspect the latter is an important component. The Lightning cable is convenient and much more robust than the micro-USB connector of most Android devices, but I very much miss the wireless charging (QI) capability of most (though not last year's) Nexus devices.

The iPhone seems to boot a lot faster than any Android device I've owned, which is nice.

Apps


I noticed quickly that some apps are more well-developed on the iPhone than the corresponding app for Android. For example, I subscribe to the fantastic weekly Swedish news magazine Fokus which has an official app for both platforms that appears to be based on Qiozk. On Android, this app has wholly inadequate user interface performance, making it almost impossible to browse and swipe-zoom through the magazines. On iPhone it's a different story -- swiping and zooming is really fast and convenient. I now manage to read through most editions of the magazine completely whereas before I struggled every week (two small kids does that to leisure time!) and actually downloaded PDF editions from the website which I would read using the official Adobe Reader app instead. On the other hand, there are fantastic magazine apps for Android, too, so it's probably not an inherent defect in the Android platform itself.

The opposite holds true in a few cases. For example, I have yet to discover a Reddit app that I like -- I find the official app Alien Blue to be rather wonky and no match to e.g. Relay for Reddit.

Some of the apps included on the iPhone are also rather aesthetically unsatisfying in comparison to similar Android apps. For example, the Apple mail app is very dull and almost monochrome in its use of colour. I also very much miss the huge beautiful contact images from Android that were displayed e.g. when receiving a phone call. While the contact images from your Google account are seamlessly synced over to the iPhone (which is great), they are rarely put to good use.

Web Browsing


The browsing experience on the iPhone is very good. As mentioned previously, navigating through demanding sites on Chrome on mobile devices has often been a rather frustrating experience for me (and it's not completely fluid on desktop, either) whereas Safari is always wonderfully fluid everywhere.

When I made the switch to iPhone, I intended to keep using Chrome on my Mac and Windows PCs while using Safari exclusively on iOS. Unfortunately I did not discover a feasible way of keeping my bookmarks synced. I already sync my Chrome bookmarks with Google's cloud but there seems to be no good way of syncing those with Apple's cloud in turn (the one seemingly-robust solution I found was limited to Windows).

I decided to sign up for Pinboard instead, keeping most of my bookmarks there. That in some ways is less convenient because I then have to find my bookmarks on-line or using a Pinboard compatible bookmark managing app and then launch that bookmark in Safari, but on the other hand I get tagging and other features to help me get organized (many years ago I was running delicio.us for the same reason).

While surfing in Safari on mobile devices is generally a joyful experience, there are some annoyances as well. First and foremost, as soon as you touch an advertisement it's considered selected and the browser moves to the URI specified by the ad. On Chrome, that only happens if you touch and then release while not moving your finger. As a result, it is very easy to accidentally select an ad by merely swiping through a page. (Update: This no longer happens consistently to me -- perhaps this problem was rectified by an iOS update.)

Secondly, there are some inconsistencies between the iPhone and iPad version of Safari. For example, if you choose to open a link in a separate tab, the iPhone automatically makes that tab active while the iPad launches it in the background.

Thirdly, there seems to be a limit to the number of tabs that you can have open in Safari at any one time, and it's set rather low (maybe 30 or something like that). I tend to open tabs generously as a kind of temporary reading list. On the other hand, this forces me to read content that I might have otherwise postponed indefinitely (my list of open tabs on Android tended to be impossibly long and cluttered).

Many applications that want to display web content -- such as the excellent RSS reader Feedly and the lackluster Reddit client Alien Blue -- do so in a kind of miniature WebKit-based browser instead of launching Safari wholesale. The same mechanism is employed by the password manager 1Password when you ask it to load and log in to a web page. One benefit with this approach is that launching and loading the web page is nearly instantaneous. The drawback is that you have to execute an extra tedious step if you want to load it in Safari instead to gain access to the capabilities offered there, such as bookmark management. Another benefit is that you can easily go back to the dialog that loaded the web page. This is crucially important on iOS because unlike Android, it has no stack-like mechanism to keep track of the load order of apps and dialogs. Hence, there's no system-wide way of going back to the previous display even though individual apps may offer that functionality.

Using Google Services


As I said initially, I'm a big fan of Google's services, having used them for many years for writing and sharing documents, spreadsheets, photos, videos and more. Hence, it's quite important that I can keep using them on iOS as I have no intention or moving to another services ecosystem anytime soon. I'm happy to report that this has not been a problem.

Some Google apps are a little bit weaker on Android, but mostly they have relative feature parity. Often they are slower in getting updated, though, as Google prioritizes its own platform. For example, the Google Photos app on Android has had support for Chromecast for a long time, while the iPhone app only gained this functionality later. Similarly, Google Maps has full off-line support on Android, but not yet on iPhone (but it's been promised).

On the topic of Chromecast, the iPhone and iPad tend to lose their connection after a while, forcing you to re-connect. That's a problem that Android does not have.

Navigation


At first glance, the home screen on Android and the iPhone look rather similar. There are no home screen widgets on the iPhone (widgets deployed with apps that display interactive graphics) but I never particularly cared for that functionality anyway (who wants to rely on the home screen to discover what is going on?).

Unlike on Android, all installed apps are displayed on the home screen whether you want it or not, so if you don't want to be bothered by some of the default apps (that you can't get rid of), you have to put them in a folder -- essentially sweep the dust under the carpet. In addition, you can't freely lay out the icons -- you can move them in relation to each other, but not insert any vertical or horizontal spacing. I miss that as I found it made it easier to organize groups of apps.

On Android, there are no physical buttons, but there's a virtual back button at the bottom of the display. The iPhone doesn't really have anything similar. Many apps allow for a way to get back to the previous screen, but it's implemented inconsistently. Some apps display a kind of back button on the bottom of the screen while others do it at the top where I can't conveniently reach it while using only one hand.

Android has a consistent, system-wide way of connecting applications to each other. Each app can register the kind of content it can handle, making it easy to open your preferred web browser or e-mail client, for example, from an arbitrary app. It took a while before I realized that iOS doesn't have something similarly complete. If I open Apple's contacts app and select an e-mail address in order to write a new e-mail to that person, it will always launch in Apple's mail app instead of Google Inbox which I prefer. Similarly, Google Inbox seems to launch web links in Chrome instead of Safari. I suspect it's mainly Apple's way of tying you into their ecosystem, even though in some cases like the latter example it didn't work to their benefit (I would have preferred Apple's own Safari to always open web pages).

There is a kind of "sharing" mechanism between apps, though, allowing you to often launch the content that you presently see on screen in another app. When you select the sharing button, an awkward horizontal list of apps pops up and frequently it doesn't even show the app of your choice initially. In that case you have to open up a separate dialog to "enable" that app in the sharing dialog.

iOS has a bunch of "quick toggles", like Android, that you can select if you want to quickly disable wifi, for example. You reach it by sliding upwards from the bottom of the display. Typically, you end up scrolling a bit on your current page before iOS realizes that you wanted to reach the notification center, which is annoying. I think it would have been better if it opened it immediately when initiating an upwards slide from, say, somewhere among the bottom 10 pixel lines of the display.

The copy/cut and paste on iOS feels imperfect. I find it difficult to adjust a portion of selected text, and sometimes iOS changes to rectangular selection when all you wanted was to select a longer section of word-wrapped text. It is particularly problematic if you're trying to cut or copy an URI which has been word-wrapped.

Keyboard


A lot of people praise the iPhone keyboard. Despite some persistence, I have had a hard time getting used to it.

One big problem from my perspective is that it does not support "swiping" -- drawing virtual lines between keys to form words, something I have been using for several years in various forms, both using third-party keyboard and the official Android keyboard as well. This technique makes typing a whole lot faster.

The keyboard constantly presents a box with an auto-correct suggestion based on what you write, but contrary to my expectation, selecting that box actually gets rid of the suggestion and leaves what you originally wrote. If you want the suggestion, you have to press the space key or another word delimiter. I found this somewhat unintuitive. I also couldn't find an easy way of changing language for the auto-correct suggestions -- I probably write a good third of my text in English and the rest in Swedish so making that step effortless is essential.

It is very difficult to move the cursor around by tapping the place where you want it. More often than not it winds up somewhere else. I found cursor placement to work much better on Android, although I can't quite articulate why.

This is probably a problem specific to Swedish and some other language locales, but you can't reach a comma or a dot from the standard keyboard layout without first pressing a modifier key. I find those keys to contribute to better language so I am not a big fan of the extra step.

These days the iPhone has support for third-party keyboards. I downloaded one of my favourite Android keyboards, SwiftKey, but discovered that it didn't work quite as well as it did on Android, partly because "swiping" didn't work quite as well -- and more importantly because there are cases where the official Apple keyboard keeps popping up no matter what you do, it seems. I even removed the official keyboard and all of its languages from the settings but it still didn't make SwiftKey pop up consistently. It made for a frustrating experience and eventually I decided to remove it and just stay with the official Apple keyboard despite its limitations.

Notifications


Like Android, iOS has a central notification center where apps can display information. You reach it by sliding downwards from the top of the screen. This mechanism has the same problem as the quick toggle display mentioned earlier, in that you typically end up scrolling quite a bit on your current page before the notification center is opened up.

The ability for apps to receive updates, such as chat messages, doesn't seem to be as seamless and fluid as on Android. For example, I sometimes receive a notification from Slack showing part of a new chat message, but when I then switch to Slack to display the full content, it frequently hasn't been loaded yet and takes a good while to appear (sometimes minutes!). Presumably the mechanisms to populate the notification display and the app itself are separate. I can't be certain that this is a weakness in iOS itself rather than being an app-specific problem, but I somewhat suspect the former.

Sometimes the phone will sound but I don't see anything new among the notifications. There's probably a reasonable explanation for this that I will eventually learn.

Multitasking


The multitasking experience on iOS is a mixed bag. Perhaps the most obvious difference in comparison to Android is how you switch the active app. On Android it's done with a software button at the bottom right. The iPhone and iPad do it by pressing the physical home button twice to bring up the menu. My personal preference is in favour of the former solution, as the physical button double-press makes switching app feel much more effortful.

One really nice thing with iOS is that you can swipe an app away from the open app list and it will force-close. That's really useful if an app is acting up. For example, Spotify and even Google's own apps sometimes don't see specific Chromecast devices in our apartment unless you close and restart. To do that on Android, you have to dive deep into a settings menu hierarchy which takes forever (of course, there are third party solutions to this problem).

Occasionally (but rarely), an app just vanishes inexplicably. I believe this happens when the app crashes. Apple probably thought that users wouldn't notice it as much as opening up a crash dialog like Android does. It makes iOS seem more stable to typical consumers.


One great feature which is available only on iPad but not the iPhone is the ability to keep two apps open at the same time in a split-screen mode with a dividing line that you can move. You can also temporarily "slide in" another app without permanently placing it there. These are fantastic features that Android only recently gained -- and only in the latest beta release. I find the iOS way to be somewhat better implemented, as well.

Both Android and iOS can ask an app to save its state and then invisibly shut down the app to save memory and battery. The idea is that the app will be restarted and state restored when the app is is switched to next time. This doesn't always seem to work that well on iPhone, or at least in Safari. For example, if you're tediously filling in a web form while switching to another app to read details to enter (perhaps looking for credit card or adress details in 1Password, say), the content that you already wrote is often completely lost when switching back to Safari. Needless to say, this is extremely annoying.

Mac and iPad Integration


On another topic, Apple has a feature enabling you to read and send SMS text messages from your Mac or iPad. It's supposed to be part of a greater effort at letting you switch platforms seamlessly while continuing your work as you left it.

I found this rather frustrating. Initially I couldn't seem to get it working at all -- in your iPhone's settings, you have to select the iCloud-connected device to grant reading and sending permissions to. When you do, a message with a code is supposed to come up on that device that you have to enter. That worked for my Mac but not for the iPad -- the message simply never came up.

When I did eventually get it working, I was expecting it to be comparable to something like MightyText or AirDroid. Sadly, that's not at all the case. You can only read the messages initiated from the moment when the devices were connected. In my case, I also didn't get to see the names of the contacts in the message threads -- only their phone number -- but that may be because I might not have enabled contacts syncing on my other devices.

If you receive (and even respond to) an SMS message on you phone, that same message might still pop up (along with a sound) on the Mac many hours later despite it clearly being read. Sometimes after I received a call, my connected Mac would keep ringing for quite some time after I responded to the call, making noise in the background while I was trying to talk.

Using an Android Wear Smartwatch


Having dabbled for many years with smartwatches, including Sony's first and second generation models as well as the Pebble, I got the Android-based LG Watch R about a year and a halfago. At this point I'm not ready to dive head-first into the Apple world and get an Apple Watch and so was thrilled when I realized that the iOS support rolled out by Google for Android Wear some time ago unofficially included my watch model as well. My watch required a full factory reset to work with the iPhone, as well as downloading the official Android Wear app by Google.

The iOS support for Android Wear is very limited: no third-party Android apps can be installed onto the watch, but it can still tell time and display notifications from SMS text messages, Facebook and the like. Even incoming phonecalls are displayed, but without the contact picture. I think basic support works for any notification that the iPhone can display in its own notification centre, but the presentation and control over these notifications is more limited than on an Android phone. Still, if you dismiss a notification on the watch, it is seamlessly dismissed on the iPhone as well, which is one of the key benefits of having a smartwatch.

It is also possible to select the desired watchface from a limited number included, but no third-party Android watchfaces can be downloaded.  I was surprised, however, to see that music control from my watch while using Spotify on my iPhone worked quite well. I'm not quite sure how this was accomplished -- perhaps support for some specific iPhone apps was integrated into the Android Wear app on iOS.

I really, really miss the smart lock functionality from Android. With that enabled, my phone would always be automatically unlocked as long as the watch was in Bluetooth range. The previously mentioned finger-print support compensates somewhat for this omission, but not completely (in part because the finger-print sensor obviously won't work with touch-friendly gloves on, mandatory in the cold Swedish winters).

Occasionally but rarely, the phone loses touch with the watch. When that happens, the re-connect process isn't seamless like on Android -- you have to manually start the Android Wear app on iPhone and then tap the watch to re-connect. I also don't think the wifi support built into the watch as a secondary connection when outside of Bluetooth range works on iPhone, either.

Despite these limitations, I can still use my smartwatch on my iPhone for the purpose of displaying and dismissing notifications. Essentially, my iPhone downgraded my Android smartwatch into something like a Pebble (I guess you could call it a "feature-watch" to use mobile industry lingo), but that's not too bad.

Conclusion


As I've been writing this post and thinking about differences between iOS and Android, I've realized that the comparison may not be completely fair, because in my mind I've continously compared iOS devices to Nexus devices -- Google's flagship Android devices with tight integration between hardware and software and frequent updates. Most other Android devices out there have custom-built Android versions which are often heavily modified -- mostly for the worse. They can be bloated, slow and have significant user interface changes. They also may not be guaranteed to get updates for very long, if at all, since the manufacturer has to port new Android releases over. Still, I would never consider getting a non-Nexus Android device, so for me personally, the fight is between iOS and Nexus devices exclusively.

I've been struggling to determine which is the overall best platform. I think some conclusions are inevitable, though:

  • The iPhone and iPad are fantastically well-built devices, surpassing most devices in Android land -- especially tablets -- in terms of build quality and general feeling. The difference between e.g. the iPad Air 2 and Nexus 9 is breath-taking.
  • The hardware is more or less equally capable when compared with flagship Nexus devices.
  • Despite efforts at catch-up by Apple, Android remains more advanced and flexible than iOS, especially regarding third-party integration.
  • Despite continuous advancements by Google, iOS still has a lead in terms of user interface performance. Using an iOS device feels snappier when you navigate, swipe and pinch-zoom, especially while web surfing in Safari. The heavier the website, the bigger the difference.
  • The apps for iOS tend to be more well-crafted.

Despite iOS seeming less powerful than Android to me, I still like using it. I find that I'm not spending as much time customizing and fixing things (because there's less to customize) and generally trying to "go with the flow" the way Apple intended it. Due to better apps, I can finally read my favourite newspaper Fokus on a daily basis in a very effortless way on my iPad. I could never do that reasonably on Android because that version was neglected by the publisher. I also find that despite being somewhat annoyed at the inconsistency of the built-in browser employed by some apps to load content quickly, I still rather like the end result which is the ability to navigate around apps and the web with lightning speed.

I'm still somewhat torn. The performance benefit with iOS is significant, but the limitations are also significant (though not as much as they used to be). It's possible that I have misunderstood some things and that over time, I will learn ways to overcome some of the problems that I have described with iOS.

After two months of using an iPhone as my primary phone (from the end of November to the end of January), I had to end my experiment prematurely much like a medical study showing harm coming to patients from a new drug being tested. While I had initially intended to keep using the iPhone for a year or two to really get used to it, the differences were bogging me down. The seemingly small things -- worse custom keyboard support, less flexible ways to specify favorite apps, and no system-wide back button, for example -- made a lot of difference to me in practice.

I went back to the Android ecosystem for my phone, but the iPad remains my favorite tablet by far.