Thursday, October 10, 2019

Silent Failure

John Gruber:

I continue to hold that one of the worst aspects of today’s Apple is their strident antipathy toward error messages. Silent failure is so much worse than an error message, but that’s the way Apple rolls.

I don’t know when it started (maybe with the update to 13.1.2? maybe one of the other 13.1.x updates?) but for a week or so I’ve been unable to buy new apps on my iPad. I hit the buy button, confirm with top button, Face ID authenticates me, it spins for a bit — then, nothing.

[…]

I don’t mind that my card needed to be verified. Security is good. But why in the world wasn’t I told that the reason why I couldn’t purchase anything is that my card needed to be verified?

[…]

Even a bad error message, something that just says “An Error Occurred” with no indication of what the error was, is better than silent failure. Silent failure is the UI equivalent of gaslighting — it makes you feel like you’re going crazy.

Todd Heberlein:

Seriously. In the age of search engines, being able enter error message details into a search field, even if the messages seem cryptic to the typical user, will often lead the user to a simple, step-by-step solution to their problem.

But you need the message to start the search

Dan Crosby:

My guess: software quality is now metric-driven, so their efforts are to driving down (or up) numbers they can track: crashes, dialogs displayed, etc. Silent errors don’t show up in metrics, so nobody is rewarded for either fixing or revealing them.

Andy Newman:

I wonder how much this gives Apple a false sense that their software is performing better than it actually is, simply because so many issues can’t always be accurately described or fixed by the average user. Many just give up.

Previously:

Update (2019-10-11): Jeff Baxendale:

speaking of infuriating Apple bugs with no error messages or information whatsoever… I can pretty much no longer install from the App Store on my laptop (cache clearing/disk repair attempted) 🤷‍♂️

Can’t see anything useful in Console either.

Update (2019-10-13): Cédric Luthi:

“An Error Occurred” without further information is an extremely low bar to set. Software engineers should feel comfortable writing more core handling errors than handling the happy path. Unfortunately, this is often not how software is written. 🤷‍♀️

Brian Webster:

I strive to have good user facing error messages, but even an error with tech gobbledygook can at least give me some clue of what’s going on when I get the angry email so I can try to fix it.

Dave DeLong:

I think it stems from your expectation about what you want your users to actually DO about it.

As an indie dev, you want users to contact you.

I’m not convinced Apple institutionally wants that

scott:

This has seemingly gotten worse with every software release under Federighi. I often say that giving support to Mac and iPhone used to be great since everything was so predictable and explaining the problem often lead the person to a better understanding of the products.

Now it’s just impossible to troubleshoot problems. I won’t even offer to help anymore, because I have no idea where to start. And good luck with official Apple support.

Thomas Fuchs:

The App Store In 10.14 shows Twitter here, but clicking “GET” does absolutely nothing because it’s not compatible with 10.14. No error message, just nothing.

Leo Natan:

The Mac App Store has many such issues. It allows downloading 32-bit apps on Catalina (and worse, allows purchase of such apps). 🤦‍♂️

See also: John Siracusa’s problems with certain contacts that silently didn’t sync because their images were too large.

Update (2019-10-18): Damien Petrilli:

Status of the TV app on #CatalinaOS :

- Can’t stream some movies I purchased
- Can’t download ANY movies I purchased

[…]

Of course called support and apparently there is a lot of wait because they are submerged by calls regarding Catalina (I gave up).

Short talk on phone:

- “What error message do you get ?”.
- “None, I don’t get any error message”.
- “Ho that’s not going to help”
- “Yup”

So we are at the point where even the support won’t be able to troubleshoot because Apple is removing error messages.

5 Comments RSS · Twitter

Sören Nils Kuklau

This is an important and unfortunate topic, so I’m surprised to see no comments. So I’m overcompensating by posting something way too long (sorry).

It has also (IME) gotten considerably worse since 10.12’s Unified Logging. On paper, UL is a great feature. Lots of good design thoughts went into efficiency, privacy, scale… In practice, it has led to such a firehose of unimportant information that I find it near-impossible to find what I’m actually looking for. In practice, 10.11’s Console was fairly useful (though it was still depressing how many obvious bugs were just out therein the open), and 10.12’s… just not as much.

Couple that with the Silent Failure UI, and you get a poor experience. Just one really unimportant example: Apple Watch is supposed to occasionally sync its Activity/Workout apps’ data back to the iPhone. It does this silently in the background; there is no information that I know of either in watchOS’s or in iOS’s UI to indicate status. Nor have I found documentation on whether sync is throttled, say, under poor network conditions, low power, high CPU usage, etc.

Well, my watch sometimes doesn’t sync for a long time. I’m not talking a few minutes or half an hour. The worst I’ve had was a day and a half. iOS’s Activity app would show information from well over a day ago. As would apps that build on top of it, such as Autosleep (which for a few hours shows you “No watch data for x hours, y minutes; pull to refresh”, but eventually instead shows “system error”).

Now, Photos does more or less the right thing: it shows a message like “Upload paused for 1,622 items. Not Connected to the Internet.” That’s great because:

it acknowledges that what you expect the app to be doing isn’t actually occurring
it gives somewhat actionable information: check your connection

With Activity, I just don’t know. Do I reboot the Watch? The phone? Both? Do I hook them up to power? Did something crash or otherwise fail?

Is it deliberately throttled or paused?

is the connection poor?
or the power low?
or the CPU high?

Am I supposed to not wear the watch to speed up the sync? Or avoid using the phone?

Sometimes, it syncs at seemingly a few minutes per minute. Then bafflingly, it will sync entire hours of data within a few seconds. I’m stumped what the correlation is.

If this were a Mac, I would:

open Activity Monitor and see how CPU usage is in general. And if any process that seems related is running.
open Console and see messages that seem related.

But this is a watchOS and iOS device. I can use Console to remotely look at iOS logs (which, kudos to Apple, has gotten a lot more reliable for me in recent times!), but while the Watch shows up, I can never get it to display any message at all (why not? Do I need to install a profile? Shouldn’t there be an error for this?); you could say even the logging fails silently. And even for iOS, the privacy mechanisms means the actual data I get for my own device is rather limited. Unlike on the Mac, I’m not aware of a way to disclose the private information.

And Activity Monitor? I can kind of run Instruments to attach remotely to the iPhone, but I’ve never found that to work well to show CPU usage. And I’m not aware of a way on the Watch at all (if I’m not mistaken, Instruments doesn’t work wirelessly).

Here’s my point.

I’m hardly the average user. I get impatient and like to geek out, if you will, on why stuff is slow or misbehaving. People normally shouldn’t need to do that; they should be able to trust that stuff “just works”.

But it doesn’t always.

When it does, Apple’s squeaky-clean Jony Ive White Room approach to error handling is fine. Not showing any progress when launching iOS apps is fine when doing so takes but a seconds (watchOS does show a progress indicator because it often takes longer). Not showing warnings or errors is fine when their impact is not very important.

But sometimes, stuff takes longer, and sometimes, it fails altogether, and for those times, I’d love to see more detail.

I agree, this is an important topic to discuss, but I do not have any answers to fix the problem as so much has changed in OS X in the last few versions. Opaque, obtuse, and objectively worse logging was a strange design choice, but it is what it is right now.

Silent failure is still failure and whatever the reason Apple is trying to avoid showing bugs, they need to stop. I cannot fix something without some assistance from the system.

While not the same thing, I went through an issue similar to John Gruber where Google Play had locked out a family member from purchasing or upgrading their apps. Including the Google Play Store itself and Google Play services. The error, while present, was so generic we had to troubleshoot as if there was none.

Me, writing about an odd Google Play Failure:

Which reminded me how much "The Cloud" is still a black box to most people. When online services work, great! When they fail, boy howdy! We tried everything to fix the problem:
1. Rebooting.
2. Wiping cache and data of the Play Store.
3. Removing and adding back the Family Link account.
4. Configuring the account on a different device (yes, same problem propagated to new device).
5. Deleting the problematic account and then recovering the account.
6. Yes, a test account created solely to test the problem worked fine on the same device.
7. Even contacted Google to see if they could flip some kind of "account reset" switch. Unfortunately, they were not very helpful.

Eventually, everything synced or reset, as the digital blockage inexplicably abated and the account started working again. Yes, after not working for weeks in total, and even a couple more days after the troubleshooting began, something gave the kick in the pants needed to get everything back to normal. Honestly, I am altogether unsure which step brought the device back online properly.

So, while I generally enjoy the Android side better, things still happen. The cloud is a fickle master/mistress.

The Unified Logging is one of the worst decisions to ever come out of Apple. Using the Console used to be the go to place to start troubleshooting. Now its open it up, yell "NOPE" close it and look somewhere else.

Sören Nils Kuklau

I would love a mode that brings back previous behavior. I want details more than I want privacy protections (it's my machine anyway); I want a general high-level overview more than I want debug output; I want it to risk filling the disk (because I often don't know until after the fact that I'm trying to diagnose something) more than I want only an in-memory peek while looking.

@Matt
Yes, unified logging seems non helpful to the user looking for a little assistance in diagnosing a failure. Buckets of text, rather than clearly delineated sections.

Leave a Comment