Android Design

Google has let loose a new section of their Android developer portal -- Android Design.  It's a site full of tools and suggestions to help application developers build apps that look and feel alike, following a sort of a style guide from the folks at Mountain View.  Things like menu button location, and drawing windows and fragments should be done so that they "behave in a consistent, predictable fashion".  We're not going to argue.

Besides all the helpful hints and guidelines, there's a special section for folks designing apps that are cross-platform.  Suggestions like "Don't mimic UI elements from other platforms" or "Don't use bottom tab bars" will help Android apps look like Android apps, instead of rehashed iOS apps. 

While these are all just suggestions, apps that follow them will look like they belong on an Android device.  Conversely, apps that don't follow them will stand out -- and that's not always a good thing.  Android should start to look awfully darn pretty from Ice Cream Sandwich forward -- I'd suggest everyone take a look at the links below and have a read.

Source:Android Design; via +Tim Bray


Reader comments

Google unveils new Android design standards website


Only problem here is the fact that they wont be enforcing these guidelines. Developers and OEMs COULD follow the guidelines, but it doesn't necessarily mean they will. They need to be more strict with this. Something as simple as having the app not able to be submitted to the Market if it doesn't have these specific requests. Otherwise, they'll just end up brushing this off.

It goes against the principals of Android. If they do that then they truly are an Apple wannabe.

Right... Tell Samsung and HTC and Moto "Oh do this or else you're getting getting the Market"! . . Please...I think many android fans MisUnderstand what Google Really Cares about... which is Google Services and ADS everywhere no matter what.

Yes that's how Google makes their money. Android and all their apps are pretty much free - not a bad deal.

All Apple cares about is roping all their users into their crappy iTunes ecosystem so they can open up their wallets for any and everything.

Here's the problem with that:
as a developer, you want to let it be installable on as many versions of Android as possible. Android 2.0 doesn't look anything like Android 3.0 (no Holo UI). You try to code it up for everything, but you can only really code for the most common denominator.

You could just code for 4.0 and be on the bleeding edge, but you lose a huge chunk of possible customers still on 2.3. Android 4.0 runs older apps, but in a compatibility mode so they don't look like they fit (and it can't override stuff to force a look on the app).

It's an ugly problem and not as simple as what you wrote. Apple forces everyone to upgrade (OSX so you can develop, then you have to support the latest iOS version, and users are forced to upgrade their iDevices). Google can't force Motorola/HTC/Samsung/etc. to upgrade all their old devices to the latest version...and even if they did, the networks (Verizon/AT&T/Sprint/etc.) have to validate the upgrade before pushing it out and only after Moto/HTC/Samsung port all their special UIs to that new version and validate it.

compatibility mode? what? I dont want to be offensive, but do you know what you are talking about?

theres no "2.3" or "4.0" only unless it is based of features unavailable to previous versions.

everything is still android.

You should do what Android was designed to do: code your apps, and then if you feel you want to apply a 2.x theme, just create new resource layouts to target those devices. That's one of the nice things about Android development - UI is completely seperate from code, so if you structure your code right, you can have two completely different layouts with minimal coding.

In time, 2.x will become a minimal concern anyways.

These aren't guidelines, they are suggestions to help us developers try to make similar designs that are more user friendly. For those devs just getting in they may not have any idea how their design should look. This is to assist them by giving a general outline of what a good app looks like. Its to help devs, not restrict us. Google is in no way enforcing any of these designs, its just to suggest a common look and feel which our customers can enjoy.

Those are defently guidelines, and defently directed to all app designers, but no body say you need to follow them ;p Also note how they point out to avoid other systems design practices, telling you to make app idifing with Android designs

The tablet in the image is a Xoom with it's branding covered (you can tell by the design and the notification light on the right). So where's my ICS so I can make it look like that? :)

I like this, just as long as the "suggestions" don't turn into "mandates". Then the Google Market would become just like the App Store.

The Market needs some of this to be mandated. Apple dictates what could go in their App Store, but the result is a cohesive experience throughout all apps that the user can understand and appreciate right away. Google can more strict, but they don't have to be at the level of Apple. Just as simple as mandating what needs to be in an Android app and a particular way on how it operates throughout the app.

google could do what its doing now.

yes, apple makes for a more cohesive experience, but thats not just from denying apps, but also because there are only 3 phones to worry about.

google is making the right choices with the coming of 4.0, suggesting similar design, forcing the "holo UI" or else no google market capability.

which makes it most beneficial to follow the standard but not forced, so apps are not limited and google gets a "cohesive" experience without being pedantic.

The notification area is my biggest gripe about Sense 3.x

In a standard Android experience, pulling down the notification area feels like unraveling a scroll. On Sense, it's like you are pulling a card out of a box or something. It's especially annoying because you can't see your notifications until the entire area is revealed. When I was on CM7, I could pull down the bar half-way to peak at the notification.

Because of the bottom tabs, half the time I will go for a tab and hit the bottom of the notification area and it will auto-scroll the whole area. Really annoying.

I also dislike the "recent apps" area at the top. Really, that's now how Android is meant to be used. I'm either going to hold Home and get recent apps or find the app I want on my homescreen or app drawer.

FINALLY, a description of the Sense notification bar that makes sense. It's not the same feel as stock at all. It became a pet peeve the instant I switched from a Nexus S to a Sensation.

Oh, and the recent apps thing is going to be removed on ICS builds. That's the way it was on my Sensation running a leaked Sense ICS build.

Apps that follow this can advertise 'Certified boring menus', and the appleroids can filter on those. The rest of us can do our part to keep apple apple, and android android.

I am far from an Apple fan, but this has been one of my complaints for a while. If you have installed enough of the secondary Google apps (Goggles, Google+, etc) it is obvious the teams responsible for the web apps most likely developed the Android apps and not the Android team. There is no cohesiveness even in their own brand. I came from a Blackberry about 2 years ago and one of the things that bothered me immediately is consistency with the style/themeing between apps. On BB not only were apps typically consistent on their menu design, they were also typically consistent with how hardware keys functioned (back exited out, Home, left the app in the background). Android apps have gotten better about the latter, but it seems like every other app I download does not allow you to exit using the back button. I will be the first to admit that I like a shiny UI. On Blackberry it was easy to create your own themes, and I made many. If apps followed the style guide your theme applied to those apps as well. I have a CM7 blue theme installed on my phone and rarely is that apparent.

To be clear, those are really the only things I miss about BB. I still think Android does most everything else better. So from my perspective I am pleased that Google wants developers to use consistent style for their "boring menus" as you point it.

EDIT- Goggles was probably a bad example to use as there is no web app. I will replace it with Voice in my sentiment ;-)

Unified UI design feels clean and and following conventions in design makes you UI easy to understand and predicticble and most importently make you feel you using same system all the time. UI is thing that identifies system.

Keep in mind apps are made for casuals because they a majority, not geeks that can use to any crazy UI, one of reasons why people pick iPhone is it's ease of use good feel of UI, where in Android it's quite chaotic, it's one of first think i notice when i got my Android phone after using iPod touch for long time.

Besides those just hints and there still devs who dont care about UI design, have fun with those :p Also even with validation proces on AppStore you stillcan find crazy stuff even there

So does that mean Google will take its own advice and actually pay attention to where they put the menu button in ICS apps? Because that'd be nice.

Finally its about time !
Microsoft really did accomplish somethings with Windows Phone
First , it was the Camera Shortcut . then iOS & Android also added it .
Now the App design standards

Its always good to see the Influence of other OSs on Android to make it better

now I hope Google Follow it own guide when they develop their own Apps

In terms of the camera shortcut, maybe android did get if from microsoft. I don't doubt it, but it was my thought that they took it from the OEM skins like sense. After all, they got quite a bit from other android developers. For example, they took swiping away individual notifications from cyanogenmod.

The app design standards I think iOS had first though. Not that I care who had it first. As long as everyone has it to some extent, it doesn't matter where it came from.

Personally I think all apps that go into the Google market should be forced to follow these guidelines. Yes this would make the android market closed, however it does not make android closed, because you can always install a different market that does not enforce these restrictions. To me that is the big difference between Google and apple is that they don't force you to use Google service, if you want a different market, music store, etc install it. Try that on a apple product with out root. To me an open operating system means on open os, not individual apps and services. To me the other big advantage here would that making apps standerd makes it easy for manufactures to install there own costomizations by adding there own building blocks which can now be called by default if an app designer chooses in 4.0. If a manufacturer designs their building blocks properly there custom look won't have layout issues and inconcistencies. Personally i think this is the direction Google is headed, if not does anyone want to developed a market with me that only excepts apps that follow the Google 4.0 guidelines for us folks who love concistancy?

So you're saying for google to make it harder for developers out there by making 2 markets. That's ridiculous. How bout we listen to the fact that the site says "suggestions" and also if an app is good I don't care if it fits in with the rest. At the end of the day we theme our phones like crazy so there never will be a consistent experience.

There are already more than two markets out there. This would not be a problem for most developers because they would just follow the guidelines for the Google market. I just don't see the issue with Google enforcing some standards in their market.

So you think a delay in getting apps and subsequent updates is good? I think it's funny how a bunch of so-called Android enthusiasts are suggesting that Android become like iOS, with its app approval process and centralized control.