In my reviews, I frequently abuse and pick apart TouchWiz, Sense, and MotoBlur. I point out flaws, say "that's stupid," and wonder what the heck was going on when someone approved whatever half-baked change they've come up with. A lot of the UIs shipping on phones today are bad.

But it's not just the 3rd-party skins. Stock Android isn't perfect either, and that's what we're here to talk about today. Jelly Bean has all sorts of confusing user interfaces, weird bugs, things that don't make any sense, and things that desperately need polishing.

I criticize because I care - that goes for Sense, TouchWiz, and MotoBlur too. I want the Android user experience to be good, and this is a big component in making it better - open, honest discussion of what sucks (and, hopefully, receptive developers). If you always think everything is awesome all the time, and that polish, "nit picking," and user experience don't matter, then you turn into desktop Linux. No one wants that.

First though, a few ground rules. I'm not going to talk about just Android. Any reasonably popular Google app is fair game. Gmail, Maps, Voice, Docs, etc. - the big ones that you think about when you think "Android." So let's get to it. Jelly Bean and its assorted Google Apps are going in front of the firing squad. These are the things that are wrong with Android.

I Never Have Any Idea What The Back Button Will Do

Here is a screen cap from Google's official Galaxy Nexus User Guide (PDF), explaining what the Back button is supposed to do:

So the Back button should open the previous screen. Use of the word "History" makes me think it should work like the back button in your browser. Boy, would that be awesome. There are so many times when that just doesn't happen.

The back button is broken in a million different ways. Here, I'll show you.

Sometimes It Goes To A Screen You’ve Never Been To

Open an email from the Gmail widget, then hit back. According to the manual, you'll go back to the previous screen, which would be the home screen. You don't. You end up at the beginning of your Gmail inbox. That's not the previous screen; that's a screen I've never been to. That's incredibly unexpected. A second press will take you where the first one should have: the Home screen.

Sometimes It Works The Way It Should

Since we can't believe the user manual, let's be smart users and learn from this interaction: the Back button takes you to the "main page" of an app, then a second back press will get you to where you were - lesson learned.

Ok, so, with our newfound knowledge that Back actually takes you to the main page of an app, let's take a screenshot! Open your screenshot notification and you'll be viewing it in the Gallery. Now, from here, back should take you to the main screen of the Gallery, right? Gmail took you from a message to the main page, so Gallery should do the same.

Nope! Gallery closes. This time, the back button is working as the manual states, and just takes you to the previous screen. So here are two Google apps that treat the back button completely differently. What is a user supposed to think?

Sometimes It Skips Several Previous Screens Entirely

We’re going to McDonalds! Screen 1: I’ve searched for it; I’ll click on this MickyD’s to see the info. Screen 2: Ok, looks good, let's get directions. Screen 3: Navigate! Screen 4: No wait! I picked Driving Navigation but I actually need Mass Transit Navigation, let me just hit back and change that (and hit ok on the "are you sure" message). Screen 5: We’re back to… screen 1?!

Yes, here, the back button completely skipped 2 screens of UI for no reason. My search was over, and I just wanted to hit back and change the navigation settings, but the Back button threw me all the way back to my search results. It also zooms out for some reason. This is even more frustrating when you take mass transit, because then the "directions" screen has all sorts of settings. Settings that you had better get right the first time.

Sometimes It Takes You To A Screen You Opened Hours Ago

Things get even murkier when you add 3rd parties into the mix. Before we try this one, open the Play Store, hit menu, go to "My Apps" and pick an app. I'll go with Chrome. Now hit the home button and you're primed for some Back button mayhem:

Screen 1: OK, so, here's Beautiful Widgets, the #3 paid app in the Play Store, and owner of a "Top Developer" badge. Let's tap it and check it out. Screen 2: Oh, a popup that takes us to the Play Store. Ok, hit "yes." Screen 3: Actually, on second thought, let's hit Back and read that message again...

Wait. We're looking at Chrome now?!

Remember, Chrome was the last thing we opened in the Play Store, so for this particular quirk, the Back button goes to that. If things followed the user manual and went to the previous screen, we would be looking at the Beautiful Widgets popup. If you've got a lot of RAM and processes never die, looking at Chrome in the Play Store could have happened several hours ago, and you would be thoroughly confused.

This doesn't even go up a level in the Play Store's navigational hierarchy, it just throws you into the Play Store back history (a "Back Stack" in Android developer lingo). Hitting back a second time takes you to "My Apps," and a third Back will load the main screen of the Play Store. Where did Beautiful Widgets go? We are just totally lost now.

Yes, I know this is probably Beautiful Widget's fault, but why is Google letting developers screw with the back stack in the first place? If it is only supposed to "open the previous screen," like the user manual states, why would developers ever need to mess with it? “The back button loads the previous screen” is the only way this button should ever function if you want users to understand it. Have the system keep track of back history and don't ever let anything change it, and you'll have a consistent, understandable button.

Right now, "Back" is a seemingly random command that takes you to something sort-of related to what you've been doing in the past few minutes. You never quite know where it's going to go, or which quirk it's going to exhibit this time. Every single time the back button does something other than load the previous screen, it is incredibly damaging to the user. When you aren't quite sure how a button works, each time is a learning experience, and all it ends up teaching you is that the Back button is a totally unpredictable, inconsistent mess that shouldn't be trusted. I firmly believe that Andy Rubin himself could not reliably predict what the back button will do at any given moment. It's a mess.

This is not a "new vs. old" comparison of Google Maps. The left picture is Google Maps 6.11.1, and the right picture is Google Maps 6.11.1. Both of these shots are from the same application running on the same phone. The left shot is the layers menu in regular map mode and the right shot is the layers menu in navigation mode.

Google has just totally forgotten to upgrade Navigation through two versions of Android now. Google Maps is a flagship Android app, and some of it is still Gingerbread-themed. How can you go around tell people to upgrade to Holo (the name for the ICS and above theme) when you don't even do it on all your apps?

Same thing goes for the menu button; this is an old-school Gingerbread menu. Navigation actually has both Gingerbread and Holo menus. Hitting "More" will bring up the normal layout.

There is just so much wrong with Navigation's design. Just look at these two pictures, and tell me if the UI matches. Android doesn't used rounded gradients on everything anymore. Things are supposed to be flat and clean looking. Check out how regular Maps, on the right, handles the UI elements. Do that. Flat, semi-transparent backgrounds would look great. These two screens are from the same application - they need to look like it.

See that button in the lower right? That's also not what a menu button looks like anymore. This is trying to emulate the hardware menu button symbol you see on many older devices like the Nexus S, but the vertically-stacked lines were replaced with vertical dots in Ice Cream Sandwich.

The Recent Apps List Gets Confused

Recent Apps can't keep its thumbnails, icons, and apps straight. Sometimes it will say one app, and open another; sometimes it will have the name and icon of one app, and the thumbnail of another. Things can get seriously confusing. Here are some examples. Feel free to follow along.

Open up any browser, and search for an app, like Angry Birds. Find the Play Store link and open it in the Play Store app (not the browser). You're now looking at Angry Birds in the Play Store. Great.

But now, hit Home and check out your recent apps. You get your browser's name, and your browser's icon, but the Play Store's thumbnail. Here you can see it failing in Chrome and the stock browser, so it's definitely an OS-level bug. I'm pretty sure you can replicate it with any link from any app (Talk, Gmail, Text, etc.).

Ok now, pop quiz: If you tap on one of these hybrid entries, what do you think will open? It says "Chrome," but the thumbnail is of the Play Store. So which is it? It doesn't really matter. It's broken and confusing and should be fixed. For the record though, it's the Play Store. The thumbnail wins.

Oh, but don't go thinking "The thumbnail is always right" is a rule or anything. Here's a totally different way to break Recent Apps. Find an email with a picture attachment and hit "view," you're now looking at your picture in the Gallery. Hit Home and check out your Recent App entry: It says "Gmail" and has a Gmail thumbnail. So it's going to open Gmail, right? Nope. It opens the Gallery with your image.

This is all especially ridiculous when you see it with the transition animation:

[EMBED_YT]https://www.youtube.com/watch?v=8eMaj8-4TSY

[/EMBED_YT]

The thumbnail starts as Gmail, begins to expand, and then fades into the Gallery. And no, you weren't seeing things, occasionally (especially with slow animations on) this causes a crazy tear to happen mid-animation, because, understandably, Android has no idea what the heck it should do when this happens. Sometimes System UI will even crash, and the software buttons and status bar will go away completely.

Sure, in this example, Gmail is only a back button press away, but you could go further down the rabbit hole and do things like hit the menu button and start doing image editing, and the thumbnail would still be blissfully unaware that Gmail is now the Gallery. In the Angry Birds example, you navigate all around the Play Store and the Recent Apps listing will never update.

It's never ok to tell the user you're going to do one thing and then, when they tap it, do something else.

This bug also gets seriously confusing when you do something like open a YouTube link from Google Reader. Say I get interrupted in the middle of my YouTube video and have to jump out. Even though I was using YouTube, there's no YouTube thumbnail in recent apps. Where did my video go?

Icons Will Open The Wrong App

[EMBED_YT]https://www.youtube.com/watch?v=5FiTRsvEIJg

[/EMBED_YT]

Here's some really basic UI functionality that I can break: I can make an icon open a different app. The most popular apps that do this are Google Maps and Latitude. So, if you'd like to follow along, grab yourself some shortcuts.

Tap on Maps, Maps will open! Great. Now, hit Home and tap on Latitude. Latitude will open. Everything's good so far, hit Home again. Now tab the Maps icon again. You don't get Maps anymore, you get Latitude. You will always get Latitude until you close it. So the Maps icon will open Maps, until you open Latitude, then it will open Latitude. The same trick works with Google+ and G+ Messenger, where the G+ icon will open G+, until you open Messenger, then the G+ icon will open Messenger.

This is incredibly disorienting, especially when, like with the Beautiful Widget/Play Store bug, this could have happened hours ago on a modern, high-RAM device.

There are three Android quirks going on here that make this possible.

1) Android icons work differently than every other icon ever made, in that, if the app is already open, it will switch to it and load the last-used screen instead of opening a new instance and showing you the default opening  screen. Sometimes, there is no difference between opening a running app with an icon and using recent apps.

2) Android presents Maps/Latitude and G+/Messenger as separate apps to the user, when to the system they are the same app.

3) This would all actually be fine if the icons worked the same, but they don't. Latitude will open the existing Maps process and force the display of the Latitude screen, while Maps will open the existing Maps process, but it doesn't force the display of the default Maps screen. So once you open Latitude, Maps opens Latitude. The same goes for G+ and Messenger. Apps like this should really force a consistent opening screen. Recent apps should be for switching to an app and saving the screen state. Icons should always open a certain screen.

No Two Icons Are The Same Size

If you’ve ever thought two icons looked “weird” next to each other, this is why – icon sizes are all over the place. The tallest, the Google Maps “Local” icon, is 94 pixels high on a Galaxy Nexus, while the shortest, Movie Studio, is 72. A 22 pixel swing is not ok. Local is 30% bigger than Movie Studio!

There isn’t even a single dominant icon size – it’s a pretty even distribution from 72-94 pixels. This is like, interface design 101 stuff. Make everything a consistent size. The varying text heights are from the icons centering themselves, that’s not consistent either.

This mess of iconography is particularly noticeable in the home screen dock, where things like the above picture are possible. Some icons just don’t “look right” next to each other. These are all stock icons that come with the phone. Heck, the two on the right are from the same app. Yes, Google Maps somehow managed to include both the tallest icon and the second-shortest icon in my survey. Amazing.

You people make Android design guidelines, follow them! Surprisingly, the Android Design Guidelines don’t specify an icon height. They give launcher icon dimensions of 96x96, but then say “You can also include a few pixels of padding in launcher icons to maintain a consistent visual weight with adjacent icons.” Translation: “Eh, whatever, just eyeball it.”

NO! Bad Google.

The Google Voice Icon Makes No Sense

Speaking of icons, this one kind of makes my head hurt. On the left is the first screen that pops up when you click on Google Voice. It's your text inbox. Voice will also show you missed calls and voicemails (so will the phone app), and the initial setup will hook up your Google Voice phone number, but I think we can all agree that, day to day, this app is used for texting. Right? Good. So then, what the heck is up with the icon?

So tell me, those two icons in the center, if you've never used Android before, do you think you'd be able to guess which one was the phone and which was for text messages? They look like the same thing!

If this is a texting app, why is it called "Voice"? Why is the icon a picture of a phone? This app doesn't make phone calls. I recently switched my Dad over to an Android phone, and I always feel like an idiot when I have to remind him of this: "The texting app is called "Voice." It's got a picture of a phone on it, in a speech bubble."

How is a normal person supposed to keep this straight? I understand why it's called Voice, because I know the history behind the app and I know what the desktop version does, but normal people don't know that, and it's ridiculous to expect them to.

The Play Store Doesn't Remember Your Scroll Location

Open the Play Store and search for something; I'll go with "Clock Widgets." Scroll down a bit (note the scrollbar location) and pick an app. Now hit Back. You're back to the top of the list. It totally forgot your list position.

Every list in Android remembers your location except for this one - even other Play Store lists.

Google Music Has No Status Bar... In Landscape

This one makes me rage every. single. day. Why is Google Music a full screen app?! It has no status bar in landscape. Is dealing with a notification while listening to music an unheard of use-case or something? This isn't a video game, sorting through music does not require my full attention. Taking away the status bar in a regular app is completely crippling and makes me never want to open music in landscape.

I use my phone in a car dock (while stopped) all the time. If music is open and you get a notification, you have no easy way of dealing with it. You have to leave the music app just to see what the notification is. This is completely ridiculous. Google Music breaks one of the core UI elements of Android.

Portrait, for some reason, is completely ok with having a status bar. I have no idea what was going on when they decided to do this.

Gallery is the same way. No status bar in landscape. I don't browse through the Gallery that often, but it's not acceptable here, either.

Horizontal Support Sucks

Landscape mode was introduced pre-Android 0.9, and, something like 10 versions later, it has yet to trickle down to every app. Most notably the launcher, app drawer, dialer and answering a call. Do you have a horizontal car dock or kickstand? Did you want to launch an app or answer a phone call? Good luck with that.

Google+ Instant Upload, if you don't know, automatically uploads every picture you take to a private Google+ folder. If you use Google+, it makes sharing super easy, and if you don't, it's a free, automatic, unlimited picture backup that you should really take advantage of. When they launched this feature, they decided to sort-of integrate it with the Gallery.

The Gallery displays your instant upload pictures, and that's it. You can't delete them, you can't move them around, you can't edit them or do anything you can with a normal picture. There is only a teeny, tiny Picasa icon denoting this, and I bet no one understands that.

Automatically uploading every picture obviously makes this folder pretty spammy, and just about everyone with an Android phone has asked me "How do I delete pictures from this folder?" The sad answer is "Go find a desktop computer and log into this website," which makes absolutely no sense.

This has the bonus effect of storing picture in two places on your phone, the camera folder and the Instant Upload folder. So for most people, pictures that they think have been deleted aren't deleted. I can just imagine all the panicked, late-night Googling from sexters that suddenly discover their thought-to-be-deleted dirty pictures are permanently stuck on their phone. If you're going to integrate something, Google, go all the way. Don't show people pictures they can't delete.

Instant upload is the most obvious example of this, but it happens to a million other Google services too. Have a Blogger blog? You'll have an untouchable album in the Galley. You also have untouchable albums for G+ Posts, Google Maps Picture uploads, G+ Albums, and Instant upload will spawn a new album every 500 pictures. All in all, I have 15 albums in my Gallery, 3 are from the phone that I can touch, 12 are untouchable, pointless crap.

Small Things That Give Me A Headache

Yes these are small, but when people say things like "iOS is more polished than Android," this is what they are talking about.

Jelly Bean Broke The Menu Button Glow

Jelly Bean changed the color of the software button glow from blue (in ICS) to white. The problem is, when it came time to do this, they updated the glows for the big buttons and copy/pasted it over the Menu button. This looks terrible. The Menu glow used to be smaller and sensibly sized; now it overlaps the other buttons. This makes my OCD hurt. *twitch*

GTalk Messages Are Buttons That Don't Do Anything

Every message in Google Talk is a button. They turn blue when you tap on them... and that's it. A tap doesn't actually do anything, and neither does long press. Maybe someday you'll be able to long press and get some options, like copy text, but right now they are just pointless.

This probably happened because Google Talk was obviously a copy of Messaging, and Messaging actually has some long press options.

This Calculator Button Is Broken

OK - Calculator. Notice the delete button: A nice, uniform size that's in line with the other function buttons. Now, do some math and hit equals, and "DELETE" changes to "CLR."

Two things: 1 - Why is the button bigger now and out of line with everything? "Delete" is 6 characters and "CLR" is only 3. CLR doesn't need a bigger button. And 2 - Why abbreviate "Clear" with "CLR"? "Clear" is 1 character shorter than "Delete" - you could have fit the whole word. Go with all full words or all abbreviations.

Note: This doesn't happen in ICS, it's actually a Jelly Bean regression.

The Uninstall Interface is Half Popup and Half Full Screen

This cool little popup uninstall interface was added to Jelly Bean, but they only changed half of the uninstall interface. You still get this huge, empty, screen-filling UI during and after the uninstall. On the Nexus 7, you get a little window for both interfaces, and it looks much better.

The On-Screen Button Rotate Animation Is Completely Wrong

Why do the buttons move during the screen rotation animation?! They don't actually go anywhere! They start at the side, rotate downwards, and are replaced by a second set of buttons.

Go open the camera app and rotate it. The icons rotate on their axis, they don't move out of position because they don't change position. This is misleading, confusing, and it looks broken. The whole black bar should stay and the app area should rotate.

Contact Pictures STILL Look Like Ass

An old favorite from way back in 2009. Still unfixed. ICS and above is designed for 256x256 contact pictures, which is probably too low of a resolution. Google Contact Sync likes to hand out 96x96 images, which are way too low. Artem admirably tore this issue apart right here, after Google claimed they fixed it.

There Is No Way, Anywhere, To See Your Purchased Apps

Yeah, so, tell me, what apps do you have purchased in the Play Store? You used to be able to tell, but at some point a Play Store update happened that wiped out that feature, and currently, for months, there has been no way, anywhere, to see what apps you have purchased. Personally, I have no idea what apps are floating out there that I've paid for. It's gotten so bad that people have taken matters into their own hand with things like the Legacy Play Store.

Google Makes A Million Texting Apps

Google is the Baskin Robbins of texting services. You want to send a text message to a friend? Pick your poison: Messaging, G+ Messenger, Google Talk, or Google Voice. Messaging is for sending carrier text messages, G+ Messenger is for Google+ messages, Talk is Google's multi-platform IM service, and Voice is Google's carrier texting replacement. All of these do basically the same thing with slightly different UIs.

App Navigation Styles Are Diverging

The picture on the left is the "normal" way to navigate and switch accounts in ICS and above. You tap on the current location (in this case, "Inbox") and a drop-down appears. This style is used in Gmail, Email, Maps, Calendar, Drive, Talk, and Voice. Google+ and YouTube, however, were recently updated with this crazy side-menu thing that pops up when you hit the app back button (the app icon in the top-left).

I like this design, I really do - the problem is that these two apps use roughly the same idea but implement it in totally different ways. YouTube doesn't slide the top action bar over, while G+ does. In Google+, tapping on the icon opens and closes the side bar, while on YouTube, it will only open it. YouTube's side bar can be opened and closed with a swipe gesture, but G+'s can only be closed with a swipe. It's just a mess.

Conclusion

Android still needs a lot of polish. There is hope though, one of the coolest things about Android is the phenomenal rate at which it improves. Just over the course of writing this article, I've had to remove some complaints because they were fixed.

Google Drive, for example, had an incomprehensible paste icon, and in the latest update, it was revised to a more normal, clipboard-style icon.

Since Matias Duarte took over Android design, consistency and UI issues like this have significantly improved. There's still plenty of work to do, but Android is in good hands. Things are loads better than they were a year ago. Hopefully stuff like this gets fixed, and we all end up with a prettier, more user-friendly, more cohesive Android.

Ah. Well. That was cathartic. You should try it! Let's have a hate-fest in the comments. Tell me, what bothers you about Android?

Update: Matias Duarte commented with the following:

It's true, we still have a lot of work to do. Personally I feel like I've gotten only about a third of the way to where I want to be with regards to consistency, responsiveness, and polish.

Better get back to work!