<!DOCTYPE html>
<html lang="en">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>

Android Design - Design Principles
    </title>
    <link rel="shortcut icon" type="image/x-icon" href="/favicon.ico">
    <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:regular,medium,thin,italic,mediumitalic">
    <link rel="stylesheet" href="../static/yui-3.3.0-reset-min.css">
    <link rel="stylesheet" href="../static/default.css">

  </head>
  <body>

    <div id="page-container">

      <div id="page-header"><a href="../index.html">Android Design</a></div>

      <div id="main-row">

        <ul id="nav">

          <li class="nav-section">
            <div class="nav-section-header"><a href="../index.html">Get Started</a></div>
            <ul>
              <li><a href="../get-started/creative-vision.html">Creative Vision</a></li>
              <li><a href="../get-started/principles.html">Design Principles</a></li>
              <li><a href="../get-started/ui-overview.html">UI Overview</a></li>
            </ul>
          </li>

          <li class="nav-section">
            <div class="nav-section-header"><a href="../style/index.html">Style</a></div>
            <ul>
              <li><a href="../style/devices-displays.html">Devices and Displays</a></li>
              <li><a href="../style/themes.html">Themes</a></li>
              <li><a href="../style/touch-feedback.html">Touch Feedback</a></li>
              <li><a href="../style/metrics-grids.html">Metrics and Grids</a></li>
              <li><a href="../style/typography.html">Typography</a></li>
              <li><a href="../style/color.html">Color</a></li>
              <li><a href="../style/iconography.html">Iconography</a></li>
              <li><a href="../style/writing.html">Writing Style</a></li>
            </ul>
          </li>

          <li class="nav-section">
            <div class="nav-section-header"><a href="../patterns/index.html">Patterns</a></div>
            <ul>
              <li><a href="../patterns/new-4-0.html">New in Android 4.0</a></li>
              <li><a href="../patterns/gestures.html">Gestures</a></li>
              <li><a href="../patterns/app-structure.html">App Structure</a></li>
              <li><a href="../patterns/navigation.html">Navigation</a></li>
              <li><a href="../patterns/actionbar.html">Action Bar</a></li>
              <li><a href="../patterns/multi-pane-layouts.html">Multi-pane Layouts</a></li>
              <li><a href="../patterns/swipe-views.html">Swipe Views</a></li>
              <li><a href="../patterns/selection.html">Selection</a></li>
              <li><a href="../patterns/notifications.html">Notifications</a></li>
              <li><a href="../patterns/compatibility.html">Compatibility</a></li>
              <li><a href="../patterns/pure-android.html">Pure Android</a></li>
            </ul>
          </li>

          <li class="nav-section">
            <div class="nav-section-header"><a href="../building-blocks/index.html">Building Blocks</a></div>
            <ul>
              <li><a href="../building-blocks/tabs.html">Tabs</a></li>
              <li><a href="../building-blocks/lists.html">Lists</a></li>
              <li><a href="../building-blocks/grid-lists.html">Grid Lists</a></li>
              <li><a href="../building-blocks/scrolling.html">Scrolling</a></li>
              <li><a href="../building-blocks/spinners.html">Spinners</a></li>
              <li><a href="../building-blocks/buttons.html">Buttons</a></li>
              <li><a href="../building-blocks/text-fields.html">Text Fields</a></li>
              <li><a href="../building-blocks/seek-bars.html">Seek Bars</a></li>
              <li><a href="../building-blocks/progress.html">Progress &amp; Activity</a></li>
              <li><a href="../building-blocks/switches.html">Switches</a></li>
              <li><a href="../building-blocks/dialogs.html">Dialogs</a></li>
              <li><a href="../building-blocks/pickers.html">Pickers</a></li>
            </ul>
          </li>

          <li>
            <div id="back-dac-section"><a href="../../index.html" target="_blank">Developers</a></div>
          </li>

        </ul>

        <div id="content">

          
          <div class="layout-content-row content-header">
            <div class="layout-content-col span-9">
              <h2>Design Principles</h2>
            </div>
            <div class="paging-links layout-content-col span-4">
              <a href="#" class="prev-page-link">Previous</a>
              <a href="#" class="next-page-link">Next</a>
            </div>
          </div>
          

          

<p>These design principles were developed by and for the Android User Experience Team to keep users'
best interests in mind. Consider them as you apply your own creativity and design thinking. Deviate
with purpose.</p>

<h2>Enchant Me</h2>

<div class="layout-content-row">
  <div class="layout-content-col span-7">

<h4>Delight me in surprising ways</h4>
<p>A beautiful surface, a carefully-placed animation, or a well-timed sound effect is a joy to
experience. Subtle effects contribute to a feeling of effortlessness and a sense that a powerful
force is at hand.</p>

  </div>
  <div class="layout-content-col span-6">

    <img src="../static/content/principles_delight.png">

  </div>
</div>

<div class="vspace size-2">&nbsp;</div>

<div class="layout-content-row">
  <div class="layout-content-col span-7">

<h4>Real objects are more fun than buttons and menus</h4>
<p>Allow people to directly touch and manipulate objects in your app. It reduces the cognitive effort
needed to perform a task while making it more emotionally satisfying.</p>

  </div>
  <div class="layout-content-col span-6">

    <img src="../static/content/principles_real_objects.png">

  </div>
</div>

<div class="vspace size-2">&nbsp;</div>

<div class="layout-content-row">
  <div class="layout-content-col span-7">

<h4>Let me make it mine</h4>
<p>Let people add a personal touch because it helps them feel at home and in control. Think about
subtle ways to offer personalization while providing sensible and beautiful default functionality.</p>

  </div>
  <div class="layout-content-col span-6">

    <img src="../static/content/principles_make_it_mine.png">

  </div>
</div>

<div class="vspace size-2">&nbsp;</div>

<div class="layout-content-row">
  <div class="layout-content-col span-7">

<h4>Get to know me</h4>
<p>Learn peoples' preferences over time. Rather than asking them to make the same choices over and
over, place previous choices within easy reach.</p>

  </div>
  <div class="layout-content-col span-6">

    <img src="../static/content/principles_get_to_know_me.png">

  </div>
</div>

<h2>Simplify My Life</h2>

<div class="layout-content-row">
  <div class="layout-content-col span-7">

<h4>Keep it brief</h4>
<p>Use short phrases with simple words. People are likely to skip sentences if they're long.</p>

  </div>
  <div class="layout-content-col span-6">

    <img src="../static/content/principles_keep_it_brief.png">

  </div>
</div>

<div class="vspace size-2">&nbsp;</div>

<div class="layout-content-row">
  <div class="layout-content-col span-7">

<h4>Pictures are faster than words</h4>
<p>Consider using pictures to explain ideas. They get people's attention and can be much more efficient
than words.</p>

  </div>
  <div class="layout-content-col span-6">

    <img src="../static/content/principles_pictures.png">

  </div>
</div>

<div class="vspace size-2">&nbsp;</div>

<div class="layout-content-row">
  <div class="layout-content-col span-7">

<h4>Decide for me but let me have the final say</h4>
<p>Take your best guess and act rather than asking first. Too many choices and decisions make people
unhappy. Just in case you get it wrong, allow for 'undo'.</p>

  </div>
  <div class="layout-content-col span-6">

    <img src="../static/content/principles_decide_for_me.png">

  </div>
</div>

<div class="vspace size-2">&nbsp;</div>

<div class="layout-content-row">
  <div class="layout-content-col span-7">

<h4>Only show what I need when I need it</h4>
<p>People get overwhelmed when they see too much at once. Break tasks and information into small,
digestible chunks. Hide options that aren't essential at the moment, and teach people as they go.</p>

  </div>
  <div class="layout-content-col span-6">

    <img src="../static/content/principles_information_when_need_it.png">

  </div>
</div>

<div class="vspace size-2">&nbsp;</div>

<div class="layout-content-row">
  <div class="layout-content-col span-7">

<h4>I should always know where I am</h4>
<p>Give people confidence that they know their way around. Make places in your app look distinct and
use transitions to show relationships among screens. Provide feedback on tasks in progress.</p>

  </div>
  <div class="layout-content-col span-6">

    <img src="../static/content/principles_navigation.png">

  </div>
</div>

<div class="vspace size-2">&nbsp;</div>

<div class="layout-content-row">
  <div class="layout-content-col span-7">

<h4>Never lose my stuff</h4>
<p>Save what people took time to create and let them access it from anywhere. Remember settings,
personal touches, and creations across phones, tablets, and computers. It makes upgrading the
easiest thing in the world.</p>

  </div>
  <div class="layout-content-col span-6">

    <img src="../static/content/principles_never_lose_stuff.png">

  </div>
</div>

<div class="vspace size-2">&nbsp;</div>

<div class="layout-content-row">
  <div class="layout-content-col span-7">

<h4>If it looks the same, it should act the same</h4>
<p>Help people discern functional differences by making them visually distinct rather than subtle.
Avoid modes, which are places that look similar but act differently on the same input.</p>

  </div>
  <div class="layout-content-col span-6">

    <img src="../static/content/principles_looks_same.png">

  </div>
</div>

<div class="vspace size-2">&nbsp;</div>

<div class="layout-content-row">
  <div class="layout-content-col span-7">

<h4>Only interrupt me if it's important</h4>
<p>Like a good personal assistant, shield people from unimportant minutiae. People want to stay
focused, and unless it's critical and time-sensitive, an interruption can be taxing and frustrating.</p>

  </div>
  <div class="layout-content-col span-6">

    <img src="../static/content/principles_important_interruption.png">

  </div>
</div>

<h2>Make Me Amazing</h2>

<div class="layout-content-row">
  <div class="layout-content-col span-7">

<h4>Give me tricks that work everywhere</h4>
<p>People feel great when they figure things out for themselves. Make your app easier to learn by
leveraging visual patterns and muscle memory from other Android apps. For example, the swipe gesture
may be a good navigational shortcut.</p>

  </div>
  <div class="layout-content-col span-6">

    <img src="../static/content/principles_tricks.png">

  </div>
</div>

<div class="vspace size-2">&nbsp;</div>

<div class="layout-content-row">
  <div class="layout-content-col span-7">

<h4>It's not my fault</h4>
<p>Be gentle in how you prompt people to make corrections. They want to feel smart when they use your
app. If something goes wrong, give clear recovery instructions but spare them the technical details.
If you can fix it behind the scenes, even better.</p>

  </div>
  <div class="layout-content-col span-6">

    <img src="../static/content/principles_error.png">

  </div>
</div>

<div class="vspace size-2">&nbsp;</div>

<div class="layout-content-row">
  <div class="layout-content-col span-7">

<h4>Sprinkle encouragement</h4>
<p>Break complex tasks into smaller steps that can be easily accomplished. Give feedback on actions,
even if it's just a subtle glow.</p>

  </div>
  <div class="layout-content-col span-6">

    <img src="../static/content/principles_sprinkle_encouragement.png">

  </div>
</div>

<div class="vspace size-2">&nbsp;</div>

<div class="layout-content-row">
  <div class="layout-content-col span-7">

<h4>Do the heavy lifting for me</h4>
<p>Make novices feel like experts by enabling them to do things they never thought they could. For
example, shortcuts that combine multiple photo effects can make amateur photographs look amazing in
only a few steps.</p>

  </div>
  <div class="layout-content-col span-6">

    <img src="../static/content/principles_heavy_lifting.png">

  </div>
</div>

<div class="vspace size-2">&nbsp;</div>

<div class="layout-content-row">
  <div class="layout-content-col span-7">

<h4>Make important things fast</h4>
<p>Not all actions are equal. Decide what's most important in your app and make it easy to find and
fast to use, like the shutter button in a camera, or the pause button in a music player.</p>

  </div>
  <div class="layout-content-col span-6">

    <img src="../static/content/principles_make_important_fast.png">

  </div>
</div>



          
          <div class="layout-content-row content-footer">
            <div class="paging-links layout-content-col span-9">&nbsp;</div>
            <div class="paging-links layout-content-col span-4">
              <a href="#" class="prev-page-link">Previous</a>
              <a href="#" class="next-page-link">Next</a>
            </div>
          </div>
          
        </div>

      </div>

      <div id="page-footer">

        <p id="copyright">
          Except as noted, this content is licensed under
          <a href="http://creativecommons.org/licenses/by/2.5/" target="_blank">
          Creative Commons Attribution 2.5</a>.<br>
          For details and restrictions, see the
          <a href="http://developer.android.com/license.html" target="_blank">Content License</a>.
        </p>

        <p>
          <a href="http://www.android.com/terms.html" target="_blank">Site Terms of Service</a> &ndash;
          <a href="http://www.android.com/privacy.html" target="_blank">Privacy Policy</a> &ndash;
          <a href="http://www.android.com/branding.html" target="_blank">Brand Guidelines</a>
        </p>

      </div>
    </div>

    <script src="../static/jquery-1.6.2.min.js"></script>
    <script>
    var SITE_ROOT = '../';
    </script>
    <script src="../static/default.js"></script>


    <script type="text/javascript">
    var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
    document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
    </script>
    <script type="text/javascript">
    var pageTracker = _gat._getTracker("UA-5831155-1");
    pageTracker._trackPageview();
    </script>
  </body>
</html>
