If you use an Android device, chances are that you are using a pixel or a nexus device. But there are even greater chances that your device is none of those two. Why does it matter? You are using a phone running of Google’s software anyway, right? No. Let’s talk about it.
To differentiate themselves, companies do a lot to build their own ‘version’ of Android, which results in slower updates, bad software (read Touchwiz from back in the days) and some features that you may not need (sometimes they are awesome! like OnePlus’s OxygenOS, but that’s and exception, not an example). So basically when you are buying a device from a company other than Google, you are buying their own software, not the AOSP that Google built. Well, the framework remains the same, the under the hood things remain kind of same, but they do change a lot of things and build their own apps like basic apps like contacts, dialer, messaging and so on, and guess what, those are often not Open Source! The thing is that, Google knows how to build software, but do these companies have same competence as Google?
Apple on the other hand, Builds everything by themselves (hardware is built by third-party but designed by them), like Google does on the Pixel devices. But not everyone is buying a Pixel! The problem is, with a device manufactured by a third party (read not Google) you get the Google ecosystem, but not the same level of experience (I’m talking about the software experience, not the camera quality or display quality).
In the recent light of Spectre and Meltdown, Apple has already issued the mitigation for those vulnerabilities, but I doubt how many Android OEMs did the same. Look, they build their own versions of Android for a ton of devices, and it’s not cost-effective for them to update all of those!
With project Treble by Google, I hope to see the situation improved a lot than this,but with constant need of differentiating and, well, copying Apple, I don’t know how far we can go.