The mystery of crashing apps on iOS and Android

An examination of mobile app crashes between Apple's iOS and Google's Android once appeared to suggest that apps crash significantly more often on iOS compared to Android. However, developers and analysts offer some explanations of why this occurring. As is often the case, the story behind the numbers is more nuanced and complex than a trivial clickbait headline can deliver.

Ad-blogging: Cite report, add upsupported embellishments, post online

The misleading nature of simplified statistics

Almost a year ago, Blancco Technology Group wrote in its Q1 2017 quarterly report covering an analysis of diagnostic reports from mobile devices that "apps crash almost three times more on iPhones than on Android devices."

That announcement generated headlines at the time, in the same way that a recent story claimed that Android users were "more loyal" than iPhone buyers, even though both the source and the site coaching the story (TechCrunch) were aware that Android as a platform was actually losing more users to iOS than the other way around--they even said so by the end of the article.

The case of crashing iOS apps parallels another statistic gleaned from the same diagnostic data: that device failures among iPhones began increasing with iPhone 6. As noted in a previous article, this wasn't due to iPhone 6 being a defective model, but was rather due to its success as a product. The way failures were being counted actually weighted the statistics to portray popular models as being more problematic simply due to their commonness.

The flip side of that statistic, however, exposed a more interesting idea: despite being similarly popular in terms of volumes sold, successive generations of iPhones reported fewer failures, indicating that they were getting qualitatively better.

Additionally, Apple's product mix of standard and Plus sized iPhone models has been incrementally shifting towards the larger Plus size over the last few years. Yet those newer Plus size models are not reporting more problems, in parallel with a sharp decrease in failures associated with standard iPhone models. Again, this is clearly because they are improving.

It's harder to make observations about Android because there is not a standard Android model. Quality varies considerably between makers and between models. However, Blancco has published quarterly reports that offer some interesting insights into the differences between the two platforms.

Why are iOS apps crashing?

One of the key reasons Blancco itself identified as a cause of iOS app crashes was actually related to Apple's frequent OS updates, noting an increase in app crashes around the release of major iOS updates.

Any changes to how an OS works (and its underlying APIs used by developers) can cause problems for app developers. Apple not has not only been aggressively rolling out major software updates and new features, but has also been rapidly pushing these changes into the mainstream. There appears to be a clear correlation between new updates and app crashes associated with these OS changes.

On the other hand, Android's inability to support devices for more than a year or two means that Android developers have to account for the likelihood of running on an older API platform. Overall, fewer updates from Google (supported by a subset of newer models) might mean less pressure for developers, but it also results in less impetus for third-party developers to adopt new technologies.Of the two billion active Android devices Google announced last May, "nearly half of these devices are two years out of date."

The problems with Google's Android software updates are getting worse. While the company keeps releasing new versions of Android, its deployment pace is slowing.

According to an analysis by Dan Luu, "something that wouldn't have been obvious without looking at the data is that the uptake of new versions seems to be slowing down."

He noted that of the two billion active Android devices Google announced last May, "nearly half of these devices are two years out of date." So while third-party apps may not be crashing as often due to issues related to major software updates, that's not exactly cause for celebration.

A good OS doesn't mean bad apps can't crash

Blancco also observed that app crashes on any platform are often the fault of developers. And just as popular phone models were associated with test failures due to their commonness, the most popular apps are showing up at the top of the firm's list of crashing iOS apps.

Facebook and its Instagram and Messenger apps were three of the top four most frequently crashing apps, with Google being the other one. The rest of the top ten included a variety of popular and frequently used social networking apps, including Snapchat, Pinterest and WhatsApp.

Facebook itself is also frequently updated. On iOS, it's currently at version 162! The company's other apps, such as Instagram, are also frequently updated. However, it appears that since Instagram added support for Android in 2012, the app has not kept pace with Apple's iOS platform. It appears that Instagram's filters architecture is based entirely on the less performant OpenGL ES rather than Apple's modern, A7-optimized Metal API for graphics. The most likely reason, apart from legacy, is to retain feature parity with Android. But it's also missing out on Apple's latest optimizations in graphics performance.

While Instagram's developers added support for Wide Color in 2017 (a feature that's not supported across the installed base of Androids), it still hasn't adopted major iOS image-related features including Live Photos introduced on iPhone 6s, zoom lens or dual camera support introduced with iPhone 7 Plus, or the Depth API and the TrueDepth camera of iPhone X.

In fact, Facebook's Instagram app continued to look terrible on iPhone X for months after the new phone's release (below). Its linked helper apps, including Layout for multiple image composition and Boomerang for animating video clips, not only crashed frequently but misdrew navigation elements in the "ears" on either side of the notch to the point where in some cases, the only solution involved force-quitting Instagram.

Instagram was late to corrently support iPhone X

Just as with OS updates, frequently updated apps pose a set of challenges for stability. The only thing worse than the issues introduced by frequent updates, however, are the more serious problems associated with infrequent updates!

The top crashing apps on Android are parts of Google's platform

Something else that jumps out from the comparison of apps running on iOS compared to the crash data of apps on Android: crashes occurring on Android weren't the most popular third-party apps in common use. They were mostly Google services that are core parts of Android.

While apps on Android were reportedly crashing less often, the crashes that were occurring were Google's IMS Service (messaging), Address Book, and the part of Android that is most likely to be upgraded frequently: Google Play Services. Other code among the top ten in crashes are other components of Android itself: Stock Android, Messages and Mobile Transfer. YouTube and Google's search app were also top ten crashers.

That left only two of the top ten crashing Android apps that are not Google's code: Samsung's TouchWiz (which showed up prominently among Android devices despite only appearing on Samsung's own phones) and of course, Facebook. Other more commonly-used third-party apps such as Instagram, Messenger and Snapchat didn't even make an appearance in Android's top ten list of crashing apps because the platform itself was out-crashing them.

So despite the headline illusion that Android was a better platform for apps because third-party titles were crashing less often, the reality is that Android was crashing a lot all by itself. And among hardware issues, the data outlined that Google's camera app was also a frequent failure on Android.

Android suffers from high CPU, RAM and memory consumption

A year after noting the difference in crash statistics between Android and iOS, Blancco's latest quarterly report doesn't even reference the term "app crashes" at all. Instead, it observed that "Android phones suffer with performance-related issues such as high CPU, RAM and memory consumption, outdated software versions and misbehaving apps.""Android phones suffer with performance-related issues such as high CPU, RAM and memory consumption, outdated software versions and misbehaving apps."

One of the recommendations the firm made: "updating to the latest Android software releases can help customers avoid some of these performance issues, as can shutting down extra apps that are running in the background, clearing their app caches and disabling widgets."

Turning off Widgets--a differentiating feature of Android--is something anyone can do, but many Android users can't install the latest Android software updates because either Google or the hardware maker doesn't provide them.

In fact, Google itself just cut off support for its own, newly two year old Nexus phones and its last remaining tablet, the Pixel C in the upcoming Android P. It's no longer an option to obtain the latest software releases for the majority of Android devices, and Google isn't even supporting its own mechanism introduced last year to extend hardware updates for any of its own Nexus models.

Again, the updated components Google does deliver for older Androids via its Google Play Services layer remains high on the list of Android's top-crashing code, giving Androids the least benefit of frequently updated OS features with the most drawbacks. Major releases of iOS can cause initial problems for third-party apps, but the advantages of those frequent, long-term, free updates tend to greatly outweigh any inconvenience.

Blancco also detailed that globally, OS-related performance related issues led the complaint list among Androids, while common hardware issues were all distantly trailing Android's OS faults. That suggests that the media narrative that says Google's software is wonderful and its licensees just need to do a better job of integrating it (or getting out of the way of Google's idea for Pure Android) is not accurate at all.

The Android platform is not simply performing well, and its largely Google's fault.

Comments

No huge surprise that the apps with the highest number of installs might be the ones with the most number of crashes.

What would have been more telling is what percentage of installs are seeing crashes. I suspect for instance Google Play Services crashes, an app installed on every single Google Android handset, on a percentage basis is exceeding low. This AI article just as in the original referenced 3rd party one from two years ago is yet another case where simple numbers don't tell the entire story IMO and in fact can be truly misleading, resulting in conclusions that the numbers don't actually prove.

On iOS in particular is anyone surprised that the most widely installed apps on the platform would have the higher number of crashes on a pure numbers basis? That does not prove the apps are more unstable than less popular ones obviously.

As Gatorguy mentioned, statistics about crashes can be misleading at the best of times, especially when it comes to 3rd parties.

Some things to consider:

- Crashing is not necessarily the worst thing that could happen. Worse would be undefined behaviour where things start going off the rails... there are sanity checks for safety in apps that crash for the user’s best interest rather than leading them down the garden path of a more and more buggy experience.

- iOS has a lot more devs, and a lot more *new* devs by consequence... as a dev myself, I see the sad state of development on an extremely popular platform... it can be... horrifying. I’m surprised things don’t crash more often. Android devs tend to be more experienced by requirement and by limited attraction.

- I’d be curious to see crashes as compared to app usage,a as iOS apps tend to get used more that android apps per device.

Very interesting. As the old saying goes, there's lies, damned lies, and statistics. Statistics when badly done are truly awful. The idea that you'd count crash reports without correcting for the size of the installed base (crashes per 1000 installed for example) is absurd. My stats teacher would have sent me from the room for such an egregious mistake. Assuming it was a mistake on the part of Blancco.

With all the fuss about Apple throttling the CPU and slowing down iPhones, performance does not even register on the Top 5 iOS Performance Issues but comes in at Number 1 on the Top 5 Android Performance Issues chart at a whopping 27% which is head and shoulders above the next closest issue, camera at 5%.

With all the fuss about Apple throttling the CPU and slowing down iPhones, performance does not even register on the Top 5 iOS Performance Issues but comes in at Number 1 on the Top 5 Android Performance Issues chart at a whopping 27% which is head and shoulders above the next closest issue, camera at 5%.

Makes you wonder what all the fuss is about...

...and performance being the biggest complaint on Android is something I'd agree with. There are so many sub-$100/free with service handsets being pushed by some of the pre-pay carriers as a way in to smartphones for the less-advantaged I'd not consider that any surprise at all. Performance on those are less-than-stellar tho expectations going in are probably high for many of those poorer users.

Despite earning lot more money and not having to deal with fragmentation in iOS, third party App developers are finding it harder to write stable applications for iOS than Android (despite making less money, less incentive to improve stability and having to deal with lot more fragmentation). Something that Apple's software development team needs to take a serious look at.

With all the fuss about Apple throttling the CPU and slowing down iPhones, performance does not even register on the Top 5 iOS Performance Issues but comes in at Number 1 on the Top 5 Android Performance Issues chart at a whopping 27% which is head and shoulders above the next closest issue, camera at 5%.

Makes you wonder what all the fuss is about...

When you look at the price of the devices in question (majority of them being <$200), it is understandable that performance issues exist in Android phones lot more than iPhones. BUT the important question is - what is the performance expectation for an Android phone with $200 price Vs an iPhone with $600+ price? Obviously, you would expect far greater performance from iPhones compared to $200 Android phones. And how do they perform relative to the expectations, that come with the pricetag? I don't have any statistics or even anecdotal evidence to say one way or other. The fuss about iPhone's performance issues has to do with expectations, that comes along with the premium price.

While I can agree in part with the article, I have to ask why my experience since the roll-out of iOS 11 has been so different. Since updating my 7+ to iOS 11, app crashes are an almost daily occurrence. My device has been checked at an Apple Store. I have done the complete reinstall. A few times. One under Apple's guidance. I have seen similar behavior on my iPad Pro 12.9 G2. The apps crashing are not, for me, those listed in the article. I am talking stock apps. Safari tabs. Plus others as developers roll out updates. Apps suddenly doing relaunch from the task manager. It reached the point I moved to an Android phone. In the last couple of months since then, I have seen very little in the way of app crashes on my Android Razer. I still run my 7+ as a backup and even under 11.2.6 I still see app crashes / relaunches. Still see it on my IPP.

Personally, I feel the OS's were relatively well matched. Until iOS 11. Here is to hoping Apple can figure it out. Android appears to be heading in the right direction if my Razer is any indication.

Everything on iOS is sandboxed. So if/when a app crashes it doesn't crash the whole phone normally. The app just shuts down and you can go and start it right back up.

I have not seen a single whole phone crash in my Android phones for the last 3 years, not even 1 instance. Third party apps crashed few times though, particularly ES File Explorer. But my iPad Air fully crashed MANY times (Safari the culprit) with iOS 8. But it did NOT crash even once with iOS 9 or iOS 10. I have not upgraded the iPad Air to iOS 11, do not have any plans to do so either (worried about performance issues, it is already slow but usable). Just anecdotal evidence, but if you think that Android phones fully crash due to app crashes, that is not true (at least, that is my experience so far).

While I can agree in part with the article, I have to ask why my experience since the roll-out of iOS 11 has been so different. Since updating my 7+ to iOS 11, app crashes are an almost daily occurrence. My device has been checked at an Apple Store. I have done the complete reinstall. A few times. One under Apple's guidance. I have seen similar behavior on my iPad Pro 12.9 G2. The apps crashing are not, for me, those listed in the article. I am talking stock apps. Safari tabs. Plus others as developers roll out updates. Apps suddenly doing relaunch from the task manager. It reached the point I moved to an Android phone. In the last couple of months since then, I have seen very little in the way of app crashes on my Android Razer. I still run my 7+ as a backup and even under 11.2.6 I still see app crashes / relaunches. Still see it on my IPP.

Personally, I feel the OS's were relatively well matched. Until iOS 11. Here is to hoping Apple can figure it out. Android appears to be heading in the right direction if my Razer is any indication.

I've had similar issues with iOS 11. they have slowly improved, but it was (is) undoubtedly the buggiest iOS update we've had in many years. I think part of the issue is that there were significant changes made under the hood, but regardless, I was disappointed with the lack of quality with this release and found that the new features introduced were overshadowed by bugs and usability issues. Fortunately these have slowly resolved for the most part.

I suspect software developers were also experiencing the same issues, hence the crash issues experienced on our end.