The trouble with troubleshooting iOS

OK, I’m exaggerating a bit. There are a few basic things you can try when something goes wrong on your iPhone or iPad, such as force-quitting an app or restarting your device. You can also revert to some basic settings from Settings > General > Reset. If none of that helps, you can always erase and restore your iOS device from a backup. But really, that’s about it. If none of those options work, your either have to wait for the relevant update from Apple or take your device to the Apple Store.

That state of affairs stands in stark contrast to Mac troubleshooting. I had occasion to reflect on this recently as I was writing up my latest Bugs & Fixes column. In the course of attempting to diagnose and remedy a problem with my Mac’s camera, I employed Disk Utility to repair permissions, performed a Safe Boot, shifted to a separate login account, cleared cache files, checked Console error logs, killed a process via Activity Monitor, temporarily removed items from various Library folders and ran several Terminal commands.

On iOS, the Reset section of Settings is about as advanced as troubleshooting gets.

Not one of these techniques is available for iOS troubleshooting. In theory, nearly all of them are technically possible. After all, iOS is a variation of OS X and contains most of the same underlying capabilities. With a jailbroken iOS device, for example, you can run Terminal commands and access the various Library folders. But Apple provides few options for the non-jailbroken among us to do any of this — and none of them accessible to casual users.

All of which leads to the key question: does the absence of troubleshooting tools in iOS matter? Is Mac-like troubleshooting even desirable on an iOS device?

The case against troubleshooting in iOS

From Apple’s perspective, the answer is clearly no. Unlike the Mac, iOS devices have been designed from the ground up to be closed boxes. Rather than view this as a potential liability, Apple would argue it’s an asset for these consumer-aimed devices. While it makes under-the-hood troubleshooting next to impossible, it also makes it far less likely that you will need to do so, the theory being that less can go wrong if everyone and everything is locked out.

The goal is for iOS devices to work as simply and reliably as most other current consumer electronics, from televisions to microwave ovens. For such devices, troubleshooting options are generally quite limited. What options do exist are typically found in the slim back pages of the device’s manual, and if they’re not sufficient, it’s time to call the repairman — or head off to the store for a new model.

Not a screen you're likely to see on iOS any time soon—and that's probably a good thing.

This usually works out, because these devices typically function for years without requiring any significant troubleshooting. And even if something does go wrong, most users would hardly welcome having to deal with the equivalent of Disk Utility, Console logs, Library folders and Terminal commands. The average consumer electronics user has enough trouble figuring out how to juggle home theatre remote controls or program a digital alarm clock. If they were expected to master Mac-like troubleshooting for each device, they would probably throw up their hands in despair.

It’s true that iPhones and Macs are different from most other digital devices, due to their complexity and available options. This increases the probability of running into problems. Regardless, iOS devices come remarkably close to matching the trouble-free standards of other ‘simpler’ household digital devices. In my case, despite having a half-dozen iOS devices in active use in our home, it’s very rare that something goes wrong with any of them that has me wishing I could access their Library folders or run Terminal.

The case for troubleshooting in iOS

Still, from my perspective, when things go wrong with a Mac, it helps that numerous troubleshooting options exist and are easily accessible. This way, people who are familiar with these tools can not only do their own troubleshooting, but can also offer assistance to the less skilled of their acquaintance — thereby avoiding the hassle of a trip to the Apple Store or the cost of a service call. For that matter, without these tools, even the people at the Apple Store would have a harder time diagnosing and solving Mac problems.

Trips to the Apple Store can be time-consuming — and sometimes expensive. More troubleshooting could help reduce or avoid them.

For the same reasons, I believe it would be preferable if Mac-like troubleshooting tools were freely available for iOS. Sure, you can argue that this might encourage potentially dangerous experimentation by beginning users — experimentation that could on occasion lead to the user making things worse. However, I don’t worry too much about that; for one thing, I’m unaware of pervasive problems caused by troubleshooting gone astray on Macs. Most Mac users probably aren’t aware of the existence of tools such as Terminal, much less have ever launched them. I wouldn’t expect things to be any different with iOS devices. In any case, with a backed-up iOS device, you could almost always recover from whatever harm was done — with much less effort than on a Mac.

The future of troubleshooting

Despite my preferences, I know that a broadened suite of iOS troubleshooting options is not likely to happen. I see no sign that Apple is planning to provide end-user access to iOS Library folders or offer Terminal in the App Store. For one thing, it would largely defeat the purpose of sandboxing and App Store restrictions, allowing third-party modifications to iOS that, for various reasons, Apple wants to prohibit. For reasons I’ve already cited, I’ve gradually come to accept the viability of Apple’s position. I see how infrequently these troubleshooting tools are needed in iOS and as time goes on I expect iOS devices to become even more bulletproof.

Apple has opted to hide the Library folder in users' home directories on OS X, to avoid complexity.

Actually, I expect the Mac itself to evolve in this same closed direction over the coming years. To avoid a potential torrent of complaints, Apple may retain optional access to some areas, but they will be inaccessible by default (similar to how the home directory Library folders in today’s OS X are hidden by default). I can even imagine a setup where under-the-hood OS access is limited to Apple developers, consultants and technicians.

I believe Apple when they say that they have no plans to merge iOS and OS X. However, it still makes sense for OS X to adopt more and more characteristics of iOS over time. Macs were once called ‘personal computers’, but that’s a 20th century designation that’s rapidly vanishing. In the 21st century, Macs are becoming yet another ‘digital device’ — closer to the simplicity of iPads than to the Macs of old. Tomorrow’s devices will push that envelope even further.

This is the direction in which all digital devices are headed. We are approaching the day when the need for end users to fiddle with the likes of Library folders will be as rare as the need to re-solder a logic board is today. As this future gets closer, traditional troubleshooting will increasingly become something we spy only through our rear view mirrors.

One Comment

OS X has already become increasingly difficult to trouble shoot and unfortunately this will force those who like to tinker and actually fix things when they break away from the Mac.

Personally this lack of ability to fix things when they break is very likely to force me back to Windows in the coming months.

The “reinstall and recover from Time Machine” method is also, in my experience, far more trouble than it’s worth. If it was broke then it’ll be broke when you recover from the broken backup. The only real way to recover is format, reinstall then recover your data only.