blob: e5f1ea8a39e8431ad77d7e3ee0ee0dbfea1b8327 [file] [log] [blame]
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>
Android Design - Writing Style
</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">
<style>
/* UI tables */
.ui_table {
width: 100%;
background: #282828;
color: #fff;
border-radius: 2px;
box-shadow: 0 2px 4px rgba(0,0,0,0.25);
border-collapse: separate;
}
.ui_table th,
.ui_table td {
padding: 5px 10px;
}
.ui_table thead th {
font-weight: 600;
}
.ui_table tfoot td {
border-top: 1px solid #494949;
border-right: 1px solid #494949;
text-align: center;
}
.ui_table tfoot td:last-child {
border-right: 0;
}
.list_item_margins {
margin-left: 30px !important;
}
.example_label {
margin-bottom: 10px;
padding-left: 20px;
background: transparent none no-repeat scroll 0px 3px;
}
.example_label.bad {
background-image: url(../static/ico_wrong.png);
}
.example_label.good {
background-image: url(../static/ico_good.png);
}
</style>
</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">Developers</a></div>
</li>
</ul>
<div id="content">
<div class="layout-content-row content-header">
<div class="layout-content-col span-9">
<h2>Writing Style</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>When choosing words for your app:</p>
<ol>
<li>
<p><strong>Keep it brief.</strong> Be concise, simple and precise. Start with a 30 character limit (including
spaces), and don't use more unless absolutely necessary.</p>
</li>
<li>
<p><strong>Keep it simple.</strong> Pretend you're speaking to someone who's smart and competent, but doesn't
know technical jargon and may not speak English very well. Use short words, active verbs, and
common nouns.</p>
</li>
<li>
<p><strong>Be friendly.</strong> Use contractions. Talk directly to the reader using second person ("you"). If
your text doesn't read the way you'd say it in casual conversation, it's probably not the way
you should write it. Don't be abrupt or annoying and make the user feel safe, happy and
energized.</p>
</li>
<li>
<p><strong>Put the most important thing first.</strong> The first two words (around 11 characters, including
spaces) should include at least a taste of the most important information in the string. If they
don't, start over.</p>
</li>
<li>
<p><strong>Describe only what's necessary, and no more.</strong> Don't try to explain subtle differences. They
will be lost on most users.</p>
</li>
<li>
<p><strong>Avoid repetition.</strong> If a significant term gets repeated within a screen or block of text, find
a way to use it just once.</p>
</li>
</ol>
<h2>Examples</h2>
<ol><li class="value-1"><strong>Keep it brief.</strong> From the setup wizard:</ol>
<div class="layout-content-row">
<div class="layout-content-col span-6 list_item_margins">
<div class="example_label bad">Too formal</div>
<table class="ui_table good"><tbody><tr><td>
Consult the documentation that came with your phone for further instructions.
</td></tr></tbody></table>
</div>
<div class="layout-content-col span-6">
<div class="example_label good">Better</div>
<table class="ui_table good"><tbody><tr><td>
Read the instructions that came with your phone.
</td></tr></tbody></table>
</div>
</div>
<div class="vspace size-1">&nbsp;</div>
<ol><li class="value-2"><strong>Keep it simple.</strong> From the Location settings screen:</ol>
<div class="layout-content-row">
<div class="layout-content-col span-6 list_item_margins">
<div class="example_label bad">Confusing</div>
<table class="ui_table bad">
<thead>
<tr>
<th>
Use GPS satellites
</th>
</tr>
</thead>
<tbody>
<tr>
<td>
When locating, accurate to street level.
</td>
</tr>
</tbody>
</table>
</div>
<div class="layout-content-col span-6">
<div class="example_label good">Better</div>
<table class="ui_table good">
<thead>
<tr>
<th>
GPS
</th>
</tr>
</thead>
<tbody>
<tr>
<td>
Let apps use satellites to pinpoint your location.
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="vspace size-1">&nbsp;</div>
<ol><li class="value-3"><strong>Be friendly.</strong> Dialog that appears when an application
crashes:</ol>
<div class="layout-content-row">
<div class="layout-content-col span-6 list_item_margins">
<div class="example_label bad">Confusing and annoying&mdash;"Sorry" just rubs salt in the
wound.</div>
<table class="ui_table bad">
<thead>
<tr>
<th colspan="3">
Sorry!
</th>
</tr>
</thead>
<tbody>
<tr>
<td colspan="3">
Activity MyAppActivity (in application MyApp)
is not responding.
</td>
</tr>
</tbody>
<tfoot>
<tr>
<td width="33%">Force close</td>
<td width="33%">Wait</td>
<td width="33%">Report</td>
</tr>
</tbody>
</table>
</div>
<div class="layout-content-col span-6">
<div class="example_label good">Shorter, more direct, no faux-apologetic title:<br><br></div>
<table class="ui_table good">
<thead>
<tr>
<th colspan="3">
MyApp isn't responding.
</th>
</tr>
</thead>
<tbody>
<tr>
<td colspan="3">
Do you want to close it?
</td>
</tr>
</tbody>
<tfoot>
<tr>
<td width="33%">Wait</td>
<td width="33%">Report</td>
<td width="33%">Close</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="vspace size-1">&nbsp;</div>
<ol><li class="value-4"><strong>Put the most important thing first.</strong></ol>
<div class="layout-content-row">
<div class="layout-content-col span-6 list_item_margins">
<div class="example_label bad">Top news last</div>
<table class="ui_table bad"><tbody><tr><td>
77 other people +1'd this, including Larry Page.
</td></tr></tbody></table>
</div>
<div class="layout-content-col span-6">
<div class="example_label good">Top news first</div>
<table class="ui_table good"><tbody><tr><td>
Larry Page and 77 others +1'd this.
</td></tr></tbody></table>
</div>
</div>
<div class="layout-content-row">
<div class="layout-content-col span-6 list_item_margins">
<div class="example_label bad">Task last</div>
<table class="ui_table bad"><tbody><tr><td>
Touch Next to complete setup using a Wi-Fi connection.
</td></tr></tbody></table>
</div>
<div class="layout-content-col span-6">
<div class="example_label good">Task first</div>
<table class="ui_table good"><tbody><tr><td>
To finish setup using Wi-Fi, touch Next.
</td></tr></tbody></table>
</div>
</div>
<div class="vspace size-1">&nbsp;</div>
<ol><li class="value-5"><strong>Describe only what's necessary, and no more.</strong></ol>
<div class="layout-content-row">
<div class="layout-content-col span-6 list_item_margins">
<div class="example_label bad">From a Setup Wizard screen</div>
<table class="ui_table bad">
<thead>
<tr>
<th>
Signing in...
</th>
</tr>
</thead>
<tbody>
<tr>
<td>
Your phone needs to communicate with<br>
Google servers to sign in to your account.<br>
This may take up to five minutes.
</td>
</tr>
</tbody>
</table>
</div>
<div class="layout-content-col span-6">
<div class="example_label good">From a Setup Wizard screen</div>
<table class="ui_table good">
<thead>
<tr>
<th>
Signing in...
</th>
</tr>
</thead>
<tbody>
<tr>
<td>
Your phone is contacting Google.<br>
This can take up to 5 minutes.
</td>
</tr>
</tbody>
</table>
</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/">
Creative Commons Attribution 2.5</a>.<br>
For details and restrictions, see the
<a href="http://developer.android.com/license.html">Content License</a>.
</p>
<p>
<a href="http://www.android.com/terms.html">Site Terms of Service</a> &ndash;
<a href="http://www.android.com/privacy.html">Privacy Policy</a> &ndash;
<a href="http://www.android.com/branding.html">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>