This is going to be a little nerdy, so if you bail, that’s fine.
I’m really, really getting sick of Android as a prevalent mobile OS. I hate the naming conventions, I hate the attempts to copy other platform’s UI features and flow (while not really having a clean flow and dedicated “zen” or user flow to the platform. I still find it very clunky to use in a lot of ways…simplicity should be a concept pounded into the heads of everyone on that team. The use flow of the UI really doesn’t have a character of its own from phone to phone…and I do lay some of the blame for that on HTC and “Sense”. Sense is just a bad idea altogether, but it was born out of a dire need to make Android’s UI work better.
And it’s not like Android can say it’s a rock solid, ultra secure platform. I can cope with some UI wankiness if I feel absolutely comfortable with the stability and security of the platform. I lay some of the blame for that at the feet of Android’s masters (Google). I don’t think I’ll ever feel comfortable using Google products for anything, mainly because the way Google makes all that revenue doesn’t exactly rely on keeping customer data totally private, self-owned, and secure. As far as cloud services go, I feel a hell of a lot more comfortable with my password locked HP WebOS Synergy account than I do with my various Google accounts…and while it should be no different, Synergy doesn’t track my web footprints and remind me it’s doing so with periodic targeted advertising. While some folks probably don’t mind that, it turns my stomach and my innate paranoia kicks in. Google could run a lot leaner and smoother and be a whole lot better service…a lot of its cost is in maintaining its business model (having a legion of developers all coding away on various random research projects, giant data warehouses storing a massive amount of user history, opulent facilities…). Craigslist runs a very tight, lean ship, and while their owners aren’t exactly multi-billionares, they still provide a damn useful service and they’re never going to be in danger of going under due to having a very lean, focused, and smart business and operating model.
All that kind of contributes to the problem I have with Android. It’s kind of a catch-22…for it to remain prevalent in its current form/development model, it needs to keep getting those big Google bucks, and Google has to keep making tons of cash via data mining and ad revenue. But I also think that Android could stand very well on its own as a fully free open source project, developed in accordance to a model not unlike Linux has been (but maybe distros would be more “owned” by the phone manufacturers so they could custom tailor it to fit their devices and function more effectively). Probably not going to go down like that, though (but I bet it would resist a lawsuit from Oracle in regards to its goofball Java implementation practices, though). I only say that because it would give Oracle pause…suing Google for making money off a bastardization of their own property (Java) is one thing (and Microsoft was sued successfully for doing just that once upon a time), but how do you sue every carrier that has their own flavor of Android, modified to their product offerings? Certain companies (Sun/SCO) have tried to sue “Linux” (more appropriately, various companies like Novell with their own Linux distro) and it didn’t go down so well. Microsoft has tried to sue individual Linux vendors, but mostly for very particular reasons and most of those lawsuits don’t seem to go anywhere. Partially because a lot of those reasons are patents that could be easily dismissed due to prior art, etc. (IANAL, so I’m not exactly THAT clued in on that stuff). I think Android would benefit from the same sort of situation…given that it’s “Linux-derived”…and a fairly long distance from a puritan’s idea of a Linux distro by any measurement, I really do consider it its own OS in and of itself. I’d think its biggest threat would be potential lawsuits from Linux vendors over various features built for proprietary window managers and UI layers, but it would be like HTC suing Samsung over using some element of Sense in some Samsung custom UI, and not a broader suit against “Android” in general.
Then again, being protected by heaping piles of Google money has kept Apple and Microsoft at bay, which is impressive (though you get the feeling that if either had a clear shot, they’d take it in a heartbeat).
I still think Android has a clumsy tasking/threading system and notification system…but I’m spoiled. My mobile OS of choice, webOS, has had a near perfect tasking/notification system from the start and it kept getting better with each rev. Unfortunately, HP got its hands on it then realized that it didn’t know what to do with an operating system. Still, even with HP’s confusion (Mark Hurd seemed to know what he was doing, but apparently he didn’t explain the vision to Leo Apotheker and Meg Whitman, whom apparently thinks that vision was to put this awesome multitasking mobile OS with the best app store…Pivot…on printers in true blue HP fashion) and layoffs of Palm employees, webOS still has the best tasking and notification system simply because it was designed right from the start.
That’s another thing…when you use the best ideas you can think of, your own ideas, ideas proven by peer review and customer use tests from the start, those ideas tend to stand on their own a lot longer. When you borrow and tweak other platform’s ideas, you’re not always giving your users the best possible representation of those ideas (in part due to working around patent issues, product distinction, etc.). Which means that users will compare those features and find them lacking, and those features get reworked repeatedly. Backward compatibility and use consistency/use flow always take repeated hits as a result of this. I’ve seen so many mobile OS’s that have faded away that went down that road…Microsoft mobile OSs have run laps up and down that road since 1998. Android has really done a lot of that as well, and even iOS seems like they’re wandering down that road now. It’s better to stick to your best ideas from the start and make refinements and improvements where users request, rather than continuously reworking your platform to work more like another platform.
Whenever I trash Android for these reasons, I always get “yays” from Apple fanboys. I don’t think they realize that I despise iOS more, and am sick of talking about it. There are things I like about it. I like iOS’s simplicity. I don’t like its bloat and I especially don’t like how shortsighted Apple was in regards to making their OS safely unlockable (and this goes for Android as well, to a slightly lesser degree). The bottom line is that every smart software architect knows that end users are going to hack around a lockdown feature. It doesn’t matter how the business feels about having a boneheaded wall around their precious IP and OS…someone is going to cut a hole in that wall. What you want to do as an architect is to put a door in it right where you know where it is, and put a simple lock on it. If the user isn’t the type to know what they’re doing, they’ll give up on that lock. If the user is savvy enough, they’ll open that lock exactly as you, the architect/designer, expects. That door gives them full freedom, and at that point, they’re responsible for whatever they do. If they put bad applications on their device, you offer a way to completely reload their device’s OS.
The reason I dig on webOS is that is how they designed it. The typical user isn’t going to search the web for the Konami code and type it into the universal search to put the device into developer mode. That’s the sort of geek that probably knows what they’re doing…and the designers know exactly where that door is and how everyone gets in, so from a support standpoint they know exactly what’s going on. If someone screws something up so badly that they can’t fix it by deleting an app…well, the webOS doctor is a pretty easy to use web based utility that will completely reflash the OS onto your device. And since all your (officially supported) stuff is backed up in your cloud based Synergy profile, you just log into your profile when the OS reboots after reloading, and all your stuff gets sucked down and reloaded onto your phone.
That is exactly, exactly how iOS and Android should work. If they worked exactly like that, I’d be a whole lot less negative towards those platforms. But because they don’t work that way, I’ll still use my webOS Pre 2 and my Touchpad until I can’t find parts to keep them running anymore on eBay. That recovery capability, combined with webOS’s notifications and tasking capabilities (I mean, come on, you have a smartphone, solid notifications and multitasking are two of the biggest reasons to even own a smartphone. I’d rather have a dumbphone that alerted me properly and had gobs of battery life than a smartphone that didn’t alert me well and could swap me into, say, my email while I’m in a conference call if someone in that call sends me an important email or text message with maybe a document I need to read. And if those tasks don’t exit and clean up when I want them to exit and clean up, I start throwing my phone around. Smartphones should, by all rights, work as well as my computer. Otherwise, what’s the point of having a phone that should fill in adequately for a computer in a pinch?)
For me, it’s not just hating on the two big corporations. I simply don’t find their products currently capable of replacing what I already use…and unfortunately, Android and Apple are obviously the two largest players in the mobile OS market right now. I can only hope that HP gets their friggin act together and opens webOS up to carriers (or can build localized versions that I can flash onto other carrier’s phones! And can use either SIM cards or a standard Sprint radio board? And my own hostable Synergy server that I can admin? That would be so damn awesome…sigh. That would be a path to fully owning your own data, and just paying a carrier for their data/phone service…the way it should be, and the way the cloud should work.)
Otherwise, I have to hope that Windows Phone does something no build of WinCE, Pocket PC, Windows Mobile…has ever accomplished, and that’s to make me want to actually USE it on a day to day basis. And I develop for Microsoft.NET professionally. I’d stand a lot to gain if Windows Phone were successful…but I’ve always found its user interface unable to strike that balance between functionality and simplicity. It’s always either one, the other, or it’s doing something that just shouldn’t be done on a phone. Or it’s copying some other platform…poorly. And not copying the best things about other platforms at that.