Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News Google’s Guidelines for Creating and Publishing Android Apps

Google’s Guidelines for Creating and Publishing Android Apps

This item in japanese

Google has published “The Secrets to App Success on Google Play”, a playbook meant to educate Android developers on creating applications that have greater chances to be appreciated by users, downloaded by more people and obtain better results.

The 80 pages booklet addresses several areas: Publishing, App Quality, Improving App Discoverability, User Engaging and Retaining, Monetization, Using Analytics, and Going Globally. While some of the advice is obvious, such as “Why You Should Use Google Play”, other is useful to be outlined or repeated, especially that on design and quality. Following we will provide excerpts from this guide.

Android Design. Google recommends abiding by a number of key design principles:

  • Follow the overall Android navigation: navigate a hierarchy with Up and a history with Back, use deep links from home screen widgets and notifications.
  • Place your app's main navigation options in a navigation drawer. If you've three or fewer main sections in the app, show tabs just below the action bar instead or use another pattern.
  • Use the Action bar to give users access to app views and important actions, and use tabs or a spinner within the action bar for navigating within the current screen.
  • Make your app pure Android; use Android UI elements and icons, don't use a bottom tabs bar, don't hardcode links to other apps, don't use labeled back buttons, and don't use right-pointing carets on line items.

Material Design. Google has been insisting a lot on this new design introduced with Android Lollipop, making some consider that they finally have come with a unified, well-thought and appealing interface. It remains for developers to use it. These design principles are covered in great detail by the Material Design website.

  • Apps are not flat, nor skeuomorphic, but “tactile.” UIs consist of pieces of “paper” at varying elevations.
  • Use shadows to subtly indicate surfaces, but don't use them on foreground elements such as icons (which are "inked" on).
  • Surfaces should have single-color backgrounds.
  • Promote the key action on a screen by using a circular floating action button.
  • Use a standard Android action bar with color and typography for branding (not an app icon or account name).
  • If there are tabs, they should be visually part of the action bar and shouldn't have separators between them.
  • Have a primary and accent color to call attention to specific elements, such as circular floating action buttons.
  • Other than avatars, images should run edge-to-edge and can even appear behind the action bar or status bar.
  • Movement should help communicate what’s happening in the UI or add delight to smaller-scale transitions; don't use movement just because you can.
  • Animations and transitions are fast, generally less than 300ms.
  • Use ripple effects to indicate touch and use a “hero” transition to take a preview, like a photo, to it's detail screen.
  • Use animations transition between icon states or text states: a “+” sign spins into an “x” symbol.
  • Uses responsive design to ensure screens lay themselves out appropriately on any screen size, in any orientation.

Launching. Google advises on launching an application on all form factors –phone, tablet, Wear, TV, Auto - and OS versions if possible to maximize the impact. A roadmap should be provided for form factors or versions that are not covered yet.

Analytics. Google recommends using their Analytics platform to understand how an application is used across various devices, what features are popular, how users interact with an app, what crashes and exceptions are taking place, etc.

The guide also includes advice on marketing, on dealing with users, on updating an application through Play, on internationalization, translating into other languages, and others.

Rate this Article