It's a sad day when my only reason for liking a platform is that it isn't Microsoft or Apple, and indeed it inflicts great damage on Microsoft and Apple, two companies I despise with a passion (for moral reasons), along with their products (for technical reasons).
That's pretty much where I am with Android. It's not Microsoft or Apple, and it actually hurts them. A lot. Oh, and it's Free (in the important sense). But beyond that I don't have much good to say about it.
My first gripe is that it's Java (OK, Dalvik) - a horribly bloated, inefficient and insecure platform. Yes, it also happens to be the No.1 programming language (Java anyway), for some unfathomable reason, but the entire premise of software "virtual machines" is frankly an abomination, and one whose only real benefit (portability) is rarely exploited anyway, thus making it utterly redundant. Give me native binaries compiled from C any day, with hand-optimised assembler on the time-critical functions. How hard can it be? Seriously.
The second problem with Android is its Filesystem Hierarchy is a joke, a mess so obscene it makes my eyes bleed just looking at it. Trying to drill down into that mess to find something is like trying to find a needle in a haystack ... that was ripped apart by a tornado ... after a fire. And the obscene obfuscation doesn't end there - just understanding the boot process is a black art, and that's before even touching any of the proprietary roadblocks manufacturers erect to stop users committing the "heinous crime" of accessing their own legally-purchased property.
Indeed, despite the ostensibly "open" nature of Android, certain key facets of the platform remain shrouded in mystery, and trying to get any information about them is like trying to squeeze blood from a stone, accompanied by an eerie silence and dark foreboding, as though some unspeakable evil might be unleashed in the process. Just look at some of the many unanswered questions on XDA Developers Forums for examples. That's the inevitable consequence of tainting Free with proprietary, I guess. Half the time you don't know which is which, until you try to get any information about it, at which point the software equivalent of the Stasi turns up and gives you a cold, menacing stare, and your delusions of freedom are brutally shattered.
Another problem is Android and its apps seem to spend an inordinate amount of time "polling" things, both on the local filesystem and remotely over the network. I've yet to analyse this beyond a cursory glance, but I'd wager that most of this "polling" is utterly redundant, at least from the perspective of it being of any benefit to the user, and is most likely a consequence of DRM and advertising.
The end result of all this bloat, DRM and obfuscation is an unsurprisingly slow system that's virtually impossible to diagnose and fix in place, or even use with any acceptable degree of flexibility. What part of "my property" don't these manufacturers understand? Give me root, dammit, straight out of the box! Better yet, give me an OS that isn't bloated, obfuscated, slow and riddled with security vulnerabilities, despite the anti-consumer DRM junk plastered all over it.
Oh wait, we already have one of those, it's called GNU/Linux.
So remind me again, why did Google need to reinvent the wheel with Android?
It boggles my mind that these multi-core, multi-gigahertz machines run slower and multitask less efficiently than an 8MHz Amiga from the 1980s, a machine that also benefited from a battery-backed clock - something else oddly missing from most Android devices which, as I've only just discovered, apparently can't even tell the time without a network connection. This is why files created by Android recovery managers (e.g. TWRP, CWM) are all dated 1970, ironically enough, given that 70s operating systems were probably more advanced than Android - in every way that actually matters, anyway.