summaryrefslogtreecommitdiffstats
path: root/docs/html/distribute/googleplay/quality
diff options
context:
space:
mode:
authorDirk Dougherty <ddougherty@google.com>2012-10-05 19:06:06 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2012-10-05 19:06:06 -0700
commit42bf1848fef341f4da38d6342856a189adada8d2 (patch)
tree4f5714008d688d00dd6f3c95d0058a2311c08371 /docs/html/distribute/googleplay/quality
parent07afab6bd4ef390f97096f14a2bb3d5852836b4c (diff)
parentdaf69014b5f25accae38dfef3d5880b4b7b87f8b (diff)
downloadframeworks_base-42bf1848fef341f4da38d6342856a189adada8d2.zip
frameworks_base-42bf1848fef341f4da38d6342856a189adada8d2.tar.gz
frameworks_base-42bf1848fef341f4da38d6342856a189adada8d2.tar.bz2
am daf69014: am a4c7176d: Merge "Doc change: Add core quality and tablet quality docs and spotlight." into jb-dev-docs
* commit 'daf69014b5f25accae38dfef3d5880b4b7b87f8b': Doc change: Add core quality and tablet quality docs and spotlight.
Diffstat (limited to 'docs/html/distribute/googleplay/quality')
-rw-r--r--docs/html/distribute/googleplay/quality/core.jd198
-rw-r--r--docs/html/distribute/googleplay/quality/tablet.jd15
2 files changed, 123 insertions, 90 deletions
diff --git a/docs/html/distribute/googleplay/quality/core.jd b/docs/html/distribute/googleplay/quality/core.jd
index 1c30b9b..291550f 100644
--- a/docs/html/distribute/googleplay/quality/core.jd
+++ b/docs/html/distribute/googleplay/quality/core.jd
@@ -45,7 +45,7 @@ of basic quality so that you can include them in your test plans.</p>
<p>If your app is targeting tablet devices, make sure that it delivers a rich,
compelling experience to your tablet customers. See the <a
-href="/distribute/googleplay/quality/tablet.html">Tablet App Quality
+href="{@docRoot}distribute/googleplay/quality/tablet.html">Tablet App Quality
Checklist</a> for recommendations on ways to optimize your app for tablets.</p>
@@ -72,7 +72,7 @@ user experience.</p>
Tests
</th>
</tr>
- <tr id="cg7">
+ <tr id="UX-B1">
<td>Standard design</td>
<td>
UX-B1
@@ -92,7 +92,7 @@ user experience.</p>
<tr>
<td rowspan="3">Navigation</td>
- <td id="cn1">
+ <td id="UX-N1">
UX-N1
</td>
@@ -102,7 +102,7 @@ user experience.</p>
<td><a href="#core">CR-3</a></td>
</tr>
<tr>
- <td id="cn2">
+ <td id="UX-N2">
UX-N2
</td>
<td>
@@ -111,7 +111,7 @@ user experience.</p>
<td><a href="#core">CR-3</a></td>
</tr>
- <tr id="cn4">
+ <tr id="UX-N3">
<td>
UX-N3
</td>
@@ -120,6 +120,39 @@ user experience.</p>
</td>
<td><a href="#core">CR-1</a></td>
</tr>
+ <tr id="UX-S1">
+ <td rowspan="2">Notifications</td>
+ <td>
+ UX-S1
+ </td>
+ <td>
+ <p style="margin-bottom:.5em;">Notifications follow Android Design <a href="{@docRoot}design/patterns/notifications.html">guidelines</a>. In particular:</p>
+ <ol style="margin-bottom:.5em;list-style-type:lower-alpha">
+ <li>Multiple notifications are stacked into a single notification object, where possible.</li>
+ <li>Notifications are persistent only if related to ongoing events (such as music playback or a phone call).</li>
+ <li>Notifications do not contain advertising or content unrelated to the core function of the app, unless the user has opted in.</li>
+ </ol>
+
+ </td>
+ <td><a href="#core">CR-11</a></td>
+ </tr>
+ <tr id="UX-S2">
+
+ <td>
+ UX-S2
+ </td>
+
+ <td>
+
+ <p style="margin-bottom:.5em;">App uses notifications only to:</p>
+ <ol style="margin-bottom:.5em;list-style-type:lower-alpha">
+ <li>Indicate a change in context relating to the user personally (such as an incoming message), or</li>
+ <li>Expose information/controls relating to an ongoing event (such as music playback or a phone call).</li>
+ </ol>
+ </td>
+ <td><a href="#core">CR-11</a></td>
+ </tr>
+
</table>
<table>
@@ -127,9 +160,10 @@ user experience.</p>
<td><p>Related resources:</p>
<ul style="margin-top:-.5em;">
<li><strong><a href="{@docRoot}design/index.html">Android Design</a></strong> &mdash; Overview of design and user experience best practices for Android apps. </li>
-<li><strong><a href="{@docRoot}design/patterns/navigation.html">Navigation with Back and Up</a></strong> &mdash; Android Design document describing standard navigation patterns and related topics. </li>
+<li><strong><a href="{@docRoot}design/patterns/navigation.html">Navigation with Back and Up</a></strong> &mdash; Android Design document describing standard navigation patterns. </li>
<li><strong><a href="{@docRoot}design/patterns/actionbar.html">Action Bar</a></strong> &mdash; Android Design document describing how to use the Action Bar. </li>
-<li><strong><a href="{@docRoot}design/style/iconography.html">Iconography</a></strong> &mdash; Android Design document that shows how to use various types of icons.</li>
+<li><strong><a href="{@docRoot}design/style/iconography.html">Iconography</a></strong> &mdash; Android Design describing how to use various types of icons.</li>
+<li><strong><a href="{@docRoot}design/patterns/notifications.html">Notifications</a></strong> &mdash; Android Design document describing how to design and use notifications. </li>
</ul>
</td>
</tr>
@@ -157,7 +191,7 @@ user experience.</p>
</th>
</tr>
- <tr>
+ <tr id="FN-P1">
<td rowspan="2">Permissions</td>
<td>
FN-P1
@@ -166,15 +200,14 @@ user experience.</p>
</td>
<td rowspan="2"><a href="#core">CR-11</a></td>
</tr>
- <tr>
+ <tr id="FN-P2">
<td>
FN-P2
</td>
<td><p style="margin-bottom:.5em;">App does not request permissions to access sensitive data (such as Contacts or the System Log) or services that can cost the user money (such as the Dialer or SMS), unless related to a core capability of the app.
</td>
</tr>
-
- <tr>
+ <tr id="FN-L1">
<td>Install location</td>
<td>
FN-L1
@@ -188,9 +221,9 @@ user experience.</p>
<td><a href="#SD-1">SD-1</a>
</td>
</tr>
- <tr>
+ <tr id="FN-A1">
<td rowspan="4">Audio</td>
- <td id="cg1">
+ <td>
FN-A1
</td>
@@ -199,7 +232,7 @@ user experience.</p>
</td>
<td><a href="#core">CR-7</a></td>
</tr>
- <tr id="cg2">
+ <tr id="FN-A2">
<td>
FN-A2
</td>
@@ -208,7 +241,7 @@ user experience.</p>
</td>
<td><a href="#core">CR-8</a></td>
</tr>
- <tr id="cg3">
+ <tr id="FN-A3">
<td>
FN-A3
</td>
@@ -217,7 +250,7 @@ user experience.</p>
</td>
<td><a href="#core">CR-1, <br />CR-2</a></td>
</tr>
- <tr id="cg4">
+ <tr id="FN-A4">
<td>
FN-A4
</td>
@@ -226,32 +259,29 @@ user experience.</p>
</td>
<td><a href="#core">CR-1, CR-8</a></td>
</tr>
- <tr id="cg5">
+ <tr id="FN-U1">
<td rowspan="3">UI and Graphics</td>
<td>
FN-U1
</td>
-
-<td>
+ <td>
<p style="margin-bottom:.5em;">App supports both landscape and portrait orientations (if possible).</em></p>
-
<p style="margin-bottom:.25em;">Orientations expose largely the same features and actions and preserve functional parity.
Minor changes in content or views are acceptable.</p>
</td>
<td><a href="#core">CR-5</a></td>
</tr>
- <tr id="cg5">
+ <tr id="FN-U2">
<td>
FN-U2
</td>
-
-<td>
- <p style="margin-bottom:.5em;">App uses the whole screen in both orientations and does not letterbox to account for orientation changes.</em></p>
- <p style="margin-bottom:.25em;">Minor letterboxing to compensate for small variations in screen geometry is acceptable.</p>
+ <td>
+ <p style="margin-bottom:.5em;">App uses the whole screen in both orientations and does not letterbox to account for orientation changes.</em></p>
+ <p style="margin-bottom:.25em;">Minor letterboxing to compensate for small variations in screen geometry is acceptable.</p>
</td>
<td><a href="#core">CR-5</a></td>
</tr>
- <tr id="cg7">
+ <tr id="FN-U3">
<td>
FN-U3
</td>
@@ -261,7 +291,7 @@ user experience.</p>
<td><a href="#core">CR-5</a></td>
</tr>
- <tr id="cg8">
+ <tr id="FN-S1">
<td rowspan="2">User/app state</td>
<td>
FN-S1
@@ -272,9 +302,7 @@ user experience.</p>
</td>
<td><a href="#core">CR-6</a></td>
</tr>
-
-
- <tr id="cn3">
+ <tr id="FN-S2">
<td>
FN-S2
</td>
@@ -316,7 +344,7 @@ stability, and responsiveness expected by users.</p>
<table>
<tr>
- <th style="width:2px;">
+ <th style="width:2px;">
Area
</th>
<th style="width:54px;">
@@ -329,8 +357,7 @@ stability, and responsiveness expected by users.</p>
Tests
</th>
</tr>
-
- <tr id="cg9">
+ <tr id="PS-S1">
<td>Stability</td>
<td>
PS-S1
@@ -341,9 +368,9 @@ stability, and responsiveness expected by users.</p>
<td><a href="#core">CR-all</a>, <a href="#SD-1">SD-1</a>, <a href="#HA-1">HA-1</a></td>
</tr>
- <tr>
+ <tr id="PS-P1">
<td rowspan="2">Performance</td>
- <td id="cp1">
+ <td>
PS-P1
</td>
<td>
@@ -354,7 +381,7 @@ stability, and responsiveness expected by users.</p>
<a href="#core">CR-all</a>, <a href="#SD-1">SD-1</a>
</td>
</tr>
- <tr id="cp2">
+ <tr id="PS-P2">
<td>
PS-P2
@@ -367,7 +394,7 @@ stability, and responsiveness expected by users.</p>
<a href="#PM-1">PM-1</a>
</td>
</tr>
- <tr id="cp3">
+ <tr id="PS-M1">
<td>Media</td>
<td>
PS-M1
@@ -379,8 +406,7 @@ stability, and responsiveness expected by users.</p>
<a href="#core">CR-all</a>, <a href="#SD-1">SD-1</a>, <a href="#HA-1">HA-1</a>
</td>
</tr>
-
-<tr id="cp4">
+ <tr id="PS-V1">
<td rowspan="2">Visual quality</td>
<td>
PS-V1
@@ -390,13 +416,12 @@ stability, and responsiveness expected by users.</p>
<ol style="margin-bottom:.5em;list-style-type:lower-alpha">
<li>App provides high-quality graphics for all targeted screen sizes and form factors, including for <a href="{@docRoot}distribute/googleplay/quality/tablet.html">larger-screen devices such as tablets</a>.</li>
- <li>No aliasing at the edges of menus, buttons, and other UI elements.</li>
+ <li>No aliasing at the edges of menus, buttons, and other UI elements is visible.</li>
</ol>
</td>
<td rowspan="2"><a href="#core">CR-all</a></td>
</tr>
-
- <tr id="cp5">
+ <tr id="PS-V2">
<td>
PS-V2
</td>
@@ -405,25 +430,15 @@ stability, and responsiveness expected by users.</p>
<ol style="margin-bottom:.5em;list-style-type:lower-alpha">
<li>Composition is acceptable in all supported form factors, including for larger-screen devices such as tablets.</li>
- <li>No cut-off letters or words.</li>
- <li>No improper word wraps within buttons or icons.</li>
+ <li>No cut-off letters or words are visible.</li>
+ <li>No improper word wraps within buttons or icons are visible.</li>
<li>Sufficient spacing between text and surrounding elements.</li>
</ol>
-
-
-
</td>
</tr>
-
-
-
-
</table>
-
-
-
<table>
<tr>
<td><p>Related resources:</p>
@@ -445,7 +460,7 @@ criteria below.</p>
<table>
<tr>
- <th style="width:2px;">
+ <th style="width:2px;">
Area
</th>
<th style="width:54px;">
@@ -458,8 +473,8 @@ criteria below.</p>
Tests
</th>
</tr>
-<tr>
-<td rowspan="2">Policies</td>
+ <tr id="GP-P1">
+ <td rowspan="2">Policies</td>
<td>
GP-P1
</td>
@@ -471,8 +486,7 @@ criteria below.</p>
</td>
</tr>
-
- <tr>
+ <tr id="GP-P2">
<td>
GP-P2
</td>
@@ -487,9 +501,7 @@ criteria below.</p>
</td>
</tr>
-
- <tr>
-
+ <tr id="GP-D1">
<td rowspan="3">App&nbsp;Details Page</td>
<td>
GP-D1
@@ -510,10 +522,8 @@ criteria below.</p>
<td>
<a href="#gp">GP-1, GP-2</a>
</td>
-
-
</tr>
- <tr>
+ <tr id="GP-D2">
<td>
GP-D2
</td>
@@ -522,8 +532,7 @@ criteria below.</p>
</td>
<td rowspan="2"><a href="#gp">GP-1</a></td>
</tr>
-
- <tr>
+ <tr id="GP-D3">
<td>
GP-D3
</td>
@@ -532,7 +541,7 @@ criteria below.</p>
represent the content and experience of your app in a misleading way.
</td>
</tr>
- <tr>
+ <tr id="GP-X1">
<td>User Support</td>
<td>
GP-X1
@@ -553,7 +562,8 @@ criteria below.</p>
<tr>
<td><p>Related resources:</p>
<ul style="margin-top:-.5em;">
-<li><strong><a href="http://play.google.com/about/developer-content-policy.html">Google Play Developer Program Policies</a></strong> — Guidelines for what is acceptable conent in Google Play. Please read and understand the and understand the policies before publishing.
+<li><strong><a href="https://play.google.com/apps/publish/">Publishing Checklist</a></strong> &mdash; Recommendations on how to prepare your app for publishing, test it, and launch successfully on Google Play.</li>
+<li><strong><a href="http://play.google.com/about/developer-content-policy.html">Google Play Developer Program Policies</a></strong> — Guidelines for what is acceptable conent in Google Play. Please read and understand the and understand the policies before publishing.</p>
<li><strong><a href="http://support.google.com/googleplay/android-developer/bin/answer.py?hl=en&amp;answer=188189">Rating your application content for Google Play</a></strong> — Help Center document describing content ratings levels and how to choose the appropriate one for your app.</li>
<li><strong><a href="http://support.google.com/googleplay/android-developer/bin/answer.py?hl=en&amp;answer=1078870">Graphic Assets for your Application
</a></strong> — Details about the graphic assets you need to upload before publishing.</li>
@@ -591,11 +601,14 @@ increase the number or complexity of tests and quality criteria. </p>
Test Procedures
</h2>
-<p>These test procedures help you discover various types of quality issues in your app. You can combine the tests or integrate groups of tests together in your own test plans. See the sections above for references that associate specific criteria with specific tests. </p>
+<p>These test procedures help you discover various types of quality issues in
+your app. You can combine the tests or integrate groups of tests together in
+your own test plans. See the sections above for references that associate
+specific criteria with specific tests. </p>
<table>
<tr>
- <th style="width:2px;">
+ <th style="width:2px;">
Type
</th>
<th style="width:54px;">
@@ -606,7 +619,7 @@ increase the number or complexity of tests and quality criteria. </p>
</th>
</tr>
<tr>
- <td rowspan="11" id="core">Core Suite</td>
+ <td rowspan="12" id="core">Core Suite</td>
<td>
CR-0
</td>
@@ -695,6 +708,12 @@ increase the number or complexity of tests and quality criteria. </p>
<td>
CR-11
</td>
+ <td>Trigger and observe in the notications drawer all types of notifications that the app can display. Expand notifications where applicable (Android 4.1 and higher), and tap all actions offered.</td>
+ </tr>
+ <tr id="CR-12">
+ <td>
+ CR-12
+ </td>
<td>Examine the permissions requested by the app by going to Settings &gt; App Info.
</td>
</tr>
@@ -709,10 +728,7 @@ increase the number or complexity of tests and quality criteria. </p>
<p style="margin-bottom:.25em;">To move the app to SD card, you can use Settings &gt; App Info &gt; Move to SD Card.</p>
</td>
</tr>
-
-
-
- <tr id="tg3">
+ <tr id="tg3">
<td>Hardware acceleration</td>
<td>
HA-1
@@ -723,8 +739,7 @@ increase the number or complexity of tests and quality criteria. </p>
<p style="margin-bottom:.25em;">To force-enable hardware acceleration (where supported by device), add <code>hardware-accelerated="true"</code> to the <code>&lt;application&gt;</code> in the app manifest and recompile.</p>
</td>
</tr>
-
- <tr id="tg3">
+ <tr id="tg3">
<td>Performance Monitoring</td>
<td>
PM-1
@@ -733,8 +748,7 @@ increase the number or complexity of tests and quality criteria. </p>
<p style="margin-bottom:.5em;">Repeat <em>Core Suite</em> with StrictMode profiling enabled <a href="#strictmode">as described below</a>. <p style="margin-bottom:.25em;">Pay close attention to garbage collection and its impact on the user experience.</p>
</td>
</tr>
-
- <tr id="tg4">
+ <tr id="gp">
<td rowspan="3">Google Play</td>
<td>
GP-1
@@ -743,7 +757,7 @@ increase the number or complexity of tests and quality criteria. </p>
Sign into the <a href="https://play.google.com/apps/publish/">Developer Console</a> to review your developer profile, app description, screenshots, feature graphic, maturity settings, and user feedback.
</td>
</tr>
- <tr id="tg4">
+ <tr id="GP-2">
<td>
GP-2
</td>
@@ -751,18 +765,18 @@ increase the number or complexity of tests and quality criteria. </p>
Download your feature graphic and screenshots and scale them down to match the display sizes on the devices and form factors you are targeting.
</td>
</tr>
- <tr id="tg4">
+ <tr id="GP-3">
<td>
- GP-4
+ GP-3
</td>
<td>
Review all graphical assets, media, text, code libraries, and other content packaged in the app or expansion file download.
</td>
</tr>
- <tr id="tg4">
+ <tr id="GP-4">
<td>Payments</td>
<td>
- GP-5
+ GP-4
</td>
<td>
Navigate to all screens of your app and enter all in-app purchase flows.
@@ -775,9 +789,15 @@ increase the number or complexity of tests and quality criteria. </p>
Testing with StrictMode
</h3>
-<p>For performance testing, we recommend enabling <code><a href="{@docRoot}reference/android/os/StrictMode.html">StrictMode</a></code> in your app and using it to catch operations on the main thread and other threads that could affect performance, network accesses, file reads/writes, and so on.
-
-You can set up a monitoring policy per thread using the <code><a href="{@docRoot}reference/android/os/StrictMode.ThreadPolicy.Builder.html">ThreadPolicy builder</a></code> and enable all supported monitoring in the <code>ThreadPolicy</code> using <code><a href="{@docRoot}reference/android/os/StrictMode.ThreadPolicy.Builder.html#detectAll()">detectAll()</a></code>.</p>
+<p>For performance testing, we recommend enabling
+{@link android.os.StrictMode} in your app
+and using it to catch operations on the main thread and other threads that could
+affect performance, network accesses, file reads/writes, and so on.</p>
-<p>Make sure to enable <strong>visual notification</strong> of policy violations for the <code>ThreadPolicy</code> using <code><a href="{@docRoot}reference/android/os/StrictMode.ThreadPolicy.Builder.html#penaltyFlashScreen()">penaltyFlashScreen()</a></code>.</p>
+<p>You can set up a monitoring policy per thread using
+{@link android.os.StrictMode.ThreadPolicy.Builder} and enable all supported monitoring in the
+<code>ThreadPolicy</code> using
+{@link android.os.StrictMode.ThreadPolicy.Builder#detectAll()}.</p>
+<p>Make sure to enable <strong>visual notification</strong> of policy violations
+for the <code>ThreadPolicy</code> using {@link android.os.StrictMode.ThreadPolicy.Builder#penaltyFlashScreen() penaltyFlashScreen()}.</p>
diff --git a/docs/html/distribute/googleplay/quality/tablet.jd b/docs/html/distribute/googleplay/quality/tablet.jd
index 9c381aa..f180f54 100644
--- a/docs/html/distribute/googleplay/quality/tablet.jd
+++ b/docs/html/distribute/googleplay/quality/tablet.jd
@@ -25,7 +25,7 @@ page.title=Tablet App Quality Checklist
<p>Before you publish an app on Google Play, it's important to make sure that
-the app meets the basic expectations of tablet users, through compelling features
+the app meets the basic expectations of tablet users through compelling features
and an intuitive, well-designed UI. </p>
<p>Tablets are a growing part of the Android installed base that offers new
@@ -60,6 +60,18 @@ and tablet app quality &mdash; you need to set up a suitable
hardware or emulator environment for testing. For more information,
see <a href="#test-environment">Setting Up a Test Environment</a>.</p>
+<table>
+<tr>
+<td><p>Related resources:</p>
+<ul style="margin-top:-.5em;">
+<li><strong><a
+href="{@docRoot}distribute/googleplay/quality/core.html">Core App Quality
+Guidelines</a></strong> &mdash; A set of core quality criteria that all Android
+apps should meet on all targeted devices.</li>
+</ul>
+</td>
+</tr>
+</table>
<h2 id="optimize-layouts">2. Optimize your layouts for larger screens</h2>
@@ -494,6 +506,7 @@ highlights the use of your app on tablets.</li>
<tr>
<td><p>Related resources:</p>
<ul style="margin-top:-.5em;">
+<li><strong><a href="https://play.google.com/apps/publish/">Publishing Checklist</a></strong> &mdash; Recommendations on how to prepare your app for publishing, test it, and launch successfully on Google Play.</li>
<li><strong><a href="https://play.google.com/apps/publish/">Google Play Android Developer Console</a></strong> &mdash; The tools console for publishing your app to Android users.</li>
</ul>
</td>