Let me just start off with a tiny bit of background. The first thought that many people will have when reading that headline is that I must be some kind of Apple fan-boy. I would counter that with some personal history.
I love Linux. Or rather, I love Linux in certain situations. I've used it quite extensively for years, both in desktop and server functions. I've built web servers, mail servers, DNS servers, and file storage. I've waded through the dependency tangles on the desktop and fought to get the wireless working on many many laptops. (Remember the Broadcom wrapper installation procedure? I do.) When I had a web design studio, I used Linux exclusively on my machines for roughly a year.
However, I found that when it came to daily functional use, I was spending more time making the system work than I was working at the system. With Linux, I always had some issue for which I would have to find a workaround. Ultimately, I decided that unless I was putting together a purpose-built server, I was wasting too much time tinkering with the OS.
When Android surfaced, I saw a brilliant opportunity for purpose-built devices on open-source software to excel and kick some serious butt. I ran out and bought a Nook Color and rooted it. After a week or two of playing with it, I was again finding that I spent more time getting it to work than I did actually getting to use it.
I figured it was probably just because this device wasn't intended to be used with stock Android. I had rooted it, after all. On top of that, I found the applications for the device to be all over the place in terms of quality or function, or even resolution (more on this later). I found very similar experiences with the handful of Android devices I had to support while I was an IT administrator for several years.
Around this time, I bought a first generation, used iPad for my kids to play with. It has functioned completely flawlessly and still does to this day. Every "app" I buy for it functions as advertised, and they are all designed for this exact piece of hardware, though I understand it is possible to run iPhone apps on the device. I have had zero hardware bugs.
I recently found myself in need of a portable system for writing while I travel, so I started shopping around. I was immediately drawn to the the Nexus7 v2. This thing is a piece of beauty with its amazingly high-resolution screen, thin and light construction, and fantastic battery. Google has put a lot of work into the Play store in the last couple years, which really gave me hope for the application issues. I bought one and did it happily. That part of me that hates being mainstream rejoiced in the ability to figuratively give the finger to the big evil corporation of Apple.
Today, I'm returning it and getting an iPad. No single issue has led me to this point, but rather, a collection of small annoyances has outweighed my desire to have an Android device.
1. Bluetooth is broken.
My intention was to buy a tablet for writing while I travel. I imagined myself propping this thing up in an airport or hotel room, connecting my Bluetooth keyboard, and typing away happily. Unfortunately, what I found was that Android 4.3 (what comes on the Nexus7), has an issue rendering most Bluetooth keyboards completely incapable of functioning.
I couldn't believe it. This seems like it would be a really big deal, but it is yet unresolved. A quick Google search finds that I'm not alone in this. You begin typing and the keyboard goes nuts repeating characters until it decides to stop.
2. Applications suffering from hardware fragmentation.
Google has worked really hard on the play store. I booted it up and it looked fantastic. Things were clearly labelled and buying things was fantastically easy. However, I still found that some applications were just the cellphone versions scaled up. While it doesn't take much effort to uninstall a cruddy app and hunt down another, it is still incredibly annoying. I also downloaded a couple games that crashed when I attempted to run them. I understand that this is because tons of Android devices are out there and it is impossible to build software that will work flawlessly on all of them.
3. Bugginess in both the OS and the applications
This is the biggest annoyance. The touchscreen has decided to become unresponsive at least once a day since I bought it. It will be working fine, but then suddenly finger touches don't count. I have to hold my finger in place for a second for it to register, then sometimes it will register it as multiple touches. A quick reboot fixes the problem, but that is a pain in the butt when you're trying to carry out a task.
When the tablet reboots, it goes through the process of bringing up the lock screen. I don't know about the others out there, but mine does not cleanly transition from boot sequence to lock screen, there is a flickery mess that happens. This is in no way hindering me from carrying out a task, but rather is just another notch in the "this doesn't feel completed" column.
I realize that this isn't necessarily the fault of Android, but my Netflix application has become completely unresponsive several times in the past two weeks. I have uninstalled it and re-installed it, which fixed the issue (twice). Again, not a show stopper, but a pain in the butt. Did I mention that you can't watch Amazon streaming video on it? Well, theoretically you can if you root it and install some unsupported software (which still didn't work on mine), but out of the box you can'y.
I am hoping that I got a lemon. I've owned this thing roughly two weeks and I now have a nasty dead column in the middle of my screen. It isn't completely dead, it inverts colors from elsewhere. If it had worked flawlessly for a year I could almost overlook something like this, but it is two weeks old and already carrying the baggage of the annoyances listed above.
I actually want to love this thing. It is sleek, feels good in my hand, and has a vivid and colorful screen. The sound quality is good, the battery is good, and Android is so close to being something I would hand to my grandmother with confidence. When applications work they are fast, and there's no lag in navigation at all. If I were one of those guys who had to write a review after an hour of hands-on time, I'd be gushing over this thing.
However, I'm faced with the following issues right now:
I can't work on it (I'm not writing a 1,000 word article with the admittedly nice on screen keyboard).
I can't count on it to work correctly when I pick it up.
I really hope that Google digs in and refines this product. I would love to see even half of these problems worked out. I've decided that I'm not in the market for a "fixer upper" right now. I need a device that will actually just do these things. I'll get an iPad and just accept that maybe I'm not one of the cool kids (in my crowd at least).
My experience with Android has been similar. The operating system is buggy and the hardware (I have a Nexus phone, Goog designed - Samsung made) is unreliable. My 2 year contract is running out next month and I cannot wait to replace this phone with a Nokia 920 or 1020. Android seems to be worth about as much as it costs. I will never buy Apple, not because of their quality but because I am fundamentally opposed to their philosophy of closed systems (both sw and hw).
I thought it was just my luck and I'm doing the same as you by going away from android for the same reasons.
At first I thought it was because I did the same as you, a free nook color which I then rooted with Gingerbread and then after frustration with GB I then went to jelly bean and I thought that just maybe I was expecting too much from the poor old nook.
Fortunately I had a data card for Gingerbread and jelly bean which along with the Nook made it simple to test apps on the 2 Os's, GB or JB.
With GB and JB I had almost the same issues but with different apps peforming fine under one OS while not performing on the different Os, what worked fine with Ginger Bread didn't work on Jelly bean and vice versa.
Then the screen lockups and constant rebooting, the touch screen not working with one app but then working fine on another os with the same app but then another part of an app not working and then constantly tweaking the darn thing and really holding back from wanting to use it as a skeet shooting target.
To top the frustrations off the wife picked up a dedicated androind tablet with the latest and greatest JB and it has the same issues but with differnt apps so whether its's running gingerbread, jellybean the little GREEN ALIEN is just way too buggy for me.
And of course my number 1 complaint being was that I could find only one browser that worked with flash but then the touch screen was screwy and it would constantly reboot in the middle of something while when the same browser was running under a different OS it didn't work at all with flash even though each browser claimed flash support.
To get around this problem with flash videos and the browsers I found myself booting into Nook color mode with my tablet and actually found the native nook mode really supported a lot more over wifi and much more stable than any of the android OS's.
Well, like anything else, the answer is yes and no.
No, because ideally, the Android ecosystem should be imposing rules that vendors should follow: for example, every vendor has a different camera, but from the app perspective it's just a camera that the app conencts though OS API and gets the details through that API. If the vendor wants to add completely new hardware (like a light saber or phaser ;) to the device, then it calls Google to request addition of new device type to the baseline and let Google define the API.
Yes, well of course the vendors would like to corner the market and supply their apps that work only on their hardware. How to prevent that is probably job for Google.
That isn't a horrible solution, as you said, it worked for microsoft. I wonder how different that is from what they're doing now?
Then, if the vendors are supplying their own hardware driver sets, what happens to the apps? Would this make the marketplace worse? Would it end up devolving back to each vendor offering their own apps?
I agree. Apple has control over their products, but that limits the offerings. Microsoft was software company with the huge hardware fragmentation but they controlled the OS and vendors supplied the drivers (in my mind good concept, crappy implementation).
Google should provide OS and ability for vendors to add hardware specific functions in a defined and secure way. How to do this, I don't know (I'm not even close to smart enough :).
I'm not smart enough to have a solution to the hardware fragmentation issue. I just know it causes a lack of continuity between experiences and that detracts from the entire product. If I had a clever solution I'd be pitching it to google right now.
I suppose it was software, I wouldn't call everything there bloatware especially for my home theatre system.
Kies is worse than iTunes, if something like that is possible.
We should be able to streamline Android (I even recompiled one for 7" Samsung but never had time to take out stuff that is obviously bloatware and clean up the kernel), but it seems that is not the priority for Google - the answer is put more CPU power and hope for the best.
In my mind, Google should close Android for phone vendors and allow ONLY app additions to the platform. Right now, everyone is free to add as much crap as they want and sell it to us.
I tend to write within the content management system I'm using if I'm writing for the web. Unfortunately, the online editors don't always render in mobile devices. Other than that I tend to write in plain text all the time. Gdocs covers my needs generally.
Join our online Radio Show on Friday 11th July starting at 2:00pm Eastern, when EETimes editor of all things fun and interesting, Max Maxfield, and embedded systems expert, Jack Ganssle, will debate as to just what is, and is not, and embedded system.