Observations on Android, five years later

Software

Android as seen by a long-time iOS user, Part 2

About three months ago, I decided to take another close look at Android. After spending some time catching up with the latest and greatest smartphones powered by Android, and after reading and watching an inordinate amount of reviews, it was clear that a lot had changed for the better since my last good look at this OS back in 2014 (and with 2011 hardware).

Despite all apparent improvements, though, when the time came to choose which device to get, I didn’t want to be using some specific brand’s flavour of Android; I wanted the pure experience. So my search narrowed down to a few affordable AndroidOne handsets. Thanks to a fantastic limited-time offer on Xiaomi’s website, I grabbed a brand new Mi A2 (black, 4 GB RAM, 64 GB storage) at a lower price than what I had been seeing at local second-hand shops.

You can read its tech specifications here, but suffice it to say that this is an overall excellent phone with features and a performance I’ve seen in much costlier devices. The only thing I don’t like about it is the size. My comfort threshold is low: anything bigger than my iPhone 8 is unpleasant to use. The Mi A2 has a 5.99-inch display, it’s 20.3 mm taller and 8.1 mm wider (but thankfully it has the same 7.3 mm thickness as the iPhone); at least its clearly iPhone-inspired design makes it sleek and tolerable enough to handle. Oh, and it doesn’t have a notch, which is a big bonus in my book.

Biometric authentication is made through a fingerprint sensor located on the back of the phone, where your index finger is supposed to land as you hold the phone. I always thought this sensor placement was awkward and less practical than the iPhone’s Home button, but I was wrong. I got accustomed to it quickly. I’ve also noticed that the unlocking is as fast as on the iPhone (if not sometimes faster). 

Android, five years later

The last time I truly interacted with Android was with an old 2011 Sony Xperia Neo V that ran Android 4.0.4 (Ice Cream Sandwich), and it was exactly five years ago, in November 2014. This Xiaomi Mi A2 currently runs Android 9 with all the latest updates.

In five years, and after five versions, the Android experience has improved dramatically. Not only with regard to the UI — the whole system under the bonnet feels way more robust and reliable.

One obviously huge difference between my first foray into Android back in 2014 with that old Sony Xperia and experiencing it now on a current device, is that there is practically no tinkering involved to make the phone usable, and this is even truer when you choose an AndroidOne smartphone, with Android at its purest.

From an interface design standpoint, in my 2014 review the impression was that Android 4.0.4 felt a bit disjointed — a collection of first- and third-party apps which lacked a unified UI and visual language, or a distinctive platform design. Buttons, UI elements, and behaviours felt generally different within each app. Google’s Material Design has thankfully rectified this ‘randomness’, and Android today looks and feels more organic and consistent.

At the same time, however, what’s been happening in mobile UI visual design these past few years is that everything has become flat, colourful shapes floating in a whitespace expanse. With third-party apps in particular, it’s often hard to distinguish between their iOS and Android versions.

One thing Android still does better than iOS is Notifications. They have a way of being noticeable without being annoying or overwhelming once they pile up (at least for how I use my phone). To the point that on my Mi A2 I have left all notifications enabled, and it’s all still less intrusive than on my iPhone where I have allowed notifications only for a handful of carefully-picked apps.

Notifications pane
Example of Android’s Notifications pane — As you pull it down from the top of the screen, all the little icons that crowd the status bar expand into notification messages, and for immediately actionable notifications you’ve given the relevant options straight away (see YouTube’s notification). As you can see, there are still three notifications left to expand, represented by the icons at the bottom of the pane (new Gmail messages, a notification from Twitch, a Like from Twitter). Predictably, if you tap on a notification you’ll enter the related app; if you swipe you’ll dismiss it. Once you expand everything, you’re given the option to ‘Clear All’, which is a much bigger label than on iOS, thus easier to tap.

I still think the way Android treats the phone’s status bar leads to clutter and the occasional confusion; but in the 5 years that have passed since my last dive into Android, this situation has markedly improved, especially if you’re able to keep up with the notifications you receive and clear them as you read them.

One design choice I particularly appreciate in Android when it comes to Notifications is the use of a notification dot as opposed to iOS’s notification badge. It’s a minor detail, but I find that having a light blue dot next to an app’s icon indicating that there are notifications for this app is much less stressful than a red badge with a counter indicating e.g. 6 unread notifications, 11 unread emails, or 4 unread messages. In both cases, I’m free to read any unread notification whenever I please, but iOS’s numbered red badge subtly conveys a sense of urgency that’s largely absent in Android’s blue notification dot.

Notification dot
The Notification dot tells me there are notifications from Twitter. In the previous image you can see that it was a liked tweet.

One could argue that Android delegates this urgency to the appearance of notification icons which progressively clutter the phone’s status bar, but I actually find this method to be conducive to a more efficient notification management. It’s a gentle nudge to take a look at your notifications without letting them accumulate too much (and risking missing an important one among the filler, like it sometimes happens on iOS). I hope I’m making some sense; I’m aware I’m deep into personal preference territory here.

Some visual design choices

Homescreens

As you can see in the image above, it’s pretty clear what I’m going to point out — the app icons are too close together. A whole screen of icons feels crowded and cramped, but most of all… those truncated app names! Here the situation is much better on iOS: with longer app names, iOS reduces letter spacing and manages to fully display the name of apps like Pocket Casts, SoundHound, Hipstamatic, Quartz Brief, AdobeCapture, and AirPort Utility, the latter probably being the app with the longest non-truncated name on my iPhone.

Android can’t even display the full name of “Headphones”, Sony’s app for managing their wireless noise-cancelling headphones. Heck, even Google’s own Play Store name is truncated! It’s not pictured above because it’s on another screen, but Instagram — a 9‑letter word — is displayed as “Instagra…”, which is even more ridiculous, considering that you can certainly fit an ‘m’ in the space occupied by the ellipsis.

Despite having now spent almost three months with my Xiaomi Mi A2, Android’s application tray (is that its name?) still manages to throw me off a bit. As a long-time iOS user, I’m accustomed to seeing all apps on my iPhone’s springboard. On iOS, what you see on the screen are essentially the contents of an Application folder. On Android, the screen’s real estate is like a Desktop where you put shortcuts (in the Windows sense) to the apps you’ve installed and use more frequently. To look at all the apps, you swipe from the bottom and you see them in the tray; in other words, not everything that appears in the various phone screens is necessarily all you have installed. Things like Calculator, Clock, Contacts, Files, “Keep No…” (Keep Notes, I presume), Lens, News, Settings, etc., are not placed on the ‘desktop’ by default, and you access them via the tray.

The advantage of such design approach is that you can effectively customise what you typically see on the phone’s screen to your heart’s content. App icons don’t even snap to the closest consecutive empty space like on iOS, so you can put just three or four icons on a screen in places that, for instance, are more easily reachable by your finger.

The drawback is that, as you install new apps, the placement of the others inside the tray shifts, and you lose your place a bit. This often happened to me with Settings, so much so that I eventually had to place its shortcut on the phone’s ‘desktop’. Admittedly, it’s not that huge of a deal, but visually it makes for a crowded, cluttered experience — you swipe left and right and see apps; you swipe from the bottom, apps again, a sea of round colourful icons.

Contrast this with another mobile OS that distinguishes between a ‘desktop workspace’ and a separate list of apps: Windows Phone. There, the visual difference between app shortcuts/widgets (tiles) and the full list of actual apps is unequivocal.

Homescreen and app list on Windows Phone 8.1
Home screen and app list on Windows Phone 8.1

 

Homescreen and app list on Windows 10 Mobile
Home screen and app list on Windows 10 Mobile

Android’s navigation buttons

The Xiaomi Mi A2, like many other Android smartphones, features three persistent software buttons at the bottom of the screen. A Back button (◁), a Home button (◎), and a Multitasking button (☐). The Back button is used to go back inside an app, but also to exit an app. In my 2014 piece I wrote that this behaviour could be confusing and inconsistent. I don’t know whether apps have got better at this, but now it really isn’t problematic like it used to feel, and I still haven’t found myself kicked out of an app when I simply wanted to go back within the app’s menu hierarchy, for example.

The Home button also invokes Google Assistant when long-pressed, and I find this rather handy. I also like that when you invoke Google Assistant this way, the Assistant just quietly awaits your input, whether by text or voice command, and doesn’t say anything. This is useful when you want to avoid being loud in a public place, and/or want to keep your interactions with your phone to yourself. 

The Multitasking button is perhaps my favourite. When interacting with a user interface, I generally much prefer (physical or virtual) buttons over gestures. And with the Multitasking UI in particular, on iOS I still prefer the old double-tap on the Home button rather than the swiping gesture introduced with the iPhone X. With Android’s square button it’s even simpler, as you just need to tap it once. There’s even a shortcut to close all open apps if you so wish:

Multitasking UI

Handling of background processes

All the issues I mention in my 2014 article have thankfully become non-issues in this regard. Since I purchased this Xiaomi handset I’ve never experienced unexpected behaviours, crashes, stuck processes, anything. The system feels consistently stable and I don’t feel compelled to check on it every 10 minutes to see if an app or background process is misbehaving. And, quite frankly, I’d be surprised if I still had to.

Storage handling

When using that Sony Xperia phone with Android Ice Cream Sandwich back in 2014, I was extremely frustrated by the way Android handled storage between internal memory and the microSD card. Unfortunately, this Xiaomi Mi A2 does not feature expandable storage via a microSD slot; it only has internal storage, so I can’t say whether the situation has improved on this front, but I’ll simply assume that it has. Again, it would be appalling and disappointing if it still were a mess like on that old Sony Xperia.

App selection and polish

In the past few years, I’d say from 2016 onwards, I’ve reached a sort of saturation point with iOS apps: I tend to explore the App Store much less frequently than I used to, and I’ve become very selective when it comes to adding a new app on my iPhone. In short, I have now settled with a selection of essential apps I use all the time, and I rarely feel the need to venture outside this comfort setup. Photo apps are possibly the only exception, but it feels it’s been a while since I last found some really unique photo apps worth keeping around. And in general, the trend towards app subscriptions — which I strongly dislike — has tempered my interest in looking for new apps for my iOS devices.

My iOS app setup looks more or less like this:

  • A few first-party essentials (Mail for email, Calendar for my calendars, Reminders for the occasional reminder, Safari for most of the browsing, etc.)
  • A bunch of clients for cloud services (Dropbox, Box, OneDrive, Simplenote…)
  • Messaging and social network apps (essentially Telegram, and then Twitter, Mastodon, and pnut clients)
  • RSS feed readers, read-later apps, podcast apps
  • A few utilities (unit converter, dictionaries, white noise apps, etc.)
  • Document-handling apps (document scanners, PDF readers, etc.)
  • Photo-taking and photo-editing apps

It looks like a long list, but it isn’t, really. The point is, when I started exploring Google’s Play Store to look for the same apps or Android equivalents of the kind of apps I use most often on iOS, I wasn’t disappointed. On this Android smartphone I was quickly able to come up with an essential app setup that was enough to keep me going even without my iPhone.

Sure, iOS still offers an incredible selection of good-quality third-party apps in several departments (e.g. I have found many more great photo apps on iOS than on Android so far), but overall the quality of Android apps has remarkably increased since the last time I explored its Store.

One thing I’ve noticed, however, is that on Android third-party apps seem to require on average many more permissions than on iOS, and I’ve often wondered why certain apps wanted me to let them access the microphone, camera, my Twitter account or my contacts. 

Other than this, no real complaints here. The Play Store keeps being a nice tool to browse for apps. Apps’ pages are informative, and I like that they feature both the most positive and most critical review for an app, for example. App recommendations are plenty, and are divided into a few subcategories which — while seemingly confusing or overlapping at first glance — I suppose they’re generated by different algorithms. I like that the Related to this app section is clearly marked Ads, i.e. that they’re sponsored recommendations.

App recommendations

Final observations

In 2014 I concluded my article as follows:

I found the Android OS to be better than I expected. I was eager to test drive an Android phone because I was worried I was getting too prejudiced in my criticism against Android, so I wanted to experience it more extensively and thoroughly than just playing around for ten minutes with a handset borrowed from a friend. There are many things to like about Android, and its design and UI are definitely getting better version after version. If my iPhone stopped working and I had to resort to a cheaper Android phone for a while, I guess I could switch without too much hassle.

But it must be a current phone, with the latest Android version, certainly not this Xperia with Ice Cream Sandwich. The root of pretty much everything negative about my experience with this specific Android hardware and setup has been this: I’ve often had the feeling I wasn’t dealing with an intuitive, standalone, homogeneous device, but rather with a computer crammed into a smaller interface, having typical ‘computer problems’ to attend to or to watch out for.

And I went on saying that a smartphone owner shouldn’t be constantly babysitting and troubleshooting his or her device and tinker to optimise it as to achieve a consistently smooth experience. On the other front, iOS offered just that: an intuitive interface, a hassle-free user experience, and a superior selection of great-quality apps.

Five years ago, doing a complete platform switch and going from iOS to Android and vice-versa, implied a certain amount of friction that felt less problematic the more tech-savvy you were. The two experiences felt really different and, as far as I’m concerned, Android felt second-class. Even on more powerful handsets, basic stuff like scrolling and animations could end up being jerky and stutter with annoying frequency. The system looked more utilitarian than well-designed to provide an effortless, pleasant user experience.

Today, from my first-hand experience, I can say that this once very noticeable gap is essentially gone. Android has improved on all fronts, while iOS has for the most part rested on its laurels (and in certain areas has actually got buggier than it used to). The overall experience is similar between the two platforms. An increasing number of operations, interactions, and UI behaviours have become barely distinguishable from one another (share sheets, for example, look and work in a similar way). For three months I’ve been carrying both my iPhone 8 and the Mi A2 with me, keeping the iPhone as primary device, but for two weeks I purposefully inverted the roles, and I noticed that — save for a few favourite iOS apps — I could have left the iPhone at home. 

Today, iOS and Android look and behave exactly for what they are: the two mainstream platforms. Using one or the other is now a matter of personal preference more than ever, and not a matter of sheer technical superiority. Apple’s hardware still has a bit of an innovative edge (the CPU, the camera system), but Android sort of counterbalances this by offering a variety of hardware choices that have markedly improved in recent years. That is, today you can find very good Android phones at all price ranges from several manufacturers whose offerings have kept getting better and better. On the other side, you’re stuck with what Apple decides to provide on a yearly basis. And if you don’t like certain design choices or certain features, you hold on to your current iPhone until Apple introduces something you like that compels you to upgrade.

Un-updatable apps

Software

Since I’ve been acquiring a few interesting devices lately (and I’ll be writing about them here in the next days, of course), I haven’t had the time to check on others as often as I usually do. The other day I checked the App Store app on both my third-generation iPad and iPhone 5 to see if there were updates available. There were indeed, and I’m glad that devices on iOS 9 and 10 are still getting a lot of them. On both devices, however, the updates for Flickr and AirPort Utility wouldn’t download or install. The process either got stuck or failed. On the iPad 3 with iOS 9.3.5 this is sadly all too common, but usually freeing up RAM or rebooting the device does the trick. Not this time. After several attempts, instead of getting stuck, the process started giving me feedback. This is what appeared on my iPhone 5 earlier:

Unable to download

Retrying led me nowhere. Meanwhile, on the iPad 3, I tried another workaround: I deleted AirPort Utility, went to the Purchased section in the App Store app, tapped the icon to reinstall AirPort Utility from the cloud, and the response was: This app is not compatible with this iPad. Then why the App Store app prompted me to update it? I tried with Flickr. Same response. Hmm.

Checking the App Store page for both apps it turns out that, while AirPort Utility shows iOS 9.0 and Flickr shows iOS 9.3 as minimum requirement, in both cases the iPad 3 and the iPhone 5 are absent from the (now extremely long and barely readable) list of supported devices. In short, both apps still support versions of iOS as old as iOS 9, but have dropped support for 32-bit devices.

And I can understand that. But how this situation is handled by the operating system is just poor. For starters, iOS should detect the incompatibility and stop signalling there’s an update available. Instead, you’re invited to download and install an update that won’t install, because it’s not compatible. Yesterday, when I tried re-downloading AirPort Utility from the Purchased section in the App Store and got the This app is not compatible with this iPad message, the system prevented me from even downloading the app. Today, as it should, it offers me to download the last compatible version of the app. And after downloading and installing the last compatible version… the App Store app once again updates the notification badge and tells me there are updates available for AirPort Utility and Flickr.

So, at the moment it appears I have two choices: either I remove those apps from my iPad 3 and iPhone 5, or I keep them on their last compatible version and keep seeing them pop up in the App Store update queue. But if I choose the latter, when there are other apps to update, and I tap Update All, the update process fails when it tries to update the un-updatable apps, and aborts; and I have to manually update the other apps that can be updated, one by one.

Is this an edge case? Probably. But it’s still a mediocre user experience. The user-facing dialogs are terse and generic. The app could not be downloaded at this time is utterly unhelpful and it’s like saying An error occurred — Why? What happened? What’s the source of the issue? Is the App Store server down? Is it a local issue that’s occurring on my specific device right now? Is it my internet connection?

This app is not compatible with this device. Fine. It wouldn’t hurt to add an additional note in the message saying something like The minimum hardware requirement for this app is an iPad Air (1st generation), or even better, This app no longer supports 32-bit devices. Wouldn’t this be a bit clearer? Instead you need to investigate and troubleshoot, and while it’s relatively easy for a tech-savvy person with a bit of time to find what’s wrong, a regular person who maybe is still using an older device will probably just delete the apps thinking they’ve stopped working altogether. Or they might ignore the updates, but then this could affect other ‘good updates’ in the App Store app update queue.

Situations like this require either a better communication via the OS interface, or the OS taking care of the matter invisibly, by stopping further update notifications when a device or iOS version are no longer supported by the latest app update.

 

(This post was written on a first-generation iPad using an app that no longer exists and on an iOS version (5.1.1) that, while simpler in features and UI, still feels more intuitive and robust than the current iOS.)

Mac OS Catalina: more trouble than it’s worth

Software

Both my main Macs are still on Mac OS 10.13.6 High Sierra, and so far I have no plans to upgrade to Mac OS 10.15 Catalina. I’ll probably upgrade the SSD-equipped MacBook Air to Mojave before the end of the year. I could perhaps do the same with my desktop workhorse, a 2017 4K retina iMac, but it came with a 5400 rpm hard drive as its main internal volume, and if Mojave updates the filesystem to APFS, then it’s advisable to upgrade to an SSD first.

But Catalina is a decidedly controversial upgrade, and in my case I didn’t even have to debate too much whether I should upgrade or not. The answer is no. The reasoning behind it is quite simple, actually, and it boils down to this: what Catalina takes away from me is more than what it gives me.

If you look at Catalina’s list of features, there is a lot of new stuff indeed. But as I scroll down that page, I find entire sections whose improvements are of no use to me, because they improve certain features or areas of the Apple ecosystem I don’t use. Examples include (but are not limited to) Apple Music, TV, Podcasts, Photos, Notes, Reminders, Screen Time, and Apple Watch.

In other cases, like Security and Mail, what Apple considers an ‘improvement’, it’s more of a hindrance for me. (I know some will see this as a small thing, but really, Apple, why mess with Mail’s classic layout? It’s been my preferred layout since Mac OS X 10.0, and that type of layout has basically been the one I have used since I started using email more than twenty years ago).

What I want from a new version of an operating system, especially one as mature as Mac OS, is that it fixes or improves what was not working well in previous versions, and that it leaves tried-and-true features and functionalities as untouched as technically possible. I don’t need and I don’t want disruption for disruption’s sake on a yearly basis. While I understand that today’s tech motto is The show must go on, that also doesn’t have to mean that the show should get painful to watch.

Instead, Catalina has so far proven to be quite the disruptive experience. If you want examples, there’s no better collector and curator than Michael Tsai (and if you still don’t follow his blog, you’re definitely missing out):

As usual, when I’m vocal about something on Twitter, and voice what may be considered unpopular opinions, I promptly receive feedback via email. So when I repeatedly manifested my disappointment about Mac OS 10.15 and my unwillingness to upgrade, I got the most varied responses. Some agreed with me, some said the same things they say when they see me ‘resist change’ (their words) — that I can’t keep on ‘living in the past’, that I should approach these things with a more ‘adaptive mindset’, because I can’t expect technology and software to progress while maintaining the status quo at the same time. While I may agree with this latter point to a somewhat remote degree, I don’t see why I should change the way I work on/with my Mac at the drop of a hat— I mean, Mac OS release.

One thing is ‘resisting change’; another thing is not wanting to mindlessly embrace something just because it’s new. I don’t know why it’s so hard for tech people to understand that not everything new is necessarily, inherently good, or better than what came before.

I remember enthusiastically upgrading to the next version of Mac OS from Mac OS X’s early days until Mac OS X 10.9 Mavericks. Then 10.10 Yosemite gave me pause: apart from the many bugs and increased unreliability, I literally couldn’t look at it. I was mostly okay with the revamped visual design, but found the choice of Helvetica as the new system font to be extremely problematic because it didn’t seem optimised for non-retina displays. When I saw Yosemite installed on a MacBook Air at the local Apple Store, there were parts of the system’s UI I had trouble reading. So I decided to wait until things improved. And thankfully things did improve, but I had to wait until Mac OS X 10.11 El Capitan was released a year later.

It was the first time I skipped an entire Mac OS release, and… nothing broke. I stayed one year more with Mavericks and everything was fine, everything kept working. Mavericks, especially with its last minor release, was very stable on my MacBook Pro. I didn’t feel I was missing out.

Then came Mac OS 10.12 Sierra. My MacBook Pro (2009) wasn’t officially supported — and I didn’t feel like installing Sierra unofficially. Looking at what Sierra offered over El Capitan, there wasn’t anything in particular I wanted at all costs. El Capitan was, again, pretty stable on my Mac, so I stuck with it one more year. And again, I didn’t feel I was missing out or running behind. Everything I needed kept working just fine. Of course now it was time to upgrade the hardware, and last year I did just that. Both my brand-new 21.5″ 4K retina iMac, and my second-hand 11″ MacBook Air came with Mac OS 10.13 High Sierra preinstalled, and I’ve had no issues whatsoever on either machine so far.

You realise when an operating system has reached maturity, for example, when the next version doesn’t feel all that compelling and it’s just a refinement over the one you’re using. For me that realisation came first when I stayed on Mavericks until El Capitan shipped (thus skipping Yosemite entirely), and then when I stayed on El Capitan until High Sierra shipped (thus skipping Sierra entirely). And every day I realise this when using my still-surprisingly-alive 2009 MacBook Pro with El Capitan next to my iMac with High Sierra. The two Mac OS versions — despite the 2‑year gap separating them — look and feel indistinguishable from one another.

As a consequence, my attitude towards upgrading to a newer version of Mac OS has changed in recent years. The nerdy “This is going to be great, I can’t wait to update and see the new features” approach has turned into a more cautious costs/benefits evaluation: “Okay, say I upgrade, what’s in it for me?” After Mac OS 10.13 High Sierra, I’ve repeatedly asked myself, “What is really better and improved in this new version of Mac OS? What are the truly useful features and improvements that make this a meaningful upgrade for me?” And apart from security (maybe — I’m not even 100% sure about this), I do struggle to find an answer.

The feeling I have, as of late, is that the more we go on, the more we have to roll up our sleeves as users and thoroughly check what the new OS may break, educate ourselves on the ways things may break, and look for workarounds. This because now more than ever Apple doesn’t seem to care much about the quality of their software. So, on the one hand third-party developers have to work much more than before — unearthing Mac OS bugs, and doing everything in their power to adjust their software so that it plays nice with whatever the new Mac OS version breaks or changes. On the other hand, the final users have to face new headaches when something that used to ‘just work’ in Mac OS, now inexplicably does not. Or does, but with puzzling inconsistency.

You may say I’m stuck in the past, but let me tell you: this doesn’t look like progress to me.

The whole idea of ‘making preparations’ before updating is utterly silly when you bring some common sense into the equation. The only preparation one should carry out today is a full backup of one’s data. Because many factors may lead to data loss, and it’s not necessarily the new OS version’s fault. You shouldn’t lose hours of your time checking for possible compatibility issues with apps and services you’ve been using and relying upon — in some cases for a very long time.

But you know, when you complain about things like this, the standard response is that there are always tradeoffs. Sure, sometimes there may be boring technical reasons behind a change, and sometimes the change comes with a tradeoff that’s worth accepting — you get a tangible improvement that outweighs what you lose in the process.

However, something like the loss of 32-bit apps (completely unsupported in Catalina) infuriates me because I see the sheer computational power of today’s Macs and I wonder in what way it would be a hindrance for them to still run 32-bit apps. Architectural issues? 64-bit Macs have been able to run them since 2006. Incompatibilities with new technologies underlying Mac OS 10.15? You’re telling me that it wouldn’t be possible to implement a Rosetta-like system tool to run 32-bit apps on the fly? Or some sort of native emulation like the Classic Environment that let you run Mac OS 9 in PowerPC Macs until Mac OS X 10.4? I believe solutions like these could be implemented, and without any perceivable loss in performance. The obvious benefit would be to retain a vast catalogue of perfectly working apps and games.

But since Apple can’t be bothered to preserve this bridge with the past, and since their only interest when Mac OS is concerned is apparently to streamline and simplify the system because it’s easier to maintain this way[1], the burden is on the users (and the developers, of course, but I’m focusing on the users here). You know, the users, who are supposedly “at the centre of everything we do”, as Tim Cook said.

Look, I get it, we can’t expect to be using older applications forever, especially if said applications need to communicate and interface with sensible parts of the system, or if they can be used as attack vectors to compromise the security of the system. But many are still perfectly fine and innocuous. And again, I’m not saying that workflows have to be set in stone and we should follow them inflexibly without ever trying something new or different. But these changes that tend to have a significant and direct impact on users’ habits oughtn’t to be forced by an OS update. Even if the writing was on the wall.

Sometimes you find an application, a tool, that really fits the way you work; that really makes you faster and more productive when carrying out a specific activity. One such application, for me, is Aperture. Before Aperture, I wasn’t using any kind of unified solution to edit and organise my photos. I simply performed the occasional retouch in GraphicConverter and kept my photos manually organised in folders. I had tried giving iPhoto a go, but the experience felt a bit confusing and underwhelming. When I received Aperture as a gift back in 2008, the way the application worked and its overall flow just clicked for me. Adobe Lightroom never did, instead.

When back in 2014 Apple announced Photos as a replacement for both iPhoto and Aperture, and removed Aperture from sale one year later, it was clear where this was going. At that point, I had accumulated a 6‑year photo library with non-destructive edits. I wasn’t particularly thrilled to start looking for alternatives, and Photos was simply a poor replacement. But I tried a few other apps. I even gave Lightroom another chance, in the hope its flow had become more compatible with how I work with photos. I kept returning to Aperture.

Now I hear that Aperture doesn’t even open under Catalina[2], and the only way to keep using it would be for me to purchase a virtualisation software so that I can run Aperture and other ‘incompatible’ apps under an older version of Mac OS inside a virtual machine. This is the ‘burden on the users’ I was talking about before. In theory, I could do that. I’m expert enough to implement this workaround and hopefully make it work. But what many geeks still don’t get is that a lot of people out there don’t have this knowledge or expertise; they don’t follow tech news as religiously as we do; they’ve just kept using their favourite apps, then updated Mac OS because they heard that keeping the system up-to-date was a good thing to do, and now they’re dearly paying the consequences of Catalina’s disruption.

So when I hear tech people say “You know this was coming; you know older apps would eventually be treated as incompatible and no longer work; you had plenty of time to prepare any needed change or adjustment”, my response is — Yes, I knew, but you have no idea how many regular folks did not. And I don’t think it’s entirely fair to blame them for that.

Today’s culture of waste — where everything is considered short-lived and disposable, and so many things are thoughtlessly made obsolete at an ever-increasing pace — is especially apparent with software, which is already intangible to begin with. The idea is you use whatever’s available for as long as it’s available, and then you move on. You have to move on, because ‘progress’. Adapt or die. (I’m fine with that when discussing human evolution in general, but today’s technology pace is just ridiculous and unsustainable in a truly healthy fashion).

Who cares if you have to drastically change habits and workflows? It’s your fault if you’re not flexible, they say. You have to keep babysitting apps and operating systems, and be constantly aware of changes, bugs, and other disrupting factors. And while, in principle, I agree that today you need to be more aware of what’s going on in tech, I also notice that — for everything to keep working smoothly — you have to do more work than before. It just works, with Apple products, has lost the frequency and consistency it once had. It is a strange progress when you keep feeling the sting of two steps back for every step forward.

I’m getting carried away and rambling. My point is, I’ve been into technology for more than 30 years, and I feel that Apple’s software culture has become progressively more user-hostile than it used to be. Today at times it seems that the user is the last concern when making software-related decisions. In the pre-Web era, end users were even more on their own when it came to dealing with software applications and OS maintenance, but while they did indeed encounter the occasional bug or issue, applications felt more robust; ‘built to last’, if you like. You felt like a well-treated customer; today it seems we’re all beta testers.

One could argue that, at least in Apple’s case, the software-related agenda has changed. Apple seems to be treating its software as if it were just a pawn in the bigger chess game of platforms and services. There is a detachment, particularly with Mac OS, that’s hard to swallow. At Apple’s executive level, it feels like nobody uses or cares about Mac OS. Whatever care there is, it isn’t directed towards users’ needs, but corporate strategy. Someone decides that it would be a good move to implement a set of technologies so that iPad apps can easily be adapted to work with Mac OS. The plan is swiftly (pun intended) moved forward with total disregard for any possible collateral damage. We have to get to this unification goal, one way or another. For this to happen, Mac OS gets subjected to all kind of pruning and grafting, and almost every other aspect of the system becomes a secondary concern. The Human Interface Guidelines? Eh, that’s an old set of rules. Times change! Usability? Eh, users will figure it out.

Security is treated more or less the same way. As a strategic piece. The way it has been implemented in Mac OS recently feels a bit overkill. I know cybersecurity is hard, today more than ever, and that there are security threats at every corner. But the way Catalina locks things down isn’t fine-grained and user-friendly at all. Why? I keep having the same feeling, and I’ve said it before: that Apple (and I mean Apple management here) can’t be bothered. Quick and dirty measures to get the job done, tout about shipping a secure system that protects the users, and move on.

Apple has more or less always said Jump! and users and developers have always been expected to reply, How high? That attitude, We know what’s best for you, was tolerable — at times even welcome — when it was crystal clear that Apple really knew what was best. Whenever I go back to this lecture about the origins of the Apple human interface, I am reminded that there used to be a lot of key figures at Apple who truly fucking cared about the software they produced and how it was supposed to work. As I noted in my commentary on that lecture:

It’s true that nowadays users are generally more tech-savvy than in the early 1980s, but I don’t think that’s a good reason to demote consistency in user interfaces, system software, third-party applications, in favour of an “anything goes, just make it cool” attitude. If you stop enforcing your own Human Interface Guidelines, if you yourself constantly break your own guidelines, developers will feel free to do the same and will get lazier overall.

Oh, and spare me the apologetic excuse that now things are more complicated than they used to be, because now Apple has many more platforms to take care of. Apple has the means and the money to do better by their users, especially Mac users, but they appear to lack the internal organisation to do so. And it’s also clear it’s not high on their list of priorities anyway.

You can’t keep looking at the future and disregard what came before as if it were all utterly useless. To get back to Catalina, I fail to see how it can be considered an improvement over the status quo, and a compelling upgrade. Is it better to have a Mac that can only run 64-bit apps and the worst of both worlds that are Catalyst apps, or a Mac that can essentially run every Mac Intel binary produced since 2006, plus whatever it’s cooking at the moment?

Do you want Mac OS to become bloated like Windows just to ensure backward compatibility? — you ask.

I don’t really think it would have to come to that. Mac OS X 10.6 Snow Leopard was able to run all PowerPC applications that came before, and it certainly wasn’t a bloated system. It was probably the last Mac OS version to deliver what Mac users really wanted, by the way.

All right, I have rambled enough.

So, to conclude, do I plan to stay on High Sierra or Mojave indefinitely? It’s hard to say and too soon to tell. Both my main Macs are really working flawlessly at the moment, and Catalina is beta-quality software that’s likely to give me headaches I don’t need right now. Who knows, maybe down the road I could acquire a cheap used Mac that can run Catalina (something like a 2014 Mac mini) and use it as a test machine. As things are now, I absolutely do not want Catalina to mess with my current setups and data. The cost for me would be higher than getting a second-hand Mac mini.

 

Updates

 


  • 1. But note the irony: all this recent pruning and rearranging in Mac OS has broken so many things in the process, that one could argue that Mac OS has actually become harder to maintain. ↩︎
  • 2. In case you were wondering: Aperture is a 64-bit application since version 3.0. ↩︎

 

App subscriptions: I still don’t like them

Software

Speaking as a customer, this drive towards subscriptions is killing my interest in looking for new apps for my iOS devices. 

A few days ago, Michael Tsai wrote:

Some apps just don’t need a stream of new features, but all apps need maintenance. How do you fund that? Relying entirely on new customers doesn’t seem like a good plan. In theory, a very cheap subscription would be fair to both sides. But I haven’t seen that done. One issue is how to get your installed base to subscribe if you’ve already delivered the features they want. Another is that even if the subscription is cheap, a lot of customers will search for any non-subscription alternative. So the math no longer works, and you need a much more expensive subscription.

This is something I’ve been mulling over as well. And yes, I’m one of those customers who definitely will search for an alternative when an app I already paid for switches to a subscription model as the sole option henceforward, even if the subscription is cheap.

I explained why in an older article, Subscriptions for apps — The uneasy deal, which continues to express my firm stance on subscriptions (so I suggest you read it in its entirety):

Subscriptions demand a mutual dependence: obviously developers present such dependence as a mutually beneficial pact. But the fact is, there is now a dependence where before there was none. And that makes me uncomfortable, because there is now a new, uncomfortable atmosphere: I’m not simply buying your product, I become regularly involved in your support. I become part of your plan to make a living through the development of a software application. […] 

I become involved in someone else’s business problem, hopefully as the continued solution to such problem. And, in a sense, I’m not even a customer anymore, I become a subscriber, a patron. I’m not sure I want this kind of involvement. [I’m not sure I want] to be more actively involved in solving the sustainability problem of someone else’s business.

And I’m not sure it’s even fair to expect this kind of involvement from customers. One of the main reasons developers constantly bring up to justify their switch to a subscription model is that subscriptions are needed to fund the continued development (or maintenance) of their apps. Okay. Do you know what more than a few regular folks have told me about this? That it sounds like a poor excuse. They have been updating the app so far without subscriptions, what exactly has become so expensive all of a sudden? Or, This app has been updated twice in the past year — it works fine — and they now want me to believe it needs ‘regular’ updates?

I know a lot of developers who are genuine people and don’t want to scam anybody by switching to subscriptions, but those reactions I quoted above are by no means infrequent, and are just one small facet of the many-faceted subscription issue.

In a more recent post, Tsai quotes a piece and some tweets by David Barnard. Barnard’s original piece is titled Subscribers Are Your True Fans, and while he makes some good points here and there, I really disagree with other crucial ones — specifically those quoted by Tsai. I will address them one by one.

1. Paying once for an app really only makes sense if the app provides minimal functionality of limited value and won’t benefit from continued improvement.

I find this to be rather disrespectful towards all the developers who have, in the past years, provided great apps with good functionality and good value to the customer. There have been, there still are, many apps priced fairly (i.e. they’re not too cheap but also not unreasonably expensive for what they offer), with well-made and inviting in-app purchases; and the fact that these apps are still around without needing subscriptions means their developers are probably doing something right.

Barnard’s statement, as it is, sounds like it’s coming from someone who dogmatically thinks subscriptions are the only possible way forward and, from that assumption, starts deconstructing the rest.

2. With paid apps, people often end up buying several apps just to figure out which one best fits their needs. Let’s say they spent $3 each on 4 apps, that’s $12 they were willing to pay for a great app, but that great app they settled on only gets $3. Since most subscription apps have free trials, and many even have ad supported free tiers, people can try multiple apps and then only pay for the one they actually use.

But the fact is that a lot of apps embracing the freemium model already offer free trials or ad-supported free tiers. There are plenty of apps that are offered in separate ‘Lite’ and ‘Pro’ versions. If Barnard is trying to ‘sell’ the benefits of subscription apps here, I find this specific example to be a bit weak and unconvincing. Counterexample: what if, in my search for a good photo editing app, I end up buying two that are equally great for me for different reasons? (i.e. one has extremely refined filter effects, and the other has really professional retouching tools.) I end up paying $5 for one and $5 for the other, maybe I even do some in-app purchasing down the road, and get to support more than one developer. 

Paid apps — apps you pay up-front, no subscription — allow people to potentially be happy customers of more developers. Those $3 spent here and there in Barnard’s examples may end up being a total of $12 badly spent, but — even if in a small way — have benefited four developers in the process. Subscriptions — exactly because you cannot support every developer out there — push people to choose wisely first and commit later. And not everyone likes that. Sometimes people just like to shop around, even when they occasionally waste a few dollars for a goofy app. Because there are no strings attached. As I said in an older article, I prefer purchasing two good apps each priced at $3.99 rather than investing $7.98 for sustaining a single app with a $0.99/month subscription for approximately 8 months. Your mileage may vary, naturally.

3. Sure, some potential customers (or existing customers if you transition from another business model to subscriptions) are going to complain about the subscription model. It’s hard to hear someone tell you that they don’t value what you’ve built, but the smart thing to do is focus on the people who are subscribing, your true fans. Figure out who they are and look for ways to reach more people like them instead of focusing on the vocal minority that complain.

First, notice that rhetorical conflation: if someone complains about the subscription model, that doesn’t necessarily mean they don’t value what you’ve built. Maybe they just don’t like that you’re pulling the rug from under their feet and switch to subscriptions as the only way to pay for your app when so far you’ve been following the ‘paid up-front’ or ‘paid update’ routes. 

But here comes the point I disagree most with Barnard: the smart thing to do is actually to stop discriminating between ‘customers’ and ‘fans’. The smart thing to do is to focus on the damn product you’re building. You need to make a good app first, not smile at those in the audience who are smiling back at you and ignore the critical voices. ‘Fans’ may come later, but you can’t rely on fans. People are fickle when it comes to these things. The wrong update, the wrong app redesign, the feature you think it’s awesome and needed and groundbreaking but it turns out to be an unwelcome change — and you lose a lot of fans. (Hello, Dropbox.)

In 2017, Oliver Reichenstein wrote a fantastic post in iA’s blog, sharing his musings about the next version of iA Writer. I already quoted this bit in my older article, but I feel it’s still relevant (emphasis in bold type is mine):

The elephant in the room is: Who will pay for this? Will there be a paid upgrade? Do we ask for subscriptions? Talking to other devs you can get tough guy advice like:

People always complain, they don’t understand technology, you need to live, you have tons of fans, you lose some, win others, who cares?”

Trust is earned in drops and lost in buckets. Yes, we need to live. But that’s our problem. Explaining that dev costs and comparing software to coffee, sandwiches or cars is not convincing. The only ones that will feel you are friends, family and other indie devs. Friends don’t count money. Customers do. To own, we pay more. To rent, we pay less. Strangers don’t genuinely care about our wellbeing — they compare prices and pick the best value. Subscriptions are tough. They are not bad or impossible, but they need to meet real life expectations:

a) Renting is less expensive than buying

b) Expensive products hold longer than cheap products

c) Buying vs renting should be a fair choice 

 

4. I don’t think most people realize how much most indie developers sacrifice to keep the lights on. In 11 years, I’ve probably only been cash flow positive 48 months. With paid apps, I’d build up a war chest with a big launch/update/sale, then spend it down working on the next.

I’ve even gone into debt to squeak by until the next big update. People seem to think all developers are rich & greedy. But it’s like any other small business. Most struggle, some do well, a few really well.

Well, a lot of people don’t realise how much time and effort and mental energy a writer puts in his work. Especially someone who writes (tech stuff and fiction) in a language that is not even their native language. When I used to complain about this in the past, and about my not-really-successful attempts at ‘monetising’ my efforts, more than one person cheekily suggested, Maybe don’t quit your day job just yet.

Again, businesses small and large have (should have) a business model and a business plan with which to operate. App subscriptions are different from magazine or newspaper subscriptions. They’re not about distributing information and content in an alternative method which can be more convenient for customers. The app subscription model involves, among other things, considering customers as patrons or ‘fans’. As I said, to me this feels awkward. I want to be able to buy your product — or, yes, subscribe to your service when it is, in fact, a service — and that’s it. I don’t want to be involved in the process of you figuring out how to make your business viable and sustainable for yourself. And even if I wanted, it would simply be unsustainable for me as a customer, because I couldn’t afford it, and I couldn’t afford to think this way for every developer that makes an interesting app. In other words, while I can be a customer for multiple parties, I can’t be a patron for everybody.

Autocorrect and predictive text have regressed since iOS 10

Software

Yesterday, John Gruber posted an intriguing piece called iOS 13 Autocorrect Is Drunk in which he argues that autocorrect on iOS 13 and 13.1 has got worse than before. This reminded me of something I started noticing last year when I upgraded to an iPhone 8 (with iOS 12) from an iPhone 5 (with iOS 10); something I had meant to investigate further but ended up postponing for the usual lack of time. What I had noticed is that autocorrect and predictive text appeared to be worse on iOS 12 than on iOS 10.

I wasn’t entirely sure about it, and for a while, a bit like Gruber, I thought that maybe it wasn’t a real issue but an ‘anti-placebo’ effect, as he called it. Perhaps it’s a matter of retraining the new iPhone to have suggestions and corrections more relevant to my writing style, I thought. But between yesterday and today I made some time to explore this thing in more detail, and after countless tries with my iPhone 5 and iPhone 8 side by side, I think I have pinpointed the main issue: while it seems that in iOS 12 autocorrect and predictive text have generally worsened compared with iOS 10, they have regressed specifically when using an iOS device with multilingual keyboards.

On my iPhones I usually keep three different keyboards: English, Italian, and Spanish. These are the languages I’m fluent in, and when using apps involving text entry (chat apps, social network apps, email clients, etc.), I often switch from a language to another. I communicate with my mother and closest friends in Italian; I exchange messages with my wife and her family in Spanish; I tweet, do most of my email, and generally communicate with the rest of my international contacts in English. What happens on a daily basis is that I launch e.g. Telegram, start writing something to my wife, but I realise mid-word that the keyboard is set to another language. And that’s when things get bad on iOS 12 (and I presume iOS 13 as well): autocorrect and predictive text don’t consider the whole word I’m typing, but start making suggestions from the point I resume typing. This behaviour didn’t happen under iOS 10, which was smarter enough to embrace the language change and adjust its suggestions accordingly.

Let me clarify this with an example. Follow this process closely:

1. I open Telegram. I want to write something in Spanish. I start typing Espero [meaning, “I hope”] but I realise I have the English keyboard selected. This is what I’m seeing on iOS 10 (left) and iOS 12 (right) after typing “Es”:

10v12 01

For starters, note how much more pertinent predictive text is under iOS 10, while under iOS 12 suggestions just look all over the place.

2. At this point, I tap the Globe button to switch keyboards. On both phones, the keyboard first switches to Italian, then to Spanish:

10v12 02

10v12 03

Note here how iOS 10 adapts to the new languages selected, while iOS 12 doesn’t appear to have a clue, at first.

3. Here’s the kicker now: when I resume typing with the newly selected keyboard, and proceed to type “pe” (the second syllable of espero, the Spanish word I meant to type from the start), iOS 12 starts suggesting words that begin with “pe-” instead of “espe-”. In other words, when in iOS 12 I start typing a word using one keyboard, and switch to another keyboard mid-word, the predictive engine starts making suggestions without considering the word I was writing as a whole, but from the point I switched keyboards (in this example, after typing “Es”). This makes no sense, and is the cause of constant friction, as I’ll show later with another example. Note instead how iOS 10 behaves more logically here:

10v12 04

4. Here’s another example: I wanted to type the English word “Estimation”. After typing “est”, I realised the keyboard was set to Spanish. I switched to English and continued typing “ima”. iOS 10 adjusted on the fly and correctly started suggesting English words beginning with ‘estima-’.

iOS 12, instead, started suggesting words beginning with ‘ima-’:

10v12 06

 

Above I said that this maddening behaviour under iOS 12 is cause of constant friction. That’s because, when you switch keyboards mid-word, finish typing the word, and hit Space, autocorrect will often insert a suggestion based not on the word you meant to type, but based on whatever you typed after switching keyboards. This happened earlier today when I wanted to send a tweet using Tweetbot; the tweet was meant to start with “This morning”, but I soon realised I had the keyboard set to Spanish, so I switched to English after typing “This mo”. Look what happened (click to enlarge):

 

So, autocorrect starts suggesting English words when I continue typing “-rning”. Its best suggestion, as you can see, is toning. It completely ignores what I have typed before (“mo-”), therefore, when I tap Space to write the next word, it autocompletes to “motoning” instead of “morning”. When I backtrack with backspace, the replacements proposed again make no sense — or rather, they’re just useless in this case.

That’s why after switching from my iPhone 5 with iOS 10 to the new iPhone 8 with iOS 12, my initial impressions were that autocorrect was simply worse and felt ‘untrained’. I didn’t realise that what messed things up was the keyboard switching while writing a word.

But even within a single language, autocorrect under iOS 12 does indeed feel less smart than under iOS 10. Here’s another example: I wanted to write “through” but intentionally mistyped the word and started writing “trhou-”. Both predictive engines suggest “through” as the possible word, but in iOS 10 it is the preferred choice, while iOS 12 thinks I want to write “Thou”, which is an archaic word I certainly don’t use on a regular basis and it’s definitely less probable than the more common “through”:

10v12 05

Final notes:

  • I don’t know if this behaviour changed with iOS 11, because I went from iOS 10 to iOS 12. Both iPhones are updated to their latest available updates — iOS 10.3.4 and 12.4.1.
  • I haven’t tested iOS 13, so I don’t know whether autocorrect still behaves as it does under iOS 12 (I assume it does, though).
  • If you think these examples are not exhaustive, you have to understand that I couldn’t possibly upload fifty different comparative screenshots. My results are consistent and, as far as I could observe, reproducible.