About six weeks ago, I decided I needed to really grok the Android platform, so I turned off my beloved iPad 2, wrapped it in a foam cover which I taped up, placed the bundle into a box which I also wrapped with several layers of duct tape, and put it in the back of the highest, out of reach shelf I could find (the one in the corner of the kitchen, where you need to have a ladder to get back there). This is what I had to do to force myself to use my Motorola Xoom, which I bought last year for testing and have barely touched since.
So, I spent the last month or so using Android exclusively. I also use a Samsung Galaxy Nexus as my phone, and both are updated to the latest and greatest version of Jelly Bean available as both devices are promoted by Google, which has some nice benefits in terms of sharing accounts, apps, etc. It's nice not to experience any sort of real cognitive effort when switching from one to the other, as they're both using the same OS. JellyBean is definitely miles ahead of the Android versions that came before it in terms of usability, design and responsiveness - I can definitely feel it on my Xoom, which despite it being a bit old now, feels faster than ever, and my Nexus just flies. Finally, it's so nice to have control over my own device's application install process, and know the platform in general is open - if I need to check out the source code, I can. There's just a lot going for the Android platform.
But despite all this, and despite using Android for weeks without touching iOS at all, I was pretty happy the other day when I needed to test something and decided to pull my iPad out of it's hiding place. First because it's silly to own a $600 device and not use it, but second I could now use the iPad again with fresh eyes, and see what it is that makes it so much nicer to use than my Xoom. Is the hardware alone? Not really. The iPad 2 is thinner and faster, but the Xoom has nicer speakers and a higher resolution screen which makes videos nicer and a better selection of ports and is more comfortable to use while plugged in.
So it must be the OS obviously... Well, not really. In many ways, iOS is more refined, without a doubt, but its limitations always drive me nuts and multi-tasking still is less than optimal. As time has gone by Android has just kept adding great features like voice-typing and Google Now and better system customization and organization in general. The Settings in iOS have become a mess - there's like 5 different places to enter usernames and passwords, let alone all the various apps. Android JellyBean is actually far more organized, letting me control syncing apps and accounts from a centralized spot easily - Google, Microsoft, Evernote, Skype, Dropbox, Firefox, Twitter, Facebook, etc. It's nice to have all that stuff centralized.
Ok, then it's the apps - iOS has way more and better apps than Android. Again, no... All the top-tier apps I want and need are all on Android now, so I haven't noticed this at all. There's not a single game or app that I was desperate for and really missed once I moved to Android. As nice as the App Store is, nothing there that's essential (to me at least) hasn't been ported already. And not only that, but the "intents" system means that I can choose which app I want to use as my default for all the basics - music, movies, email, web, calendar, etc. - which is fantastic and liberating and How It Should Work (tm).
It's the BROWSER, stupid
No, there's only one area where Android falls really, horribly, undeniably short when it comes to the tablet form factor: The web browser. It's the most fundamental tablet app, IMHO, and yet the web experience on Android could not possibly be worse.
I honestly have no idea how this is possible. Google has not one, but two Android tablet browsers, Firefox and Opera both have a pair of their own, various others like Dolphin and Skyfire have launched browsers as well, and yet... ALL OF THEM SUCK. Every single one of them. It's unbelievable. Apple doesn't allow any other choice of browser except for those using it's core WebKit engine, and yet, somehow, it's still a vastly better experience than using any of the top-tier browsers running natively on Android.
Now - let me stop here for a second and say that I'm talking specifically about TABLET browsers. I'm not talking about the experience on the phone. In fact, I think that Chrome and Firefox for Android are both amazing browsers on my Samsung Nexus. Probably better than any mobile browser I've ever used - and I've used more of them, and for longer than pretty much anyone you know. But for some reason, the experience on the tablet is absolutely miserable. There's a higher bar to hurdle when using a browser on a tablet, as there's so much more time invested, so much more information and activity involved. Tablets have the potential to be just as good, or maybe even better at the web than the PC and thus need to rise to the occasion. A great browser on a phone can be (and in reality is) a poor browser on a tablet. The use cases and experiences are vastly different, and for some reason, only Apple seems to know how to do it correctly.
OK, so let's go over the specific reasons why each and every Android tablet browser is unusable in their own special way. We'll start with what is actually the best browser for Android tablets, the default stock browser running a version of WebKit (if you don't have a Nexus 7, that is, which uses Chrome by default instead).
JellyBean Stock Browser
The stock browser is actually the fastest of the Android browsers. I could *feel* this was the case as a result of using them all, but I just looked it up and sure enough here's the benchmarks. It's actually about as fast as Safari on the iPad, from my own informal experience and the stats. This would be great, but ol' Stocky ain't so good with the multi-threading... when a page is loading it's pretty much useless until every single thing has been downloaded. If there's a script or gif or something that's taking it's time, well, you aren't going to be clicking on any links until it's ready.
Also, the stock browser isn't particularly smooth while scrolling - though this could be my venerable Xoom hardware's fault, Firefox actually gets this right and scrolls as smooth as glass on the same exact hardware, so I think it's a more fundamental problem. It doesn't really matter, as this browser is going away soon, to be replaced by Chrome, but it's important to remember how many millions of people are going to be using this browser as their default for the next several years.
Here's some screenshots of my top gripes.
1. That fixed nav bar in the middle of TechCrunch's page probably isn't supposed to be floating around with the text, but it is.
2. This is the dialog box that comes up when I click a YouTube link in Reddit. I've chose "Always" about 3,496 times thus far and it doesn't seem to ever last for more than a day or so. Basically, any time any app updates it seems to reset your default choices.
3. This is a blank page. It says "Loading...", but it's not. It's just blank... any time I have blank web page from a new tab or a cancelled tab or whatever, it just says "Loading..." as if it's going to do something. Except, sometimes it actually is loading... but that's rare.
4. These are the thumbnails on my Bookmarks page. I have no idea why tablet browser makers are so enamored with thumbs - they NEVER WORK. See that Facebook bookmark? I have no idea who that baby is. It's been there for a month or so now, but I don't ever remember seeing the baby when it passed by my stream the first time, so she's pretty much a mystery to me at this point. The other thumbnails are either blank, or contain such small text as to be useless. Believe it or not, this is one of the *better* bookmarking systems of the main browsers as it comes up quickly and is an overlay, so you can use bookmarklets.
5. Lots of sites still get confused by the stock browser and display a mobile page instead of their default site. You can't change your User-Agent, but you can choose "Show Desktop Site" in the menu. Of course it resets as soon as you close that tab, and there's no way to make it permanent.
Chrome for Android
One would think that the latest and greatest browser that Google offers would actually be better than the one that came before it, right? Yeah, me too. I actually *want* to use Chrome on Android, as it's my main browser on the desktop, and I like syncing stuff it does. But sadly, I can't as Chrome for Android on the tablet is pretty much unusable. It rocks on my Nexus, so I can't figure out how Google were possibly able to fuck up the experience so badly on the tablet, but they did. Not only is it marketedly slower than the stock browser, it also manages to have less customizability and break other features as well like the bookmarks.
Here's the screenshots:
1. I'm not sure how Chrome manages to screw up the font on this page so badly, but it seems to be the only browser that does. This isn't the only page like this, but basically the top fonts are a ton smaller than the bottom ones, for no reason. I've looked at the markup to check, and there doesn't seem to be any actual reason for the change, it just happens.
2. But you think, ok, at least the bigger text will be easier to click on, right? Ahh! You see, the Chrome team has helpfully added a magnifier 'feature' to the browser which bubbles up a section of the page which contains the link you were clicking on. It doesn't matter if you tapped the page accurately or not, it ALWAYS BUBBLES UP. In other words, you have to tap on EVERY LINK AT LEAST TWICE in order to activate it. And god help you if you mis-tap the bubble... because then it just disappears, and you're not sure for a moment whether there's just a bit of lag in the activation, or if you actually missed it.
(I would like to remind the gentle reader that activating a link has been pretty much the most fundamental part of the web since it's inception. Links are what put the "hyper" in hypertext. They are what gives us the H in HTML and HTTP... You click links to navigate, you click them to activate, you click them to read, you click them to close, etc. etc. To fuck up this basic functionality so badly takes an extra special level of incompetence that I hope you can appreciate. It is to sit back, and wonder.)
3. All other issues with Chrome pale in comparison, but I'll just go over them quickly... Chrome's settings are sparse to the point of being useless. No add-ons, no plugins, no real options to speak of. Compared to it's desktop counterpart, it is neutered in every way possible. I have to assume this will change in the future.
4. Even though Chrome does support a bit more features than the stock browser, it'll still get hung up. The images in this screenshot died for some reason, and Google pulled out the circa 1997 'dead image' icons for us to see. Wasn't that nice? Also, this page took almost forever to render...
5. And as I mentioned before, from the "if it's not broke, don't fix it" department, Chrome re-did the bookmarks. Happily, they got rid of those stupid frigin' thumbnails, but replaced the overlay bookmark dialog page with a custom bookmark web page which replaces the page you were just looking at (including the URL). This makes my save link bookmarklets - which I use daily - pretty useless. Also, where did those icons come from? Twitter's is about 5 years old, Facebook and my Magnet I think come from the apple-touch-icon.png file, but Google and Evernote don't seem to have anything (though they did, cutely, pull the dominant color from the favicon.ico to decorate the doc file border, isn't that nice?).
Firefox for Android
A month or so ago I was applying to work at Mozilla so I started doing a deep-dive on all things Firefox. I didn't get the job (same thing goes for when I applied at the GOOG), but by then I had already started well down the path of exploring Firefox for Android. In fact, in many ways, it was the reason I put the iPad away in the first place. There are some really great things about Firefox for Android, and there are lots and lots of insanely annoying and outright stupid things as well.
First the good part: The functionality *inside* the borders of the user interface is fantastic. Firefox without a doubt renders pages better, more smoothly and more predictably than any of the other Android tablet browsers. I have to admit that I had written off the Gecko engine years ago once WebKit became the dominant engine for Apple and Google. It just seemed old and crusty and I doubted that it could ever be made to work efficiently enough for more resource-constrained platforms like phones or tablets. I was completely wrong about that - Gecko is obviously keeping the pace as the page rendering in my experience just *feels* really great (if that makes any sense).
Now the bad part. OH MY GOD! WHAT THE HELL ARE THE UI PEOPLE AT MOZILLA THINKING?!?! I have been complaining about Fennec and now Firefox mobile for literally *YEARS*. But when they finally get rid of the completely moronic hidden sidepanel interfaces that you used (or more likely, accidentally activated) by swiping from the side, they replaced it with an interface that, if anything, is even *more* brain damaged. It's incredible. Year after year they continue to hose the GUI, it's amazing. Seriously, it's hard for me not to have an embolism just thinking about it now.
And worse? It's not fixable by anyone outside the core team of developers as they've moved away from the standard XUL UI system to a pure Java wrapper. I was going to get in there and whip up some add-ons because I really wanted to use the browser and thought if I could just tweak a few of it's more ugly bits it'd be somewhat usable. But after downloading the code and taking a good long look, it turns out that all the bits that suck the most are outside anything modifiable by add-ons. Want to auto-hide the tabs with an add-on? You can't. Want to add a custom tab layer across the top? You can't. Want to read or manage your list of bookmarks? You can't. The native gecko engine is contained within a new UI written completely in Java and - except for a tiny subset of functionality specifically made available via some crazy JSON passing interface that I truly *hope* has some sort of legitimate reason for being - you can't modify the UI with add-ons. Joy.
I was only able to develop one of my original list of tiny tweaks that I wanted to create as add-ons (auto-closing tabs, organizing bookmarks, adding an existing bookmarklet to the menu, shrinking the size of the side tab bar). I was able to add a Search menu item to the selected text dialog box (I had to write it twice, as the functionality I was tweaking had changed between Beta and Nightly and I wrote it for nightly). I submitted it to the Firefox Add-Ons site - you can download it here: https://addons.mozilla.org/en-US/android/addon/search-selected/.
But it's not just the customizability of Firefox for Android that's the problem. There are core issues that are in desperate need of fixing. Let's take a look at the screenshots, and go over each one...
1. There's a lot here to look at. First is simply the layout of the screen itself. Hard-coded in the Java portion of the UI is a test to see whether you're using a tablet or not, and if you are, permanently puts the tabs on the left. In portrait mode, as you can see, putting the tab thumbnails (again with the thumbnails... why?!?!) on the side takes up an entire QUARTER of the screen. And, like Fennec from days gone by, rather than being an overlay, or shoving the browser screen to the right beyond the side window, the tab bar comes out and the browser page is reflowed into the area shrunk to fit the 3/4's width left over. Most Android tablets so far have a 16x9 format screen, which means that the width of the page is now just 600px across and as you can see, makes the page generally unreadable.
Note that the side tab panel is stuck open or closed - there's no auto-close feature that's exposed to the add-ons, so you either have to suffer with reading your page in 3/4 screen width, or constantly be opening and closing the tab bar manually (re-flowing the page *every single time*). That is if you want to read the screen in portrait mode. Though I prefer portrait reading and would like to think most people are like myself, I'll say for sake of argument that 50% of the people won't mind the tab bar because they read the web in landscape mode. That simply means that Firefox is useless to half the people who want to use it. I can't imagine that's on a slide deck anywhere within Mozilla's headquarters, do you? "50% will think our browser is great. The other 50%? Will hate it." Great job!
But let's take a step back for a second... WHY are the tabs displayed as thumbnails anyways? Why do they take up so much room? Exactly ZERO of the most popular desktop browsers use thumbnails in their tabs, why in the WORLD do browser makers think that resource constrained devices like phones and tablets want them? They make *no sense*. And what the hell is that giant number doing in the toolbar? Do the designers at Mozilla really think it's a great user interface to have the number of open tabs in such a prominent spot? "Hey, look at that I have *1* browser tab open. Now I have *2* tabs! Yay! Wait, ready... now I have *3* tabs!! Good thing it's at the TOP OF THE BROWSER in a GIANT FONT so I don't forget! Did anyone actually test this on sane people? "Hey, what do you think of the gargantuan tab counter there, pretty good hey?" Maybe if the tab bar design wasn't so badly implemented, the count of tabs wouldn't be needed...
Wow, that was all in the first screenshot... next.
2. Despite having to having a comically over-sized "awesome" bar at the top of the screen, for some reason the Firefox UI devs couldn't work out how to fit both the title and the URL into that space. This is VERY VERY VERY BAD. See this screenshot of CNBC? It's not CNBC - it's an actual link I got just this week in my email via a friend who's account somehow got a virus or hacked or something. It looks like CNBC, but it's actually some scam site. If you could see the URL, you would know this. There is no reason to *ever* hide the URL. Even Apple who are constantly paring down their UIs to the most simple, non-techy version possible, has kept the URL address bar in all their browsers. It's a *fundamental* part of a web browser and you can't hide it. EVER. Seriously, this is the dumbest thing I can possibly imagine a major browser vendor doing.
3. If the above wasn't bad enough, the bookmark situation is ridiculous. It takes at least two clicks to get to the bookmarks - via a new tab, if the tab bar is already open, otherwise you have to open it, or by clicking on the address bar, then clicking the bookmarks tab. The bookmarks are totally non-adjustable. They might be synced (as mine are) to Firefox on the Desktop, but whatever order they appear in is completely out of your control. And despite the "Desktop Bookmarks" folder at the top, there doesn't seem to be any use of folders beyond that, making all of your favorites complete chaos.
4. Are you done with this tab? Want to close it? You can't. It's the last one. You have to open up a new tab before you can close the old one. Why not just reuse the page? I don't know. Why not just let me close the damn thing? Maybe I'm in a hurry to make sure an onlooker doesn't see me checking out the Deviant Marmalade Goat Porn Review site I was just browsing. Maybe I'm just lazy and can't remember where the hell the bookmarks are. Who knows? Maybe because every other time I'm done browsing a tab, I close it with the X button and it creates a cognitive issue every time I hit the end of my tabs and am confused why I can't continue to close tabs... Just fucking fix it.
Opera for Android
Opera's pretty much a lost cause, sorry to say, so I won't focus too much on them. Pages load slowly and have lots of issues, there's no way to set the font size beyond just a "zoom" option, there's not many options and zero add-ons or plugins and the whole GUI is basically just a sized-up version of their mobile browser rather than one made for a tablet. It's just not ready for prime time at all.
1) First screenshot you'll see that clicking on a link while zoomed out, highlighted the link (rather than activating it) and zoomed me in. So apparently I need to re-click that link to make it work. Almost as bad as Chrome's bubbles.
2) The font size is defaulted to "make my eyes bleed tiny". It is nice that they give you the option to always wrap the text, so as you zoom in, the page doesn't go off to the right, but is instead reflowed at the closer zoom. But in general it's a pain.
3) Despite having the User Agent set as Desktop, sites like the New York Times still see the Opera browser as mobile. Opera isn't setting the User Agent to be EXACTLY like their desktop version or there's some other headers slipping through (like one marking the client as using Android) which is causing sites to treat the browser as mobile.
4) Like the iPhone did for a few years, fixed navigational elements cause the browser real issues, and you end up with crap floating all over your page as you scroll before it snaps back into place.
5) The Opera guys apparently don't even test their mobile browser on their own websites... The background from the blog that ANNOUNCED THE NEWEST VERSION is all hosed, flopping up and down as you scroll. How do they not fix this sort of thing first - I mean, it's their OWN SITE. Either fix the site to make it at least seem okay, or preferably fix the browser.
So despite the fact that Android is a decent OS for the tablet, and that the world's top browser makers outside of Microsoft and Apple are building browsers for the platform, the experience is somehow a miserable mess. It shouldn't be a surprise to anyone that 92% of the web traffic from tablets comes from iPads... It's just a painful experience. If Google wants to have Android tablets seriously compete against the iPad (and the upcoming iPad mini), they've got to get their act together and produce a decent TABLET browser. My only thought is that maybe the people at Google developing the browser simply don't *USE* Android tablets regularly. If they did, on a daily basis it wouldn't be like this. Maybe now that Nexus has launched, and other bigger tablets are close behind that Google has more control over, they'll give it the time and effort needed. They better.
And if Mozilla wants to get any traction on Android and other mobile devices, they've got to get control of the team that's making the sort of disastrous design decisions that went into making Firefox for Android, and get them back on track to creating a professional, use-it-every-day-all-day browser for tablet devices. Because honestly, now that I've seen what's going on under the covers of Firefox for Android, I have nothing but serious skepticism about their ability to create a mobile OS UI that isn't going to suck equally as badly. I already see some of the same insane designs being re-used and it doesn't bode well. Giant tab counters, cutesy thumbnails and sliding tab bars may all seem beautiful on a PowerPoint slide or in a quick video demo, but regular people aren't going to put up with that crap day to day. And when the first large-scale scam hits the Firefox OS users getting them to enter private details into a fake bank site or something because the URL was hidden, make sure you remember where you heard about it first.
Honestly, this is pretty important.
I don't generally dislike Apple, but I do think it's unhealthy for them to have such a massive lock on the tablet market. Tablets are the most important device to come along in a generation - even more important than the smartphone IMHO. Tablets are our personal information, entertainment, education and communication device which every school kid through to every retiree on the planet will have in their bag sooner than later. And the web browser is the most important part of that device - it's a portable window into the rest of the world, accessible by simply touching a screen. The browser has to work and work well, and not be dominated by a single company or platform. The fact that browsers suck so badly on Android tablets means that the benefits of competition - lower prices, wider availability - are being lost as people buy these devices and eventually abandon them as not worth the effort.
But if the browser doesn't suck, then no matter what, the tablet is useful. There are Android tablets being sold in places like Toys R Us now for less than $100 and the reality is that many of the children getting one of these cheap-ass devices just don't have regular access to a mobile phone or a PC or maybe even a library or a decent school. If, at the bare minimum, they can get a decent web browser on it? Then it won't matter how customized, or cheap or commercial the rest of the system is - they'll be able to have access to the entire world. So it's not just about Android beating Apple, or dominating the tablet market and all that other stuff, it's simply about the providing the core web functionality now, so that it starts to permeate out to the rest of the world as soon as possible. Already there's been millions of Android tablets sold, and each one that has a less-than-optimal web browser is a missed opportunity.