diff --git a/docs/html/_redirects.yaml b/docs/html/_redirects.yaml
index fc60e1f..58cf523 100644
--- a/docs/html/_redirects.yaml
+++ b/docs/html/_redirects.yaml
@@ -81,7 +81,7 @@
   to: /guide/components/aidl.html
 
 - from: /guide/publishing/publishing.html
-  to: /distribute/googleplay/publish/preparing.html
+  to: /distribute/tools/launch-checklist.html
 
 - from: /guide/publishing/...
   to: /tools/publishing/...
diff --git a/docs/html/about/dashboards/index.jd b/docs/html/about/dashboards/index.jd
index 92ecd24..c61a94b 100644
--- a/docs/html/about/dashboards/index.jd
+++ b/docs/html/about/dashboards/index.jd
@@ -1,4 +1,7 @@
 page.title=Dashboards
+page.metaDescription=page.metaDescription=Charts that give you an overview of device characteristics and platform versions that are active in the Android ecosystem.
+page.tags="android, dashboard, platforms, versions"
+meta.tags="ecosystem, versions, whatsnew"
 @jd:body
 
 <style>
@@ -22,7 +25,7 @@
 <div class="sidebox">
 <h2>Google Play Install Stats</h2>
 <p>The Google Play Developer Console also provides <a
-href="{@docRoot}distribute/googleplay/about/distribution.html#stats">detailed statistics</a>
+href="{@docRoot}distribute/googleplay/developer-console.html#app-stats">detailed statistics</a>
 about your users' devices. Those stats may help you prioritize the device profiles for which
 you optimize your app.</p>
 </div>
@@ -61,7 +64,7 @@
 </div>
 
 
-<p style="clear:both"><em>Data collected during a 7-day period ending on April 1, 2014.
+<p style="clear:both"><em>Data collected during a 7-day period ending on May 1, 2014.
 <br/>Any versions with less than 0.1% distribution are not shown.</em>
 </p>
 
@@ -92,7 +95,7 @@
 </div>
 
 
-<p style="clear:both"><em>Data collected during a 7-day period ending on April 1, 2014.
+<p style="clear:both"><em>Data collected during a 7-day period ending on May 1, 2014.
 <br/>Any screen configurations with less than 0.1% distribution are not shown.</em></p>
 
 
@@ -111,7 +114,7 @@
 
 
 <img alt="" style="float:right"
-src="//chart.googleapis.com/chart?chl=GL%201.1%20only%7CGL%202.0%7CGL%203.0&chf=bg%2Cs%2C00000000&chd=t%3A0.1%2C93.5%2C6.4&chco=c4df9b%2C6fad0c&chs=400x250&cht=p" />
+src="//chart.googleapis.com/chart?chs=400x250&cht=p&chd=t%3A0.1%2C87.0%2C12.9&chf=bg%2Cs%2C00000000&chl=GL%201.1%20only%7CGL%202.0%7CGL%203.0&chco=c4df9b%2C6fad0c" />
 
 <p>To declare which version of OpenGL ES your application requires, you should use the {@code
 android:glEsVersion} attribute of the <a
@@ -133,17 +136,17 @@
 </tr>
 <tr>
 <td>2.0</th>
-<td>89.4%</td>
+<td>87.0%</td>
 </tr>
 <tr>
 <td>3.0</th>
-<td>10.5%</td>
+<td>12.9%</td>
 </tr>
 </table>
 
 
 
-<p style="clear:both"><em>Data collected during a 7-day period ending on April 1, 2014</em></p>
+<p style="clear:both"><em>Data collected during a 7-day period ending on May 1, 2014</em></p>
 
 
 
@@ -161,17 +164,17 @@
 var VERSION_DATA =
 [
   {
-    "chart": "//chart.googleapis.com/chart?cht=p&chs=500x250&chco=c4df9b%2C6fad0c&chf=bg%2Cs%2C00000000&chd=t%3A1.1%2C17.8%2C0.1%2C14.3%2C61.4%2C5.3&chl=Froyo%7CGingerbread%7CHoneycomb%7CIce%20Cream%20Sandwich%7CJelly%20Bean%7CKitKat",
+    "chart": "//chart.googleapis.com/chart?chs=500x250&cht=p&chd=t%3A1.0%2C16.2%2C0.1%2C13.4%2C60.8%2C8.5&chf=bg%2Cs%2C00000000&chl=Froyo%7CGingerbread%7CHoneycomb%7CIce%20Cream%20Sandwich%7CJelly%20Bean%7CKitKat&chco=c4df9b%2C6fad0c",
     "data": [
       {
         "api": 8,
         "name": "Froyo",
-        "perc": "1.1"
+        "perc": "1.0"
       },
       {
         "api": 10,
         "name": "Gingerbread",
-        "perc": "17.8"
+        "perc": "16.2"
       },
       {
         "api": 13,
@@ -181,27 +184,27 @@
       {
         "api": 15,
         "name": "Ice Cream Sandwich",
-        "perc": "14.3"
+        "perc": "13.4"
       },
       {
         "api": 16,
         "name": "Jelly Bean",
-        "perc": "34.4"
+        "perc": "33.5"
       },
       {
         "api": 17,
         "name": "Jelly Bean",
-        "perc": "18.1"
+        "perc": "18.8"
       },
       {
         "api": 18,
         "name": "Jelly Bean",
-        "perc": "8.9"
+        "perc": "8.5"
       },
       {
         "api": 19,
         "name": "KitKat",
-        "perc": "5.3"
+        "perc": "8.5"
       }
     ]
   }
@@ -217,19 +220,19 @@
     "data": {
       "Large": {
         "hdpi": "0.6",
-        "ldpi": "0.7",
+        "ldpi": "0.6",
         "mdpi": "4.4",
-        "tvdpi": "1.5",
+        "tvdpi": "1.6",
         "xhdpi": "0.6"
       },
       "Normal": {
-        "hdpi": "33.7",
-        "mdpi": "13.2",
-        "xhdpi": "19.8",
-        "xxhdpi": "12.5"
+        "hdpi": "33.9",
+        "mdpi": "12.5",
+        "xhdpi": "19.9",
+        "xxhdpi": "13.5"
       },
       "Small": {
-        "ldpi": "8.1"
+        "ldpi": "7.5"
       },
       "Xlarge": {
         "hdpi": "0.3",
@@ -238,8 +241,8 @@
         "xhdpi": "0.3"
       }
     },
-    "densitychart": "//chart.googleapis.com/chart?cht=p&chs=400x250&chco=c4df9b%2C6fad0c&chf=bg%2Cs%2C00000000&chd=t%3A8.9%2C21.8%2C1.5%2C34.6%2C20.7%2C12.6&chl=ldpi%7Cmdpi%7Ctvdpi%7Chdpi%7Cxhdpi%7Cxxhdpi",
-    "layoutchart": "//chart.googleapis.com/chart?cht=p&chs=400x250&chco=c4df9b%2C6fad0c&chf=bg%2Cs%2C00000000&chd=t%3A4.9%2C7.8%2C79.3%2C8.1&chl=Xlarge%7CLarge%7CNormal%7CSmall"
+    "densitychart": "//chart.googleapis.com/chart?chs=400x250&cht=p&chd=t%3A8.2%2C21.1%2C1.6%2C34.8%2C20.8%2C13.5&chf=bg%2Cs%2C00000000&chl=ldpi%7Cmdpi%7Ctvdpi%7Chdpi%7Cxhdpi%7Cxxhdpi&chco=c4df9b%2C6fad0c",
+    "layoutchart": "//chart.googleapis.com/chart?chs=400x250&cht=p&chd=t%3A4.9%2C7.8%2C80.0%2C7.5&chf=bg%2Cs%2C00000000&chl=Xlarge%7CLarge%7CNormal%7CSmall&chco=c4df9b%2C6fad0c"
   }
 ];
 
diff --git a/docs/html/design/index.jd b/docs/html/design/index.jd
index 7c7c5d9..cb7dd4f 100644
--- a/docs/html/design/index.jd
+++ b/docs/html/design/index.jd
@@ -1,5 +1,7 @@
 page.title=Design
 page.viewport_width=970
+section.landing=true
+meta.tags="beautifulapps, design, ux, patterns, holo, appquality, landing"
 header.hide=1
 footer.hide=1
 @jd:body
diff --git a/docs/html/design/patterns/multi-pane-layouts.jd b/docs/html/design/patterns/multi-pane-layouts.jd
index 6071ef3..08fa5bda 100644
--- a/docs/html/design/patterns/multi-pane-layouts.jd
+++ b/docs/html/design/patterns/multi-pane-layouts.jd
@@ -1,6 +1,7 @@
 page.title=Multi-pane Layouts
 page.tags="tablet","navigation","layout","fragment"
-page.metaDescription=Android devices come in many different screen sizes and types. Multi-pane layouts help you provide a balanced and aesthetically pleasing layout across the range of Android devices.
+page.metaDescription=Design guide with examples of how to flatten navigation and provide improved layout across the range of Android devices.
+
 @jd:body
 
 <a class="notice-developers" href="{@docRoot}training/basics/fragments/index.html">
diff --git a/docs/html/design/patterns/navigation.jd b/docs/html/design/patterns/navigation.jd
index 3e60f66..703528e 100644
--- a/docs/html/design/patterns/navigation.jd
+++ b/docs/html/design/patterns/navigation.jd
@@ -1,5 +1,6 @@
 page.title=Navigation with Back and Up
 page.tags="navigation","activity","task","up navigation","back navigation"
+page.image=/design/media/navigation_between_siblings_gmail.png
 @jd:body
 
 <a class="notice-developers" href="{@docRoot}training/implementing-navigation/index.html">
diff --git a/docs/html/design/patterns/widgets.jd b/docs/html/design/patterns/widgets.jd
index d08f178..47acc7b 100644
--- a/docs/html/design/patterns/widgets.jd
+++ b/docs/html/design/patterns/widgets.jd
@@ -1,5 +1,6 @@
 page.title=Widgets
 page.tags="appwidget","home"
+page.metaDescription=Design guide to creating widgets that are easy to use and look great.
 @jd:body
 
 <a class="notice-developers" href="{@docRoot}guide/topics/appwidgets/index.html">
diff --git a/docs/html/design/style/devices-displays.jd b/docs/html/design/style/devices-displays.jd
index a8f9d6f..6a7234b 100644
--- a/docs/html/design/style/devices-displays.jd
+++ b/docs/html/design/style/devices-displays.jd
@@ -1,7 +1,9 @@
 page.title=Devices and Displays
+page.metaDescription=Take advantage of Android's flexible layout system and create apps that gracefully scale from phones to tablets and beyond.
+
 @jd:body
 
-<p>Android powers millions of phones, tablets, and other devices in a wide variety of screen sizes and
+<p>Android powers hundreds of millions of phones, tablets, and other devices in a wide variety of screen sizes and
 form factors. By taking advantage of Android's flexible layout system, you can create apps that
 gracefully scale from large tablets to smaller phones.</p>
 
diff --git a/docs/html/design/style/metrics-grids.jd b/docs/html/design/style/metrics-grids.jd
index c375631..e92d57e 100644
--- a/docs/html/design/style/metrics-grids.jd
+++ b/docs/html/design/style/metrics-grids.jd
@@ -1,5 +1,8 @@
 page.title=Metrics and Grids
+page.metaDescription=Optimize your app's UI by designing layouts based on density-independent grids.
 page.tags="layout","screens"
+meta.tags="multiple screens, layout, tablets"
+page.image=/design/media/metrics_closeup.png
 @jd:body
 
 <p>Devices vary not only in physical size, but also in screen density (<acronym title="Dots per
diff --git a/docs/html/design/style/typography.jd b/docs/html/design/style/typography.jd
index 3c201f7..6923f0b 100644
--- a/docs/html/design/style/typography.jd
+++ b/docs/html/design/style/typography.jd
@@ -1,5 +1,6 @@
 page.title=Typography
 page.tags="textview","font"
+page.metaDescription=How to use typography in your Android apps.
 @jd:body
 
 <div class="layout-content-row">
diff --git a/docs/html/develop/index.jd b/docs/html/develop/index.jd
index eb28da8..bb90cca 100644
--- a/docs/html/develop/index.jd
+++ b/docs/html/develop/index.jd
@@ -1,6 +1,8 @@
 fullpage=true
-page.title=Develop
+page.title=Develop Apps
 page.viewport_width=970
+meta.tags="develop, getstarted, sdk, appquality, landing"
+section.landing=true
 header.hide=1
 carousel=1
 tabbedList=1
diff --git a/docs/html/distribute/distribute_toc.cs b/docs/html/distribute/distribute_toc.cs
deleted file mode 100644
index 1fabcb3..0000000
--- a/docs/html/distribute/distribute_toc.cs
+++ /dev/null
@@ -1,103 +0,0 @@
-<ul id="nav">
-
-  <li class="nav-section">
-    <div class="nav-section-header"><a href="<?cs var:toroot ?>distribute/index.html">Google Play</a></div>
-    <ul>
-      <li><a href="<?cs var:toroot ?>distribute/googleplay/about/visibility.html">Visibility</a></li>
-      <li><a href="<?cs var:toroot ?>distribute/googleplay/about/monetizing.html">Monetizing</a></li>
-      <li><a href="<?cs var:toroot ?>distribute/googleplay/about/distribution.html">Distribution</a></li>
-    </ul>  
-  </li>
-
-  <li class="nav-section">
-    <div class="nav-section-header"><a href="<?cs var:toroot ?>distribute/googleplay/publish/index.html">Publishing</a></div>
-    <ul>
-      <li><a href="<?cs var:toroot ?>distribute/googleplay/publish/register.html">Get Started</a></li>
-      <li><a href="<?cs var:toroot ?>distribute/googleplay/publish/console.html">Developer Console</a></li>
-      <li><a href="<?cs var:toroot ?>distribute/googleplay/publish/localizing.html">Localization Checklist</a></li>
-      <li><a href="<?cs var:toroot ?>distribute/googleplay/publish/preparing.html">Launch Checklist</a></li>
-    </ul>
-  </li>
-  
-<!--  <li class="nav-section">
-    <div class="nav-section-header">
-      <a href="<?cs var:toroot ?>distribute/googleplay/developer-console.html">The Developer Console</a>
-    </div>
-    <ul>
-      <li class="nav-section"><a href="<?cs var:toroot ?>distribute/googleplay/register.html">Get Started</a></li>
-      <li><a href="<?cs var:toroot ?>distribute/googleplay/distribution-controls.html">Managing Distribution</a></li>
-      <li><a href="<?cs var:toroot ?>distribute/googleplay/pricing-billing.html">Pricing and Billing</a></li>
-      <li><a href="<?cs var:toroot ?>distribute/googleplay/app-data.html">Reviewing App Data</a></li>
-      <li><a href="<?cs var:toroot ?>distribute/googleplay/advanced-options.html">Advanced Options</a></li>
-      <li><a href="<?cs var:toroot ?>distribute/googleplay/publishing.html">Publishing and Updating</a></li>
-    </ul>
-  </li> end of Developer Console -->
-
-   <li class="nav-section">
-     <div class="nav-section-header"><a href="<?cs var:toroot ?>distribute/googleplay/promote/index.html">Promoting</a>
-     </div>
-     <ul>
-<!--   <li><a href="<?cs var:toroot ?>distribute/googleplay/promote/product-pages.html">Your Product Pages</a></li> -->
-       <li><a href="<?cs var:toroot ?>distribute/googleplay/promote/linking.html">Linking to Your Products</a></li>
-       <li><a href="<?cs var:toroot ?>distribute/googleplay/promote/badges.html">Google Play Badges</a></li>
-       <li><a href="<?cs var:toroot ?>distribute/promote/device-art.html">Device Art Generator</a></li>
-       <li><a href="<?cs var:toroot ?>distribute/googleplay/promote/brand.html">Brand Guidelines</a></li>
-     </ul>
-   </li>
-
-  <li class="nav-section">
-    <div class="nav-section-header"><a href="<?cs var:toroot ?>distribute/googleplay/quality/index.html">App Quality</a></div>
-    <ul>
-       <li><a href="<?cs var:toroot ?>distribute/googleplay/quality/core.html">Core App Quality</a></li>
-       <li><a href="<?cs var:toroot ?>distribute/googleplay/quality/tablet.html">Tablet App Quality</a></li>
-       <li><a href="<?cs var:toroot ?>distribute/googleplay/strategies/app-quality.html">Improving App Quality</a></li>
-    </ul>
-  </li> 
-
-   <li class="nav-section">
-     <div class="nav-section-header"><a href="<?cs var:toroot ?>distribute/googleplay/policies/index.html">Policies</a></div>
-     <ul>
-       <li><a href="<?cs var:toroot ?>distribute/googleplay/policies/spam.html">Spam</a></li>
-       <li><a href="<?cs var:toroot ?>distribute/googleplay/policies/ip.html">Intellectual<br />Property</a></li> 
-       <li><a href="<?cs var:toroot ?>distribute/googleplay/policies/ads.html">Ads</a></li>
-     </ul>
-   </li>
-
-<!--    
-   <li class="nav-section">
-    <div class="nav-section-header"><a href="<?cs var:toroot ?>distribute/googleplay/after.html">
-      After Launch</a>
-    </div>
-    <ul>
-       <li><a href="<?cs var:toroot ?>distribute/googleplay/errors.html.html">Reviewing Errors</a></li>
-       <li><a href="<?cs var:toroot ?>distribute/googleplay/reviews.html">Tracking User Reviews</a></li>
-       <li><a href="<?cs var:toroot ?>distribute/googleplay/supporting-users.html">Supporting Users</a></li>
-    </ul>
-  </li> 
--->
-
-  <li class="nav-section">
-    <div class="nav-section-header"><a href="<?cs var:toroot ?>distribute/googleplay/spotlight/index.html">Spotlight</a></div>
-    <ul>
-       <li><a href="<?cs var:toroot ?>distribute/googleplay/spotlight/tablets.html">Tablet Stories</a></li>
-       <li><a href="<?cs var:toroot ?>distribute/googleplay/spotlight/games.html">Game Stories</a></li>
-       <li><a href="<?cs var:toroot ?>distribute/googleplay/spotlight/localization.html">Localization Stories</a></li>
-    </ul>
-  </li> 
-
-  <li class="nav-section">
-    <div class="nav-section-header"><a href="<?cs var:toroot ?>distribute/googleplay/edu/index.html">Google Play for Education</a></div>
-    <ul>
-      <li><a href="<?cs var:toroot ?>distribute/googleplay/edu/about.html">About</a></li>
-      <li><a href="<?cs var:toroot ?>distribute/googleplay/edu/start.html">Get Started</a></li>
-      <li><a href="<?cs var:toroot ?>distribute/googleplay/edu/guidelines.html">Guidelines</a></li>
-      <li><a href="<?cs var:toroot ?>distribute/googleplay/edu/faq.html">FAQ</a></li>
-      <li><a href="<?cs var:toroot ?>distribute/googleplay/edu/contact.html">Sign Up</a></li>
-    </ul>  
-  </li>
-
-  <li class="nav-section">
-    <div class="nav-section-header empty"><a href="<?cs var:toroot ?>distribute/open.html">Open Distribution</a></div>
-  </li>
-</ul>
-  
\ No newline at end of file
diff --git a/docs/html/distribute/engage/app-updates.jd b/docs/html/distribute/engage/app-updates.jd
new file mode 100644
index 0000000..6b751b9
--- /dev/null
+++ b/docs/html/distribute/engage/app-updates.jd
@@ -0,0 +1,50 @@
+page.title=Update Your Apps Regularly
+page.metaDescription=Keeping your content fresh gives users a reason to come back.
+page.tags="updates"
+page.image=/images/gp-your-user-0.jpg
+
+@jd:body
+
+<p>
+  Keeping your content fresh gives users a reason to come back. Use any
+  <a href="{@docRoot}distribute/users/know-your-user.html#add-analytics">in-app
+  or game measurement tool</a> to keep an eye on what users respond to. Use
+  <a href=
+  "{@docRoot}distribute/googleplay/developer-console.html#alpha-beta">alpha-beta
+  testing</a> and <a href=
+  "{@docRoot}distribute/googleplay/developer-console.html#staged-rollouts">staged
+  rollouts</a> to quickly test new features, in-app content, and game
+  characters.
+</p>
+
+<p>
+  Updating regularly also gives you a chance to notify users about new content
+  should users lapse. Notification, email, and social media are several
+  channels to remind users to come back.
+</p>
+
+<p>
+  Check out the video below see how Kiwi uses frequent updates to engage and
+  retain users.
+</p>
+
+<p style="margin-bottom:2em">
+</p>
+
+<div class="resource-widget resource-flow-layout col-13" data-query=
+"collection:distribute/engage/kiwi" data-sortorder="-timestamp" data-cardsizes=
+"18x6," data-maxresults="6">
+</div>
+
+<div class="headerLine clearfloat">
+  <h1 id="related-resources">
+    Related Resources
+  </h1>
+
+  <hr>
+</div>
+
+<div class="resource-widget resource-flow-layout col-13" data-query=
+"collection:distribute/engage/appupdates" data-sortorder="-timestamp"
+data-cardsizes="9x3" data-maxresults="6">
+</div>
\ No newline at end of file
diff --git a/docs/html/distribute/engage/community.jd b/docs/html/distribute/engage/community.jd
new file mode 100644
index 0000000..035058a
--- /dev/null
+++ b/docs/html/distribute/engage/community.jd
@@ -0,0 +1,43 @@
+page.title=Engage Your Community
+page.metaDescription=Building a community has many benefits, including improving your app and bringing users back to it.
+page.image=/images/gp-engage-9.jpg
+
+
+@jd:body
+
+
+<div class="figure">
+  <img src="{@docRoot}images/gp-engage-9.jpg" style="width:300px;">
+</div>
+
+<p>
+  Building a community has many benefits, including improving your apps and
+  bringing users back to them. Using social media, groups, and forum tools will
+  help you build a rapport with your audience that will drive loyalty and
+  engagement.
+</p>
+
+<p>
+  There are many tactics to bring users back to your apps. In addition to app
+  updates that users want to check out, you can also use communities to
+  announce game tournaments, new content, promotions, and other great content.
+  Any reason to go back to your app is a great post to share with your
+  community.
+</p>
+
+<p>
+  Learn more about how to <a href="{@docRoot}distribute/users/build-community.html">build and manage a community</a>.
+</p>
+
+<div class="headerLine clearfloat">
+  <h1 id="related-resources">
+    Related Resources
+  </h1>
+
+  <hr>
+</div>
+
+<div class="resource-widget resource-flow-layout col-13" data-query=
+"collection:distribute/engage/community" data-sortorder="-timestamp"
+data-cardsizes="9x3" data-maxresults="6">
+</div>
\ No newline at end of file
diff --git a/docs/html/distribute/engage/deep-linking.jd b/docs/html/distribute/engage/deep-linking.jd
new file mode 100644
index 0000000..cd62f9d
--- /dev/null
+++ b/docs/html/distribute/engage/deep-linking.jd
@@ -0,0 +1,78 @@
+page.title=Deep Link to Bring Users Back
+page.metaDescription=Use deep links to bring your users into your apps from social posts or search.
+page.tags="app indexing, google+ signin"
+page.image=/images/gp-listing-4.jpg
+
+@jd:body
+
+<p>
+  Use deep links to bring your users into your apps from social posts or
+  search.
+</p>
+
+<div class="headerLine">
+<h1>Deep Linking from Google+ Posts</h1><hr>
+</div>
+
+<p>
+  <a href="https://developers.google.com/+/mobile/android/share/deep-link">Deep
+  linking</a> allows the Google+ apps on mobile devices to direct clicks on a
+  shared post that contains deep-link information to a resource within your
+  apps.
+</p>
+
+<p style="margin-bottom:2em;">
+  If the user doesn’t have your app installed, they’re prompted to install it
+  before accessing the resource.
+</p>
+
+<div style="padding:2em, auto;width:550px;">
+  <div style="float:right; width:260px; padding-left:1em;">
+    <img src="{@docRoot}images/gp-engage-5.jpg" class="border-img">
+    <p class="img-caption">
+      G+ Post with Deep Link to Buy
+    </p>
+  </div>
+
+  <div style="width:260px;float:left;">
+    <img src="{@docRoot}images/gp-engage-6.jpg" class="border-img">
+    <p class="img-caption">
+      Purchase page within app
+    </p>
+  </div>
+</div>
+
+
+<div class="headerLine clearfloat">
+<h1>Deep Linking from Google Search &mdash; App Indexing</h1><hr>
+</div>
+
+<p>
+  Another way to bring users back to your apps is to apply for app indexing.
+</p>
+
+<p>
+  When a user searches for content available within your app, Google can show
+  an "Open in App" button in in mobile search results. For instance, if a user
+  searches for a restaurant and you’ve got that establishment in your dining
+  app, a link can be shown to open the page within your app. Learn more about
+  <a href="https://developers.google.com/app-indexing/">linking to in-app
+  content</a>.
+</p>
+
+<div>
+  <img src="{@docRoot}images/gp-listing-4.jpg" style="padding-top:1em;">
+</div>
+
+<div class="headerLine clearfloat">
+  <h1 id="related-resources">
+    Related Resources
+  </h1>
+
+  <hr>
+</div>
+
+<div class="resource-widget resource-flow-layout col-13" data-query=
+"collection:distribute/engage/deeplinks" data-sortorder="-timestamp"
+data-cardsizes="9x3" data-maxresults="6">
+</div>
\ No newline at end of file
diff --git a/docs/html/distribute/engage/easy-signin.jd b/docs/html/distribute/engage/easy-signin.jd
new file mode 100644
index 0000000..92c3ffc
--- /dev/null
+++ b/docs/html/distribute/engage/easy-signin.jd
@@ -0,0 +1,103 @@
+page.title=Make Signing In Easy
+page.metaDescription=Increase conversion rates while helping users minimize typing by letting users sign in with Google+.
+page.tags="google+"
+page.image=/images/google/gps-googleplus.png
+
+
+@jd:body
+
+<div class="sidebox-wrapper" style="float:right;">
+  <div class="sidebox" style="width:360px;">
+    <p>
+      <strong>Tip:</strong> For game developers, Google+ signin is already
+      included as part of Google Play game services.
+    </p>
+  </div>
+</div>
+
+<p>
+  Increase conversion rates while helping users minimize typing by letting
+  users sign in with Google+. The <a href=
+  "{@docRoot}google/play-services/plus.html">Google+ platform for Android</a>
+  authenticates users with their Google credentials safely and securely. With
+  your <a href="https://developers.google.com/+/mobile/android/sign-in">users
+  signing in with Google</a>, you can create more engaging experiences and
+  drive the use of your apps .
+</p>
+
+<div style="width:450px;">
+  <img src="{@docRoot}images/google/gps-googleplus.png" style="padding-top:1em;">
+</div>
+
+<p>
+  Use the Google+ social graph to welcome users by name, display their
+  pictures, connect them with friends and more. Users authenticate once and
+  then are signed-in automatically when they come back, eliminating the need to
+  remember and type names and passwords.
+</p>
+
+<div class="headerLine">
+  <h1>
+    And Spreading the Word a Snap
+  </h1>
+
+  <hr>
+</div>
+
+
+<div class="figure" style="float:right;">
+  <img src="{@docRoot}images/gp-engage-share-plus.png" style=
+  "width:160px;padding-top:1em;">
+  <p class="img-caption">
+    Easy sharing through Google+
+  </p>
+</div>
+
+
+<p>
+  Using Google+ can help users spread the word about your apps to their
+  friends, attracting them to your apps, right from within your apps:
+</p>
+
+<p>
+  Google+ is also a great way to build a community of loyal fans that will help
+  you with <a href=
+  "https://support.google.com/googleplay/android-developer/answer/3131213">beta
+  testing</a>.
+</p>
+
+<ul>
+  <li>Using a <a href=
+  "https://developers.google.com/+/mobile/android/recommend">native +1
+  button</a> to let users make a recommendation for your apps or their content.
+  </li>
+
+  <li>
+    <a href="https://developers.google.com/+/mobile/android/share/">Share rich
+    content</a> to the Google+ stream, including text, photos, URL attachments,
+    and location.
+  </li>
+
+  <li>Create <a href=
+  "https://developers.google.com/+/mobile/android/share/interactive-post">Interactive
+  posts</a> to share your website or apps, users can even invite friends to
+  "listen," "RSVP," "check-in," or one of over 100 actions.
+  </li>
+</ul>
+
+  <div class="headerLine clearfloat">
+    <h1 id="related-resources">
+      Related Resources
+    </h1>
+
+    <hr>
+  </div>
+
+  <div class="resource-widget resource-flow-layout col-13"
+  data-query="collection:distribute/engage/gplus"
+  data-sortorder="-timestamp"
+  data-cardsizes="9x3"
+  data-maxresults="6">
+  </div>
+</div>
+
diff --git a/docs/html/distribute/engage/engage_toc.cs b/docs/html/distribute/engage/engage_toc.cs
new file mode 100644
index 0000000..0314f8c
--- /dev/null
+++ b/docs/html/distribute/engage/engage_toc.cs
@@ -0,0 +1,66 @@
+<ul id="nav">
+  <li class="nav-section">
+    <div class="nav-section empty" style="font-weight:normal"><a href="<?cs
+        var:toroot?>distribute/engage/widgets.html">
+        <span class="en">Build Useful Widgets</span></a>
+    </div>
+  </li>
+  <li class="nav-section">
+    <div class="nav-section empty" style="font-weight:normal"><a href="<?cs
+        var:toroot?>distribute/engage/notifications.html">
+        <span class="en">Use Rich Notifications</span></a>
+    </div>
+  </li>
+  <li class="nav-section">
+    <div class="nav-section empty" style="font-weight:normal"><a href="<?cs
+        var:toroot?>distribute/engage/gcm.html">
+        <span class="en">Integrate GCM</span></a>
+    </div>
+  </li>
+  <li class="nav-section">
+    <div class="nav-section empty" style="font-weight:normal"><a href="<?cs
+        var:toroot?>distribute/engage/easy-signin.html">
+        <span class="en">Make Signing In Easy</span></a>
+    </div>
+  </li>
+  <li class="nav-section">
+    <div class="nav-section empty" style="font-weight:normal"><a href="<?cs
+        var:toroot?>distribute/engage/deep-linking.html">
+        <span class="en">Deep Link to Bring Users Back</span></a>
+    </div>
+  </li>
+  <li class="nav-section">
+    <div class="nav-section empty" style="font-weight:normal"><a href="<?cs
+        var:toroot?>distribute/engage/game-services.html">
+        <span class="en">Encourage Competition</span></a>
+    </div>
+  </li>
+  <li class="nav-section">
+    <div class="nav-section empty" style="font-weight:normal"><a href="<?cs
+        var:toroot?>distribute/engage/app-updates.html">
+        <span class="en">Update Regularly</span></a>
+    </div>
+  </li>
+
+  <li class="nav-section">
+    <div class="nav-section empty" style="font-weight:normal"><a href="<?cs
+        var:toroot?>distribute/engage/community.html">
+        <span class="en">Engage Your Community</span></a>
+    </div>
+  </li>
+  <li class="nav-section">
+    <div class="nav-section empty" style="font-weight:normal"><a href="<?cs
+        var:toroot?>distribute/engage/video.html">
+        <span class="en">Delight with Videos</span></a>
+    </div>
+  </li>
+
+</ul>
+
+<script type="text/javascript">
+<!--
+    buildToggleLists();
+    changeNavLang(getLangPref());
+//-->
+</script>
+
diff --git a/docs/html/distribute/engage/game-services.jd b/docs/html/distribute/engage/game-services.jd
new file mode 100644
index 0000000..5153435
--- /dev/null
+++ b/docs/html/distribute/engage/game-services.jd
@@ -0,0 +1,90 @@
+page.title=Encourage Competition
+page.metaDescription= Bring out the competitor in your users with cloud save, multiplayer game play, and more.
+page.tags="games"
+page.image=/images/google/gps-play_games_logo.png
+
+@jd:body
+
+<div class="figure" style="width:330px;">
+  <img src="{@docRoot}images/google/gps-play_games_logo.png">
+</div>
+
+<p>
+  Increase game installs, in-app revenue, and engagement with <a href=
+  "{@docRoot}google/play-services/games.html">Google Play
+  Game Services</a>. Bring out the competitor in your users with cloud save,
+  multiplayer game play, and more.
+</p>
+
+<ul>
+  <li>
+    <p>
+      <a href=
+      "https://developers.google.com/games/services/android/achievements">Achievements</a>
+      encourage players to try new features, resulting in more time spent in
+      your games.
+    </p>
+  </li>
+
+  <li>
+    <p>
+      <a href=
+      "https://developers.google.com/games/services/android/leaderboards">Leaderboards</a>
+      are a fun way to drive competition among your players.
+    </p>
+  </li>
+
+  <li>
+    <p>
+      <a href=
+      "https://developers.google.com/games/services/android/cloudsave">Cloud
+      Save</a> allows users to continue where they left off on another device
+      or platform.
+    </p>
+  </li>
+
+  <li>
+    <p>
+      Multiplayer features allow users to invite friends to install games and
+      play together in <a href=
+      "https://developers.google.com/games/services/common/concepts/realtimeMultiplayer">
+      real-time</a> or <a href=
+      "https://developers.google.com/games/services/common/concepts/turnbasedMultiplayer">
+      turn-by-turn</a>.
+    </p>
+  </li>
+
+  <li>
+    <p>
+      <a href=
+      "https://play.google.com/store/apps/details?id=com.google.android.play.games">
+      Google Play Games App</a> provides additional exposure to increase
+      downloads and gameplay. It helps users play with friends, see what others
+      are playing, and discover featured games.
+    </p>
+  </li>
+</ul>
+
+<p>
+  And there is no need to worrying about device or OS version support. Google
+  Play Game Services is backward compatible, allowing you to reach more
+  users with less effort. Get started on <a href=
+  "{@docRoot}google/play-services/games.html">Google Play
+  Game Services</a>. For more tips on keeping gamers engaged, see the <a href=
+  "{@docRoot}distribute/essentials/best-practices/games.html">
+  Game Developer Best Practices</a>.
+</p>
+
+<div class="headerLine clearfloat">
+  <h1 id="related-resources">
+    Related Resources
+  </h1>
+
+  <hr>
+</div>
+
+<div class="resource-widget resource-flow-layout col-13" data-query=
+"collection:distribute/engage/googleplaygames" data-sortorder="-timestamp"
+data-cardsizes="9x3" data-maxresults="6">
+</div>
+
diff --git a/docs/html/distribute/engage/gcm.jd b/docs/html/distribute/engage/gcm.jd
new file mode 100644
index 0000000..d793124e
--- /dev/null
+++ b/docs/html/distribute/engage/gcm.jd
@@ -0,0 +1,51 @@
+page.title=Integrate Google Cloud Messaging
+page.metaDescription=Keep your users in sync with your latest content by delivering lightweight messages over Google's infrastructure.
+page.tags="gcm"
+page.image=/images/gcm/gcm-logo.png
+
+@jd:body
+
+<div class="figure" style="width:330px">
+  <img src="{@docRoot}images/gcm/gcm-logo.png">
+</div>
+
+<p>
+  Keeping app content fresh is important to retaining users. And it’s easy with
+  the popular <a href="{@docRoot}google/gcm/index.html">Google Cloud
+  Messaging</a> for Android, by sending lightweight messages to your apps
+  installed on Android devices anywhere in the world.
+</p>
+
+<p>
+  Push messages from your backend servers to tell your apps that there's new
+  content for the user, or other data to sync.
+</p>
+
+<p>
+  You can use Google Cloud Messaging for two way messaging too. Another
+  possibility is to improve the experience for users with multiple devices, by
+  syncing content through the cloud so users have the same content on all their
+  devices.
+</p>
+
+<p>
+  Google Cloud Messaging lets your users stay in sync with your service without
+  draining the user’s battery, as there's no need for your apps poll a server
+  to discover new content. Best of all, Google Cloud Messaging is available for
+  free and there are no quotas.
+</p>
+
+<div class="headerLine clearfloat">
+  <h1 id="related-resources">
+    Related Resources
+  </h1>
+
+  <hr>
+</div>
+
+<div class="resource-widget resource-flow-layout col-13" 
+  data-query="collection:distribute/engage/gcm"
+  data-sortorder="-timestamp"
+  data-cardsizes="9x3"
+  data-maxresults="6">
+</div>
\ No newline at end of file
diff --git a/docs/html/distribute/engage/index.jd b/docs/html/distribute/engage/index.jd
new file mode 100644
index 0000000..f8cd1ee
--- /dev/null
+++ b/docs/html/distribute/engage/index.jd
@@ -0,0 +1,36 @@
+page.title=Engage & Retain Users
+page.metaDescription=Engaging and retaining active users is the key to success. Here are some resources to help you build an active user base.
+section.landing=true
+nonavpage=true
+
+@jd:body
+
+<p>
+  Engaging and retaining active users is the key to success. This is specially
+  true for subscription and in-app purchase models. Here are several tools and
+  techniques to keep your users coming back.
+</p>
+
+<div class="dynamic-grid">
+
+  <div class="resource-widget resource-flow-layout landing col-16"
+    data-query="collection:distribute/engagelanding"
+    data-cardSizes="6x6"
+    data-maxResults="9">
+  </div>
+
+  <h3>Related Resources</h3>
+  <div class="resource-widget resource-flow-layout col-16"
+    data-query="type:youtube+tag:engagement"
+    data-sortOrder="-timestamp"
+    data-cardSizes="6x3"
+    data-maxResults="3">
+  </div>
+  <div class="resource-widget resource-flow-layout col-16"
+    data-query="type:blog+tag:engagement"
+    data-sortdOrder="-timestamp"
+    data-cardSizes="6x3"
+    data-maxResults="3">
+  </div>
+
+</div>
\ No newline at end of file
diff --git a/docs/html/distribute/engage/notifications.jd b/docs/html/distribute/engage/notifications.jd
new file mode 100644
index 0000000..fecfb45
--- /dev/null
+++ b/docs/html/distribute/engage/notifications.jd
@@ -0,0 +1,61 @@
+page.title=Use Rich Notifications to Keep Users Informed
+page.metaDescription=Use Android's notifications to keep users in touch with your content and services &mdash; even when the app is not in use.
+page.tags=""
+page.image=/design/media/notifications_pattern_anatomy.png
+
+@jd:body
+
+<div class="figure">
+  <img src="{@docRoot}design/media/notifications_pattern_anatomy.png">
+</div>
+
+<p>
+  The <a href="/design/patterns/notifications.html">notification system</a>
+  allows your app to keep the user informed about events, such as new messages,
+  upcoming calendar appointments, shared photos, and much more. They are a
+  fundamental feature of Android that consumers check frequently to receive
+  important notifications and status updates. Notifications are like a news
+  channel that alerts the user to events as they happen and maintains a list of
+  updates since last review.
+</p>
+
+
+
+<p>
+  In addition to status updates from friends and family, notifications can also
+  be used to help gamers know when a time-based action is completed or another
+  player took their turn.</p>
+
+  <p>Some game developers use notifications to alert users
+  when a new limited time character can be won or a discount on an in-app
+  purchase is available. </p>
+
+<h3>But Use Them Sparingly</h3>
+
+<p>
+  Frequent notifications and spam notifications can turn users off, thereby
+  risking your ratings and user base. Also sure to check our <a href=
+  "https://support.google.com/googleplay/android-developer/answer/4430948">policies</a>
+  to ensure you’re treating your user respectfully.
+</p>
+
+
+  <div class="sidebox" style="width:326px;float:left;margin-left:0">
+          <p><strong>Tip:</strong>
+       Use notifications sparingly &mdash; be sure any information presented is
+      useful. Give users the option to turn notifications off.
+    </p>
+  </div>
+
+  <div class="headerLine clearfloat">
+  <h1 id="related-resources">
+    Related Resources
+  </h1><hr>
+</div>
+
+<div class="resource-widget resource-flow-layout col-13" 
+  data-query="collection:distribute/getusers/notifications"
+  data-sortorder="-timestamp"
+  data-cardsizes="9x3"
+  data-maxresults="6">
+</div>
\ No newline at end of file
diff --git a/docs/html/distribute/engage/video.jd b/docs/html/distribute/engage/video.jd
new file mode 100644
index 0000000..1a30f3a
--- /dev/null
+++ b/docs/html/distribute/engage/video.jd
@@ -0,0 +1,37 @@
+page.title=Delight Users with Videos
+page.metaDescription=Videos are one of the most effective ways to get users excited about your apps. 
+page.tags="engagement"
+page.image=/images/gp-engage-smule.jpg
+
+@jd:body
+<p>
+  Videos are one of the most effective ways to get users excited about your
+  apps. Use videos to showcase your apps on your Google Play Product Details
+  pages. Be sure to build a <a href="http://www.youtube.com/yt/dev/">YouTube</a>
+  page to host new videos so users can see new features or content that will
+  get them excited to return to your apps.
+</p>
+
+<p>
+  Videos let you do more than tell users about your apps &mdash; you can
+  <em>show them</em>. One of the most viewed content types is how-to videos.
+  Help users progress to the next level with YouTube <strong>game play
+  videos</strong> in Google Play, on your YouTube channel, and on your website.
+</p>
+
+<div class="center-img">
+  <img src="{@docRoot}images/gp-engage-smule.jpg">
+</div>
+
+<div class="headerLine clearfloat">
+  <h1 id="related-resources">
+    Related Resources
+  </h1>
+
+  <hr>
+</div>
+
+<div class="resource-widget resource-flow-layout col-13" data-query=
+"collection:distribute/engage/video/more" data-sortorder="-timestamp"
+data-cardsizes="9x3" data-maxresults="6">
+</div>
\ No newline at end of file
diff --git a/docs/html/distribute/engage/widgets.jd b/docs/html/distribute/engage/widgets.jd
new file mode 100644
index 0000000..b17af08
--- /dev/null
+++ b/docs/html/distribute/engage/widgets.jd
@@ -0,0 +1,42 @@
+page.title=Build Useful Widgets
+page.metaDescription=Use widgets to remind users about important information in your apps and games, even when your apps are closed.
+page.tags=""
+page.image=/images/gp-engage-0.jpg
+
+@jd:body
+
+<div class="figure">
+  <img src="{@docRoot}images/gp-engage-0.jpg" style="width:320px;">
+</div>
+<p>
+  <a href=
+  "/design/patterns/widgets.html">Widgets</a> are
+  an essential aspect of home screen customization. They are "at-a-glance"
+  views of an app's <strong>most important data and features</strong>,
+  instantly available from the user's home screen.
+</p>
+
+<p>
+  Use widgets to <strong>remind users</strong> about important information in
+  your apps and games, even when your apps are closed. For instance, if you
+  have a news app, showcase the latest headlines.
+</p>
+
+  <div class="sidebox" style="float:none;margin-left:0">
+  <p><strong>Tip:</strong>
+  Make your widgets useful &mdash; provide in-app information like news, game status,
+  or upcoming deadlines. Widgets should serve as more than a launcher icon.</p>
+  </div>
+
+<div class="headerLine clearfloat">
+  <h1 id="related-resources">
+    Related Resources
+  </h1><hr>
+</div>
+
+<div class="resource-widget resource-flow-layout col-13" 
+  data-query="collection:distribute/engage/widgets"
+  data-sortorder="-timestamp"
+  data-cardsizes="9x3"
+  data-maxresults="6">
+</div>
\ No newline at end of file
diff --git a/docs/html/distribute/essentials/best-practices/apps.jd b/docs/html/distribute/essentials/best-practices/apps.jd
new file mode 100644
index 0000000..055a349
--- /dev/null
+++ b/docs/html/distribute/essentials/best-practices/apps.jd
@@ -0,0 +1,260 @@
+page.title=App Developer Best Practices
+page.image=/distribute/images/gp-app-practices.png
+page.metaDescription=Essential tips for launching successful apps in Google Play.
+@jd:body
+
+<div id="qv-wrapper"><div id="qv">
+<h2>Best Practices</h2>
+<ol>
+<li><a href="#essentials">Get the Essentials Right</a></li>
+<li><a href="#users">Get Users</a></li>
+<li><a href="#engage">Engage and Retain</a></li>
+<li><a href="#beyond">Beyond the Basics</a></li>
+<li><a href="#related-resources">Related Resources</a></li>
+</ol>
+</div></div>
+
+<p>The following best practices have enabled developers worldwide to build great, successful apps for Google Play.</p>
+
+<div class="headerLine">
+<h1 id="essentials">Get the Essentials Right</h1><hr>
+</div>
+
+<h3>1. Make it Android</h3>
+
+<ul>
+  <li>
+  <p>
+    Build your apps to make best use of the unique Android features, such as
+    <a href="{@docRoot}distribute/engage/widgets.html">widgets</a>, <a href=
+    "{@docRoot}distribute/engage/notifications.html">rich notifications</a>,
+    <a href=
+    "http://android-developers.blogspot.com/2012/02/share-with-intents.html">sharing
+    through Intents</a>, and more.
+  </p>
+  </li>
+
+  <li>
+  <p>
+    Add the power of Google features your users already love, such as
+    <a href="https://developers.google.com/maps/documentation/android/">Google
+    Maps</a>, <a href="https://developers.google.com/drive/">Google
+    Drive</a>, and more, all with <a href=
+    "https://developers.google.com/+/mobile/android/sign-in">single sign
+    on</a>.
+  </p>
+  </li>
+</ul>
+
+<h3>
+  2. Make it quality
+</h3>
+
+<ul>
+  <li>
+  <p>
+    Make sure your apps follow the <a href=
+    "{@docRoot}distribute/essentials/quality/core.html">Core App Quality</a>
+    guidelines.
+  </p>
+  </li>
+
+  <li>
+  <p>
+    Create apps that are available on all form factors and screen sizes, by
+    following the <a href=
+    "{@docRoot}distribute/essentials/quality/tablets.html">Tablet App
+    Quality</a> guidelines.
+  </p>
+  </li>
+
+  <li>
+  <p>
+    Test and <a href=
+    "{@docRoot}distribute/essentials/optimizing-your-app.html">optimize your
+    quality</a> at every step and make use of the Google Play <a href=
+    "{@docRoot}distribute/googleplay/developer-console.html#alpha-beta">beta-testing</a>
+    and <a href=
+    "{@docRoot}distribute/googleplay/developer-console.html#staged-rollouts">staged
+    rollouts</a> features to test with users before launch.
+  </p>
+  </li>
+</ul>
+
+<div class="headerLine">
+  <h1 id="users">
+  Get Users
+  </h1>
+
+  <hr>
+</div>
+
+<h3>
+  1. Build buzz
+</h3>
+
+<ul>
+  <li>
+  <p>
+    Create a great <a href="{@docRoot}distribute/users/your-listing.html">app
+    listing page</a> to showcase your apps and grab users’ attention. Don’t
+    forget to include a <a href=
+    "{@docRoot}distribute/engage/video.html">YouTube video</a>.
+  </p>
+  </li>
+
+  <li>
+  <p>
+    <a href="{@docRoot}distribute/tools/launch-checklist.html">Launch</a> on
+    multiple platforms simultaneously to maximize your reach.
+  </p>
+  </li>
+
+  <li>
+  <p>
+    Promote your apps with the official <a href=
+    "{@docRoot}distribute/tools/promote/badges.html">Google Play badge</a>
+    and <a href="{@docRoot}distribute/tools/promote/linking.html">link to
+    your products</a> on Google Play.
+  </p>
+  </li>
+
+  <li>
+  <p>
+    Build a community with social media, <a href=
+    "http://groups.google.com/">forums</a>, and <a href=
+    "http://plus.google.com">communities</a> to get and keep users talking.
+  </p>
+  </li>
+</ul>
+
+<h3>
+  2. Optimize for great ratings
+</h3>
+
+<ul>
+  <li>
+  <p>
+    Get to <a href="{@docRoot}distribute/users/know-your-user.html">know your
+    users</a>, listen to and <a href=
+    "{@docRoot}distribute/engage/app-updates.html">update your apps</a> from
+    their feedback.
+  </p>
+  </li>
+
+  <li>
+  <p>
+    Focus on your strength markets first, get these right before expanding.
+  </p>
+  </li>
+</ul>
+
+<div class="headerLine">
+  <h1 id="engage">
+  Engage and Retain
+  </h1>
+
+  <hr>
+</div>
+
+<h3>
+  1. Keep users coming back
+</h3>
+
+<ul>
+  <li>
+  <p>
+    Use <a href="{@docRoot}google/play/billing/index.html">Google Play In-app
+    Billing</a> to offer subscriptions to extended features.
+  </p>
+  </li>
+
+  <li>
+  <p>
+    Hold competitions and offer promotions, then announce them through
+    <a href="{@docRoot}design/patterns/notifications.html">notifications</a>.
+  </p>
+  </li>
+</ul>
+
+<h3>
+  2. Earn users’ love
+</h3>
+
+<ul>
+  <li>
+  <p>
+    <a href=
+    "http://android-developers.blogspot.com/2013/05/all-google-play-developers-can-now.html">
+    Respond to reviews</a> and get valuable feedback from the community
+    you've built.
+  </p>
+  </li>
+
+  <li>
+  <p>
+    <a href=
+    "http://android-developers.blogspot.com/2013/10/improved-app-insight-by-linking-google.html">
+    Measure</a> your campaigns to see what is driving users to install your
+    apps.
+  </p>
+  </li>
+
+  <li>
+  <p>
+    <a href=
+    "{@docRoot}distribute/essentials/optimizing-your-app.html#measuring-analyzing-responding">
+    Analyze in-app use</a> to steer content updates and prolong the life of
+    your apps.
+  </p>
+  </li>
+</ul>
+
+<div class="headerLine">
+  <h1 id="beyond">
+  Beyond the Basics
+  </h1>
+
+  <hr>
+</div>
+
+<ul>
+  <li>
+  <p>
+    After you’ve launched in your market of strength, <a href=
+    "{@docRoot}distribute/users/expand-to-new-markets.html">expand into other
+    markets</a> strategically and <a href=
+    "{@docRoot}distribute/tools/localization-checklist.html">localize</a>
+    your apps as you go.
+  </p>
+  </li>
+
+  <li>
+  <p>
+    Keep users engaged, and stay ahead of the competition, by continually
+    <a href=
+    "{@docRoot}distribute/essentials/optimizing-your-app.html">optimizing
+    your apps</a> to offer new and better features, or retire those that
+    users aren’t using.
+  </p>
+  </li>
+
+  <li>
+  <p>
+    Build educational apps: learn <a href=
+    "{@docRoot}distribute/googleplay/edu/start.html">how to make apps for
+    Google Play for Education</a>.
+  </p>
+  </li>
+</ul>
+
+<div class="headerLine">
+<h1 id="related-resources">Related Resources</h1><hr>
+</div>
+
+<div class="resource-widget resource-flow-layout col-13"
+  data-query="collection:distribute/toolsreference/bestpractices/apps"
+  data-sortOrder="-timestamp"
+  data-cardSizes="9x3,9x3"
+  data-maxResults="6"></div>
+
diff --git a/docs/html/distribute/essentials/best-practices/games.jd b/docs/html/distribute/essentials/best-practices/games.jd
new file mode 100644
index 0000000..ac1df44
--- /dev/null
+++ b/docs/html/distribute/essentials/best-practices/games.jd
@@ -0,0 +1,259 @@
+page.title=Game Developer Best Practices
+page.image=/distribute/images/gp-games-practices.png
+page.metaDescription=Essential tips for launching successful games in Google Play.
+
+@jd:body
+
+<div id="qv-wrapper"><div id="qv">
+<h2>Best Practices</h2>
+<ol>
+<li><a href="#users">Get Users</a></li>
+<li><a href="#engage">Engage and Retain</a></li>
+<li><a href="#beyond">Beyond the Basics</a></li>
+<li><a href="#related-resources">Related Resources</a></li>
+</ol>
+</div></div>
+
+<p>
+  The following best practices have enabled developers worldwide to build
+  great, successful games for Google Play.
+</p>
+
+<div class="headerLine">
+  <h1 id="users">
+  Get Users
+  </h1>
+
+  <hr>
+</div>
+
+<h3>
+  1. Optimize for great ratings
+</h3>
+
+<ul>
+  <li>
+  <p>
+    <a href=
+    "{@docRoot}distribute/googleplay/developer-console.html#alpha-beta">Beta
+    test</a> to ensure your games are ready and poised for great ratings.
+  </p>
+  </li>
+
+  <li>
+  <p>
+    Optimize graphics, frame rates, and responsiveness with the <a href=
+    "http://android-developers.blogspot.com/2013/09/using-hardware-scaler-for-performance.html">
+    Hardware Scaler</a> and <a href=
+    "{@docRoot}training/graphics/opengl/index.html">OpenGL ES</a>.
+  </p>
+  </li>
+
+  <li>
+  <p>
+    Be sure your APK is small, then provide game content through over-the-air
+    downloads.
+  </p>
+  </li>
+</ul>
+
+<h3>
+  2. Build buzz
+</h3>
+
+<ul>
+  <li>
+  <p>
+    Build a community with social media, <a href=
+    "{@docRoot}distribute/users/build-community.html">communities</a> to get
+    and keep users talking.
+  </p>
+  </li>
+
+  <li>
+  <p>
+    Promote your games with official <a href=
+    "{@docRoot}distribute/tools/promote/badges.html">Google Play badges</a>
+    and <a href="{@docRoot}distribute/tools/promote/linking.html">links to
+    your products</a> on Google Play.
+  </p>
+  </li>
+
+  <li>
+  <p>
+    If you ship on multiple platforms, doing so at the same time can maximize
+    your marketing impact.
+  </p>
+  </li>
+</ul>
+
+<h3>
+  3. Get Visibility
+</h3>
+
+<ul>
+  <li>
+  <p>
+    First impressions count: <a href=
+    "{@docRoot}distribute/users/your-listing.html">highlight</a> the game's
+    best features in screenshots, videos, and description.
+  </p>
+  </li>
+
+  <li>
+  <p>
+    Integrate Google Play Game Services, so your game is displayed in the
+    <a href=
+    "https://play.google.com/store/apps/details?id=com.google.android.play.games">
+    Google Play Games App</a>.
+  </p>
+  </li>
+</ul>
+
+<div class="headerLine">
+  <h1 id="engage">
+  Engage and Retain
+  </h1>
+
+  <hr>
+</div>
+
+<h3>
+  1. Keep users coming back
+</h3>
+
+<ul>
+  <li>
+  <p>
+    <a href=
+    "https://developers.google.com/games/services/common/concepts/achievements">
+    Achievements</a>, <a href=
+    "https://developers.google.com/games/services/common/concepts/leaderboards">
+    leaderboards</a>, <a href=
+    "https://developers.google.com/games/services/common/concepts/realtimeMultiplayer">
+    multiplayer</a>, and <a href=
+    "https://developers.google.com/games/services/common/concepts/cloudsave">cloud
+    save</a> help engage users and bring them back.
+  </p>
+  </li>
+
+  <li>
+  <p>
+    Hold tournaments and offer promotions, then announce them through
+    <a href="{@docRoot}design/patterns/notifications.html">notifications</a>.
+  </p>
+  </li>
+
+  <li>
+  <p>
+    Sign in users early, then automatically. Before their first sign-in, save
+    progress locally.
+  </p>
+  </li>
+</ul>
+
+<h3>
+  2. Give users a reason to invest their money
+</h3>
+
+<ul>
+  <li>
+  <p>
+    A majority of the top grossing games use in-app purchases. Use them to
+    unlock content and allow players to enhance their game play.
+  </p>
+  </li>
+
+  <li>
+  <p>
+    <a href="{@docRoot}google/play/billing/index.html">Google Play In-app
+    Billing</a> makes purchasing easy with several forms of payment.
+  </p>
+  </li>
+
+  <li>
+  <p>
+    Provide content updates regularly to give users limited edition items to
+    win or purchase.
+  </p>
+  </li>
+</ul>
+
+<h3>
+  3. Earn players’ love
+</h3>
+
+<ul>
+  <li>
+  <p>
+    <a href=
+    "http://android-developers.blogspot.com/2013/10/improved-app-insight-by-linking-google.html">
+    Measure</a> your campaigns to see what’s driving quality users to install
+    your games.
+  </p>
+  </li>
+
+  <li>
+  <p>
+    <a href=
+    "{@docRoot}distribute/essentials/optimizing-your-app.html#measuring-analyzing-responding">
+    Analyze in-game use</a> to steer content updates and prolong the life of your
+    games.
+  </p>
+  </li>
+
+  <li>
+  <p>
+    <a href=
+    "http://android-developers.blogspot.com/2013/05/all-google-play-developers-can-now.html">
+    Respond to reviews</a> and get valuable feedback from the community
+    you’ve built.
+  </p>
+  </li>
+</ul>
+
+<div class="headerLine">
+  <h1 id="beyond">
+  Beyond the Basics
+  </h1>
+
+  <hr>
+</div>
+
+<ul>
+  <li>
+  <p>
+    After you've launched in your market of strength, <a href=
+    "{@docRoot}distribute/users/expand-to-new-markets.html">expand into other
+    markets</a> strategically and <a href=
+    "{@docRoot}distribute/tools/localization-checklist.html">localize</a>
+    your apps as you go.
+  </p>
+  </li>
+
+  <li>
+  <p>
+    Provide content <a href=
+    "{@docRoot}distribute/engage/app-updates.html">updates on a regular
+    basis</a> to keep users engaged.
+  </p>
+  </li>
+
+  <li>
+  <p>
+    Building educational games? See the <a href=
+    "{@docRoot}distribute/essentials/gpfe-guidelines.html">Education
+    Guidelines</a>.
+  </p>
+  </li>
+</ul>
+
+<div class="headerLine">
+<h1 id="related-resources">Related Resources</h1><hr>
+</div>
+
+<div class="resource-widget resource-flow-layout col-13"
+  data-query="collection:distribute/toolsreference/bestpractices/games"
+  data-sortOrder="-timestamp"
+  data-cardSizes="9x3,9x3"
+  data-maxResults="6"></div>
diff --git a/docs/html/distribute/essentials/essentials_toc.cs b/docs/html/distribute/essentials/essentials_toc.cs
new file mode 100644
index 0000000..7084fdd
--- /dev/null
+++ b/docs/html/distribute/essentials/essentials_toc.cs
@@ -0,0 +1,44 @@
+<ul id="nav">
+  <li class="nav-section">
+    <div class="nav-section empty" style="font-weight:normal"><a href="<?cs var:toroot?>distribute/essentials/quality/core.html">
+            <span class="en">Core App Quality</span></a>
+    </div>
+  </li>
+  <li class="nav-section">
+    <div class="nav-section empty" style="font-weight:normal"><a href="<?cs var:toroot?>distribute/essentials/quality/tablets.html">
+            <span class="en">Tablet App Quality</span>
+          </a>
+    </div>
+  </li>
+  <li class="nav-section">
+    <div class="nav-section empty" style="font-weight:normal"><a href="<?cs var:toroot?>distribute/essentials/gpfe-guidelines.html">
+          <span class="en">Education Guidelines</span>
+        </a>
+    </div>
+  </li>
+  <li class="nav-section">
+    <div class="nav-section empty" style="font-weight:normal"><a href="<?cs var:toroot?>distribute/essentials/optimizing-your-app.html">
+          <span class="en">Optimize Your App</span>
+        </a>
+    </div>
+  </li>
+  <li class="nav-section">
+    <div class="nav-section empty" style="font-weight:normal"><a href="<?cs var:toroot?>distribute/essentials/best-practices/apps.html">
+          <span class="en">App Best Practices</span>
+        </a>
+    </div>
+  </li>
+  <li class="nav-section">
+    <div class="nav-section empty" style="font-weight:normal"><a href="<?cs var:toroot?>distribute/essentials/best-practices/games.html">
+          <span class="en">Game Best Practices</span>
+        </a>
+    </div>
+  </li>
+
+
+<script type="text/javascript">
+<!--
+    buildToggleLists();
+    changeNavLang(getLangPref());
+//-->
+</script>
diff --git a/docs/html/distribute/essentials/gpfe-guidelines.jd b/docs/html/distribute/essentials/gpfe-guidelines.jd
new file mode 100644
index 0000000..8b47671
--- /dev/null
+++ b/docs/html/distribute/essentials/gpfe-guidelines.jd
@@ -0,0 +1,513 @@
+page.title=Education Guidelines
+page.metaDescription=These guidelines and requirements help you develop great apps for students, which offer compelling content and an intuitive user experience on Android tablets.
+page.image=/distribute/images/edu-guidelines.jpg
+Xnonavpage=true
+
+@jd:body
+
+
+<div id="qv-wrapper"><div id="qv">
+<h2>Guidelines</h2>
+<ol>
+<li><a href="#basic-reqts">Basic Requirements</a></li>
+<li><a href="#monetizing-ads">Monetizing and Ads</a></li>
+<li><a href="#e-value">Educational Value</a></li>
+<li><a href="#quality">App Quality</a></li>
+<li><a href="#related-resources">Related Resources</a></li>
+</ol>
+
+<h2>
+  Testing
+</h2>
+
+<ol>
+  <li>
+    <a href="#test-environment">Setting Up a Test Environment</a>
+  </li>
+</ol>
+
+</div></div>
+
+<div style="margin:0 0 1em 0;">
+  <img src="{@docRoot}distribute/images/edu-guidelines.jpg" style=
+  "width:274px;">
+</div>
+
+<p>
+  These guidelines and requirements help you develop great apps for students,
+  which offer compelling content and an intuitive user experience on Android
+  tablets.
+</p>
+
+<p>
+  You’ll also need to ensure that your apps comply with the terms of the
+  <a href=
+  "https://play.google.com/about/developer-distribution-agreement-addendum.html">
+  Google Play for Education Addendum</a>, <a href=
+  "http://play.google.com/about/developer-content-policy.html">Google Play
+  Developer Program Policies</a>, and <a href=
+  "http://play.google.com/about/developer-distribution-agreement.html">Developer
+  Distribution Agreement</a>.
+</p>
+
+<div class="headerLine clearfloat">
+  <h1 id="basic-reqts">
+    Basic Requirements
+  </h1>
+
+  <hr>
+</div>
+
+<p>
+  To participate, your apps must be designed for the K-12 market. The basic
+  requirements that your apps must meet are:
+</p>
+
+<ul>
+  <li>
+    <p>
+      Apps and the ads they contain must not collect personally identifiable
+      information, other than user credentials or data required to operate and
+      improve the app.
+    </p>
+  </li>
+
+  <li>
+    <p>
+      Apps must not use student data for purposes unrelated to its educational
+      function.
+    </p>
+  </li>
+
+  <li>
+    <p>
+      Apps must have a content rating of "Everyone" or "Low Maturity" (apps
+      with a "Medium Maturity" rating are allowed, if they have that rating
+      solely because they allow communication between students).
+    </p>
+  </li>
+
+  <li>
+    <p>
+      App content, including ads displayed by the app, must be consistent with
+      the app's maturity rating. The app must not display any "offensive"
+      content, as described in the <a href=
+      "http://play.google.com/about/developer-content-policy.html">Google Play
+      Developer Program Policies</a> and <a href=
+      "https://support.google.com/googleplay/android-developer/answer/188189">content-rating
+      guidelines</a>.
+    </p>
+  </li>
+
+  <li>
+    <p>
+      Apps must comply with the Children’s Online Privacy Protection Act and
+      all other applicable laws and regulations.
+    </p>
+  </li>
+</ul>
+
+<div class="headerLine">
+  <h1 id="monetizing-ads">
+    Monetizing and Ads
+  </h1>
+
+  <hr>
+</div>
+
+<div class="figure">
+  <img src="{@docRoot}images/gp-edu-monetize.png">
+</div>
+
+<p>
+  In-app purchase is currently not supported with Google Play for Education, so
+  a student device will block any transactions. To avoid confusion, be sure to
+  remove any in-app purchase buttons and related UI elements from your apps.
+  We’re investigating additional purchase mechanisms to enable more flexible
+  pricing models for developers and schools.
+</p>
+
+<p>
+  If your apps are priced In Google Play for Education, you must allow Google
+  Play to offer teachers limited free trials before purchase (you provide this
+  through business terms only, no development work is needed.)
+</p>
+
+<p>
+  You can only choose not to remove in-app purchasing from your apps where all
+  content and services are sold through Google Play for Education using In-app
+  Billing. If you choose not to remove In-app Billing features, ensure that:
+</p>
+
+<ul>
+  <li>
+    <p>
+      Users can access your apps’ core functionality for a classroom setting
+      without an in-app purchase.
+    </p>
+  </li>
+
+  <li>
+    <p>
+      In-app purchases are clearly identifiable in your UI.
+    </p>
+  </li>
+
+  <li>
+    <p>
+      You declare the use of in-app purchases at <a href=
+      "{@docRoot}distribute/googleplay/edu/start.html#publish">opt-in</a>.
+    </p>
+  </li>
+</ul>
+
+<p>
+  For each app that you publish, you can set a single price that applies to
+  both Google Play and Google Play for Education. You can’t set a different
+  price for a given app (based on a single package name) in Google Play for
+  Education.
+</p>
+
+<p>
+  If your apps display ads, you should disable the display of ads if possible,
+  or ensure that:
+</p>
+
+<ul>
+  <li>Ads are not distracting for students or teachers (this includes
+  Flash-based ads, video ads, and ads that flash or move)
+  </li>
+
+  <li>Interstitial ads are not served in the app
+  </li>
+
+  <li>Ad walls do not appear in the app UI
+  </li>
+
+  <li>Ads do not occupy a significant portion of the screen
+  </li>
+
+  <li>Ads content does not exceed the maturity rating of the app.
+  </li>
+
+  <li>
+    <p>
+      You declare the use of ads at <a href=
+      "{@docRoot}distribute/googleplay/edu/start.html#publish">opt-in</a>.
+    </p>
+  </li>
+</ul>
+
+<div class="headerLine">
+  <h1 id="e-value">
+    Educational Value
+  </h1>
+
+  <hr>
+</div>
+
+<div class="figure">
+  <img src="{@docRoot}images/gp-e-value.png" class="border-img">
+</div>
+
+<p>
+  Apps submitted to Google Play for Education will be evaluated by a
+  third-party educator network, which will review them based on alignment with
+  <a href="http://www.corestandards.org/">Common Core Standards</a> and other
+  educational considerations. This will help make your content more
+  discoverable for teachers and administrators as they browse by grade level,
+  subject, core curriculum, and other parameters.
+</p>
+
+<p>
+  Apps with highest educational value will have these characteristics:
+</p>
+
+<ul>
+  <li>
+    <p>
+      Designed for use in K-12 classrooms.
+    </p>
+  </li>
+
+  <li>
+    <p>
+      Aligned with a common core standard or support common-core learning.
+    </p>
+  </li>
+
+  <li>
+    <p>
+      Simple, easy to use, and intuitive for the grade levels the apps are
+      targeting. Apps are relatively easy to navigate without teacher guidance.
+      Not distracting or overwhelming to students.
+    </p>
+  </li>
+
+  <li>
+    <p>
+      Enjoyable and interactive. Apps are engaging to students and lets them
+      control their experience.
+    </p>
+  </li>
+
+  <li>
+    <p>
+      Versatile. Apps have features that make them useful for more than one
+      classroom function or lesson throughout the school year.
+    </p>
+  </li>
+
+  <li>
+    <p>
+      Supports the "4Cs":
+    </p>
+
+    <ul>
+      <li>
+        <p>
+          <em>Creativity</em> &mdash; Allows students to create in order to
+          express understanding of the learning objectives, and try new
+          approaches, innovation, and invention to get things done.
+        </p>
+      </li>
+
+      <li>
+        <p>
+          <em>Critical thinking</em> &mdash; Allows students to look at
+          problems in a new way, linking learning across subjects and
+          disciplines.
+        </p>
+      </li>
+
+      <li>
+        <p>
+          <em>Collaboration</em> &mdash; Allows students and (if appropriate)
+          educators to work together to reach a goal.
+        </p>
+      </li>
+
+      <li>
+        <p>
+          <em>Communication</em> &mdash; Allows students to comprehend,
+          critique and share thoughts, questions, ideas, and solutions.
+        </p>
+      </li>
+    </ul>
+  </li>
+</ul>
+
+<p>
+  As you design and develop your apps, make sure they offer high educational
+  value by addressing as many of these characteristics as possible.
+</p>
+
+<div class="headerLine">
+  <h1 id="quality">
+    App Quality
+  </h1>
+
+  <hr>
+</div>
+
+<div class="figure">
+  <img src="{@docRoot}images/gp-edu-quality.png">
+</div>
+
+<p>
+  Your apps should be designed to perform well and look great on Android
+  tablets, and they should offer the best user experience possible.
+</p>
+
+<p>
+  High quality apps are engaging, intuitive, and offer compelling content.
+  Google Play for Education will highlight high-quality apps for easy discovery
+  in the store. Here are some recommendations for making your app easy for
+  students and teachers to enjoy:
+</p>
+
+<ul>
+  <li>
+    <p>
+      Meet the Core Quality Guidelines:
+    </p>
+
+    <ul>
+      <li>
+        <p>
+          Follow <a href="{@docRoot}design/index.html">Android Design
+          Guidelines</a>. Pay special attention to the sections on <a href=
+          "{@docRoot}design/patterns/actionbar.html">Action Bar</a>, <a href=
+          "{@docRoot}design/patterns/navigation.html">Navigation</a>, and
+          <a href="{@docRoot}design/patterns/pure-android.html">Pure
+          Android</a>.
+        </p>
+      </li>
+
+      <li>
+        <p>
+          Test your apps against the <a href=
+          "{@docRoot}distribute/essentials/quality/core.html">Core Quality
+          Guidelines</a>.
+        </p>
+      </li>
+    </ul>
+  </li>
+
+  <li>
+    <p>
+      Meet the Tablet App Quality guidelines:
+    </p>
+
+    <ul>
+      <li>
+        <p>
+          Follow our best practices for tablet app development.
+        </p>
+      </li>
+
+      <li>
+        <p>
+          Review the <a href=
+          "{@docRoot}distribute/essentials/quality/tablets.html">Tablet App
+          Quality</a> guidelines and <a href=
+          "http://android-developers.blogspot.com/2012/11/designing-for-tablets-were-here-to-help.html">
+          blog post on designing for tablets.</a>
+        </p>
+
+        <ul>
+          <li>Check your Optimization Tips in the <a href=
+          "https://play.google.com/apps/publish/">Developer Console</a> (if
+          you've already uploaded your apps.)
+          </li>
+        </ul>
+      </li>
+
+      <li>
+        <p>
+          Strive for simplicity and highest usability for students:
+        </p>
+
+        <ul>
+          <li>
+            <p>
+              Design your app so that teachers and students can use all the
+              capabilities of your app without having to sign-in to multiple
+              accounts and remember multiple passwords.
+            </p>
+          </li>
+
+          <li>
+            <p>
+              Every student or teacher using a Google Play for Education tablet
+              will already be signed in with a Google account on the device.
+              You can take advantage of that to provide a simple, seamless
+              sign-in experience in your app. A recommended approach is to use
+              <a href="{@docRoot}google/play-services/auth.html">Google OAuth 2
+              authorization</a> through Google Play Services.
+            </p>
+          </li>
+        </ul>
+      </li>
+    </ul>
+  </li>
+</ul>
+
+<div class="headerLine">
+  <h1 id="test-environment">
+    Test Environment
+  </h1>
+
+  <hr>
+</div>
+
+<p>
+  To test your app and assess it against the guidelines in this document, it's
+  recommended that you <a href=
+  "{@docRoot}distribute/essentials/quality/tablets.html#test-environment">set
+  up a test environment</a> that replicates the actual environment in which
+  students and teachers will run your app.
+</p>
+
+<h3>
+  Test conditions
+</h3>
+
+<p>
+  Make sure to test your apps under conditions that simulate those of schools.
+  For example, Google Play for Education lets administrators <a href=
+  "https://support.google.com/a/answer/182442?hl=en">control or disable certain
+  capabilities</a> for students, so it's good to test your app with those
+  capabilities disabled. Below are some conditions to test your apps for, to
+  ensure best results in the Google Play for Education environment:
+</p>
+
+<ul>
+  <li>
+    <p>
+      <em>Android version</em> &mdash; Test the apps on devices running Android
+      4.2. Google Play for Education devices will be running Android 4.2 or
+      higher (API level 17+).
+    </p>
+  </li>
+
+  <li>
+    <p>
+      <em>Proxy server</em> &mdash; Test the apps in a network environment that
+      uses proxies. Many schools use proxies.
+    </p>
+  </li>
+
+  <li>
+    <p>
+      <em>No location services</em> &mdash; Test the apps to make sure they
+      work properly with location services disabled. Many schools will disable
+      location services for student devices.
+    </p>
+  </li>
+
+  <li>
+    <p>
+      <em>No In-app Billing</em> &mdash; Test the apps to make sure they work
+      properly without access to In-app Billing. In-app purchases are blocked
+      on Google Play for Education devices.
+    </p>
+  </li>
+
+  <li>
+    <p>
+      <em>No Bluetooth</em> &mdash; Test the apps to make sure they work
+      properly when Bluetooth is disabled. Many schools will disable Bluetooth
+      on student devices.
+    </p>
+  </li>
+
+  <li>
+    <p>
+      <em>No access to network</em> &mdash; Test the app to make sure it works
+      properly when the device cannot connect to the internet.
+    </p>
+  </li>
+</ul>
+
+<div class="headerLine">
+<h1>Related Resources</h1><hr>
+</div>
+
+<div class="dynamic-grid">
+<h3>FOR DEVELOPERS</h3>
+
+<div class="resource-widget resource-flow-layout col-13"
+    data-query="collection:distribute/essentials/eduessentials/developers"
+    data-sortOrder="-timestamp"
+    data-cardSizes="6x3,6x3,6x3"
+    data-maxResults="6"></div>
+
+<h3>FOR TEACHERS AND EDUCATORS</h3>
+
+<div class="resource-widget resource-flow-layout col-13"
+    data-query="collection:distribute/essentials/eduessentials/educators"
+    data-sortOrder="-timestamp"
+    data-cardSizes="6x3,6x3,6x3"
+    data-maxResults="3"></div>
+</div>
\ No newline at end of file
diff --git a/docs/html/distribute/essentials/index.jd b/docs/html/distribute/essentials/index.jd
new file mode 100644
index 0000000..ca5442a
--- /dev/null
+++ b/docs/html/distribute/essentials/index.jd
@@ -0,0 +1,34 @@
+page.title=Essentials for a Successful App
+meta.tags="landing, quality"
+page.tags="guidelines", "tablet", "quality"
+section.landing=true
+nonavpage=true
+
+@jd:body
+
+<p>
+  A focus on quality should be part of your entire app delivery process: from
+  initial concept through app and UI design, coding and testing and onto a
+  process of monitoring feedback and making improvement after launch.
+</p>
+
+<div class="dynamic-grid">
+<div class="resource-widget resource-flow-layout landing col-16"
+  data-query="collection:distribute/essentials"
+  data-cardSizes="6x6"
+  data-maxResults="6">
+</div>
+
+<h3>Related resources</h3>
+
+<div class="resource-widget resource-flow-layout col-16"
+  data-query="type:blog+tag:quality"
+  data-cardSizes="6x3"
+  data-maxResults="3">
+</div>
+<div class="resource-widget resource-flow-layout col-16"
+  data-query="type:youtube+tag:appquality"
+  data-cardSizes="6x3"
+  data-maxResults="3">
+</div>
+</div>
\ No newline at end of file
diff --git a/docs/html/distribute/essentials/optimizing-your-app.jd b/docs/html/distribute/essentials/optimizing-your-app.jd
new file mode 100644
index 0000000..3fe91b28
--- /dev/null
+++ b/docs/html/distribute/essentials/optimizing-your-app.jd
@@ -0,0 +1,517 @@
+page.title=Optimize Your App
+page.metaDescription=A look at how to get the most visibility and the highest ratings possible for your app or game. Optimizing the quality of your apps is a key strategy.
+page.image=/distribute/images/gp-optimize-card.jpg
+
+@jd:body
+
+<div id="qv-wrapper">           
+  <div id="qv">
+    <h2>Strategies</h2>
+    <ol>
+      <li><a href="#listen-to-your-users">Listen to Your Users</a></li>
+      <li><a href="#measuring-analyzing-responding">Measuring, Analyzing, and Responding to User Behavior</a></li>
+      <li><a href="#improve-stability">Improve Stability and Eliminate Bugs</a></li>
+      <li><a href="#improve-ui">Improve UI Responsiveness</a></li>
+      <li><a href="#improve-usability">Improve Usability</a></li>
+      <li><a href="#professional-appearance">Professional Appearance and Aesthetics</a></li>
+      <li><a href="#deliver-features">Deliver the Right Set of Features</a></li>
+      <li><a href="#integrate">Integrate with the System and Third-Party Apps</a></li>
+      <li><a href="#related-resources">Related Resources</a></li>
+    </ol>
+  </div>
+</div>
+
+<div class="top-right-float">
+  <img src="{@docRoot}images/gp-optimize.png" class="quality-top-image" style=
+  "width:239px;padding-left:1.5em;">
+</div>
+
+<p>
+  With thousands of new apps being published in Google Play every week, it's
+  important to look for ways to get the most visibility and the highest ratings
+  possible. Optimizing the quality of your apps is a key strategy.
+</p>
+
+<p>
+  A higher quality app can translate to higher user ratings, generally better
+  rankings, more downloads, and higher retention (longer install periods).
+  High-quality apps are much more likely to get positive publicity, such as
+  being featured in Google Play or generating social media buzz.
+</p>
+
+<p>
+  The quality of your apps is something you should consider addressing both
+  before and after launch. Gaining users after the launch of a poor quality app
+  can be hard and recovering costly. On the other hand, maintaining the ranking
+  of high-quality apps is made easier if there are continual improvements, a
+  practice that also fuels the impression-install-ranking cycle.
+</p>
+
+<p>
+  On this page you can find advice on a number of ways in which you can drive
+  improvements to your apps’ quality.
+</p>
+
+<div class="headerLine">
+  <h1 id="listen-to-your-users">
+    Listen to Your Users
+  </h1>
+
+  <hr>
+</div>
+
+<div class="figure">
+  <img src="{@docRoot}images/gp-optimizing-chat-bubbles.png">
+</div>
+
+<p>
+  Listening and hearing your users can be one of your best tools for success.
+  Start listening to your users before launching your apps and continue to
+  listen after launch.
+</p>
+
+<h3>
+  <strong>Listening before you launch</strong>
+</h3>
+
+<p>
+  You can listen to your users during the development of your apps. This
+  process can start with focus groups to review app features, continue into
+  user experience workshops, and onto alpha and beta releases. Listening at
+  these stages has two main benefits: <strong>you’ll build apps with features
+  users want</strong> and <strong>any issues they identify will be cheaper and
+  quicker to fix</strong> than they would be once the app is launched fully.
+</p>
+
+<p>
+  If the practicalities of focus groups and user workshops seem excessive in
+  relation to the development of a particular app, drawing on the feedback of
+  colleagues, friends, and family can be much more useful than getting no
+  feedback at all.
+</p>
+
+<p>
+  It's crucial to conduct user testing before releasing your apps to Google
+  Play. If you can only engage with colleagues, friends, and family you’re
+  already making a good start. For more extensive testing consider a public
+  alpha/beta test or creating your own trusted tester program. You can manage
+  app distribution yourself through email or your own website, or you can use
+  <a href=
+  "{@docRoot}distribute/googleplay/developer-console.html#alpha-beta">beta-testing</a>
+  and <a href=
+  "{@docRoot}distribute/googleplay/developer-console.html#staged-rollouts">staged
+  rollouts</a> in conjunction with <a href=
+  "http://www.google.com/+/business/">Google+</a> or <a href=
+  "https://groups.google.com/forum/#!overview">Google Groups</a> to distribute
+  software and gather feedback to a subset of users. <strong>Users on alpha or
+  beta versions cannot leave reviews or ratings</strong>, so there is
+  <strong>no risk to your rating</strong> on Google Play.
+</p>
+
+<p>
+  Unless you have to, don’t restrict the users you involve in these stages in
+  the information they can share through their social networks and blogs -
+  users engaged in these early stages (and listened too) are likely to be great
+  ambassadors for your apps and will help create great social media buzz.
+</p>
+
+<h3>
+  Listening after launch
+</h3>
+
+<p>
+  Once you have launched, the most obvious way to listen to users is by reading
+  and addressing comments on Google Play. Although the comments aren't always
+  productive or constructive, some will provide valuable insight on aspects of
+  your apps. It's important to remember that users have the opportunity to
+  change their ratings and comments as much as they like.
+</p>
+
+<p>
+  There are more interactive ways you can reach users, help them address their
+  concerns, and gather more detailed feedback: by setting up support and
+  discussion forums. There are some great support tools out there that can put
+  you in touch with your users directly, from forums such as <a href=
+  "http://groups.google.com/">Google Groups</a> to comprehensive customer
+  support products and tools like UserVoice. Once you get set up with such a
+  tool, make sure to fill in the support link in your Google Play product
+  details page — users do click through to these.
+</p>
+
+<p>
+  Also don’t forget to use the <a href=
+  "{@docRoot}distribute/googleplay/developer-console.html#alpha-beta">beta-testing</a>
+  and <a href=
+  "{@docRoot}distribute/googleplay/developer-console.html#staged-rollouts">staged
+  rollout</a> features of Google Play with app updates.
+</p>
+
+<div class="headerLine" id="measuring-analyzing-responding">
+  <h1>
+    Measuring, Analyzing, and Responding to User Behavior
+  </h1>
+
+  <hr>
+</div>
+
+<div class="figure">
+  <img src="{@docRoot}images/gp-optimize-analytics.png">
+</div>
+
+<p>
+  One of the best ways to spot issues to resolve is by measuring user behavior.
+  Optimizing your app becomes much easier when you analyze performance before
+  and after you launch. Drop off points, low ratings, and high percent of
+  uninstalls can be indicative that there’s a problem. Measuring and responding
+  to user-related metrics such as download sources, retention rates, and in-app
+  behavior regularly is critical to keeping and bringing back your hard earned
+  user base.
+</p>
+
+<p>
+  You can get data from tools in Google Play or third-parties to analyze user
+  behavior. You can identify details such as:
+</p>
+
+<ul>
+  <li>
+    <p>
+      Where installs are coming from.
+    </p>
+  </li>
+
+  <li>
+    <p>
+      The types of users you are acquiring.
+    </p>
+  </li>
+
+  <li>
+    <p>
+      What is causing user churn and how to reduce it.
+    </p>
+  </li>
+</ul>
+
+<h3>
+  Statistics for analyzing installs and ratings
+</h3>
+
+<p>
+  Once you’ve published your app, Google Play makes it easy to see how it’s
+  doing. The <a href="https://play.google.com/apps/publish/">Developer
+  Console</a> gives you access to a variety of anonymized statistics and custom
+  charts that show you the app's installation performance and ratings.
+</p>
+
+<p>
+  You can view data and charts for active, daily, and total installs per unique
+  devices or users, as well as upgrades and uninstalls. You can also view the
+  app's daily average user rating and its cumulative user rating. To help you
+  analyze the data, you can view install and ratings statistics across a
+  variety of different dimensions such as Android version, device, country, app
+  version, and carrier.
+</p>
+
+<div>
+  <img class="border-img" src="{@docRoot}images/gp-dc-stats-mini.png">
+</div>
+
+<p>
+  You can see your app statistics on timeline charts, for all metrics and
+  dimensions. At a glance, the charts highlight your app’s installation and
+  ratings peaks and longer-term trends, which you can correlate to promotions,
+  app improvements, or other factors. You can even focus in on data inside a
+  dimension by highlighting specific data points (such as individual platform
+  versions or languages) on the timeline.
+</p>
+
+<p>
+  You can download all of your installation data as a CSV file for viewing in
+  the business program of your choice.
+</p>
+
+<h3>
+  Tracking and analyzing Marketing campaigns
+</h3>
+
+<p>
+  While you should consider monitoring user behavior data as a part of your
+  normal activities, it’s particularly important when you’re running any form
+  of marketing campaign, to make sure you’re getting the right users at the
+  lowest cost possible.
+</p>
+
+<p>
+  One way to track your marketing campaigns is to link <a href=
+  "http://android-developers.blogspot.com/2013/10/improved-app-insight-by-linking-google.html">
+  Google Analytics with your Google Play account</a> to analyze activity from
+  source to install.
+</p>
+
+<div style="margin-top:1em;">
+  <img src="{@docRoot}images/gp-optimizing-image-4.jpg" class="border-img">
+</div>
+
+<p>
+  You can also use any of the variety of tools on the market to help track your
+marketing success and improvement ROI if you wish. There are also third parties
+who can help automate, measure, and optimize your mobile marketing.
+</p>
+
+<div class="headerLine">
+  <h1 id="improve-stability">
+    Improve Stability and Eliminate Bugs
+  </h1>
+
+  <hr>
+</div>
+
+<p>
+  There are many tools and techniques for testing and profiling your app on
+  different devices and user scenarios.
+</p>
+
+<p>
+  One noteworthy and yet relatively underused tool for catching stability
+  issues such as crashes is the <a href=
+  "{@docRoot}tools/help/monkey.html">UI/Application Exerciser Monkey</a>
+  (Monkey). Monkey will send random UI events to your app's activities,
+  allowing you to trigger user flows that can uncover stability problems.
+</p>
+
+<p>
+  Also, with the Google error-reporting features built into most Android
+  devices, users have a way to report application crashes to you. The error
+  reports show up in aggregate in the Google Play Developer Console. Make sure
+  to read these reports often and act on them appropriately.
+</p>
+
+<p>
+  Last, keep an external bug and feature request tracker and let users know how
+  to find it. This will enable them to engage with the app at a closer level,
+  by following features and bugs that affect them. User frustration with app
+  problems can be effectively managed with diligent issue tracking and
+  communication. Several community support tools offer issue tracking features,
+  and if your project is open source, most popular repository hosting sites
+  offer this as well.
+</p>
+
+<div class="headerLine">
+  <h1 id="improve-ui">
+    Improve UI Responsiveness
+  </h1>
+
+  <hr>
+</div>
+
+<div class="figure">
+  <img src="{@docRoot}images/gp-optimize-speed.png">
+</div>
+
+<p>
+  One sure-fire way to lose your users is to give them a slow, unresponsive UI.
+  Research has shown that <a href=
+  "http://googleresearch.blogspot.com/2009/06/speed-matters.html">speed
+  matters</a>, for any interface, on mobile, web, or desktop. In fact, the
+  importance of speed is amplified on mobile devices since users often need
+  their information on the go and in a hurry.
+</p>
+
+<p>
+  You can improve your apps' UI responsiveness by moving long-running
+  operations off the main thread to worker threads. Android offers built-in
+  debugging facilities such as StrictMode for analyzing your app's performance
+  and activities on the main thread. See more recommendations in <a href=
+  "http://www.youtube.com/watch?v=c4znvD-7VDA">Writing Zippy Android Apps</a>,
+  a developer session from Google I/O 2010.
+</p>
+
+<p>
+  A great way to improve UI performance is to minimize the complexity of your
+  layouts. If you open up <a href=
+  "{@docRoot}tools/help/hierarchy-viewer.html">hierarchyviewer</a> and see that
+  your layouts are more than 5 levels deep, it may be time to simplify your
+  layout. Consider refactoring those deeply nested <a href=
+  "{@docRoot}reference/android/widget/LinearLayout.html">LinearLayouts</a> into
+  <a href="{@docRoot}guide/topics/ui/layout/relative.html">RelativeLayout</a>.
+  The impact of View objects is cumulative — each one costs about 1 to 2 KB of
+  memory, so large view hierarchies can be a recipe for disaster, causing
+  frequent VM garbage collection passes which block the main (UI) thread. You
+  can learn more from the Google I/O session <a href=
+  "http://www.youtube.com/watch?v=wDBM6wVEO70">World of ListView</a>.
+</p>
+
+<p>
+  Lastly, as pointed out in the blog post <a href=
+  "http://android-developers.blogspot.com/2010/10/traceview-war-story.html">Traceview
+  War Story</a>, tools like <a href=
+  "{@docRoot}tools/help/traceview.html">traceview and ddms</a> can be your best
+  friends in improving your app by profiling method calls and monitoring VM
+  memory allocations, respectively.
+</p>
+
+<div class="headerLine">
+  <h1 id="improve-usability">
+    Improve Usability
+  </h1>
+
+  <hr>
+</div>
+
+<div class="sidebox-wrapper" style="float:right;">
+  <div class="sidebox">
+    <p>
+      <strong>Tip:</strong> As you’re designing or evaluating your app's UI,
+      make sure to read and become familiar with the <a href=
+      "{@docRoot}design/index.html">Android Design</a> guidelines. Included are
+      many examples of UI patterns, styles, and building blocks, as well as
+      tools for the design process.
+    </p>
+  </div>
+</div>
+
+<p>
+  In usability and in app design too, you should listen carefully to your
+  users. Ask a handful of real Android device users (friends, family, etc.) to
+  try out your app and observe them as they interact with it. Look for cases
+  where they get confused, are unsure of how to proceed, or are surprised by
+  certain behaviors. Minimize these cases by rethinking some of the
+  interactions in your app. See the <a href=
+  "{@docRoot}design/patterns/index.html">Patterns section</a> for tips to
+  improve your design.
+</p>
+
+<p>
+  In the same vein, two problems that can plague some Android user interfaces
+  are small tap targets and excessively small font sizes. These are generally
+  easy to fix and can make a big impact on usability and user satisfaction. As
+  a general rule, optimize for ease of use and legibility, while minimizing, or
+  at least carefully balancing, information density.
+</p>
+
+<p>
+  Another way to incrementally improve usability, based on real-world data, is
+  to implement <a href=
+  "http://code.google.com/mobile/analytics/docs/">Analytics</a> throughout your
+  app to log the use of particular sections. Consider demoting infrequently
+  used sections to the overflow menu in the <a href=
+  "{@docRoot}design/patterns/actionbar.html">Action bar</a>, or removing them
+  altogether. For often-used sections and UI elements, make sure they're
+  immediately obvious and easily accessible in your app's UI so that users can
+  get to them quickly.
+</p>
+
+<div class="headerLine">
+  <h1 id="professional-appearance">
+    Professional Appearance and Aesthetics
+  </h1>
+
+  <hr>
+</div>
+
+<p>
+  There's no substitute for a real user interface designer — ideally one who's
+  well-versed in mobile and Android, and handy with both interaction and visual
+  design. One popular venue to post openings for designers is <a href=
+  "http://jobs.smashingmagazine.com/">jobs.smashingmagazine.com</a>, and
+  leveraging social networks can also surface great talent.
+</p>
+
+<p>
+  If you don't have the luxury of working with a UI designer, there are some
+  ways in which you can improve your app's appearance yourself. You can use
+  Adobe Photoshop, Adobe Fireworks, GIMP, Inkscape or other image editing
+  tools. Mastering the art of the pixel in these apps takes time, but honing
+  this skill can help build polish across your interface designs. Also, master
+  the resources framework by studying the framework UI assets and layouts and
+  reading through the <a href=
+  "{@docRoot}guide/topics/resources/index.html">resources documentation</a>.
+  Techniques such as 9-patches and resource directory qualifiers are somewhat
+  unique to Android, and are crucial in building flexible yet aesthetic UIs.
+</p>
+
+<p>
+  Before you get too far in designing your app and writing the code, make sure
+  to visit the <a href="{@docRoot}design/index.html">Android Design section</a>
+  and learn about the vision, the building blocks, and the tools of designing
+  beautiful and inspiring user interfaces.
+</p>
+
+<div class="headerLine">
+  <h1 id="deliver-features">
+    Deliver the Right Set of Features
+  </h1>
+
+  <hr>
+</div>
+
+<p>
+  Having the <em>right</em> set of features in your app is important. It's
+  often easy to fall into the trap of feature-creep, building as much
+  functionality into your app as possible. Providing instant gratification by
+  immediately showing the most important or relevant information is crucial on
+  mobile devices. Providing too much information can be as frustrating (or even
+  more so) than not providing enough of it.
+</p>
+
+<p>
+  Again, listen to your users by collecting and responding to feature requests.
+  Be careful, though, to take feature requests with a grain of salt. Requests
+  can be very useful in aggregate, to get a sense of what kinds of
+  functionality you should be working on, but not every feature request needs
+  to be implemented.
+</p>
+
+<div class="headerLine">
+  <h1 id="integrate">
+    Integrate with the System and Third-Party apps
+  </h1>
+
+  <hr>
+</div>
+
+<p>
+  A great way to deliver a delightful user experience is to integrate tightly
+  with the operating system. Features like <a href=
+  "{@docRoot}guide/topics/appwidgets/index.html">Home screen widgets</a>,
+  <a href="{@docRoot}design/patterns/notifications.html">rich
+  notifications</a>, <a href="{@docRoot}guide/topics/search/index.html">global
+  search integration</a>, and <a href=
+  "{@docRoot}reference/android/widget/QuickContactBadge.html">Quick
+  Contacts</a> are fairly low-hanging fruit in this regard.
+</p>
+
+<p>
+  For some app categories, basic features like home screen widgets are
+  expected. Not including them is a sure-fire way to tarnish an otherwise
+  positive user experience. Some apps can achieve even tighter OS integration
+  with Android's contacts, accounts, and sync APIs.
+</p>
+
+<p>
+  Third-party integrations can provide even more user delight and give the user
+  a feeling of device cohesiveness. It's also a really nice way of adding
+  functionality to your app without writing any extra code (by leveraging other
+  apps' functionality). For example, if you're creating a camera app, you can
+  allow users to edit their photos in another app before saving them to their
+  collection, if they have that third-party application installed. More
+  information on this subject is available in the Android Training class
+  <a href="{@docRoot}training/basics/intents/index.html">Interacting with Other
+  Apps</a>.
+</p>
+
+<div class="headerLine">
+<h1 id="related-resources">Related Resources</h1><hr>
+</div>
+<div class="resource-widget resource-flow-layout col-13"
+  data-query="collection:distribute/essentials/optimizing, tag:addia"
+  data-sortOrder="-timestamp"
+  data-cardSizes="6x3"
+  data-maxResults="3"></div>
+<div class="resource-widget resource-flow-layout col-13"
+  data-query="tag:adia"
+  data-sortOrder="-timestamp"
+  data-cardSizes="6x3"
+  data-maxResults="3"></div>
+
diff --git a/docs/html/distribute/essentials/quality/core.jd b/docs/html/distribute/essentials/quality/core.jd
new file mode 100644
index 0000000..558b030
--- /dev/null
+++ b/docs/html/distribute/essentials/quality/core.jd
@@ -0,0 +1,1170 @@
+page.title=Core App Quality
+page.metaDescription=App quality directly influences the long-term success of your app—in terms of installs, user rating and reviews, engagement, and user retention.
+page.image=/distribute/images/core-quality-guidelines.jpg
+@jd:body
+
+<div id="qv-wrapper"><div id="qv">
+<h2>Quality Criteria</h2>
+  <ol>
+    <li><a href="#ux">Design and Interaction</a></li>
+        <li><a href="#fn">Functionality</a></li>
+        <li><a href="#ps">Performance and Stability</a></li>
+        <li><a href="#listing">Google Play</a></li>
+
+  </ol>
+  
+  <h2>Testing</h2>
+  <ol>
+    <li><a href="#test-environment">Setting Up a Test Environment</a></li>
+        <li><a href="#tests">Test Procedures</a></li>
+        </ol>
+
+  <h2>You Should Also Read</h2>
+  <ol>
+    <li><a href="{@docRoot}distribute/essentials/quality/tablets.html">Tablet App Quality</a></li>
+        <li><a href="{@docRoot}distribute/essentials/optimizing-your-app.html">Optimize Your App</a></li>
+  </ol>
+  
+
+</div>
+</div>
+
+<div class="top-right-float">
+  <img src="{@docRoot}images/gp-core-quality.png" style="margin-left: 20px;">
+</div>
+
+<p>
+  Android users expect high-quality apps. App quality directly influences the
+  long-term success of your app—in terms of installs, user rating and reviews,
+  engagement, and user retention.
+</p>
+
+<p>
+  This document helps you assess basic aspects of quality in your app through a
+  compact set of core app quality criteria and associated tests. All Android
+  apps should meet these criteria.
+</p>
+
+<p>
+  Before publishing your apps, test them against these criteria to ensure that
+  they function well on many devices, meets Android standards for navigation
+  and design, and are prepared for promotional opportunities in the Google Play
+  store. Your testing will go well beyond what's described here—the purpose of
+  this document is to specify the essential quality characteristics all apps
+  should display, so that you can cover them in your test plans.
+</p>
+
+<p>
+  If you're creating apps for tablets and or Google Play for Education there
+  are additional quality criteria you should consider, which are defined in the
+  <a href="{@docRoot}distribute/essentials/quality/tablets.html">Tablet App
+  Quality</a> guidelines and <a href=
+  "{@docRoot}distribute/essentials/gpfe-guidelines.html">Education
+  Guidelines</a>.
+</p>
+
+<div class="headerLine clearfloat">
+  <h1 id="ux">
+  Visual Design and User Interaction
+  </h1>
+
+  <hr>
+</div>
+
+<p>
+  These criteria ensure that your app provides standard Android visual design
+  and interaction patterns where appropriate, for a consistent and intuitive
+  user experience.
+</p>
+
+<table>
+  <tr>
+    <th style="width:2px;">
+      Area
+    </th>
+    <th style="width:54px;">
+      ID
+    </th>
+    
+
+    <th>
+      Description
+    </th>
+    <th style="width:54px;">
+      Tests
+    </th>
+  </tr>
+  <tr id="UX-B1">
+  <td>Standard design</td>
+  <td>
+    UX-B1
+  </td>
+  <td>
+    <p style="margin-bottom:.5em;">
+    App follows <a href="{@docRoot}design/index.html">Android Design</a>
+    guidelines and uses common <a href=
+    "{@docRoot}design/patterns/index.html">UI patterns and icons</a>:
+    </p>
+
+    <ol style="margin-bottom:.5em;list-style-type:lower-alpha">
+    <li>App does not redefine the expected function of a system icon (such
+    as the Back button).
+    </li>
+
+    <li>App does not replace a system icon with a completely different icon
+    if it triggers the standard UI behavior.
+    </li>
+
+    <li>If the app provides a customized version of a standard system icon,
+    the icon strongly resembles the system icon and triggers the standard
+    system behavior.
+    </li>
+
+    <li>App does not redefine or misuse Android UI patterns, such that
+    icons or behaviors could be misleading or confusing to users.
+    </li>
+    </ol>
+  </td>
+  <td>
+    <a href="#core">CR-all</a>
+  </td>
+  </tr>
+
+  <tr>
+  <td rowspan="3">
+    Navigation
+  </td>
+  <td id="UX-N1">
+    UX-N1
+  </td>
+  <td>
+    <p>
+    App supports standard system <a href=
+    "{@docRoot}design/patterns/navigation.html">Back button navigation</a>
+    and does not make use of any custom, on-screen "Back button" prompts.
+    </p>
+  </td>
+  <td>
+    <a href="#core">CR-3</a>
+  </td>
+  </tr>
+
+  <tr>
+  <td id="UX-N2">
+    UX-N2
+  </td>
+  <td>
+    <p>
+    All dialogs are dismissable using the Back button.
+    </p>
+  </td>
+  <td>
+    <a href="#core">CR-3</a>
+  </td>
+  </tr>
+
+  <tr id="UX-N3">
+  <td>
+    UX-N3
+  </td>
+  <td>
+    Pressing the Home button at any point navigates to the Home screen of the
+    device.
+  </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>
+
+<h3>
+  Related Resources
+</h3>
+
+<div class="resource-widget resource-flow-layout col-13" data-query=
+"collection:distribute/essentials/corequalityguidelines/visualdesign"
+data-sortorder="-timestamp" data-cardsizes="9x3,9x3,6x3,6x3,6x3"
+data-maxresults="6">
+</div>
+
+<div class="headerLine clearfloat">
+  <h1 id="fn">
+  Functionality
+  </h1>
+
+  <hr>
+</div>
+
+<p>
+  These criteria ensure that your app provides expected functional behavior,
+  with the appropriate level of permissions.
+</p>
+
+<table>
+  <tr>
+  <th style="width:2px;">
+    Area
+  </th>
+  <th style="width:54px;">
+    ID
+  </th>
+  <th>
+    Description
+  </th>
+  <th style="width:54px;">
+    Tests
+  </th>
+  </tr>
+
+  <tr id="FN-P1">
+  <td rowspan="2">
+    Permissions
+  </td>
+  <td>
+    FN-P1
+  </td>
+  <td>
+    App requests only the <em>absolute minimum</em> permissions that it needs
+    to support core functionality.
+  </td>
+  <td rowspan="2">
+    <a href="#core">CR-11</a>
+  </td>
+  </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.
+    </p>
+  </td>
+  </tr>
+
+  <tr id="FN-L1">
+  <td>
+    Install location
+  </td>
+  <td>
+    FN-L1
+  </td>
+  <td>
+    <p style="margin-bottom:.5em;">
+    App functions normally when installed on SD card (if supported by app).
+    </p>
+
+    <p style="margin-bottom:.25em;">
+    Supporting installation to SD card is recommended for most large apps
+    (10MB+). See the <a href=
+    "{@docRoot}guide/topics/data/install-location.html">App Install
+    Location</a> developer guide for information about which types of apps
+    should support installation to SD card.
+    </p>
+  </td>
+  <td>
+    <a href="#SD-1">SD-1</a>
+  </td>
+  </tr>
+
+  <tr id="FN-A1">
+  <td rowspan="4">
+    Audio
+  </td>
+  <td>
+    FN-A1
+  </td>
+  <td>
+    Audio does not play when the screen is off, unless this is a core feature
+    (for example, the app is a music player).
+  </td>
+  <td>
+    <a href="#core">CR-7</a>
+  </td>
+  </tr>
+
+  <tr id="FN-A2">
+  <td>
+    FN-A2
+  </td>
+  <td>
+    Audio does not <a href=
+    "http://android-developers.blogspot.com/2011/11/making-android-games-that-play-nice.html">
+    play behind the lock screen</a>, unless this is a core feature.
+  </td>
+  <td>
+    <a href="#core">CR-8</a>
+  </td>
+  </tr>
+
+  <tr id="FN-A3">
+  <td>
+    FN-A3
+  </td>
+  <td>
+    Audio does not play on the home screen or over another app, unless this
+    is a core feature.
+  </td>
+  <td>
+    <a href="#core">CR-1,<br>
+    CR-2</a>
+  </td>
+  </tr>
+
+  <tr id="FN-A4">
+  <td>
+    FN-A4
+  </td>
+  <td>
+    Audio resumes when the app returns to the foreground, or indicates to the
+    user that playback is in a paused state.
+  </td>
+  <td>
+    <a href="#core">CR-1, CR-8</a>
+  </td>
+  </tr>
+
+  <tr id="FN-U1">
+  <td rowspan="3">
+    UI and Graphics
+  </td>
+  <td>
+    FN-U1
+  </td>
+  <td>
+    <p style="margin-bottom:.5em;">
+    App supports both landscape and portrait orientations (if possible).
+    </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="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.
+    </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="FN-U3">
+  <td>
+    FN-U3
+  </td>
+  <td>
+    <p style="margin-bottom:.5em;">
+    App correctly handles rapid transitions between display orientations
+    without rendering problems.
+    </p>
+  </td>
+  <td>
+    <a href="#core">CR-5</a>
+  </td>
+  </tr>
+
+  <tr id="FN-S1">
+  <td rowspan="2">
+    User/app state
+  </td>
+  <td>
+    FN-S1
+  </td>
+  <td>
+    <p style="margin-bottom:.5em;">
+    App should not leave any services running when the app is in the
+    background, unless related to a core capability of the app.
+    </p>
+
+    <p style="margin-bottom:.25em;">
+    For example, the app should not leave services running to maintain a
+    network connection for notifications, to maintain a Bluetooth
+    connection, or to keep the GPS powered-on.
+    </p>
+  </td>
+  <td>
+    <a href="#core">CR-6</a>
+  </td>
+  </tr>
+
+  <tr id="FN-S2">
+  <td>
+    FN-S2
+  </td>
+  <td>
+    <p style="margin-bottom:.5em;">
+    App correctly preserves and restores user or app state.
+    </p>
+
+    <p style="margin-bottom:.25em;">
+    App preserves user or app state when leaving the foreground and
+    prevents accidental data loss due to back-navigation and other state
+    changes. When returning to the foreground, the app must restore the
+    preserved state and any significant stateful transaction that was
+    pending, such as changes to editable fields, game progress, menus,
+    videos, and other sections of the app or game.
+    </p>
+
+    <ol style="margin-bottom:.25em;list-style-type:lower-alpha">
+    <li>When the app is resumed from the Recents app switcher, the app
+    returns the user to the exact state in which it was last used.
+    </li>
+
+    <li>When the app is resumed after the device wakes from sleep (locked)
+    state, the app returns the user to the exact state in which it was last
+    used.
+    </li>
+
+    <li>When the app is relaunched from Home or All Apps, the app restores
+    the app state as closely as possible to the previous state.
+    </li>
+
+    <li>On Back keypresses, the app gives the user the option of saving any
+    app or user state that would otherwise be lost on back-navigation.
+    </li>
+    </ol>
+  </td>
+  <td>
+    <a href="#core">CR-1, CR-3, CR-5</a>
+  </td>
+  </tr>
+</table>
+
+<h3>
+  Related Resources
+</h3>
+
+<div class="resource-widget resource-flow-layout col-13" data-query=
+"collection:distribute/essentials/corequalityguidelines/functionality"
+data-sortorder="-timestamp" data-cardsizes="6x3" data-maxresults="6">
+</div>
+
+<div class="headerLine clearfloat">
+  <h1 id="ps">
+  Performance and Stability
+  </h1>
+
+  <hr>
+</div>
+
+<p>
+  These criteria ensure that apps provide the performance, stability, and
+  responsiveness expected by users.
+</p>
+
+<table>
+  <tr>
+  <th style="width:2px;">
+    Area
+  </th>
+  <th style="width:54px;">
+    ID
+  </th>
+  <th>
+    Description
+  </th>
+  <th style="width:54px;">
+    Tests
+  </th>
+  </tr>
+
+  <tr id="PS-S1">
+  <td>
+    Stability
+  </td>
+  <td>
+    PS-S1
+  </td>
+  <td>
+    App does not crash, force close, freeze, or otherwise function abnormally
+    on any targeted device.
+  </td>
+  <td>
+    <a href="#core">CR-all</a>, <a href="#SD-1">SD-1</a>, <a href=
+    "#HA-1">HA-1</a>
+  </td>
+  </tr>
+
+  <tr id="PS-P1">
+  <td rowspan="2">
+    Performance
+  </td>
+  <td>
+    PS-P1
+  </td>
+  <td>
+    App loads quickly or provides onscreen feedback to the user (a progress
+    indicator or similar cue) if the app takes longer than two seconds to
+    load.
+  </td>
+  <td>
+    <a href="#core">CR-all</a>, <a href="#SD-1">SD-1</a>
+  </td>
+  </tr>
+
+  <tr id="PS-P2">
+  <td>
+    PS-P2
+  </td>
+  <td>
+    With StrictMode enabled (see <a href="#strictmode">StrictMode
+    Testing</a>, below), no red flashes (performance warnings from
+    StrictMode) are visible when exercising the app, including during game
+    play, animations and UI transitions, and any other part of the app.
+  </td>
+  <td>
+    <a href="#PM-1">PM-1</a>
+  </td>
+  </tr>
+
+  <tr id="PS-M1">
+  <td>
+    Media
+  </td>
+  <td>
+    PS-M1
+  </td>
+  <td>
+    Music and video playback is smooth, without crackle, stutter, or other
+    artifacts, during normal app usage and load.
+  </td>
+  <td>
+    <a href="#core">CR-all</a>, <a href="#SD-1">SD-1</a>, <a href=
+    "#HA-1">HA-1</a>
+  </td>
+  </tr>
+
+  <tr id="PS-V1">
+  <td rowspan="2">
+    Visual quality
+  </td>
+  <td>
+    PS-V1
+  </td>
+  <td>
+    <p style="margin-bottom:.5em;">
+    App displays graphics, text, images, and other UI elements without
+    noticeable distortion, blurring, or pixelation.
+    </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/essentials/quality/tablet.html">larger-screen
+    devices such as tablets</a>.
+    </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="PS-V2">
+  <td>
+    PS-V2
+  </td>
+  <td>
+    <p style="margin-bottom:.5em;">
+    App displays text and text blocks in an acceptable manner.
+    </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 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>
+
+<h3>
+  Related Resources
+</h3>
+
+<div class="resource-widget resource-flow-layout col-13" data-query=
+"collection:distribute/essentials/core/performance" data-sortorder="-timestamp"
+data-cardsizes="6x3" data-maxresults="6">
+</div>
+
+<div class="headerLine clearfloat">
+  <h1 id="listing">
+  Google Play
+  </h1>
+
+  <hr>
+</div>
+
+<p>
+  These criteria ensure that your apps are ready to publish on Google Play.
+</p>
+
+<table>
+  <tr>
+  <th style="width:2px;">
+    Area
+  </th>
+  <th style="width:54px;">
+    ID
+  </th>
+  <th>
+    Description
+  </th>
+  <th style="width:54px;">
+    Tests
+  </th>
+  </tr>
+
+  <tr id="GP-P1">
+  <td rowspan="2">
+    Policies
+  </td>
+  <td>
+    GP-P1
+  </td>
+  <td>
+    App strictly adheres to the terms of the <a href=
+    "http://play.google.com/about/developer-content-policy.html">Google Play
+    Developer Content Policy</a> and does not offer inappropriate content,
+    does not use intellectual property or brand of others, and so on.
+  </td>
+  <td>
+    <a href="#gp">GP-all</a>
+  </td>
+  </tr>
+
+  <tr id="GP-P2">
+  <td>
+    GP-P2
+  </td>
+  <td>
+    <p style="margin-bottom:.5em;">
+    App maturity level is set appropriately, based on the <a href=
+    "http://support.google.com/googleplay/android-developer/bin/answer.py?hl=en&answer=188189">
+    Content Rating Guidelines</a>.
+    </p>
+
+    <p style="margin-bottom:.25em;">
+    Especially, note that apps that request permission to use the device
+    location cannot be given the maturity level "Everyone".
+    </p>
+  </td>
+  <td>
+    <a href="#gp">GP-1</a>
+  </td>
+  </tr>
+
+  <tr id="GP-D1">
+  <td rowspan="3">
+    App&nbsp;Details Page
+  </td>
+  <td>
+    GP-D1
+  </td>
+  <td>
+    <p style="margin-bottom:.5em;">
+    App feature graphic follows the guidelines outlined in this <a href=
+    "http://android-developers.blogspot.com/2011/10/android-market-featured-image.html">
+    blog post</a>. Make sure that:
+    </p>
+
+    <ol style="margin-bottom:.5em;list-style-type:lower-alpha">
+    <li>The app listing includes a high-quality feature graphic.
+    </li>
+
+    <li>The feature graphic does not contain device images, screenshots, or
+    small text that will be illegible when scaled down and displayed on the
+    smallest screen size that your app is targeting.
+    </li>
+
+    <li>The feature graphic does not resemble an advertisement.
+    </li>
+    </ol>
+  </td>
+  <td>
+    <a href="#gp">GP-1, GP-2</a>
+  </td>
+  </tr>
+
+  <tr id="GP-D2">
+  <td>
+    GP-D2
+  </td>
+  <td>
+    App screenshots and videos do not show or reference non-Android devices.
+  </td>
+  <td rowspan="2">
+    <a href="#gp">GP-1</a>
+  </td>
+  </tr>
+
+  <tr id="GP-D3">
+  <td>
+    GP-D3
+  </td>
+  <td>
+    App screenshots or videos do not represent the content and experience of
+    your app in a misleading way.
+  </td>
+  </tr>
+
+  <tr id="GP-X1">
+  <td>
+    User Support
+  </td>
+  <td>
+    GP-X1
+  </td>
+  <td>
+    Common user-reported bugs in the Reviews tab of the Google Play page are
+    addressed if they are reproducible and occur on many different devices.
+    If a bug occurs on only a few devices, you should still address it if
+    those devices are particularly popular or new.
+  </td>
+  <td>
+    <a href="#gp">GP-1</a>
+  </td>
+  </tr>
+</table>
+
+<h3>
+  Related Resources
+</h3>
+
+<div class="resource-widget resource-flow-layout col-13" data-query=
+"collection:distribute/essentials/core/play" data-sortorder="-timestamp"
+data-cardsizes="6x3,6x3,6x3,6x3,6x3,6x3" data-maxresults="6">
+</div>
+
+<div class="headerLine clearfloat">
+  <h1 id="test-environment">
+  Setting Up a Test Environment
+  </h1>
+
+  <hr>
+</div>
+
+<p>
+  To assess the quality of your app, you need to set up a suitable hardware or
+  emulator environment for testing.
+</p>
+
+<p>
+  The ideal test environment would include a small number of actual hardware
+  devices that represent key form factors and hardware/software combinations
+  currently available to consumers. It's not necessary to test on
+  <em>every</em> device that's on the market &mdash; rather, you should focus
+  on a small number of representative devices, even using one or two devices
+  per form factor.
+</p>
+
+<p>
+  If you are not able to obtain actual hardware devices for testing, you should
+  <a href="{@docRoot}tools/devices/index.html">set up emulated devices
+  (AVDs)</a> to represent the most common form factors and hardware/software
+  combinations.
+</p>
+
+<p>
+  To go beyond basic testing, you can add more devices, more form factors, or
+  new hardware/software combinations to your test environment. You can also
+  increase the number or complexity of tests and quality criteria.
+</p>
+
+<div class="headerLine clearfloat">
+  <h1 id="tests">
+  Test Procedures
+  </h1>
+
+  <hr>
+</div>
+
+<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;">
+    Type
+  </th>
+  <th style="width:54px;">
+    Test
+  </th>
+  <th>
+    Description
+  </th>
+  </tr>
+
+  <tr>
+  <td rowspan="12" id="core">
+    Core Suite
+  </td>
+  <td>
+    CR-0
+  </td>
+  <td>
+    <p style="margin-bottom:.5em;">
+    Navigate to all parts of the app &mdash; all screens, dialogs,
+    settings, and all user flows.
+    </p>
+
+    <ol style="margin-bottom:.5em;list-style-type:lower-alpha">
+    <li>If the application allows for editing or content creation, game
+    play, or media playback, make sure to enter those flows to create or
+    modify content.
+    </li>
+
+    <li>While exercising the app, introduce transient changes in network
+    connectivity, battery function, GPS or location availability, system
+    load, and so on.
+    </li>
+    </ol>
+  </td>
+  </tr>
+
+  <tr id="tg2">
+  <td id="core2">
+    CR-1
+  </td>
+  <td>
+    From each app screen, press the device's Home key, then re-launch the app
+    from the All Apps screen.
+  </td>
+  </tr>
+
+  <tr id="CR-2">
+  <td>
+    CR-2
+  </td>
+  <td>
+    From each app screen, switch to another running app and then return to
+    the app under test using the Recents app switcher.
+  </td>
+  </tr>
+
+  <tr id="CR-3">
+  <td>
+    CR-3
+  </td>
+  <td>
+    From each app screen (and dialogs), press the Back button.
+  </td>
+  </tr>
+
+  <tr id="CR-5">
+  <td>
+    CR-5
+  </td>
+  <td>
+    From each app screen, rotate the device between landscape and portrait
+    orientation at least three times.
+  </td>
+  </tr>
+
+  <tr id="CR-6">
+  <td>
+    CR-6
+  </td>
+  <td>
+    Switch to another app to send the test app into the background. Go to
+    Settings and check whether the test app has any services running while in
+    the background. In Android 4.0 and higher, go to the Apps screen and find
+    the app in the "Running" tab. In earlier versions, use "Manage
+    Applications" to check for running services.
+  </td>
+  </tr>
+
+  <tr id="CR-7">
+  <td>
+    CR-7
+  </td>
+  <td>
+    Press the power button to put the device to sleep, then press the power
+    button again to awaken the screen.
+  </td>
+  </tr>
+
+  <tr id="CR-8">
+  <td>
+    CR-8
+  </td>
+  <td>
+    Set the device to lock when the power button is pressed. Press the power
+    button to put the device to sleep, then press the power button again to
+    awaken the screen, then unlock the device.
+  </td>
+  </tr>
+
+  <tr id="CR-9">
+  <!-- Hardware features -->
+
+  <td>
+    CR-9
+  </td>
+  <td>
+    For devices that have slide-out keyboards, slide the keyboard in and out
+    at least once. For devices that have keyboard docks, attach the device to
+    the keyboard dock.
+  </td>
+  </tr>
+
+  <tr id="CR-10">
+  <td>
+    CR-10
+  </td>
+  <td>
+    For devices that have an external display port, plug-in the external
+    display.
+  </td>
+  </tr>
+
+  <tr id="CR-11">
+  <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>
+
+  <tr id="tg3">
+  <td>
+    Install on SD Card
+  </td>
+  <td>
+    SD-1
+  </td>
+  <td>
+    <p style="margin-bottom:.5em;">
+    Repeat <em>Core Suite</em> with app installed to <a href=
+    "{@docRoot}guide/topics/data/install-location.html">device SD card</a>
+    (if supported by app).
+    </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="tg32">
+  <td>
+    Hardware acceleration
+  </td>
+  <td>
+    HA-1
+  </td>
+  <td>
+    <p style="margin-bottom:.5em;">
+    Repeat <em>Core Suite</em> with hardware acceleration enabled.
+    </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="tg33">
+  <td>
+    Performance Monitoring
+  </td>
+  <td>
+    PM-1
+  </td>
+  <td>
+    <p style="margin-bottom:.5em;">
+    Repeat <em>Core Suite</em> with StrictMode profiling enabled <a href=
+    "#strictmode">as described below</a>.
+    </p>
+
+    <p style="margin-bottom:.25em;">
+    Pay close attention to garbage collection and its impact on the user
+    experience.
+    </p>
+  </td>
+  </tr>
+
+  <tr id="gp">
+  <td rowspan="3">
+    Google Play
+  </td>
+  <td>
+    GP-1
+  </td>
+  <td>
+    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="GP-2">
+  <td>
+    GP-2
+  </td>
+  <td>
+    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="GP-3">
+  <td>
+    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="GP-4">
+  <td>
+    Payments
+  </td>
+  <td>
+    GP-4
+  </td>
+  <td>
+    Navigate to all screens of your app and enter all in-app purchase flows.
+  </td>
+  </tr>
+</table>
+
+<h3 id="strictmode">
+  Testing with StrictMode
+</h3>
+
+<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>
+  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/essentials/quality/tablets.jd b/docs/html/distribute/essentials/quality/tablets.jd
new file mode 100644
index 0000000..7dfab48
--- /dev/null
+++ b/docs/html/distribute/essentials/quality/tablets.jd
@@ -0,0 +1,867 @@
+page.title=Tablet App Quality
+page.metaDescription=Tablets are a fast-growing part of the Android installed base that offers new opportunities for your apps.
+page.image=/distribute/images/tablet-guidelines-color.jpg
+Xnonavpage=true
+
+@jd:body
+<div id="qv-wrapper"><div id="qv">
+<h2>Checklist</h2>
+<ol>
+<li><a href="#core-app-quality">1. Test for Basic Tablet App Quality</a></li>
+<li><a href="#optimize-layouts">2. Optimize Layouts</a></li>
+<li><a href="#use-extra-space">3. Use Extra Screen Area</a></li>
+<li><a href="#use-tablet-icons">4. Use Assets Designed for Tablets</a></li>
+<li><a href="#adjust-font-sizes">5. Adjust Fonts and Touch Targets</a></li>
+<li><a href="#adjust-widgets">6. Adjust Homescreen Widgets</a></li>
+<li><a href="#offer-full-feature-set">7. Offer Full Feature Set</a></li>
+<li><a href="#android-versions">8. Target Android Versions Properly</a></li>
+<li><a href="#hardware-requirements">9. Declare Dependencies Properly</a></li>
+<li><a href="#support-screens">10. Declare Support for Tablet Screens</a></li>
+<li><a href="#google-play">11. Showcase Your Tablet UI</a></li>
+<li><a href="#google-play-best-practices">12. Follow Best Practices for Publishing in Google Play</a></li>
+
+</ol>
+<h2>Testing</h2>
+<ol>
+<li><a href="#test-environment">Setting Up a Test Environment</a></li>
+</ol>
+</div></div>
+
+<div class="todp-right-float" style="padding-right:0;margin-bottom:1em;">
+  <img src="{@docRoot}distribute/images/tablet-guidelines-color.jpg" style="width:480px;">
+</div>
+
+<p>
+  Tablets are a growing part of the Android installed base and offer new
+  opportunities for <a href="{@docRoot}distribute/stories/tablets.html">user
+  engagement and monetization</a>. The guidelines in this document will help
+  you meet the expectations of tablet users through compelling features and an
+  intuitive, well-designed UI.
+</p>
+
+<p>
+  Although the guidelines are numbered, you can approach them in any order. You
+  should address each guideline’s recommendations to the extent that they’re
+  appropriate for your app, but &mdash; in the interest of delivering the best
+  product to your customers &mdash; follow them to the greatest extent
+  possible.
+</p>
+
+<p>
+  Through the document you'll find links to resources that can
+  help you address each recommendation included.
+</p>
+
+<div class="headerLine"><h1 id="core-app-quality">1. Test for Basic Tablet App Quality</h1><hr></div>
+
+<p>The first step in delivering a great tablet app experience is making sure
+that it meets the <em>core app quality criteria</em> for all of the devices
+and form factors that the app is targeting. For complete information, see the <a
+href="{@docRoot}distribute/essentials/quality/core.html">Core App Quality Guidelines</a>. 
+</p>
+
+<p>
+Before publishing, also ensure that your app passes the basic technical checks and launch criteria, such as:
+</p>
+
+<ul>
+  <li><a href="#android-versions">Targets appropriate Android versions</a></li>
+  <li><a href="#hardware-requirements">Specifies any hardware dependencies properly</a></li>
+  <li><a href="#support-screens">Declares support for appropriate screens</a></li>
+  <li><a href="#use-extra-space">Uses all of the available screen space</a></li>
+  <li><a href="#google-play">Screenshots are uploaded to Google Play</a></li>
+</ul>
+
+<p>If your app is already uploaded to the Google Play Developer Console, you
+  can see how it is doing against these checks  
+  by visiting the <a href="#google-play-optimization-tips">Optimization
+  Tips page</a>.</p>
+
+
+<div class="headerLine clearfloat">
+<h1 id="optimize-layouts">2. Optimize Layouts for Larger Screens</h1><hr></div>
+
+<p>
+  Android makes it easy to develop an app that runs well on a wide range of
+  device screen sizes and form factors. This broad compatibility works in your
+  favor, since it helps you design a single app that you can distribute widely
+  to all of your targeted devices. However, to give your users the best
+  possible experience on each screen configuration &mdash; in particular on
+  tablets &mdash; you need to optimize your layouts and other UI components for
+  each targeted screen configuration. On tablets, optimizing your UI lets you
+  take full advantage of the additional screen available, such as to offer new
+  features, present new content, or enhance the experience in other ways to
+  deepen user engagement.
+</p>
+
+<p>
+  If you developed your app for handsets and now want to distribute it to
+  tablets, you can start by making minor adjustments to your layouts, fonts,
+  and spacing. In some cases &mdash; such as for 7-inch tablets or for a game
+  with large canvas &mdash; these adjustments may be all you need to make your
+  app look great. In other cases, such as for larger tablets, you can redesign
+  parts of your UI to replace "stretched UI" with an efficient multipane UI,
+  easier navigation, and additional content.
+</p>
+
+
+<div style="width:500px;margin:1.5em;margin-top:-16px;">
+<img src="{@docRoot}images/training/app-navigation-multiple-sizes-multipane-bad.png"
+style="padding:4px;margin-bottom:0em;">
+<p class="img-caption"><span
+style="font-weight:500;">Get rid of "stretched" UI</span>: On tablets, single-pane
+layouts lead to awkward whitespace and excessive line lengths. Use padding to
+reduce the width of UI elements and consider using multi-pane layouts.</p>
+</div>
+
+<p>Here are some suggestions:</p>
+
+
+<ul>
+  <li>Provide custom layouts as needed for <code>large</code> and
+  <code>xlarge</code> screens. You can also provide layouts that are loaded
+  based on the screen's <a href=
+  "{@docRoot}guide/practices/screens_support.html#NewQualifiers">shortest
+  dimension</a> or the <a href=
+  "{@docRoot}guide/practices/screens_support.html#NewQualifiers">minimum
+  available width and height</a>.
+  </li>
+
+  <li>At a minimum, customize dimensions such as font sizes, margins, spacing
+  for larger screens, to improve use of space and content legibility.
+  </li>
+
+  <li>Adjust positioning of UI controls so that they are easily accessible to
+  users when holding a tablet, such as toward the sides when in landscape
+  orientation.
+  </li>
+
+  <li>Padding of UI elements should normally be larger on tablets than on
+  handsets. A <a href="{@docRoot}design/style/metrics-grids.html#48dp-rhythm">
+    48dp rhythm</a> (and a 16dp grid) is recommended.
+  </li>
+
+  <li>Adequately pad text content so that it is not aligned directly along
+  screen edges. Use a minimum <code>16dp</code> padding around content near
+  screen edges.
+  </li>
+</ul>
+
+<p>In particular, make sure that your layouts do not appear "stretched"
+across the screen:</p>
+
+<ul>
+<li>Lines of text should not be excessively long &mdash; optimize for a maximum
+100 characters per line, with best results between 50 and 75.</li>
+<li>ListViews and menus should not use the full screen width.</li>
+<li>Use padding to manage the widths of onscreen elements or switch to a
+multi-pane UI for tablets (see next section).</li>
+</ul>
+
+<h3>Related resources</h3>
+
+<div class="resource-widget resource-flow-layout col-13"
+  data-query="collection:distribute/essentials/tabletguidelines/optimize"
+  data-sortOrder="-timestamp"
+  data-cardSizes="6x3"
+  data-maxResults="6"></div>
+
+
+<div class="headerLine clearfloat"><h1 id="use-extra-space">3. Take Advantage of Extra Screen Area</h1><hr></div>
+
+<div style="width:340px;float:right;margin:1.5em;margin-bottom:0;margin-top:0;">
+<img src="{@docRoot}images/training/app-navigation-multiple-sizes-multipane-good.png"
+style="padding:4px;margin-bottom:0em;">
+<p class="img-caption"><span
+style="font-weight:500;">Multi-pane layouts</span> result in a better visual
+balance on tablet screens, while offering more utility and legibility.</p>
+</div>
+
+<p>Tablet screens provide significantly more screen real estate to your app,
+especially when in landscape orientation. In particular, 10-inch tablets offer a
+greatly expanded  area, but even 7-inch tablets give you more space for
+displaying content and engaging users. </p>
+
+<p>As you consider the UI of your app when running on tablets, make sure that it
+is taking full advantage of extra screen area available on tablets. Here are
+some suggestions:</p>
+
+<ul>
+<li>Look for opportunities to include additional content or use an alternative
+treatment of existing content.</li>
+<li>Use <a href="{@docRoot}design/patterns/multi-pane-layouts.html">multi-pane
+layouts</a> on tablet screens to combine single views into a compound view. This
+lets you use the additional screen area more efficiently and makes it easier for
+users to navigate your app. </li>
+<li>Plan how you want the panels of your compound views to reorganize when
+screen orientation changes.</li>
+
+<div style="width:490px;margin:1.5em auto 1.5em 0;">
+<div style="">
+<img src="{@docRoot}images/ui-ex-single-panes.png"
+style="width:490px;padding:4px;margin-bottom:0em;" align="middle">
+<img src="{@docRoot}images/ui-ex-multi-pane.png" style="width:490px;padding:4px;margin-bottom:0em;">
+<p class="image-caption" style="padding:.5em"><span
+style="font-weight:500;">Compound views</span> combine several single views from a
+handset UI <em>(above)</em> into a richer, more efficient UI for tablets
+<em>(below)</em>. </p>
+</div>
+</div>
+
+<li>While a single screen is implemented as an {@link android.app.Activity}
+subclass, consider implementing individual content panels as {@link
+android.app.Fragment} subclasses. This lets you
+maximize code reuse across different form factors and across screens that
+share content.</li>
+<li>Decide on which screen sizes you'll use a multi-pane UI, then provide the
+different layouts in the appropriate screen size buckets (such as
+<code>large</code>/<code>xlarge</code>) or minimum screen widths (such as
+<code>sw600dp</code>/<code>sw720</code>).</li>
+</ul>
+
+<h3>Related resources</h3>
+
+<div class="resource-widget resource-flow-layout col-13"
+  data-query="collection:distribute/essentials/tabletguidelines/extrascreen"
+  data-sortOrder="-timestamp"
+  data-cardSizes="6x3,6x3,6x3"
+  data-maxResults="6"></div>
+
+<div class="headerLine clearfloat"><h1 id="use-tablet-icons">4. Use Assets Designed for Tablet Screens</h1><hr></div>
+
+<div><img src="{@docRoot}design/media/devices_displays_density@2x.png"></div>
+
+<p>To ensure your app looks its best, provide icons and other bitmap
+assets for each density in the range commonly supported by tablets. Specifically, you should
+design your icons for the action bar, notifications, and launcher according to the
+<a href="{@docRoot}design/style/iconography.html">Iconography</a> guidelines and
+provide them in multiple densities, so they appear at the appropriate size on all screens
+without blurring or other scaling artifacts.</p>
+
+<p class="table-caption"><strong>Table 1</strong>. Raw asset sizes for icon types.<table>
+<tr>
+<th>Density</th>
+<th>Launcher</th>
+<th>Action Bar</th>
+<th>Small/Contextual</th>
+<th>Notification</th>
+</tr>
+<tr>
+<td><code>mdpi</code></td>
+<td>48x48 px</td>
+<td>32x32 px</td>
+<td>16x16 px</td>
+<td>24x24 px</td>
+</tr>
+<tr>
+<td><code>hdpi</code></td>
+<td>72x72 px</td>
+<td>48x48 px</td>
+<td>24x24 px</td>
+<td>36x36 px</td>
+</tr>
+<tr>
+<td><code>tvdpi</code></td>
+<td><em>(use hdpi)</em></td>
+<td><em>(use hdpi)</em></td>
+<td><em>(use hdpi)</em></td>
+<td><em>(use hdpi)</em></td>
+</tr>
+<tr>
+<td><code>xhdpi</code></td>
+<td>96x96 px</td>
+<td>64x64 px</td>
+<td>32x32 px</td>
+<td>48x48 px</td>
+</tr>
+<tr>
+<td><code>xxhdpi</code></td>
+<td>144x144 px</td>
+<td>96x96 px</td>
+<td>48x48 px</td>
+<td>72x72 px</td>
+</tr>
+
+</table>
+
+<p>
+  As a minimum, supply a version of each icon and bitmap asset that's optimized
+  for <strong>at least one</strong> the following common tablet screen
+  densities:
+</p>
+<ul>
+  <li><code>hdpi</code></li>
+  <li><code>xhdpi</code></li>
+  <li><code>xxhdpi</code></li>
+</ul>
+
+<p>Other tips:</p>
+
+<ul>
+<li>Use vector shapes when designing icons, so they scale without loss of either detail or edge crispness.</li>
+<li>Use density-specific <a
+href="{@docRoot}guide/topics/resources/providing-resources.html#AlternativeResources">
+resource qualifiers</a> to ensure that the proper icons are loaded for each screen density.</li>
+<li>Tablets and other large screen devices often request a launcher icon that is one density
+size larger than the device's actual density, so you should provide your launcher
+icon at the highest density possible. For example, if a tablet has an {@code xhdpi} screen,
+it will request the {@code xxhdpi} version of the launcher icon.</li>
+</ul>
+
+<h3>Related resources</h3>
+
+<div class="resource-widget resource-flow-layout col-13"
+  data-query="collection:distribute/essentials/tabletguidelines/assets"
+  data-sortOrder="-timestamp"
+  data-cardSizes="9x3"
+  data-maxResults="6"></div>
+
+<div class="headerLine clearfloat"><h1 id="adjust-font-sizes">5.
+Adjust Font Sizes and Touch Targets</h1><hr></div>
+
+<p>To make sure your app is easy to use on tablets, take some time to adjust the
+font sizes and touch targets in your tablet UI, for all of the screen
+configurations you are targeting. You can adjust font sizes through <a
+href="{@docRoot}guide/topics/ui/themes.html">styleable attributes</a> or <a
+href="{@docRoot}guide/topics/resources/more-resources.html#Dimension">dimension
+resources</a>, and you can adjust touch targets through layouts and bitmap
+drawables, as discussed above. </p>
+
+<p>Here are some considerations:</p>
+<ul>
+<li>Text should not be excessively large or small on tablet screen sizes and
+densities. Make sure that labels are sized appropriately for the UI elements they
+correspond to, and ensure that there are no improper line breaks in labels,
+titles, and other elements.</li>
+<li>The recommended touch-target size for onscreen elements is 48dp (32dp
+minimum) &mdash; some adjustments may be needed in your tablet UI. Read <a
+href="{@docRoot}design/style/metrics-grids.html">Metrics and
+Grids
+</a> to learn about implementation strategies to help most of your users. To
+meet the accessibility needs of certain users, it may be appropriate to use
+larger touch targets. </li>
+<li>When possible, for smaller icons, expand the touchable area to more than
+48dp using {@link android.view.TouchDelegate}
+or just centering the icon within the transparent button.</li>
+</ul>
+
+<h3>Related resources</h3>
+
+<div class="resource-widget resource-flow-layout col-13"
+  data-query="collection:distribute/essentials/tabletguidelines/fonts"
+  data-sortOrder="-timestamp"
+  data-cardSizes="9x3,9x3,6x3,6x3,6x3"
+  data-maxResults="6"></div>
+
+<div class="headerLine clearfloat"><h1 id="adjust-widgets">6. Adjust Sizes of Home Screen Widgets</h1><hr></div>
+
+<p>If your app includes a home screen widget, here are a few points to consider
+to ensure a great user experience on tablet screens: </p>
+
+<ul>
+<li>Set the widget's default height and width appropriately
+for tablet screens, as well as the minimum and maximum resize height and width.
+</li>
+<li>The widget should be resizable to 420dp or more, to span 5 or more home
+screen rows (if this is a vertical or square widget) or columns (if this is a
+horizontal or square widget). </li>
+<li>Make sure that 9-patch images render correctly.</li>
+<li>Use default system margins.</li>
+<li>Set the app's <code>targetSdkVersion</code> to 14 or higher, if
+possible.</li>
+</ul>
+
+<h3>Related resources</h3>
+
+<div class="resource-widget resource-flow-layout col-13"
+  data-query="collection:distribute/essentials/tabletguidelines/widgets"
+  data-sortOrder="-timestamp"
+  data-cardSizes="6x3"
+  data-maxResults="6"></div>
+
+
+<div class="headerLine clearfloat"><h1 id="offer-full-feature-set">7. Full Feature Set for Tablet Users</h1><hr></div>
+
+<div class="centered-full-image" style="width:600px;margin:1.5em"><img src="{@docRoot}images/gp-tablets-full-feature-set.png" alt="Tablet feature sets"></div>
+
+<p>Let your tablet users experience the best features of your app. Here are
+some recommendations:</p>
+
+<ul>
+  <li>Design your app to offer at least the same set of features on tablets as
+  it does on phones.
+  </li>
+
+  <li>In exceptional cases, your app might omit or replace certain features on
+  tablets if they are not supported by the hardware or use-case of most
+  tablets. For example:
+    <ul>
+      <li>If the handset uses telephony features but telephony is not available
+      on the current tablet, you can omit or replace the related functionality.
+      </li>
+
+      <li>Many tablets have a GPS sensor, but most users would not normally
+      carry their tablets while running. If your phone app provides
+      functionality to let the user record a GPS track of their runs while
+      carrying their phones, the app would not need to provide that
+      functionality on tablets because the use-case is not compelling.
+      </li>
+    </ul>
+  </li>
+
+  <li>If you will omit a feature or capability from your tablet UI, make sure
+  that it is not accessible to users or that it offers “graceful degradation”
+  to a replacement feature (also see the section below on hardware features).
+  </li>
+</ul>
+
+<div class="headerLine clearfloat"><h1 id="android-versions">8. Target Android Versions Properly</h1><hr></div>
+
+<p>
+  To ensure the broadest possible distribution to tablets, make sure that your
+  app properly targets the Android versions that support tablets. Initial
+  support for tablets was added in <a href=
+  "{@docRoot}about/versions/android-3.0.html">Android 3.0</a> (API level 11).
+  Unified UI framework support for tablets, phones, and other devices was
+  introduced in <a href="{@docRoot}about/versions/android-4.0.html">Android
+  4.0</a>
+</p>
+
+<p>
+  You can set the app's range of targeted Android versions in the manifest
+  file, in the <a href=
+  "{@docRoot}guide/topics/manifest/uses-sdk-element.html"><code>&lt;uses-sdk&gt;</code></a>
+  element. In most cases, you can target Android versions properly by setting
+  the element's <code>targetSdkVersion</code> attribute to the highest API
+  level available.
+</p>
+
+<p style="margin-bottom:.5em;">
+  At a minimum, check the <a href=
+  "{@docRoot}guide/topics/manifest/uses-sdk-element.html"><code>&lt;uses-sdk&gt;</code></a>
+  element to make sure that:
+</p>
+
+<ol style="list-style-type:lower-alpha;margin-top:0em;">
+  <li>
+    <code>targetSdkVersion</code> is declared with value 11 or higher (14 or
+    higher is recommended), OR
+  </li>
+
+  <li>
+    <code>minSdkVersion</code> is declared with value 11 or higher.
+  </li>
+
+  <li>If a <code>maxSdkVersion</code> attribute is declared, it must have a
+  value of 11 or higher. Note that, in general, the use of
+  <code>maxSdkVersion</code> is <em>not recommended</em>.
+  </li>
+</ol>
+
+<h3>Related resources</h3>
+
+<div class="resource-widget resource-flow-layout col-13"
+  data-query="collection:distribute/essentials/tabletguidelines/versions"
+  data-sortOrder="-timestamp"
+  data-cardSizes="6x3"
+  data-maxResults="6"></div>
+
+<div class="headerLine clearfloat"><h1 id="hardware-requirements">9. Declare Hardware Feature Dependencies Properly</h1><hr></div>
+
+<p>
+  Handsets and tablets typically offer slightly different hardware support for
+  sensors, camera, telephony, and other features. For example, many tablets are
+  available in a "Wi-Fi" configuration that does not include telephony support.
+</p>
+
+<p>
+  So that you can distribute a single APK broadly across your full customer
+  base of phones and tablets, make sure that your app doesn't declare
+  requirements for hardware features that aren't commonly available on tablets.
+  Instead, properly declare the hardware features as <em>not required</em> in the app
+  manifest, as described below.
+</p>
+
+<ul>
+<li>In your app manifest, locate any <a href="{@docRoot}guide/topics/manifest/uses-feature-element.html"><code>&lt;uses-feature&gt;</code></a>
+elements. In particular, look for hardware features that might not be
+available on some tablets, such as:
+
+<ul>
+<li><code>android.hardware.telephony</code></li>
+<li><code>android.hardware.camera</code> (refers to back camera), or</li>
+<li><code>android.hardware.camera.front</code></li>
+</ul></li>
+
+<li>Declare the <a href="{@docRoot}guide/topics/manifest/uses-feature-element.html"><code>&lt;uses-feature&gt;</code></a>
+elements as <em>not required</em> by including the <code>android:required=”false”</code>
+attribute.
+
+<p>
+  For example, here's the proper way to declare a dependency on
+  <code>android.hardware.telephony</code>, such that you can still
+  distribute the app broadly, even to devices that don't offer telephony:
+</p>
+
+<pre>&lt;uses-feature android:name="android.hardware.telephony" android:required="false" /&gt;</pre></li>
+
+<li>Similarly, check the manifest for <a href="{@docRoot}guide/topics/manifest/permission-element.html"><code>&lt;permission&gt;</code></a> elements that 
+<a href="{@docRoot}guide/topics/manifest/uses-feature-element.html#permissions">imply hardware
+feature requirements</a> that not be appropriate for tablets. If you find such
+permissions, make sure to explicitly declare a corresponding
+<code>&lt;uses-feature&gt;</code> element for the features and includes the
+<code>android:required=”false”</code> attribute.</li>
+</ul>
+
+
+<p>
+  After declaring hardware features as <em>not required</em>, make sure to test
+  your app on a variety of devices. The app should function normally when the
+  hardware features it uses are not available, and it should offer "graceful
+  degradation" and alternative functionality where appropriate.
+</p>
+
+<p>
+  For example, if an app normally uses GPS to set the location but GPS is not
+  supported on the device, the app could let the user set the location manually
+  instead. The app can check for device hardware capabilities at runtime and handle
+  as needed.
+</p>
+
+<h3>Related resources</h3>
+
+<div class="resource-widget resource-flow-layout col-13"
+  data-query="collection:distribute/essentials/tabletguidelines/hardware"
+  data-sortOrder="-timestamp"
+  data-cardSizes="9x3"
+  data-maxResults="6"></div>
+
+<div class="headerLine clearfloat"><h1 id="support-screens">10. Declare Support for Tablet Screens</h1><hr></div>
+
+<p>To ensure that you can distribute your app to a broad range of tablets, your app should
+declare support for tablet screen sizes in its manifest file, as follows:</p>
+
+<ul>
+  <li>A
+  <a href="{@docRoot}guide/topics/manifest/supports-screens-element.html"><code>&lt;supports-screens&gt;</code></a>
+  element, if declared, must not specify <code>android:largeScreens="false"</code>
+  or <code>android:xlargeScreens="false"</code>.</li>
+  <li>For apps targeting <code>minSdkVersion</code> value less than 13, a
+  <a href="{@docRoot}guide/topics/manifest/supports-screens-element.html"><code>&lt;supports-screens&gt;</code></a>
+  element must be declared with both <code>android:largeScreens="true"</code> and
+  <code>android:xlargeScreens="true"</code>.</li>
+</ul>
+
+<p>If the app declares a
+<a href="{@docRoot}guide/topics/manifest/compatible-screens-element.html"><code>&lt;compatible-screens&gt;</code></a>
+element in the manifest, the element should include attributes that specify
+<em>all of the size and density combinations for tablet screens</em> that the
+app supports. Note that, if possible, you should avoid using the
+<a href="{@docRoot}guide/topics/manifest/compatible-screens-element.html"><code>&lt;compatible-screens&gt;</code></a>
+element in your app.</p>
+
+<h3>Related resources</h3>
+
+<div class="resource-widget resource-flow-layout col-13"
+  data-query="collection:distribute/essentials/tabletguidelines/tabletscreens"
+  data-sortOrder="-timestamp"
+  data-cardSizes="9x3,6x3,6x3"
+  data-maxResults="6"></div>
+
+
+<div class="headerLine clearfloat"><h1 id="google-play">11. Showcase Your Tablet UI in Google Play</h1><hr></div>
+
+<p>
+  After you've done the work to create an rich, optimized UI for your tablet
+  app, make sure that you let your customers know about it! Here are some key
+  ways to promote your tablet app to users on Google Play.
+</p>
+
+<div><img class="border-img" src="{@docRoot}images/gp-tablet-quality-4.jpg"></div>
+
+
+<h4>
+  Upload screenshots of your tablet UI
+</h4>
+
+<p>
+  Tablet users want to know what your app is like on a tablet device, not on a
+  phone. If you developed a tablet app, make sure to upload screenshots
+  of your tablet UI to the Google Play Developer Console. Here are some guidelines:
+  </p>
+
+<ul style="margin-top:0;">
+  <li>Show the core functionality of your app, not a
+  startup or sign-in page. Wherever users will spend most of their time, that's
+  what you should show in your screenshots.
+  </li>
+
+  <li>Add screenshots taken on both 7-inch and 10-inch tablets.
+  </li>
+
+  <li>Add screenshots taken in both landscape and
+  portrait orientations, if possible.
+  </li>
+
+  <li>Use screen captures if possible. Avoid showing actual device hardware in your
+  screenshots.</li>
+
+  <li>The recommended resolution of your tablet screenshots is <strong>1280 x 720</strong>
+  or higher in each orientation.
+  </li>
+
+  <li>Upload as many as 8 screenshots of your tablet UI for 7-inch tablets
+  and an additional 8 for 10-inch tablets.
+  </li>
+</ul>
+
+<h4>
+  Update your app description and release notes
+</h4>
+
+<ul>
+  <li>In your app description, make sure to highlight that your app offers
+  tablet-optimized UI and great features for tablet users. Add some
+  detail about how your tablet UI works and why users will like it.
+  </li>
+
+  <li>Include information about tablet support in the app's release notes and
+  update information.
+  </li>
+</ul>
+
+<h4>
+  Update your promotional video
+</h4>
+
+<p>
+  Many users view an app's promotional video to get an idea of what the app is
+  like and whether they'll enjoy it. For tablet users, capitalize on this
+  interest by highlighting your app's tablet UI in your promotional video. Here
+  are some tips and guidelines:
+</p>
+
+<ul>
+  <li>Add one or more shots of your app running on a tablet. To engage with
+  tablet users most effectively, it's recommended that you promote your tablet
+  UI in approximately equal proportion to your phone UI.
+  </li>
+
+  <li>Show your tablet UI as early as possible in the video. Don't assume that
+  tablet users will wait patiently through a feature walkthrough on a phone UI.
+  Ideally, you should engage them immediately by showing the tablet UI within
+  the first 10 seconds, or at the same point that you introduce the phone UI.
+  </li>
+
+  <li>To make it clear that you are showing a tablet UI, include shots of your
+  app running on a hand-held tablet device.
+  </li>
+
+  <li>Highlight your app's tablet UI in the video's narrative or voiceover.
+  </li>
+</ul>
+
+<h4>
+  Feature your tablet UI in your promotional campaigns
+</h4>
+
+<p>
+  Make sure to let tablet users know about your tablet UI in your promotional
+  campaigns, web site, social posts, advertisements, and elsewhere. Here are
+  some suggestions:
+</p>
+
+<ul>
+  <li>Plan a marketing or advertising campaign that highlights the use of your
+  app on tablets.</li>
+
+  <li>Show your tablet app at its best in your promotional campaigns&mdash;use the <a href=
+  "{@docRoot}distribute/tools/promote/device-art.html">Device Art Generator</a> to
+  quickly generate a high-quality promotional image of your app running on a
+  7-inch or 10-inch tablet, in the orientation of your choice, with or without
+  drop-shadow and screen glare. It's as simple as capture, drag, and drop.
+  </li>
+
+  <li>Include a Google Play badge in your online promotions to let users link
+  directly to your app's store listing. You can generate a badge in a variety
+  of languages using the <a href=
+  "{@docRoot}distribute/tools/promote/badges.html">Badge Generator</a>.
+  </li>
+</ul>
+
+<h3>Related resources</h3>
+
+<div class="resource-widget resource-flow-layout col-13"
+  data-query="collection:distribute/essentials/tabletguidelines/showcase"
+  data-sortOrder="-timestamp"
+  data-cardSizes="9x3,9x3,9x3,9x3"
+  data-maxResults="6"></div>
+
+<div class="headerLine clearfloat">
+  <h1 id="google-play-best-practices">
+    12. Follow Best Practices for Publishing in Google Play
+  </h1>
+
+  <hr>
+</div>
+
+<p>
+  Here are some best practices for delivering a successful tablet app on Google
+  Play.
+</p>
+
+<div>
+  <img class="border-img" src="{@docRoot}images/gp-tablet-quality-5.jpg" style=
+  "1px solid #ddd">
+</div>
+
+<h4 id="google-play-optimization-tips">
+  Check out your app's Optimization Tips
+</h4>
+
+<p>The Google Play Developer Console now offers an Optimization Tips page that
+lets you quickly check how your app is doing against basic guidelines for tablet app
+distribution and quality. To visit the page, sign into the Developer Console,
+load the app from All Applications, and click Optimization Tips in
+the left navigation.</p>
+
+<div class="sidebox-wrapper">
+<div class="sidebox">
+<h2>How to send feedback</h2>
+
+<p>Please use the link below to send
+feedback or request a manual review of your Optimization Tips.</p>
+
+<p>Make sure to read the relevant sections of the Tablet App Quality
+Guidelines prior to sending feedback.</p>
+
+<p><strong><a href="https://support.google.com/googleplay/android-developer/contact/tabletq"
+target="_googleplay" style="white-space:nowrap">Designed for Tablets Contact Form &raquo;</a></strong></p>
+</div>
+</div>
+
+<p>The Developer Console creates your app's Optimization Tips page
+by running a series of checks to verify basic quality
+criteria. If it finds any issues, it alerts you to them as "To Do"
+items in the Optimization Tips page.</p>
+
+<p>If you've developed a tablet experience for your app, make sure
+to visit the Optimization Tips page to see how your app is doing
+against the basic checks.  If there are any issues listed, we
+recommend addressing them in your app and uploading a new binary for
+distribution, if needed. </p>
+
+<p>If the Optimization Tips page lists "To Do" issues that you feel don't
+apply to your app or affect its quality on tablets, please notify us
+using the <a href="https://support.google.com/googleplay/android-developer/contact/tabletq"
+target="_googleplay" style="white-space:nowrap">Designed for Tablets Contact Form &raquo;</a>. We
+will review your app and update your Optimization Tips page as
+appropriate.</p>
+
+
+<h4>Confirm the app's filtering</h4>
+
+<p>
+  After you've uploaded the app to the <a href=
+  "https://play.google.com/apps/publish/">Developer Console</a>, check the
+  APK's Supported Devices list to make sure that the app is not filtered from
+  tablet devices that you want to target.
+</p>
+
+<h4>Distribute as a single APK</h4>
+
+<p>
+  It's recommended that you publish your app as a single APK for all screen
+  sizes (phones and tablets), with a single Google Play listing. This approach
+  has several important advantages.
+</p>
+
+<ul style="margin-top:.25em;">
+  <li>Easier for users to find your app from search, browsing, or promotions
+  </li>
+
+  <li>Easier for users to restore your app automatically if they get a new
+  device.
+  </li>
+
+  <li>Your ratings and download stats are consolidated across all devices.
+  </li>
+
+  <li>Publishing a tablet app in a second listing can dilute ratings for your
+  brand.
+  </li>
+</ul>
+
+<p>
+  If necessary, you can alternatively choose to deliver your app using <a href=
+  "{@docRoot}google/play/publishing/multiple-apks.html">Multiple APK Support</a>,
+  although in most cases using a single APK to reach all devices is strongly
+  recommended.
+</p>
+
+<h3 class="clearfloat">Related resources</h3>
+<div class="resource-widget resource-flow-layout col-13"
+  data-query="collection:distribute/essentials/tabletguidelines/googleplay"
+  data-sortOrder="-timestamp"
+  data-cardSizes="9x3"
+  data-maxResults="6"></div>
+
+
+<div class="headerLine clearfloat">
+  <h1 id="test-environment">
+    Setting Up a Test Environment for Tablets
+  </h1>
+
+  <hr>
+</div>
+
+<p>
+  Assess the quality of your app on tablets — both for core app quality and
+  tablet app quality &mdash; with a suitable hardware or emulator environment
+  for testing.
+</p>
+
+<p>
+  Compared to the <a href=
+  "{@docRoot}distribute/essentials/quality/core.html#test-environment">recommended
+  test environment</a> for testing against the core app quality criteria,
+  include mid-size tablets and tablets with more or fewer hardware/software
+  features.
+</p>
+
+<p class="table-caption"><strong>Table 1</strong>. A typical tablet test environment might
+include one or two devices from each row in the table below, with one of the
+listed platform versions, screen configurations, and hardware feature configurations.</p>
+
+<table>
+<tr>
+<th>Type</th>
+<th>Size</th>
+<th>Density</th>
+<th>Version</th>
+<th>AVD Skin</th>
+</tr>
+
+<tr>
+<td>7-inch tablet</td>
+<td><span style="white-space:nowrap"><code>large</code> or</span><br /><code>-sw600</code></td>
+<td><code>hdpi</code>,<br /><code>tvdpi</code></td>
+<td>Android 4.0+ (API level 14 and higher)</td>
+<td>WXGA800-7in</td>
+</tr>
+<tr>
+<td><span style="white-space:nowrap">10-inch</span> tablet</td>
+<td><span style="white-space:nowrap"><code>xlarge</code> or</span><br /><code>-sw800</code></td>
+<td><code>mdpi</code>,<br /><code>hdpi</code>,<br /><code>xhdpi</code></td>
+<td>Android 3.2+ (API level 13 and higher)</td>
+<td>WXGA800</td>
+</tr>
+</table>
+
+<div class="headerLine clearfloat"><h1 id="related-resources">Related Resources</h1><hr></div>
+
+<div class="resource-widget resource-flow-layout col-13"
+  data-query="collection:distribute/essentials/tabletguidelines"
+  data-sortOrder="-timestamp"
+  data-cardSizes="9x3"
+  data-maxResults="6"></div>
\ No newline at end of file
diff --git a/docs/html/distribute/googleplay/about.jd b/docs/html/distribute/googleplay/about.jd
new file mode 100644
index 0000000..cf0c6d2
--- /dev/null
+++ b/docs/html/distribute/googleplay/about.jd
@@ -0,0 +1,369 @@
+page.title=The Google Play Opportunity
+meta.tags="visibility, growth, distributing"
+page.tags="play, apps, distributing, publishing"
+page.metaDescription=Billons of downloads a month and growing. Get your apps in front of users at Google's scale.
+page.image=/distribute/images/about-play.jpg
+
+@jd:body
+
+    <div id="qv-wrapper">           
+  <div id="qv">
+  <h2>About Google Play</h2>
+    <ol style="list-style-type:none;">
+      <li><a href="#reach">Worldwide Reach, Rapid Growth</a></li>
+      <li><a href="#ratings-reviews">User Ratings and Reviews</a></li>
+      <li><a href="#category-browsing">Category Browsing</a></li>
+      <li><a href="#search">Search</a></li>
+      <li><a href="#top-charts-and-lists">Top Charts and Lists</a></li>
+      <li><a href="#featured-staff-picks">Featured, Staff Picks, Collections, and Badges</a></li>
+      <li><a href="#product-detail-pages">Store Listing Pages</a></li>
+      <li><a href="#related-resources">Related Resources</a></li>
+    </ol>
+  </div>
+</div>
+
+<p>
+  Google Play is the premier store for distributing Android apps. When you
+  publish on Google Play, you put your apps in front of Android's huge base of
+  active customers, in more than 130 countries and territories across the
+  world.
+</p>
+
+<div>
+  <img src="{@docRoot}images/gp-about-0.jpg" alt="Google Play on an Android Tablet"
+  style="width:480px;position:relative" />
+</div>
+
+<p>
+  Google Play is a central part of the Android experience. New users
+  personalize their devices with apps, games, and other Google Play content.
+  Existing users return regularly to see what's trending and new. Downloading
+  new apps is extremely convenient and fast&mdash; Google Play pushes apps to
+  the user's devices instantly, over the air.
+</p>
+
+<p>
+  Google Play is also a top destination for web users. Anyone with a browser
+  can explore Google Play on the web. Android users can even buy and install
+  the apps they want and Google Play pushes them automatically to their devices
+  with no cables required.
+</p>
+
+<p>
+  The accessibility and convenience of the Google Play web site give you new
+  ways to drive traffic to your products from many sources, such as online ads,
+  web search and cross-linking. Google Play is designed to connect users with
+  great apps and games. It provides key channels to get your app noticed and
+  gain traction in the marketplace.
+</p>
+
+<div class="headerLine">
+  <h1 id="ratings-reviews">
+    User Ratings and Reviews
+  </h1>
+
+  <hr>
+</div>
+
+<p>
+  Prospective users look at ratings and reviews as key benchmarks of app
+  quality. By rating apps from one to five stars and posting reviews, Android
+  users show their appreciation for the apps they have downloaded.
+</p>
+
+<p>
+  <strong>Your app's rating is one of the most important factors influencing
+  its ranking</strong> in the Google Play lists and search results. It's also
+  one of the key metrics that the editorial staff looks for when curating apps
+  and games for promotion in the store.
+</p>
+
+<div class="img" style="padding: 1em auto;width:96%;">
+  <img src="{@docRoot}images/gp-rating-web.png" style="border:1px solid #ddd;">
+</div>
+
+<div class="headerLine">
+  <h1 id="category-browsing">
+    Category Browsing
+  </h1>
+
+  <hr>
+</div>
+
+<p>
+  When you publish an app in Google Play, you pick the category where you want
+  users to find your app. More than 30 categories are available. Inside each
+  category, apps are ranked based on a combination of ratings, reviews,
+  downloads, country, and other factors.
+</p>
+
+<div class="headerLine">
+  <h1 id="search">
+    Search
+  </h1>
+
+  <hr>
+</div>
+
+<p>
+  Search on Google Play lets users pinpoint an app or game quickly. Search uses
+  powerful heuristics to suggest terms as the user types, and it offers direct
+  links to apps as suggestions. In results, users find the most relevant, most
+  popular apps at the top.
+</p>
+
+<div class="headerLine">
+  <h1 id="top-charts-and-lists">
+    Top Charts and Lists
+  </h1>
+
+  <hr>
+</div>
+
+<div class="figure">
+  <img src="{@docRoot}images/gp-about-top.jpg">
+</div>
+
+<p>
+  Top charts keep users in touch with what’s popular and trending with Android
+  users, right from the Apps and Games home pages. The charts stay fresh,
+  updating several times each day based on recent download activity. As an
+  app's ratings and download activity grow, it can move up in the charts.
+</p>
+
+<p>
+  To make the charts as relevant as possible for users across the world, they
+  are also country-specific in Google Play's most popular countries. As your
+  apps get traction and build momentum in downloads and ratings, they’ll climb
+  one or more of the top charts and gain even more exposure.
+</p>
+
+<table style="width:50%;">
+  <tr>
+    <td>
+      Top Free
+    </td>
+    <td>
+      Free apps and free games lists
+    </td>
+  </tr>
+
+  <tr>
+    <td>
+      Top Paid
+    </td>
+    <td>
+      Paid apps and paid games lists
+    </td>
+  </tr>
+
+  <tr>
+    <td>
+      Top Grossing
+    </td>
+    <td>
+      Gross proceeds, free or paid
+    </td>
+  </tr>
+
+  <tr>
+    <td>
+      Top New Free
+    </td>
+    <td>
+      Less than 30 days old
+    </td>
+  </tr>
+
+  <tr>
+    <td>
+      Top New Paid
+    </td>
+    <td>
+      Less than 30 days old
+    </td>
+  </tr>
+
+  <tr>
+    <td>
+      Trending
+    </td>
+    <td>
+      New arrivals growing quickly in installs
+    </td>
+  </tr>
+</table>
+
+<div class="headerLine">
+  <h1 id="featured-staff-picks">
+    Featured, Staff Picks, Collections, and Badges
+  </h1>
+
+  <hr>
+</div>
+
+<p>
+  The Google Play editorial team is dedicated to bringing the best apps to the
+  attention of users and setting the tone for app quality throughout the store.
+  It constantly reviews apps from across Google Play to find not only the
+  best-known apps and games, but also the "diamonds in the rough" that they
+  want more people to see. The team promotes great apps in the
+  <em>Featured</em>, <em>Staff Picks</em>, and other collections.
+</p>
+
+<p>
+  You can't nominate your app for featuring, but the team is always monitoring
+  Google Play for great apps. If you build an app that users love and that
+  looks great on Android devices, the editorial team will notice.
+</p>
+
+<h3 id="featured-staff-picks2">
+  Featured and Staff Picks
+</h3>
+
+<p>
+  Each week the Google Play editorial staff selects a new set of apps to
+  promote in its popular <em>Featured</em> and <em>Staff Picks</em>
+  collections.
+</p>
+
+<p>
+  The <em>Featured</em> collections highlight the latest and greatest app and
+  game titles available for Android. The list also includes the best and most
+  popular apps in the top categories are also featured. <em>Staff Picks</em>
+  collects all recently featured apps and games on Google Play. To focus on
+  tablet users, A special <em>Staff Picks</em> collection highlights the best
+  apps for Android tablets.
+</p>
+
+<table style="text-align:center;margin:1.5em 0;">
+  <tr>
+    <td style="border:none;">
+      <img src="{@docRoot}images/gp-about-picks1.jpg">
+      <p>
+        Featured
+      </p>
+    </td>
+    <td style="border:none;">
+      <img src="{@docRoot}images/gp-about-picks2.jpg">
+      <p>
+        Collection
+      </p>
+    </td>
+    <td style="border:none;">
+      <img src="{@docRoot}images/gp-about-picks3.jpg">
+      <p>
+        Editors' Choice
+      </p>
+    </td>
+  </tr>
+</table>
+
+<h3 id="collections">
+  App collections
+</h3>
+
+<p>
+  From time to time the editorial staff puts together a collection of apps and
+  games based on a theme or seasonal event. Users frequently use these lists to
+  select apps, attracted by the timeliness of the collection.
+</p>
+
+<p>
+  The editorial staff chooses apps for collection promotions &mdash;
+  high-quality apps that show the best of Android on phones and tablets. The
+  staff also looks for apps that can make an interesting or unique contribution
+  to the collection as a whole.
+</p>
+
+<h3 id="editors-choice">
+  <img style="margin-right:.25em;margin-bottom:.5em;" src=
+  "{@docRoot}images/editorschoice_ann.png"> Editors' Choice
+</h3>
+
+<p>
+  <em>Editors’ Choice</em> is a curated collection of apps that highlights some
+  of the very best apps available on Android. Editors choose these apps for
+  quality and great user interface, long-term popularity and innovative use of
+  Android features.
+</p>
+
+<p>
+  Apps chosen for <em>Editors’ Choice</em> also receive a badge that is
+  displayed wherever the app name is seen in Google Play.
+</p>
+
+<h3 id="top-developer">
+  <img style="margin-right:.25em;margin-bottom:.5em;" src=
+  "{@docRoot}images/topdev_ann.png"> Top Developer
+</h3>
+
+<p>
+  Top Developer is a badge recognizing established, respected developers for
+  their commitment to launching high-quality and innovative apps on Android.
+  The Google Play editorial staff awards a Top Developer badge from
+  time-to-time based on the cumulative work of the developer.
+</p>
+
+<p>
+  The Top Developer badge appears next to the developer name wherever it is
+  displayed in Google Play. The badge means long-term recognition of all of the
+  developer’s apps. It signifies an additional level of trust and confidence
+  users have in a developer’s products.
+</p>
+
+<div class="headerLine">
+  <h1 id="product-detail-pages">
+    Store Listing Pages
+  </h1>
+
+  <hr>
+</div>
+
+<div class="figure">
+  <img src="{@docRoot}images/gp-about-listing.jpg">
+</div>
+
+<p>
+  Your app’s Google Play storefront is its <em>store listing page</em>: a rich
+  and colorful page that lets you promote your app, highlight its ratings and
+  reviews, and show what your app can do.
+</p>
+
+<p>
+  Your store listing is where your users come to find out everything about your
+  app. When they see your app listed in search results, top charts, category
+  listings, and collections, one tap takes them directly to your store listing.
+</p>
+
+<p>
+  Manage your product details page through the <a href=
+  "https://play.google.com/apps/publish/">Google Play Developer Console</a>
+  from any web browser. Sign in to upload or update your brand assets, and
+  enter your product details in the languages of your markets.
+</p>
+
+<p>
+  When you publish, Google Play adds your app’s ratings, reviews, links to your
+  other products, and more. It also makes sure your store listing page looks
+  great on phones, tablets, and in a web browser.
+</p>
+
+<p>
+  You can link web users directly to your product details page from outside
+  Google Play, such as from your web site, an ad campaign, reviews, social
+  media posts, and more. See <a href=
+  "{@docRoot}distribute/tools/promote/linking.html">Linking to Your
+  Products</a> to find out how.
+</p>
+
+<div class="headerLine clearfloat">
+<h1>Related Resources</h1><hr>
+</div>
+
+<div class="resource-widget resource-flow-layout col-13"
+  data-query="collection:distribute/googleplay"
+  data-sortOrder="-timestamp"
+  data-cardSizes="9x3"
+  data-maxResults="4"></div>
+    </div>
\ No newline at end of file
diff --git a/docs/html/distribute/googleplay/about/distribution.jd b/docs/html/distribute/googleplay/about/distribution.jd
deleted file mode 100644
index 8020110..0000000
--- a/docs/html/distribute/googleplay/about/distribution.jd
+++ /dev/null
@@ -1,167 +0,0 @@
-page.title=Distribution Control
-page.metaDescription=Reach the users you want, whenever you want.
-
-@jd:body
-
-<p>Deliver your apps to the users you want, on the devices you want, on <em>your</em> schedule. </p>
-
-<h2 id="instant">Instant publishing, instant updates</h2>
-
-<p>On Google Play, you can publish your products to customers instantly. Just
-upload and configure your product in the <span style="font-weight:500;">Google Play Developer Console</span>
-and press the Publish button&mdash;your app appears in the store listings within
-hours, not weeks.</p>
-
-<p>Once your app is published, you can update it as often as you want. You can
-change prices, configuration, and distribution options at any time through the
-Google Play Developer Console, without needing to update your app
-binary.</p>
-
-<p>Later, as you add features or address code issues, you can publish an updated
-binary at any time. Google Play makes the new version available almost immediately and
-notifies existing customers that an update is ready for download. To streamline
-the rollout across your customer base, Google Play also lets users accept
-automatic updates of your app, so that your updates are delivered and installed
-as soon as you publish them.</p>
-
-
-<h2 id="targeting">Reaching the customers you want</h2>
-
-<div class="figure-right" style="width:400px;">
-<img src="{@docRoot}images/gp-dc-countries.png" class="frame">
-</div>
-
-<p>Google Play does more than connect your app with users&mdash;it helps you
-reach the broadest possible distribution across the Android ecosystem, while
-making sure that your app is only available to the audience that you want to
-reach.</p>
-
-<h3 id="geotargeting">Geographic targeting</h3>
-
-<p>You can use controls in the Google Play Developer Console to easily
-manage the geographic distribution of your apps, without any changes in your
-application binary. You can specify which countries and territories you want to
-distribute to, and even which carriers (for some countries). </p>
-
-<p>When users visit the store, Google Play makes sure that they are in one of
-your targeted countries before downloading your app. You can change your country
-and carrier targeting at any time just by saving changes in the Google Play
-Developer Console.</p>
-
-<div class="figure-right" style="width:400px;">
-<img src="{@docRoot}images/gp-supported-dev-requirements.png" class="frame">
-</div>
-
-<p>To help you market to users around the world, you
-can <a href="{@docRoot}distribute/googleplay/publish/preparing.html#localize">localize
-your store listing</a>, including app details and description,
-promotional graphics, screenshots, and more.</p>
-
-<h3 id="captargeting">Capabilities targeting</h3>
-
-<p>Google Play also lets you control distribution according to device features
-or capabilities that your app depends on. There are several types of
-dependencies that the app can define in its manifest, such as hardware features,
-OpenGL texture compression formats, libraries, Android platform versions, and
-others.</p>
-
-<p>When you upload your app, Google Play reads the dependencies and sets up any
-necessary distribution rules. For technical information about declaring
-dependencies, read <a href="{@docRoot}google/play/filters.html">Filters on 
-Google Play</a>. </p>
-
-<p>For pinpoint control over distribution, Google Play lets you see all of the
-devices your app is available to based on its dependencies (if any). From the
-Google Play Developer Console, you can list the supported devices and
-even exclude specific devices if needed.</p>
-
-<h2 id="stats">Statistics for analyzing installs and ratings</h2>
-
-<p>Once you’ve published your app, Google Play makes it easy to see how it’s
-doing. The Google Play Developer Console gives you access to a variety
-of anonymized statistics and custom charts that show you the app's installation
-performance and ratings.</p>
-
-<p>You can view data and charts for active, daily, and total installs 
-per unique devices or users, as well as upgrades and uninstalls.
-You can also view the app's daily average user rating and its cumulative
-user rating. To help you analyze the data, you can view install
-and ratings statistics across a variety of different dimensions such as Android 
-version, device, country, app version, and carrier.</p>
-
-<div class="figure-left">
-  <img src="{@docRoot}images/gp-dc-stats-mini.png" class="frame">
-</div>
-<p>You can see your app statistics on timeline charts, for
-all metrics and dimensions. At a glance, the charts highlight your app’s
-installation and ratings peaks and longer-term trends, which you can correlate
-to promotions, app improvements, or other factors. You can even focus in on
-data inside a dimension by highlighting specific data points (such as
-individual platform versions or languages) on the timeline.</p>
-
-<p>So that you can “take your data with you”, you can download all of your
-installation data as a CSV file for viewing in the business program of your
-choice.</p>
-
-
-<h2 id="advanced">Advanced delivery options</h2>
-
-<p>Google Play offers convenient options for managing how your apps are
-delivered to users.</p>
-
-<h3 id="abc">Alpha and beta testing, staged rollouts</h3>
-
-<p>It's always valuable to get real-world feedback from users, especially before
-launch. Google Play makes it easy to distribute pre-release versions of your app
-to alpha and beta test groups anywhere in the world. You can start with a small
-group of alpha testers, then move to a larger group of beta testers. Once users
-are added, they access your app's store listing and install the app. User
-feedback from alpha and beta testers goes directly to you and is not posted as
-public reviews. </p>
-
-<p>To help you ensure quality and protect your app ratings, you can choose a
-staged rollout when launching an app or an update. With staged rollout, you
-distribute the production version of your app to a percentage of users. You can
-adjust the percentage as you go, starting small and increasing until your app is
-available to all users.</p>
-
-<h3 id="multiple-apk">Multiple APK support</h3>
-
-<p>In most cases, it’s easy to create an app that supports all of your targeted
-screen sizes and platform versions from a single APK. Distributing a single APK
-to all of your users is a highly recommended approach, because it’s the easiest
-way to manage and maintain the app. If you need to deliver a different APK to
-devices, Google Play provides a way to do that. </p>
- 
-<p>An option called Multiple APK support lets you create multiple APK packages
-that use the same package name but differ in their OpenGL texture compression
-formats, screen-size support, or Android platform versions supported. You can
-upload all of the APKs to Google Play under a single product listing and Google
-Play selects the best APK to deliver to users, based on the characteristics of
-their devices.  </p>
-
-<p>The APK Expansion Files option lets you upload up to two secondary downloads
-for each published APK, including multiple APKs. Each of the two expansion files
-can be up to 2GB each and can contain any type of code or assets. When you
-upload the expansion files, Google Play hosts them for free and handles the
-download of the files as part of the normal APK installation.</p>
-
-<h2 id="licensing">Protecting your app</h2>
-
-<p>Google Play provides two key features to help you protect your application
-against piracy &mdash; Google Play Licensing and app encryption.</p>
-
-<p> Google Play Licensing is a network-based service that you implement in your
-app. The service lets your app query a trusted licensing server at runtime, to
-determine whether the app is licensed to the current device user. You can use
-the licensing service to protect any app, even apps that you distribute for
-free. For an overview of the service, see <a
-href="{@docRoot}google/play/licensing/index.html">Application
-Licensing</a>.</p>
-
-<p>Additionally, Google Play offers app encryption to help protect your priced
-apps. When delivering your priced apps to devices running Android 4.1 or higher,
-Google encrypts the app binary so that it can be run only by the user who
-downloaded it, on the device to which it was originally downloaded. Your priced
-apps benefit from app encryption automatically &mdash; there's no extra
-development work or configuration needed.</p>
diff --git a/docs/html/distribute/googleplay/about/monetizing.jd b/docs/html/distribute/googleplay/about/monetizing.jd
deleted file mode 100644
index 9a5c6d7..0000000
--- a/docs/html/distribute/googleplay/about/monetizing.jd
+++ /dev/null
@@ -1,162 +0,0 @@
-page.title=Flexible Monetizing and Business Tools
-page.metaDescription=
-
-@jd:body
-   
-<div style="float:right;margin-left:18px;padding:1.5em;">
-<img src="{@docRoot}images/gp-details-ww.png" style="width:180px">
-<img src="{@docRoot}images/gp-details-ww-purchase.png" style="width:180px">
-</div>
-    
-<p>Sell your app in more than 130 countries. Flexible monetization options with
-in-app purchase, subscriptions, and more. </p>
-
-<h2>Streamlined purchase flow for users</h2>
-
-<p>When users find your app, they can purchase it instantly with a streamlined,
-consistent purchasing process and convenient payment methods.</p>
-
-<h3>Instant purchase from device or web</h3>
-
-<p>Google Play makes it fast and easy for your customers to buy your products,
-whether from a phone, a tablet, or a desktop computer. When users find an app or
-game that they want to buy, they can purchase it in as few as two steps&mdash;one
-to initiate the purchase and another to accept purchase details and permissions
-and complete the transaction.</p>
-
-<p>Google Play's convenient purchase experience is the same familiar process for
-all products everywhere across Google Play&mdash;apps, games, in-app products and
-subscriptions, and other digital content.</p>
-
-<h3 id="cloud-connected-purchase">Cloud-connected</h3>
-
-<p>Purchasing is even more convenient on Google Play because it’s
-cloud-connected. Users can find and purchase your products from anywhere&mdash;from
-their Android phones or using any web browser on any host computer. </p>
-
-<p>When users find an app or game they want to buy, they purchase it and download
-it instantly to their devices over-the-air. Users who sign in to the Google Play web site can also buy apps and games
-and push them instantly to their phones, tablets, or other devices. Google Play
-manages the application download.</p>
-
-<h3 id="payment-methods">Convenient payment options</h3>
-
-<p>Users can purchase your products on Google Play using several convenient
-payment methods&mdash;credit cards, Direct Carrier Billing, gift cards, and Google Play balance.</p>
-
-<p><span style="font-weight:500">Credit card</span> is the most common method of payment. Users can pay using any credit card
-that they’ve registered in Google Play. To make it easy for users to get started,
-registration is offered as a part of initial device setup process.</p>
-
-<div class="sidebox-wrapper" style="float:right;">
-<div class="sidebox">
-<h2>Payment methods on Google Play</h2>
-<ul>
-<li>Credit card</li>
-<li>Direct Carrier Billing</li>
-<li>Gift card</li>
-<li>Google Play balance (stored value)</li>
-</ul>
-</div>
-</div>
-
-<p>Subscribers on many popular carrier networks worldwide can charge purchases
-to their monthly mobile phone bills through <span style="font-weight:500">Direct
-Carrier Billing</span>. This form of payment is convenient and simple and is
-extremely popular in regions where credit cards are less common. More than 75
-million users in key markets around the world can purchase
-your products through Direct Carrier Billing. Many more will get the option in
-the months ahead.</p>
-
-<p><span style="font-weight:500">Google Play balance</span> is a stored account
-balance in Google Play. Users can increase their balance through promotions and
-offers in the store, and they can use their balanace to make purchases of apps,
-games, or other content. 
-
-<p>The payment methods available to users worldwide may vary, based on
-location, carrier network, and other factors.</p>
-
-<div style="float:left;margin-right:2em;margin-top:3em;margin-bottom:1em;width:220px;">
-<img src="{@docRoot}images/gp-subs.png" style="width:220px">
-</div>
-
-<h2 id="billing-models" style="margin-top:1.5em;">Choice of billing models</h2>
-
-<p>Google Play gives you a choice of billing models to let you monetize your
-products. </p>
-
-<p>You can offer apps to all users for free, or
-you can set an initial price for the app, paid before download. You can also
-sell one-time purchases and auto-renewing subscriptions from inside the app, and
-you can take advantage of AdMob integration to monetize your app through
-targeted advertising.</p>
-
-<div class="sidebox-wrapper">
-<div class="sidebox">
-<h2>Billing models on Google Play</h2>
-<ul>
-<li>Free (no charge to download)</li>
-<li>Priced (user charged before download)</li>
-<li>In-app products and subscriptions</li>
-</ul>
-</div>
-</div>
-
-<p>You can combine these billing models in different ways, based on your business
-needs or market conditions. </p>
-
-<p>For example, you can use a freemium or ad-supported model by distributing
-your app for free and selling in-app products or advertising. Alternatively you
-could set a nominal price for your app at download and sell value add-ons,
-gameplay levels, and upgrades as in-app products. The only restriction is that
-free apps must remain free (to download) for the life of the app.</p>
-
-<p>For details about in-app products or subscriptions,
-see <a href="{@docRoot}google/play/billing/index.html">Google Play In-app Billing</a>.</p>
-
-<h2 id="buyer-currency" style="margin-top:1.5em;">Flexible pricing in the currencies of your customers</h2>
-
-<div class="figure-right" style="width:250px;">
-<img src="{@docRoot}images/gp-buyer-currency.png" class="frame">
-</div>
-
-<p>Google Play gives you complete control over how you price your products. You
-can set prices in more than 130 countries, for millions of
-users around the world. When users browse your app’s product page or initiate a
-purchase, Google Play shows them the price they will be charged <em>in
-their local currency</em>.</p>
-
-<p>You can set and adjust your prices at any time, in any available currency. 
-Your prices in available currencies are independent, so you can adjust one
-price without affecting others. This gives you the ability to run
-short-term promotions and discounts in specific countries and more easily
-manage shifts in exchange rates.</p>
-
-<p>You can set and manage prices for your apps and in-app products from the
-Google Play Developer Console.</p>
-
-<h2 id="payouts">Monthly payouts in your local currency</h2>
-
-<p>To sell products in Google Play, all you have to do is register for a Google
-Wallet merchant account and link it to your Google Play Android Developer
-Console account (see <a
-href="{@docRoot}distribute/googleplay/publish/register.html">Get Started with
-Publishing</a> for details). Once you’ve set up your account and published your
-apps, Google Play makes monthly payouts of sales proceeds to your merchant
-account, in your local currency.</p>
-
-<h2 id="reporting">Detailed financial reporting</h2>
-
-<p>When you sell priced apps or in-app products on Google Play, you get a
-variety of financial reports to help you track and project sales, optimize your
-marketing campaigns, and support your customers.</p>
-
-<p>To help you keep up-to-date with the current activity, you can download daily
-reports summarizing recent purchases of your products. The reports include
-estimated sales amounts and include a variety of other data for each
-transaction.</p>
-
-<p>At the close of the month, you can download a complete sales report that
-gives you the final details of all transactions that closed in the month,
-including the payout amounts and other data. Additional financial reports are
-available in your Google Wallet merchant account.</p>
diff --git a/docs/html/distribute/googleplay/about/visibility.jd b/docs/html/distribute/googleplay/about/visibility.jd
deleted file mode 100644
index 18f60e9..0000000
--- a/docs/html/distribute/googleplay/about/visibility.jd
+++ /dev/null
@@ -1,246 +0,0 @@
-page.title=Visibility for Your Apps
-page.metaDescription=
-
-@jd:body
-    
-<div style="float:right;margin:0px 0px 24px 0px;">
-  <img src="{@docRoot}images/gp-tab.png" style="width:420px" alt="" />
-</div>
-
-<p>A billion downloads a month and growing. Get your apps in front of millions
-of users at Google's scale. </p>  
-
-
-<h2 id="reach">Worldwide reach, rapid growth</h2>
-
-<p>Google Play is the premier store for distributing Android apps. It’s
-preinstalled on more than 400 million devices worldwide, a number growing by
-more than a million every day. Android users have downloaded
-more than <strong style="text-wrap:none;">25 billion apps</strong> from Google
-Play, growing at a rate of more than 1.5 billion per month.</p>
-
-<p>When you publish on Google Play, you put your apps in front of Android's huge
-base of active customers, in more than 130 countries and territories across the
-world. </p>
-
-<p>Google Play is a central part of the Android experience. New users
-personalize their devices with apps, games, and other Google Play content.
-Existing users return regularly to see what's trending and new. Downloading new
-apps is extremely convenient and fast&mdash; Google Play pushes  apps to the
-user's devices instantly, over the air. No cable or sync is ever needed.</p>
-
-<div style="float:left;margin:0px 20px 0px 0px;width:374px;">
-<div  style="width:378px;padding:2px;">
-<img src="{@docRoot}images/gp-growth-downloads.png" style="width:600px;margin-bottom:0em;">
-</div>
-<p class="image-caption" style="padding:.5em"><span
-style="font-weight:500;">Growth in app consumption</span>: Users download more than
-1.5 billion apps from Google Play each month.</p>
-</div>
-
-<div>
-<p>Google Play is also a top destination for visitors from the web. Anyone
-with a browser can explore everything that Google Play has to offer from its <a
-href="http://play.google.com/store">web site</a>. Android users can even buy and
-install the apps they want and Google Play pushes them automatically to their
-devices over the air. </p>
-
-<p>The accessiblility and convenience of the Google Play web
-site give you new ways to drive traffic to your products from online ads, web
-search, cross-linking, and more.</p>
-</div>
-
-   <div style="clear:both;">
-<h2>Built for app discovery</h2>
-
-<p>Google Play is designed to connect users with great apps and games. It
-provides key channels to help your app get noticed and gain traction in the
-marketplace.</p>
-
-<h3 id="ratings">User ratings and reviews</h3>
-
-<p>When you develop a great app, Android users show their appreciation through
-ratings and reviews. They rate your app (out of 5 stars) after downloading it
-and can post a short description of their experience. When other users are
-considering your app, they look at the ratings and reviews as key benchmarks of
-the app’s quality. </p>
-
-   </div>
-
-<p>Your app’s rating is one of the most important factors influencing its
-ranking in the various lists and search results in Google Play. It's also one of
-the key signals that the editorial staff looks for, when curating apps and games
-for promotion in the store.</p>
-
-<div style="border:1px solid #DDD;padding:1px;margin-left:110px;width:504px;">
-<img src="{@docRoot}images/gp-rating-web.png" style="width:500px;padding:0;margin:0;">
-</div>
-
-<h3 id="category" stdle="padding-top:2em;">Category browsing</h3>
-
-<p>When you publish an app in Google Play, you pick the category in which you
-want users to find your app. More than 30 categories are available. Inside each
-category, apps are ranked based on a combination of ratings, reviews, downloads,
-country, and other factors. Many popular categories also start with a collection
-of featured apps selected by the Google Play editorial staff.</p>
-
-<div style="clear:both;margin-top:2em;margin-left:10%;width:560px;">
-<div style="clear:both;margin-top:2em;">
-<img src="{@docRoot}images/gpp-cat-feature280-puzzle.png" style="width:180px">
-<img src="{@docRoot}images/gpp-cat-feature280-photo.png" style="width:180px">
-<img src="{@docRoot}images/gpp-cat-feature280-sports.png" style="width:180px">
-</div>
-<p class="image-caption"><span style="font-weight:500;">Featuring in
-categories</span>: Most app and game categories include a featured list curated
-by the editorial team.</p>
-</div>
-
-<h3 id="search">Search</h3>
-
-<p>Search on Google Play lets users pinpoint an app or game quickly. Search uses
-powerful heuristics to suggest terms as the user types, and it offers direct
-links to apps as suggestions. In results, users find the most relevant, most
-popular apps at the top. </p>
-
-<div style="float:left;margin:12px 24px 0px 0px;">
-<img src="{@docRoot}images/gp-top-new-paid.png" style="width:250px">
-</div>
-
-<h3 id="top-charts" style="padding-top:1em">Top charts and lists</h3>
-
-<p>Top charts keep users in touch with what’s popular and trending with Android
-users, right from the Apps and Games home pages. The charts are generated
-several times each day based on recent download activity, keeping them fresh and
-allowing new apps to move upward in the charts. To make the charts as relevant
-as possible for users across the world, they are also country-specific in
-Google Play's most popular countries.</p>
-
-<p>As your apps get traction and build momentum in downloads and ratings,
-they’ll climb one or more of the top charts and gain even more exposure.</p>
-
-<div>
-<table style="width:440px">
-<tr>
-<td style="width:100px">Top Free</td><td>Free apps and games</td></tr>
-<td style="width:140px">Top Paid</td><td>Priced apps and games</td></tr>
-<td>Top New Free</td><td>Less than 30 days old</td></tr>
-<td>Top New Paid</td><td>Less than 30 days old</td></tr>
-<td>Top Grossing</td><td>Gross proceeds, free or priced</td></tr>
-<td>Best Selling</td><td>Popular priced games</td></tr>
-<td>Trending</td><td>New arrivals growing quickly in installs</td>
-</tr>
-</table>
-</div>
-
-<div style="clear:both">
-<h4 id="featured" style="padding-top:2.5em;">Featured, Staff Picks, Collections,
-and Badges</h4>
-
-
-<div style="float:right;margin-left:18px;">
-<img src="{@docRoot}images/gp-apps-home.png" style="width:180px">
-<img src="{@docRoot}images/gp-games-home.png" style="width:180px">
-</div>
-
-<p>The Google Play editorial team is dedicated to bringing the best apps to the
-attention of users and setting the tone for app quality throughout the store. 
-It constantly reviews apps from across Google Play to find
-not only the best-known apps and games, but also the “diamonds in the rough” that
-they want more people to see. </p>
-
-<p>When the team finds great apps and games, it uses the <em>Featured</em>,
-<em>Staff Picks</em>, and other collections to promote them to users.</p>
-
-<p>You can't nominate your app for featuring, but the team is always
-on the lookout for great apps through a number of signals and indicators. 
-If you build an app that users love and that looks great on Android devices,
-the editorial team will notice.</p>
-</div>
-
-<h4>Featured and Staff Picks</h4>
-
-<p>Each week the Google Play editorial staff selects a new set of apps to
-promote in its popular <em>Featured</em> and <em>Staff Picks</em> collections.
-</p>
-
-The <em>Featured</em> collections highlight the latest and greatest app and game
-titles available for Android. Category featuring highlights the best and most
-popular apps in the top categories.
-
-<em>Staff Picks</em> collects all recently featured apps and games on Google
-Play. To better reach tablet users, there’s a special <em>Staff Picks</em>
-collection that highlights the best apps for Android tablets.</p>
-
-<div style="float:left;margin-right:18px;">
-<img src="{@docRoot}images/gp-collectibles.png" stydle="width:180px">
-
-</div>
-
-<h4>App collections</h4>
-
-<p>From time to time the editorial staff puts together a collection of apps and
-games based on a theme or seasonal event. The collections are popular with
-customers because they are timely and relevant, and they provide a new way to
-showcase great Android apps to users.</p>
-
-<p>The editorial staff chooses apps for collection promotions in a similar way
-as for featuring&mdash;high-quality apps that show the best of Android on phones
-and tablets. For collections the staff also looks for apps that can make an
-interesting or unique contribution to the collection as a whole. </p>
-
-<h4><img style="margin-right:.25em;margin-bottom:.5em;"
-src="{@docRoot}images/editorschoice_ann.png"> EDITORS' CHOICE</h4>
-
-<p><em>Editors’ Choice</em> is a curated collection of apps that highlights some
-of the very best apps available on Android. These apps are chosen for high
-quality and great UI, long-term popularity, and innovative use of Android
-features.</p>
-
-<p>Apps chosen for <em>Editors’ Choice</em> also receive a badge that is
-displayed wherever the app name is seen in Google Play.</p>
-
-<h4><img style="margin-right:.25em;margin-bottom:.5em;"
-src="{@docRoot}images/topdev_ann.png"> TOP DEVELOPER</h4>
-
-<p>Top Developer is a badge recognizing established, respected developers for
-their commitment to launching high-quality and innovative apps on
-Android. The Google Play editorial staff selects developers awards a Top
-Developer badge from time to time, based on the cumulative work of the
-developer.</p>
-
-<p>The Top Developer badge appears next to the developer name wherever it is
-displayed in Google Play. For a developer, the badge means long-term recognition
-of all of your apps. For users, the badge signifies an additional level of trust
-and confidence in your products.</p>
-
-<h3 id="details">Rich, colorful product pages</h3>
-
-<p>In Google Play, your app’s storefront is its <em>product details page</em>
-&mdash; a rich and colorful page that lets you promote your app, highlight its
-ratings and reviews, and show what your app can do. 
-
-<p>Your product details page is the one page where your users come to find out
-everything about your app. When they see your app listed in search results, top
-charts, category listings, and collections, one tap takes them directly to your 
-product details page.</p>
-
-<div style="float:right;margin-left:10px;">
-<img src="{@docRoot}images/gp-details-pages-magicpiano.png" style="width:500px">
-</div>
-
-<p>You can manage your product details page through the <span
-style="font-weight:500">Google Play Android Develeper Console</span>, from any
-web browser. Just sign in, upload or update your brand assets, and enter your
-product details in the languages of your markets. </p>
-
-<p>When you publish, Google Play adds your app’s ratings, reviews, links to your
-other products, and more, and makes sure your product details page looks great
-on phones, tablets, or in a web browser.</p>
-
-<p>You can link web users directly to your product details page from outside
-Google Play, such as from your web site, an ad campaign, reviews, social media
-posts, and more. See <a href="{@docRoot}distribute/googleplay/promote/linking.html">Linking
-to Your Products</a> to find out how. </p>
-
-<p>To learn more about how to create your product details page, see
-<a href="{@docRoot}distribute/googleplay/publish/index.html">Publishing on Google Play</a>.</p>
diff --git a/docs/html/distribute/googleplay/developer-console.jd b/docs/html/distribute/googleplay/developer-console.jd
new file mode 100644
index 0000000..6263431
--- /dev/null
+++ b/docs/html/distribute/googleplay/developer-console.jd
@@ -0,0 +1,600 @@
+page.title=Developer Console
+page.metaDescription=Learn about the Developer Console, your home for app publishing on Google Play.
+page.image=/distribute/images/developer-console.jpg
+Xnonavpage=true
+
+@jd:body
+    
+    <div id="qv-wrapper">           
+  <div id="qv">
+    <h2>Publishing Features</h2>
+    <ol>
+      <li><a href="#allapps">All Applications</a></li>
+      <li><a href="#account-details">Your Account Details</a></li>
+      <li><a href="#merchant-account">Linking Your Merchant Account</a></li>
+      <li><a href="#multiple-user-accounts">Multiple User Accounts</a></li>
+      <li><a href="#alpha-beta">Alpha and Beta Testing</a></li>
+      <li><a href="#staged-rollouts">Staged Rollouts</a></li>
+      <li><a href="#multiple-apk">Multiple APK Support</a></li>
+      <li><a href="#selling-pricing-your-products">Selling and Pricing</a></li>
+      <li><a href="#in-app-products">In-App Products</a></li>
+      <li><a href="#distribution-controls">Distribution Controls</a></li>
+      <li><a href="#reviews-reports">User Reviews, Crash Reports</a></li>
+      <li><a href="#app-stats">App Stats</a></li>
+      <li><a href="#related-resources">Related Resources</a></li>
+    </ol>
+  </div>
+</div>
+
+<p>
+  The <a href="https://play.google.com/apps/publish/">Google Play Developer
+  Console</a> is your home for publishing operations and tools.
+</p>
+<!-- <img src="{@docRoot}images/gp-dc-startscreen.jpg" style="width:480px;" /> -->
+<img src="{@docRoot}images/gp-devconsole-home.png" style="width:480px;">
+<p>
+  Upload apps, build your product pages, configure prices and distribution, and
+  publish. You can manage all phases of publishing on Google Play through the
+  Developer Console, from any web browser.
+</p>
+
+<p>
+  Once you've <a href=
+  "{@docRoot}distribute/googleplay/start.html">registered</a> and received
+  verification by email, you can sign in to your Google Play Developer Console.
+</p>
+
+<div class="headerLine clearfloat">
+  <h1 id="allapps">
+    All Applications
+  </h1>
+
+  <hr>
+</div>
+
+<p>
+  Start in All Applications, which gives you a quick overview of your apps,
+  lets you jump to stats, reviews, and product details, or upload a new app.
+</p>
+
+<div style="padding:1em 0em 0em 0em;">
+  <img src="{@docRoot}images/gp-dc-home.png" class="border-img">
+</div>
+
+<div class="headerLine clearfloat" style="margin-top:-6px">
+  <h1 id="account-details">
+    Your Account Details
+  </h1>
+
+  <hr>
+</div>
+
+<p>
+  Specify basic developer profile information about yourself or your company on
+  the accounts detail page. This identifies you to Google Play and your
+  customers. You can go back at any time to edit the information and change
+  your settings.
+</p>
+
+<div>
+  <img src="{@docRoot}images/gp-dc-profile.png" class="frame">
+</div>
+
+<p>
+  Your developer profile contains:
+</p>
+
+<ul>
+  <li>
+    <p>
+      Developer name &mdash; displayed on your store listing page and elsewhere
+      on Google Play.
+    </p>
+  </li>
+
+  <li>
+    <p>
+      Contact information &mdash; used by Google only, it isn't seen by your
+      customers.
+    </p>
+  </li>
+
+  <li>
+    <p>
+      Web site URL &mdash; displayed on your store listing page.
+    </p>
+  </li>
+</ul>
+
+<p>
+  On the account details page you can also add restricted access for marketers
+  and other teams, register for a merchant account, or set up test accounts for
+  Google Play licensing.
+</p>
+
+<div class="headerLine clearfloat">
+  <h1 id="merchant-account">
+    Linking Your Merchant Account
+  </h1>
+
+  <hr>
+</div>
+
+<p>
+  If you want to sell apps or in-app products, link your Google Wallet Merchant
+  Account to your developer profile. Google Play uses the linked merchant
+  account for financial and tax identification, as well as for monthly payouts
+  from sales.
+</p>
+
+<div class="headerLine clearfloat">
+  <h1 id="multiple-user-accounts">
+    Multiple User Accounts
+  </h1>
+
+  <hr>
+</div>
+
+<p>
+  Set up user accounts for other team members to access different parts of your
+  Developer Console.
+</p>
+
+<div style="width:550px;">
+  <img src="{@docRoot}images/gp-dc-invite.png" class="frame">
+</div>
+
+<p>
+  The first account registered is the <em>account owner</em>, with full access
+  to all parts of the console. The owner can add <em>user accounts</em> and
+  manage console access.
+</p>
+
+<p>
+  For example, an owner can grant users access to publishing and app
+  configuration, but not to financial reports. Learn how to <a href=
+  "https://support.google.com/googleplay/android-developer/answer/2528691">set
+  up multiple accounts</a> now.
+</p>
+
+<div class="headerLine clearfloat">
+  <h1 id="store-listing-details">
+    Store Listing Details
+  </h1>
+
+  <hr>
+</div>
+
+<p>
+  Use the Developer Console to set up a <em>Store Listing page</em>. This is
+  the home for your app in Google Play. It's the page users see on their mobile
+  phones or on the web to learn about your app and download it.
+</p>
+
+<p>
+  Upload custom brand assets, screenshots, and videos to highlight what's great
+  about your app. Provide a localized description, add notes about the latest
+  version, and more. You can update your store listing at any time.
+</p>
+
+<div>
+  <img src="{@docRoot}images/gp-dc-details.png" class="frame">
+</div>
+
+<div class="headerLine clearfloat">
+  <h1 id="upload-instantly-publish">
+    Upload and Instantly Publish
+  </h1>
+
+  <hr>
+</div>
+
+<p>
+  From the Developer Console you can quickly upload and publish a release-ready
+  Android application package file. The app is a <em>draft</em> until you
+  publish it, at which time Google Play makes your store listing page and app
+  available to users&mdash;your app appears in the store listings within hours,
+  not weeks.
+</p>
+
+<p>
+  Once your app is published, you can update it as often as you want: Change
+  prices, configuration, and distribution options at any time, without needing
+  to update your app binary.
+</p>
+
+<p>
+  As you add features or address code issues, you can publish an updated binary
+  at any time. The new version is available almost immediately and existing
+  customers are notified that an update is ready for download. Users can also
+  accept automatic updates to your app, so that your updates are delivered and
+  installed as soon as you publish them. You can unpublish your apps app at any
+  time.
+</p>
+
+<div class="headerLine clearfloat">
+  <h1 id="alpha-beta">
+    Alpha and Beta Testing
+  </h1>
+
+  <hr>
+</div>
+
+<p>
+  It's always valuable to get real-world feedback from users, especially before
+  launch. Google Play makes it easy to distribute pre-release versions of your
+  app to alpha and beta test groups anywhere in the world.
+</p>
+
+<p>
+  In the <strong>APK</strong> section of your Google Play Developer Console
+  you’ll find the <strong>Alpha Testing</strong> and <strong>Beta
+  Testing</strong> tabs. Here you can upload versions of your apps’ APK files
+  and define a list of testers as a <a href=
+  "https://support.google.com/groups/answer/46601">Google Group</a> or <a href=
+  "https://support.google.com/plus/topic/2888488">Google+ Community</a>. Once
+  this is done you’ll receive a URL that you forward to your testers, from
+  which they can opt-in to the testing program.
+</p>
+
+<div>
+  <img src="{@docRoot}images/gp-dc-ab.png" class="frame">
+</div>
+
+<p>
+  After opting-in, your testers then go to your app’s product page and when
+  they download the app Google Play will deliver them the alpha or beta version
+  as appropriate. Incidentally, if a user happens to be opted-in to both your
+  testing groups, Google Play will always deliver them the alpha test version.
+</p>
+
+<p>
+  Note that users cannot provide feedback and reviews on alpha and beta
+  versions of your apps. To gather feedback you could used the <a href=
+  "https://support.google.com/groups/answer/46601">Google Group</a> or <a href=
+  "https://support.google.com/plus/topic/2888488">Google+ Community</a>, or
+  setup an email address or your own website.
+</p>
+
+<p>
+  You can use these testing programs to <a href=
+  "{@docRoot}distribute/essentials/optimizing-your-app.html">optimize your
+  apps</a>, help with <a href=
+  "{@docRoot}distribute/users/expand-to-new-markets.html">rollout to new
+  markets</a>, and start <a href=
+  "{@docRoot}distribute/users/build-community.html">building your
+  community</a>. There is also more information on using beta test in the
+  <a href="{@docRoot}distribute/tools/launch-checklist.html">Launch
+  Checklist</a> and <a href=
+  "{@docRoot}distribute/tools/localization-checklist.html">Localization
+  Checklist</a>.
+</p>
+
+<div class="headerLine clearfloat">
+  <h1 id="staged-rollouts">
+    Staged Rollouts
+  </h1>
+
+  <hr>
+</div>
+
+<p>
+  You can also stage the rollout of your apps using the Production tab in the
+  APK section of your Google Play Developer Console. Here you can define the
+  percentage of user who’ll be able to download your app.
+</p>
+
+<p>
+  Staging your rollout will help limit the impact of unexpected bugs or server
+  load and enable you to gauge user feedback with an unbiased sample of users.
+  Users can rate and review your apps during staged roll outs, so if you’re
+  hesitant, start your rollout to a small percentage of users. Be sure to watch
+  for and respond to any negative reviews.
+</p>
+
+<p>
+  Note that rollbacks aren’t supported due to the <a href=
+  "{@docRoot}tools/publishing/versioning.html">app versioning requirements</a>
+  of the Android platform. If you need to rollback, consider launching a
+  previous APK with a new version number. However, this practice should be used
+  only as a last resort, as users will lose access to new features and your old
+  app may not be forward-compatible with your server changes or data formats,
+  so be sure to run <a href="#alpha-beta">alpha and beta tests</a> of your
+  updates.
+</p>
+
+<div class="headerLine clearfloat">
+  <h1 id="multiple-apk">
+    Multiple APK Support
+  </h1>
+
+  <hr>
+</div>
+
+<p>
+  In most cases, a single app package (APK) is all you need, and it’s usually
+  the easiest way to manage and maintain the app. However, if you need to
+  deliver a different APK to different devices, Google Play provides a way to
+  do that.
+</p>
+
+<p>
+  <em>Multiple APK support</em> lets you create multiple app packages that use
+  the same package name but differ in their OpenGL texture compression formats,
+  screen-size support, or Android platform versions supported. You can simply
+  upload all the APKs under a single product listing and Google Play selects
+  the best ones to deliver to users, based on the characteristics of their
+  devices.
+</p>
+
+<p>
+  You can also upload up to two secondary downloads for each published APK,
+  including multiple APKs, using the <em>APK Expansion Files</em> option. Each
+  expansion file can be up to 2GB and contain any type of code or assets.
+  Google Play hosts them for free and handles the download of the files as part
+  of the normal app installation.
+</p>
+
+<div class="headerLine clearfloat">
+  <h1 id="selling-pricing-your-products">
+    Selling and Pricing Your Products
+  </h1>
+
+  <hr>
+</div>
+
+<div class="figure-right">
+  <img src="{@docRoot}images/gp-buyer-currency.png" class="frame">
+</div>
+
+<p>
+  You have tools to set prices for your apps and in-app products. Your app can
+  be free to download or priced, requiring payment before download.
+</p>
+
+<ul>
+  <li>If you publish your app as free, it must <strong>remain free for the life
+  of the app</strong>. Free apps can be downloaded by all users in Google Play.
+  </li>
+
+  <li>If you publish it as priced, you can later change it to free. Priced apps
+  can be purchased and downloaded only by users who have registered a form of
+  payment in Google Play.
+  </li>
+</ul>
+
+<div class="sidebox-wrapper" style="float:right;">
+  <div class="sidebox">
+    <p>
+      See <a href=
+      "http://support.google.com/googleplay/android-developer/bin/answer.py?hl=en&amp;answer=138294&amp;topic=2365624&amp;ctx=topic">
+      Supported locations for distributing applications</a> for a list of
+      countries where you can distribute or sell your apps.
+    </p>
+  </div>
+</div>
+
+<p>
+  You can also offer in-app products and subscriptions, whether the app is free
+  or priced. Set prices separately for priced apps, in-app products, and
+  subscriptions.
+</p>
+
+<p>
+  When users browse your app product pages or initiate a purchase, Google Play
+  shows them the price they’ll be charged in their local currency.
+</p>
+
+<p>
+  For each product, you initially set a default price in your own currency. If
+  you do no more, Google Play will automatically set local prices once a month
+  based on the US-Dollar price for your app.
+</p>
+
+<p>
+  However, Google Play gives you complete control over how you price your
+  products in each country. To start you can manually set fixed local prices
+  from the default price, using the <strong>auto-convert prices now</strong>
+  feature. You can then review these prices and set new ones for any countries
+  you wish &mdash; the price for each country is independent, so you can adjust
+  one price without affecting others. For most countries, the price you set is
+  the final price charged to users, including taxes.
+</p>
+
+<p>
+  For more on pricing your apps, see <a href=
+  "{@docRoot}distribute/users/expand-to-new-markets.html#localize-your-google-play-listing">
+  Expand into New Markets</a>.
+</p>
+
+<div class="headerLine clearfloat">
+  <h1 id="in-app-products">
+    In-app Products
+  </h1>
+
+  <hr>
+</div>
+
+<p>
+  You can sell in-app products and subscriptions using <a href=
+  "{@docRoot}google/play/billing/index.html">Google Play In-app Billing</a> as
+  a way to monetize your apps. In-app products are one-time purchases, while
+  subscriptions are recurring charges on a monthly or annual basis.
+</p>
+
+<p>
+  In the <strong>In-app Products</strong> section for a specific published or
+  draft APK you:
+</p>
+
+<ul>
+  <li>Create product lists for in-app products and subscriptions.
+  </li>
+
+  <li>Set prices.
+  </li>
+
+  <li>Publish the products with the app or withdraw obsolete products.
+  </li>
+</ul>
+
+<p>
+  For details on how to implement In-app Billing, see the <a href=
+  "{@docRoot}google/play/billing/index.html">In-app Billing</a> developer
+  documentation. You make use of in-app products in the <a href=
+  "{@docRoot}distribute/monetize/premium.html">Premium</a>, <a href=
+  "{@docRoot}distribute/monetize/freemium.html">Freemium</a>, and <a href=
+  "{@docRoot}distribute/monetize/subscriptions.html">Subscription</a>
+  monetization models
+</p>
+
+<div class="headerLine clearfloat">
+  <h1 id="distribution-controls">
+    Distribution Controls
+  </h1>
+
+  <hr>
+</div>
+
+<p>
+  Manage which countries and territories your apps will distribute to. For some
+  countries, you can choose which carriers you want to target. You can also see
+  the list of devices your app is available for, based on any distribution
+  rules declared in its manifest file.
+</p>
+
+<h3 id="geotargeting">
+  Geographic targeting
+</h3>
+
+<p>
+  You can use controls in the Google Play Developer Console to easily manage
+  the geographic distribution of your apps, without any changes in your
+  application binary. You can specify which countries and territories you want
+  to distribute to, and even which carriers (for some countries).
+</p>
+
+<p>
+  When users visit the store, Google Play makes sure that they are in one of
+  your targeted countries before downloading your app. You can change your
+  country and carrier targeting at any time just by saving changes in the
+  Google Play Developer Console.
+</p>
+
+<div class="figure-right" style="width:500px;">
+  <img src="{@docRoot}images/gp-supported-dev-requirements.png" class="frame">
+</div>
+
+<p>
+  To help you market to users around the world, you can <a href=
+  "{@docRoot}distribute/tools/launch-checklist.html#start-localization">localize
+  your store listing</a>, including app details and description, promotional
+  graphics, screenshots, and more.
+</p>
+
+<h3 id="captargeting">
+  Capabilities targeting
+</h3>
+
+<p>
+  Google Play also lets you control distribution according to device features
+  or capabilities that your app depends on. There are several types of
+  dependencies that the app can define in its manifest, such as hardware
+  features, OpenGL texture compression formats, libraries, Android platform
+  versions, and others.
+</p>
+
+<p>
+  When you upload your app, Google Play reads the dependencies and sets up any
+  necessary distribution rules. For technical information about declaring
+  dependencies, read <a href="{@docRoot}google/play/filters.html">Filters on
+  Google Play</a>.
+</p>
+
+<p>
+  For pinpoint control over distribution, Google Play lets you see all of the
+  devices your app is available to based on its dependencies (if any). From the
+  Google Play Developer Console, you can list the supported devices and even
+  exclude specific devices if needed.
+</p>
+
+<div class="headerLine clearfloat">
+  <h1 id="reviews-reports">
+    User Reviews and Crash Reports
+  </h1>
+
+  <hr>
+</div>
+
+<div class="figure-right" style="width:500px;">
+  <img src="{@docRoot}images/gp-dc-reviews.png" class="frame">
+  <p class="img-caption">
+    The User reviews section gives you access to user reviews for a specific
+    app. You can filter reviews in a number of ways to locate issues more
+    easily and support your customers more effectively.
+  </p>
+</div>
+
+<p>
+  Google Play makes it easy for users to submit reviews of your app for the
+  benefit of other users. The reviews give you usability feedback, support
+  requests, and details of important functionality issues direct from your
+  customers.
+</p>
+
+<p>
+  Use crash reports for debugging and improving your app. You can see crash
+  reports with stack trace and other data, submitted automatically from Android
+  devices.
+</p>
+
+<div class="headerLine clearfloat">
+  <h1 id="app-stats">
+    App Statistics
+  </h1>
+
+  <hr>
+</div>
+
+<div class="figure" style="width:500px">
+  <img src="{@docRoot}images/gp-dc-stats.png">
+  <p class="img-caption">
+    <b>App statistics page</b>: Shows you a variety of statistics about a
+    specific app's installation performance.
+  </p>
+</div>
+
+<p>
+  You get detailed statistics on the install performance of your app.
+</p>
+
+<p>
+  See installation metrics measured by unique users as well as by unique
+  devices. View active installs, total installs, upgrades, daily installs and
+  uninstalls, and metrics about ratings.
+</p>
+
+<p>
+  Zoom into the installation numbers by metric, including Android platform
+  version, device, country, language, app version, and carrier. View the
+  installation data for each dimension on timeline charts.
+</p>
+
+<p>
+  These charts highlight your app’s installation peaks and longer-term trends.
+  They help you learn your user’s adoption behavior, correlate statistics to
+  promotions, see the effect of app improvements, and other factors. Focus in
+  on data inside a dimension by adding specific points to the timeline.
+</p>
+
+<div class="dynamic-grid">
+<div class="headerLine clearfloat">
+<h1 id="related-resources">Related Resources</h1><hr/>
+</div>
+
+<div class="resource-widget resource-flow-layout col-13"
+  data-query="collection:distribute/googleplay/developerconsole"
+  data-sortOrder="-timestamp"
+  data-cardSizes="9x3"
+  data-maxResults="6"></div>
+  </div>
\ No newline at end of file
diff --git a/docs/html/distribute/googleplay/edu/about.jd b/docs/html/distribute/googleplay/edu/about.jd
index 20a0d4d..3944909 100644
--- a/docs/html/distribute/googleplay/edu/about.jd
+++ b/docs/html/distribute/googleplay/edu/about.jd
@@ -1,103 +1,131 @@
-page.title=About Google Play for Education
-page.metaDescription=How Google Play for Education helps you reach a new audience of educators.
-excludeFromSuggestions=true
+page.title=Google Play for Education
+page.image=/distribute/images/about-play-education.jpg
+page.metaDescription=Distribute your educational app directly to educators and schools.
+meta.tags="gpfe, googleplay, distribution, edu"
+page.tags="education"
+Xnonavpage=true
+
 @jd:body
 
-    <div style="position:absolute;margin-left: 636px;
-            margin-top:-76px;color:#777;">If you're interested<br>
-            <a href="{@docRoot}distribute/googleplay/edu/contact.html"
-            class="go-link"
-            style="display: block;text-align: right;">SIGN UP</a></div>
+<p>
+  Google Play for Education is an extension of Google Play designed for
+  schools. Here educators can discover apps approved by teachers for teachers,
+  as well as educational videos and a collection of classic books for their
+  classroom.
+</p>
 
-    <div style="float:right;margin:0px 0px 24px 44px;">
-  <img src="{@docRoot}images/gp-edu-apps-n7.jpg" style="width:420px" alt="" />
-</div>
+<p>
+  Teachers can search for approved apps by grade, subject and standard,
+  including Common Core State Standards. They can bulk purchase and pay using a
+  purchase order, then instant distribution let educators bring your apps
+  directly to classrooms and schools.
+</p>
 
-<p>Introducing Google Play for Education, the online destination where schools
-can find the right tablet content and tools for their students and teachers.</p>
 
-<p>With easy bulk ordering for groups, schools can purchase and
-instantly distribute your apps, and videos right to their students’
-devices.</p>
+<div class="resource-widget resource-flow-layout col-13"
+  data-query="collection:distribute/googleplay/gpfe/highlight"
+  data-sortOrder="-timestamp"
+  data-cardSizes="18x6,"
+  data-maxResults="1"></div>
 
-<p>Google Play for Education can help your innovative educational apps
-gain visibility with the right audiences, without having to knock on school doors. </p>
 
-<p><a class="landing-page-link" style="text-align:right;" href="#video">Watch a Video</a></p>
+<!-- <div class="center-img"><img src="{@docRoot}images/gp-edu-hero14.jpg" class="" /></div> -->
 
-<div class="landing-docs">
-  <div class="col-6 normal-links">
-    <h3 style="clear:left">For Developers</h3>
+<p>
+  If you have an educational app, include it in Google Play for Education.
+  Google Play for Education can help your innovative educational apps gain
+  visibility with the right audiences, without having to knock on school doors.
+</p>
 
-<h4>Get discovered</h4>
+<div style="margin:30px 0 20px 0;" class="clearfloat dynamic-grid">
+  <div style="width:48%; margin-right:2%; float:left;">
+    <div class="centered-full-image">
+      <img src="{@docRoot}images/gpfe-developer.png">
+    </div>
 
-<p>With Google Play for Education, teachers and administrators can
-browse content by curriculum, grade, and standard &mdash; discovering the right
-content for their students. If your app offers an exciting new
-way to learn sixth grade algebra, math educators will be able to find,
-purchase, and distribute your app to their classes in a few clicks.</p>
-
-<h4>Reach more schools and students</h4>
-
-<p>Over 30 million students, faculty, and staff are already using
-Google Apps for Education and other Google services. Many of these schools are
-excited to take advantage of tablets with Google Play for Education and they
-look to bringing your apps into their classrooms,
-especially apps using Google sign-on.</p>
-
-<h4>Monetize effectively</h4>
-<p>With Google Play for Education, educators are able to make high-volume purchases
-using standard institutional payment mechanisms and distribute them to the students
-they want &mdash; whether it is a class of 20 or a district of 20,000.</p>
-<code></code>
+    <h3>
+      FOR DEVELOPERS
+    </h3>
+    <b>Get discovered</b>
+    <p>
+      With Google Play for Education, teachers and administrators can browse
+      content by curriculum, grade, and standard &mdash; discovering the right
+      content for their students. If your app offers an exciting new way to
+      learn sixth grade algebra, math educators will be able to find, purchase,
+      and distribute your app to their classes in a few clicks.
+    </p>
+    <b>Reach more schools and students</b>
+    <p>
+      Millions of students, faculty, and staff are using Google Apps for
+      Education and other Google services. Many of these schools are excited to
+      take advantage of tablets with Google Play for Education and they are
+      looking to bring your apps into their classrooms, especially apps using
+      Google sign-on.
+    </p>
+    <b>Monetize effectively</b>
+    <p>
+      With Google Play for Education, educators are able to make high-volume
+      purchases using standard institutional payment mechanisms and then
+      distribute apps to the students who need them — whether it’s a class of
+      20 or a district of 20,000.
+    </p>
   </div>
 
-  <div class="col-6 normal-links">
-    <h3 style="clear:left">For Educators</h3>
-    <h4>Android tablets in the classroom</h4>
-    <p>Google Play for Education brings the innovation of Android technology
-into classrooms. School districts can set up and deploy large numbers of devices in
-just minutes or hours rather than days.</p>
+  <div style="width:48%; margin-left:2%; float:left;">
+    <div class="centered-full-image">
+      <img src="{@docRoot}images/gpfe-educator.png">
+    </div>
 
-    <h4>Curriculum-based discovery</h4>
-    <p>Powerful browsing tools let educators quickly discover apps,
-videos, and other content&mdash;with many recommended by teachers and
-categorized according to familiar Core Curriculum standards.  
-
-    <h4>Bulk purchase with institutional payment</h4>
-    <p>Convenient purchasing and delivery tools let educators buy apps in bulk
-using purchase orders and other payment methods that are easy for schools to
-manage.</p>
-
-    <h4>Over-the-air delivery to student devices</h4>
-
-      <p>After finding apps they want to use, educators can push them instantly
-to student devices over the air. They can send the apps to individuals or groups
-of any size, across classrooms, schools, or even districts. </p>
-
+    <h3>
+      FOR EDUCATORS
+    </h3>
+    <b>Android tablets in the classroom</b>
+    <p>
+      Google Play for Education brings the innovation of Android technology
+      into classrooms. School districts can set up and deploy large numbers of
+      devices in just minutes or hours, rather than days.
+    </p>
+    <b>Curriculum-based discovery</b>
+    <p>
+      Powerful browsing tools let educators quickly discover apps, videos, and
+      other content—with many recommended by teachers and categorized according
+      to familiar Core Curriculum standards.
+    </p>
+    <b>Bulk purchase with institutional payment</b>
+    <p>
+      Convenient purchasing and delivery tools let educators buy apps in bulk,
+      using purchase orders and other payment methods that are easy for schools
+      to manage.
+    </p>
+    <b>Over-the-air delivery to student devices</b>
+    <p>
+      After finding apps they want, educators can push them instantly to
+      student devices over the air. They can send the apps to individuals or
+      groups of any size, across classrooms, schools, or even districts.
+    </p>
   </div>
-
-
 </div>
-<div id="video" style="background: #F0F0F0;
-            border-top: 1px solid #DDD;
-            padding: 0px 0 24px 0;
-            overflow: auto;
-            clear:both;
-            margin-bottom:40px;
-            margin-top:30px;">
-   <div style="padding:0 0 0 29px;">
-        <h4>Introducing Google Play for Education</h4>
 
-          <div style="width:700px;">
-          <p style="margin-top:26px;
-                    margin-bottom:12px;">
-          Hear how Google Play for Education works and how developers can leverage the unique business opportunities in creating educational apps for the K-12 market. There's a demo at 4m10s.</p>
-           </div>
-           <iframe style="float:left;
-             margin-right:24px;
-             margin-top:14px;" width="700" height="394" src=
-             "http://www.youtube.com/embed/haEmsMo0f3w?HD=1;rel=0;origin=developer.android.com;" frameborder="0" allowfullscreen>
-           </iframe>
-   </div> 
+<div class="headerLine clearfloat">
+<h1>Related Resources</h1><hr>
 </div>
+
+<div class="dynamic-grid">
+
+<h3>For Developers</h3>
+
+<div class="resource-widget resource-flow-layout col-13"
+    data-query="collection:distribute/googleplay/gpfe/dev/about"
+    data-sortOrder="-timestamp"
+    data-cardSizes="9x3"
+    data-maxResults="6"></div>
+
+<h3>For Teachers and Educators</h3>
+
+<div class="resource-widget resource-flow-layout col-13"
+    data-query="collection:distribute/googleplay/aboutgpfe/educators/about"
+    data-sortOrder="-timestamp"
+    data-cardSizes="9x3"
+    data-maxResults="3"></div>
+
+</div>
\ No newline at end of file
diff --git a/docs/html/distribute/googleplay/edu/contact.jd b/docs/html/distribute/googleplay/edu/contact.jd
index ca83438..042a92b 100644
--- a/docs/html/distribute/googleplay/edu/contact.jd
+++ b/docs/html/distribute/googleplay/edu/contact.jd
@@ -7,32 +7,29 @@
 bring your first-class educational content into schools across the United
 States, and to a broader international audience in the future. </p>
 
-<div class="vspace size-1">
-  &nbsp;
-</div>
 
-<div class="layout-content-row">
-  <div class="layout-content-col span-6">
-    <h4>
-      For Developers
-    </h4>
-    <p>
+<div style="margin:0 0 20px 0;" class="clearfloat dynamic-grid">
+  <div style="width:48%; margin-right:2%; float:left;">
+
+    <h3>
+      FOR DEVELOPERS
+    </h3>
+ <p>
 Whether you have an existing educational app or are developing a fresh idea that
 will unlock learning in the classroom &mdash; sign up to receive information about
-the upcoming launch of Google Play for Education. To get your apps ready, read our
-<a href="{@docRoot}distribute/googleplay/edu/guidelines.html">guidelines</a> for building
-educational apps.</p>
-    </p><a href="http://developer.android.com/edu/signup">Developer Sign Up »</a>
+Google Play for Education. To get your apps ready, read our
+<a href="{@docRoot}distribute/essentials/gpfe-guidelines.html">guidelines for building
+educational apps</a>.</p>
+    </p><a href="http://developer.android.com/edu/signup">Developer Sign Up »</a>    </p>
   </div>
-  <div class="layout-content-col span-6">
-    <h4>
-      For Educators
-    </h4>
-    <p>
+
+  <div style="width:48%; margin-left:2%; float:left;">
+
+    <h3>
+      FOR EDUCATORS
+    </h3>
+     <p>
 If you're a school or system interested in tablets and Google Play for Education,
 complete the expression of interest form at <a href="http://www.google.com/edu/android">www.google.com/edu/android</a>.
-  </p><a href="http://www.google.com/edu/android">School Interest Form »</a>
-  </div>
-</div>
-
-
+  </p><a href="http://www.google.com/edu/android">School Interest Form »</a>  </div>
+</div>
\ No newline at end of file
diff --git a/docs/html/distribute/googleplay/edu/faq.jd b/docs/html/distribute/googleplay/edu/faq.jd
index 0c3b185..0866da5 100644
--- a/docs/html/distribute/googleplay/edu/faq.jd
+++ b/docs/html/distribute/googleplay/edu/faq.jd
@@ -1,372 +1,433 @@
-page.title=Google Play for Education FAQ
-page.metaDescription=Questions and answers about Google Play for Education.
-excludeFromSuggestions=true
+page.title=Education FAQ
+meta.tags="gpfe, edu"
+page.metaDescription=Answers to frequent questions about Google Play for Education.
+page.image=/distribute/images/gpfe-faq.jpg
+
 @jd:body
 
-     <div style="position:absolute;margin-left: 636px;
-            margin-top:-76px;color:#777;">If you're interested<br>
-            <a href="{@docRoot}distribute/googleplay/edu/contact.html"
-            class="go-link"
-            style="display: block;text-align: right;">SIGN UP</a></div>
-    
- 
-    <style>
-  dt {
-    font-weight:bold;
-  }
-  </style>
-  
 <div id="qv-wrapper">
-<ol id="qv">
-<h2>In this document</h2>
-<ol>
-  <li><a href="#business">Business Model</a></li>
-  <li><a href="#free_trials">Free Trials</a></li>
-  <li><a href="#discovery">Discovery</a></li>
-  <li><a href="#reviews">App Review Process</a></li>
-  <li><a href="#features">App Features</a></li>
-  <li><a href="#marketing">Marketing and ROI</a></li>
-  <li><a href="#devices">Devices</a></li>
-  <li><a href="#accounts">Accounts</a></li>
-</ol>
+  <div id="qv">
+  <h2>
+    Topics
+  </h2>
+
+  <ol>
+    <li>
+    <a href="#business-model-and-monetization">Business Model and
+    Monetization</a>
+    </li>
+
+    <li>
+    <a href="#free-trials">Free Trials</a>
+    </li>
+
+    <li>
+    <a href="#discovery">Discovery</a>
+    </li>
+
+    <li>
+    <a href="#app-review-process">App Review Process</a>
+    </li>
+
+    <li>
+    <a href="#app-features">App Features</a>
+    </li>
+
+    <li>
+    <a href="#marketing-and-roi">Marketing and ROI</a>
+    </li>
+
+    <li>
+    <a href="#devices">Devices</a>
+    </li>
+
+    <li>
+    <a href="#accounts">Accounts</a>
+    </li>
+
+    <li>
+    <a href="#related-resources">Related Resources</a>
+    </li>
+  </ol>
+  </div>
 </div>
 
 <p>
-  The sections below provide more information about Google Play for Education
-  and answer common questions that you might have about it.
+  This page provides answers to common questions that you might have about
+  Google Play for Education.
 </p>
 
+<div class="headerLine">
+  <h1 id="business-model-and-monetization">
+  Business Model and Monetization
+  </h1>
 
-<h2 id="business">Business Model and Monetization</h2>
+  <hr>
+</div>
 
-<dl>
-  <dt>
-    What is Google Play for Education?
-  </dt>
+<p>
+  <strong>What is Google Play for Education?</strong>
+</p>
 
-  <dd>
-    Google Play for Education is a new online destination designed for schools.
-    Teachers can discover educational apps, books, and videos to meet the needs
-    of a single student, a classroom, or a whole district. Educators can browse
-    apps by grade, subject, keyword, or standard including common core.
-    Purchasing is done via PO with no credit card required. Apps are
-    distributed to tablets instantly via the cloud.
-  </dd>
+<p>
+  Google Play for Education is a new online destination designed for schools.
+  Teachers can discover educational apps, books, and videos to meet the needs
+  of a single student, a classroom, or a whole district. Educators can browse
+  apps by grade, subject, keyword, or standard including Common Core State
+  Standards. Purchasing is done using a PO with no credit card required. Apps
+  are distributed to tablets instantly through the cloud.
+</p>
 
-  <dt>
-    Is Google Play for Education primarily for students or educators?
-  </dt>
+<p>
+  <strong>Is Google Play for Education primarily for students or
+  educators?</strong>
+</p>
 
-  <dd>
-    The store on Google Play for Education is for educators, but its content is
-    for both educators and students. Teachers and administrators have the
-    ability to make purchases and control who within their school has access to
-    the purchase flows.
-  </dd>
+<p>
+  The store on Google Play for Education is for educators, but its content is
+  for both educators and students. Teachers and administrators have the ability
+  to make purchases and control who within their school has access to the
+  purchase flows.
+</p>
 
-  <dt>
-    Will Google Play for Education support subscription purchases?
-  </dt>
+<div class="figure">
+  <img src="{@docRoot}distribute/images/gpfe-faq.jpg" style=
+  "width:480px;margin:1em 0em 1.5em 1.5em;">
+</div>
 
-  <dd>
-    Currently, Google Play for Education supports one-time purchases. We are
-    investigating additional purchase mechanisms to enable more flexible
-    pricing models for developers and schools.
-  </dd>
+<p>
+  <strong>Will Google Play for Education support subscription
+  purchases?</strong>
+</p>
 
-  <dt>
-    Why is it recommended to disable in-app purchases?
-  </dt>
+<p>
+  Currently, Google Play for Education supports one-time purchases. We’re
+  investigating additional purchase mechanisms to enable more flexible pricing
+  models for developers and schools.
+</p>
 
-  <dd>
-    In-app purchase is currently not supported with Google Play for Education,
-    and a student device will block the Play transaction if a student attempts
-    to make an in-app purchase. To avoid student confusion in the classroom,
-    also recommend not including any in-app purchase buttons and other UI in
-    your application. We are investigating additional purchase mechanisms to
-    enable more flexible pricing models for developers and schools.
-  </dd>
+<p>
+  <strong>Why is it recommended that in-app purchase features are
+  removed?</strong>
+</p>
 
-  <dt>
-    Is Google Play for Education restricted so only its users can purchase from
-    the Google Play for Education? Or will anyone be able to purchase from it?
-  </dt>
+<p>
+  In-app Billing is currently not supported with Google Play for Education, and
+  a student device will block the Google Play transaction if a student attempts
+  to make an in-app purchase. To avoid confusing students, we recommend not
+  including any in-app purchase buttons and other UI in your apps. We’re
+  investigating additional purchase mechanisms to enable more flexible pricing
+  models for developers and schools.
+</p>
 
-  <dd>
-    Currently, only schools that are signed up for Google Play for Education
-    can make purchases on it.
-  </dd>
+<p>
+  <strong>Is Google Play for Education restricted so only its users can
+  purchase from the Google Play for Education? Or will anyone be able to
+  purchase from it?</strong>
+</p>
 
-  <dt>
-    Is there a way to differentiate an app's pricing between Google Play for
-    Education and Google Play?
-  </dt>
+<p>
+  Currently, only schools that are signed up for Google Play for Education can
+  make purchases on it.
+</p>
 
-  <dd>
-    For each app that you publish, you can set a single price that applies to
-    both Google Play and Google Play for Education &mdash. You can’t set a
-    different price for a given app (based on a single package name) in Google
-    Play for Education.
-  </dd>
-</dl>
+<p>
+  <strong>Can I set different prices for my apps in Google Play for Education
+  and Google Play?</strong>
+</p>
 
+<p>
+  You set a single price for each app that applies to both Google Play and
+  Google Play for Education. You can’t set a different price for a given app
+  (based on a single package name) in Google Play for Education.
+</p>
 
-<h2 id="free_trials">Free Trials</h2>
+<div class="headerLine">
+  <h1 id="free-trials">
+  Free Trials
+  </h1>
 
-<dl>
-  <dt>
-    Can I offer free trials through Google Play for Education?
-  </dt>
+  <hr>
+</div>
 
-  <dd>
-    Google Play for Education doesn't currently support free trials. If you
-    want, you can offer a free version of your app with limited functionality
-    in Google Play for Education, but that app would need to be separate from
-    your paid app and be reviewed separately for educational content.
-  </dd>
+<p>
+  <strong>Can I offer free trials through Google Play for Education?</strong>
+</p>
 
-  <dt>
-    Can I offer a free trial through Google Play's "In-app Subscriptions with
-    Free Trials" feature?
-  </dt>
+<p>
+  Google Play for Education doesn't currently support free trials. If you want,
+  you can offer a free version of your app with limited functionality in Google
+  Play for Education, but that app would need to be separate from your paid app
+  and be reviewed separately for educational content.
+</p>
 
-  <dd>
-    Google Play for Education does not currently support In-app Billing or
-    In-app Subscriptions with free trials.
-  </dd>
-</dl>
+<p>
+  <strong>Can I offer a free trial through Google Play's "In-app Subscriptions
+  with Free Trials" feature?</strong>
+</p>
 
+<p>
+  Google Play for Education doesn’t currently support In-app Billing or In-app
+  Subscriptions with free trials.
+</p>
 
-<h2 id="discovery">Discovery</h2>
+<div class="headerLine">
+  <h1 id="discovery">
+  Discovery
+  </h1>
 
-<dl>
-  <dt>
-    What are the categories in Google Play for Education?
-  </dt>
+  <hr>
+</div>
 
-  <dd>
-    Google Play for Education includes categories for all grade levels from
-    Kindergarten to 12 and the following subjects: English Language Arts, World
-    Languages, Mathematics, Science, Social Science, Elective, OER (Open
-    Education Resources), and Tools.
-  </dd>
+<p>
+  <strong>What are the categories in Google Play for Education?</strong>
+</p>
 
-  <dt>
-    I created an app specifically for Google Play for Education and do not want
-    it to show up in Google Play. Is this possible?
-  </dt>
+<p>
+  Google Play for Education includes categories for all grade levels from
+  Kindergarten to 12 and the following subjects: English Language Arts, World
+  Languages, Mathematics, Science, Social Science, Elective, Open Education
+  Resources (OER), and Tools.
+</p>
 
-  <dd>
-    Currently, it is not possible to publish an app Google Play for Education
-    and make it unavailable on Google Play.
-  </dd>
+<p>
+  <strong>I created an app specifically for Google Play for Education and don’t
+  want it to show up in Google Play. Is this possible?</strong>
+</p>
 
-  <dt>
-    If my app offers content for every level of education, how will it fit the
-    common-core standard filters?
-  </dt>
+<p>
+  Currently, it’s not possible to publish an app on Google Play for Education
+  and make it unavailable on Google Play.
+</p>
 
-  <dd>
-    If your app applies to multiple levels of education, then the app will show
-    up filtered results for in multiple levels.
-  </dd>
-</dl>
+<p>
+  <strong>If my app offers content for every level of education, how will it
+  fit the Common Core State Standard filters?</strong>
+</p>
 
+<p>
+  If your app applies to multiple levels of education, then the app will show
+  up in filtered results for multiple levels.
+</p>
 
-<h2 id="reviews">App Review Process</h2>
+<div class="headerLine">
+  <h1 id="app-review-process">
+  App Review Process
+  </h1>
 
-<dl>
-  <dt>
-    How are apps being reviewed? By whom and with what criteria?
-  </dt>
+  <hr>
+</div>
 
-  <dd>
-    Apps are being reviewed by a third party network of educators. These
-    educators assign the appropriate subject, grade, and common core standards
-    metadata, as well as evaluating whether the app meets the Google Play for
-    Education <a href=
-    "{@docRoot}distribute/googleplay/edu/guidelines.html">criteria for
-    classroom use</a>. You can learn more about the submission process and
-    criteria at <a href=
-    "http://developer.android.com/edu">developer.android.com/edu</a>.
-  </dd>
+<p>
+  <strong>How are apps being reviewed? By whom and against what
+  criteria?</strong>
+</p>
 
-  <dt>
-    How do I update my apps in Google Play for Education?
-  </dt>
+<p>
+  Apps are being reviewed by a third-party network of educators. These
+  educators assign the appropriate subject, grade, and Common Core State
+  Standards metadata, as well as evaluating whether the app meets the Google
+  Play for Education <a href=
+  "{@docRoot}distribute/essentials/gpfe-guidelines.html">criteria for classroom
+  use</a>.
+</p>
 
-  <dd>
-    Developers can update their apps on Google Play for Education in the same
-    manner that they do for Google Play. App updates will not be reviewed prior
-    to being made available through Play for Education. However, we will
-    periodically review updated apps for quality.
-  </dd>
+<p>
+  <strong>How do I update my apps in Google Play for Education?</strong>
+</p>
 
-  <dt>
-    Does the app maturity rating reflect solely what a user can do within my
-    Android app, or does the web version of my app influence the rating as
-    well?
-  </dt>
+<p>
+  You can update your apps on Google Play for Education in the same manner you
+  do on Google Play. App updates will not be reviewed prior to being made
+  available through Google Play for Education. However, we will periodically
+  review updated apps for quality.
+</p>
 
-  <dd>
-    The maturity rating that you set for your Android app refers only to the
-    content displayed in that application.
-  </dd>
-</dl>
+<p>
+  <strong>Does the app maturity rating reflect solely on what a user can do
+  within my Android app, or does the web version of my app influence the rating
+  as well?</strong>
+</p>
 
+<p>
+  The maturity rating that you set for an Android app refers only to the
+  content displayed in that app.
+</p>
 
-<h2 id="features">App Features</h2>
+<div class="headerLine">
+  <h1 id="app-features">
+  App Features
+  </h1>
 
-<dl>
-  <dt>
-    Do I need separate builds of my phone and tablet apps for Google Play for
-    Education, or is it the exact same app that lives on Google Play?
-  </dt>
+  <hr>
+</div>
 
-  <dd>
-    We recommend you create one app and use it in both Google Play and Google
-    Play for Education.
-  </dd>
+<p>
+  <strong>Do I need separate builds of my phone and tablet apps for Google Play
+  for Education, or is it the exact same app that lives on Google
+  Play?</strong>
+</p>
 
-  <dt>
-    What is the best way to get students’ work within apps sent back to their
-    teachers?
-  </dt>
+<p>
+  We recommend you create one app and use it in both Google Play and Google
+  Play for Education.
+</p>
 
-  <dd>
-    Many teachers have mentioned that the way apps treat this now is via an
-    email from a third party, which is not optimal for schools. As many schools
-    use Google Apps for Education, consider integrating your app with Google
-    Drive using the SDK which can be found here: <a class="external-link" href=
-    "https://developers.google.com/drive/about-sdk">developers.google.com/drive/about-sdk</a>.
-  </dd>
+<p>
+  <strong>What is the best way to get students’ work within apps sent back to
+  their teachers?</strong>
+</p>
 
-  <dt>
-    How can developers test the teacher experience in Google Play for
-    Education? Is there a way to get an account to test it?
-  </dt>
+<p>
+  Teachers have mentioned that many apps achieve this by email from a third
+  party, which isn’t optimal for schools. As many schools use Google Apps for
+  Education, consider integrating your apps with Google Drive using the
+  <a href="https://developers.google.com/drive/about-sdk">SDK</a>.
+</p>
 
-  <dd>
-    Currently, we are unable to provide developers with a test account to test
-    the Google Play for Education user experience. We are investigating ways to
-    allow developers to simulate the environment.
-  </dd>
+<p>
+  <strong>How can developers test the teacher experience in Google Play for
+  Education? Is there a way to get an account to test it?</strong>
+</p>
 
-  <dt>
-    If I already have an app in the Chrome Apps Pack will I get some help
-    migrating this to Android?
-  </dt>
+<p>
+  Currently, we are unable to provide developers with a test account to test
+  the Google Play for Education user experience. We’re investigating ways to
+  allow developers to simulate the environment.
+</p>
 
-  <dd>
-    If you’d like to reach tablet users in schools we encourage you
-    to build a native app for the optimal user experience. Considerations for
-    building your app and instructions for registering it can be found at
-    <a href="http://developer.android.com/edu">developer.android.com/edu</a>.
-  </dd>
-</dl>
+<p>
+  <strong>If I already have an app in the Chrome Apps Pack will I get some help
+  migrating this to Android?</strong>
+</p>
 
+<p>
+  If you’d like to reach tablet users in schools we encourage you to build a
+  native app for the optimal user experience. Considerations for building your
+  apps can be found in the <a href=
+  "{@docRoot}distribute/essentials/gpfe-guidelines.html">Google Play for
+  Education Guidelines</a>.
+</p>
 
-<h2 id="marketing">Marketing and ROI</h2>
+<div class="headerLine">
+  <h1 id="marketing-and-roi">
+  Marketing and ROI
+  </h1>
 
-<dl>
-  <dt>
-    What are you doing to promote these apps to educators?
-  </dt>
+  <hr>
+</div>
 
-  <dd>
-    Google Play for Education is an extension of Google Play targeting schools
-    and making discovery easier for educational apps. It helps your apps gain
-    visibility with the right audiences, without having to knock on school
-    doors. We are constantly referring to the highest quality apps in our
-    educator outreach. We have also developed a series of collections to help
-    educators quickly browse apps for the most common use cases.
-  </dd>
+<p>
+  <strong>What are you doing to promote these apps to educators?</strong>
+</p>
 
-  <dt>
-    How many installs have similar apps had on Play? How much can I expect to
-    make if I do an ROI analysis?
-  </dt>
+<p>
+  Google Play for Education is an extension of Google Play targeting schools
+  and making the discovery of educational apps easier. It helps your apps gain
+  visibility with the right audiences, without having to knock on school doors.
+  We’re constantly referring to the highest quality apps in our educator
+  outreach. We’ve also developed a series of collections to help educators
+  quickly browse apps for the most common use cases.
+</p>
 
-  <dd>
-    While we cannot disclose specific numbers, Google Play app listings provide
-    app download ranges for all apps.
-  </dd>
+<p>
+  <strong>How many installs have similar apps had on Google Play for Education?
+  How much can I expect to make if I do an ROI analysis?</strong>
+</p>
 
-  <dt>
-    What is the seasonality like for the education market? What are the key
-    timing considerations for app developers?
-  </dt>
+<p>
+  While we cannot disclose specific numbers, Google Play app listings provide
+  app download ranges for all apps.
+</p>
 
-  <dd>
-    In the United States, school districts’ budget decisions go through a
-    planning phase in the Spring with budgets being released on July 1. We have
-    observed high purchase-volumes in the second quarter of the calendar year,
-    using up end-of-year budgets. New budget purchases begin in the third
-    quarter of the calendar year.
-  </dd>
+<p>
+  <strong>What is the seasonality like for the education market? What are the
+  key timing considerations for app developers?</strong>
+</p>
 
-  <dt>
-    Is there a way to offer a special deal, such as a discount, only on Google
-    Play for Education and not on Google Play?
-  </dt>
+<p>
+  In the United States, school districts’ budget decisions go through a
+  planning phase in the Spring with budgets being released on July 1. We’ve
+  observed high purchase-volumes in the second quarter of the calendar year, to
+  use up end-of-year budgets. New budget purchases begin in the third quarter
+  of the calendar year.
+</p>
 
-  <dd>
-    No, this is not possible. Pricing, including special offers, must be the
-    same between Google Play for Education and Google Play.
-  </dd>
-</dl>
+<p>
+  <strong>Is there a way to offer a special deal, such as a discount, only on
+  Google Play for Education and not on Google Play?</strong>
+</p>
 
+<p>
+  No, this isn’t possible. Pricing, including special offers, must be the same
+  between Google Play for Education and Google Play.
+</p>
 
-<h2 id="devices">Devices</h2>
+<div class="headerLine">
+  <h1 id="devices">
+  Devices
+  </h1>
 
-<dl>
-  <dt>
-    Which devices are available in the program? Will more be available?
-  </dt>
+  <hr>
+</div>
 
-  <dd>
-    Nexus 7 is available for shipment now, and the Asus Transformer and HP
-    Slate 8 Pro will be available in early 2014. We look forward to welcoming
-    more Android devices into the Google in Education family soon.
-  </dd>
+<p>
+  <strong>Which devices are available in the program? Will more be
+  available?</strong>
+</p>
 
-  <dt>
-    Can the devices be shared among many students?
-  </dt>
+<p>
+  Nexus 7 is available for shipment now, and the Asus Transformer, HP Slate 8
+  Pro, and Galaxy Tab for Education will be available in early 2014. We look
+  forward to welcoming more Android devices into the Google in Education family
+  soon.
+</p>
 
-  <dd>
-    No. Currently, this program is for one-to-one usage. Each student can login
-    to one specific tablet that is allocated to them.
-  </dd>
-</dl>
+<p>
+  <strong>Can the devices be shared among many students?</strong>
+</p>
 
+<p>
+  No. Currently, this program is for one-to-one use. Each student can login to
+  one specific tablet that is allocated to them.
+</p>
 
-<h2 id="accounts">
+<div class="headerLine">
+  <h1 id="accounts">
   Accounts
-</h2>
+  </h1>
 
-<dl>
-  <dt>
-    Will an app know whether a user is a teacher or student?
-  </dt>
+  <hr>
+</div>
 
-  <dd>
-    No, the app has no mechanism for knowing if it is running on a teacher’s
-    device or a student’s device. We recommend developers use their own user
-    database to enable this feature, where logins can be based on Google
-    Account information.
-  </dd>
+<p>
+  <strong>Will an app know whether a user is a teacher or student?</strong>
+</p>
 
-  <dt>
-    What log-in method do you recommend for an app on Google Play for
-    Education?
-  </dt>
+<p>
+  No, the app has no mechanism for knowing if it’s running on a teacher’s
+  device or a student’s device. We recommend developers use their own user
+  database to enable this feature, where logins can be based on Google Account
+  information.
+</p>
 
-  <dd>
-    One of the key pieces of feedback we have heard multiple times from various
-    schools is that they prefer apps that offer Google Single Sign-on, so that
-    teachers and students do not need to remember multiple log-in credentials.
-    As schools in the program use Google Accounts and Google Apps for
-    Education, offering Google Single Sign-on is ideal.
-  </dd>
-</dl>
\ No newline at end of file
+<p>
+  <strong>What log-in method do you recommend for an app on Google Play for
+  Education?</strong>
+</p>
+
+<p>
+  One of the key pieces of feedback we’ve heard multiple times from various
+  schools is that they prefer apps that offer Google Single Sign-on, so that
+  teachers and students don’t need to remember multiple log-in credentials. As
+  schools in the program use Google Accounts and Google Apps for Education,
+  offering Google Single Sign-on is ideal.
+</p>
+<div class="headerLine"><h1 id="related-resources">Related Resources</h1><hr></div>
+
+<div class="resource-widget resource-flow-layout col-13"
+  data-query="collection:distribute/toolsreference/gpfefaq"
+  data-sortOrder="-timestamp"
+  data-cardSizes="6x3,6x3,6x3,9x3,9x3,9x3"
+  data-maxResults="6"></div>
+
diff --git a/docs/html/distribute/googleplay/edu/guidelines.jd b/docs/html/distribute/googleplay/edu/guidelines.jd
deleted file mode 100644
index 8427044..0000000
--- a/docs/html/distribute/googleplay/edu/guidelines.jd
+++ /dev/null
@@ -1,244 +0,0 @@
-page.title=Guidelines for Apps
-page.metaDescription=Get your apps ready for Google Play for Education.
-excludeFromSuggestions=true
-@jd:body
-
-   <div style="position:absolute;margin-left: 636px;
-            margin-top:-76px;color:#777;">If you're interested<br>
-            <a href="{@docRoot}distribute/googleplay/edu/contact.html"
-            class="go-link"
-            style="display: block;text-align: right;">SIGN UP</a></div>
-
-<div style="background-color:#fffdeb;width:100%;margin-bottom:1em;padding:.5em;">You
-can now include your educational apps in the recently launched Google Play for Education program,
-getting it into the hands of participating schools and key influencers in the education technology
-community. See <a href="start.html">Get Started</a> to
-learn how to participate. </div>
-
-<p>The sections below list the guidelines and requirements for apps
-participating in Google Play for Education.
-
-<p>Before you include your app in Google Play for Education, set up a <a
-href="#test-environment">test environment</a> and make sure your app meets all
-of the safety, usability, and quality guidelines given here. You can use the
-linked resources to help
-you develop a great app for students that offers compelling content and an
-intuitive user experience on Android tablets.</p>
-
-<p>In addition, ensure that your app complies with the terms of a <a
-href="https://play.google.com/about/developer-distribution-agreement-addendum.html"
-target="_policies">Google Play for Education Addendum</a>, as well as
-the standard  <a
-href="http://play.google.com/about/developer-content-policy.html"
-target="_policies">Google Play Developer Program Policies</a> and <a
-href="http://play.google.com/about/developer-distribution-agreement.html"
-target="_policies">Developer Distribution Agreement</a>.</p>
-
-
-<h2 id="requirements">Safety First</h2>
-
-<p>To participate, your apps must be designed to be appropriate for
-the K-12 market. The basic requirements that your apps must meet are:</p>
-
-<ol>
-  <li>Apps and the ads they contain must not collect personally identifiable
-information other than user credentials or data required to operate and improve
-the app.</li>
-  <li>Apps must not use student data for purposes unrelated to its educational
-function.</li>
-  <li>Apps must have a content rating of "Everyone" or "Low Maturity" (apps with
-a "Medium Maturity" rating are allowed, if they have that rating solely because
-they allow communication between students).</li>
-  <li>App content, including ads displayed by the app, must be consistent with
-the app's maturity rating. The app must not display any “offensive” content, as
-described in the <a
-href="http://play.google.com/about/developer-content-policy.html">Google Play
-Developer Program Policies</a> and <a
-href="https://support.google.com/googleplay/android-developer/answer/188189">
-content-rating guidelines</a>.</p></li>
-<li>Apps must comply with the Children’s Online Privacy Protection Act
-and all other applicable laws and regulations.</li>
-</ol>
-
-
-<h2 id="inapp">Monetizing and Ads</h2>
-
-<p>Google Play for Education provides a simple and secure environment for students
-and teachers. To support that environment, priced or free apps that do not use in-app
-purchases are preferred, as are apps that do not display ads. Apps that use in-app
-payments or ads are acceptable, but you must declare those behaviors when opting-in
-to Google Play for Education. Your app's use of in-app purchases or ads will be
-disclosed to educators when they are browsing for content.</p>
-
-<p>Follow the guidelines below to help your app receive the
-  highest ratings and offer the best possible user-experience.</p>
-
-<p>If your app is priced or sells in-app products, you must:</p>
-
-<ul>
-  <li>Sell all content and services through Google Play for Education</li>
-  <li>Allow Google Play to offer teachers limited free trials before purchase
-(through business terms only, no development work is needed)</li>
-<li>Disable in-app purchases if possible, or ensure that:
-
-<ul>
-<li>Users can access your app's core functionality for a classroom setting without
-an in-app purchase.</li>
-<li>In-app purchases are clearly identifiable in your UI.</li>
-<li>You declare the use of in-app purchases at <a href="{@docRoot}distribute/googleplay/edu/start.html#opt-in">opt-in</a>.</li>
-</ul>
-</li>
-</ul>
-
-<p class="note"><strong>Note</strong>: In-app
-purchases are blocked on Google Play for Education tablets at this time.</p>
-
-<p>If your app displays ads, you should:
-  <ul>
-  <li>Disable the display of ads if possible, or ensure that:
-  <ul>
-    <li>Ads are not distracting for students or teachers</li>
-    <li>Ads do not occupy a significant portion of the screen</li>
-    <li>Ads content does not exceed the maturity rating of the app.</li>
-    <li>You declare the use of ads at <a href="{@docRoot}distribute/googleplay/edu/start.html#opt-in">opt-in</a>.</li>
-  </ul>
-  </li>
-</ul>
-
-
-<h2 id="approved">Educational Value</h2>
-
-<p>Apps submitted to Google Play for Education will be evaluated by a
-third-party educator network, which will review them based on alignment with <a
-href="http://www.corestandards.org/" class="external-link"
-target="_android">Common Core Standards</a> and other factors. This will help
-make your content more discoverable for teachers and administrators as they
-browse by grade level, subject, core curriculum, and other parameters. </p>
-
-<p>Apps with highest educational value will have these characteristics:</p>
-<ul>
-  <li>Designed for use in K-12 classrooms.</li>
-  <li>Aligned with a common core standard or support common-core learning.</li>
-  <li>Simple, easy to use, and intuitive for the grade levels the app is targeting.
-  App is relatively easy to navigate without teacher guidance. Not distracting
-  or overwhelming to students.</li>
-  <li>Enjoyable and interactive. App is engaging to students and lets them control
-  their experience.</li>
-  <li>Versatile. App has features make the it useful for more than one classroom
-  function or lesson throughout the school year.</li>
-  <li>Supports the "4Cs":
-    <ul>
-    <li><em>Creativity</em> &mdash; Allows students to create in order to express
-    understanding of the learning objectives, and try new approaches, innovation
-    and invention to get things done.</li>
-    <li><em>Critical thinking</em> &mdash; Allows students to look at problems in
-    a new way, linking learning across subjects and disciplines.</li>
-    <li><em>Collaboration</em> &mdash; Allows students and (if appropriate) educators
-    to work together to reach a goal.</li>
-    <li><em>Communication</em> &mdash; Allows students to comprehend, critique and
-    share thoughts, questions, ideas and solutions.</li>
-    </ul>
-  </li>
-</ul>
-
-<p>As you design and develop your app, make sure it offers high educational value
-by addressing as many of those characteristics as possible.</p>
-
-
-<h2 id="quality">App Quality</h2>
-
-<p>Google Play for Education brings educational content to students and teachers
-on Android tablets. Your apps should be designed to perform well and look great
-on Android tablets, and they should offer the best user experience possible.
-</p>
-
-<p>High quality apps are engaging, intuitive, and offer compelling content.
-Google Play for Education will highlight high-quality apps for easy discovery in
-the store. Here are some recommendations for making your app easy for students
-and teachers to enjoy.</p>
-
-<ul>
-  <li>Meet Core app quality guidelines
-    <ul>
-      <li>Follow <a
-      href="{@docRoot}design/index.html">Android Design Guidelines</a>. Pay special
-      attention to the sections on <a href="{@docRoot}design/patterns/actionbar.html">Action
-      Bar</a>, <a href="{@docRoot}design/patterns/navigation.html">Navigation</a> and <a
-      href="{@docRoot}design/patterns/pure-android.html">Pure Android</a>.</li>
-      <li>Test your apps against the <a href="{@docRoot}distribute/googleplay/quality/core.html">Core
-      App Quality Guidelines</a>.</li>
-    </ul>
-  </li>
-<li>Meet tablet app quality guidelines
-  <ul>
-   <li>Follow our best practices for tablet app development</li>
-   <li>Review the <a href="{@docRoot}distribute/googleplay/quality/tablet.html">Tablet App
-   Quality Checklist</a> and <a
-   href="http://android-developers.blogspot.com/2012/11/designing-for-tablets-were-here-to-help.html"
-   target="_android">blog post on designing for tablets</a></li>
-   <li>Check your Optimization Tips in the Google Play Developer Console (if you've
-   already uploaded your app)</li>
-  </ul>
-<li>Strive for simplicity and highest usability for students
-  <ul>
-    <li>Design your app so that teachers and students can use all capabilities of
-    your app without having to sign-in to multiple accounts and remember
-    multiple passwords.</li>
-    <li>Every student or teacher using a Google Play for Education tablet will already be
-    signed in with a Google account on the device.  You can take advantage of that to provide a
-    simple, seamless sign-in experience in your app. A recommended approach is to use
-    <a href="{@docRoot}google/play-services/auth.html">Google OAuth 2 authorization</a>
-    through Google Play Services.</li>
-  </ul>
-</li>
-</ul>
-
-
-<h2 id="test-environment">Test Environment</h2>
-
-<p>To test your app and assess it against the guidelines in this document, it's
-recommended that you set up a test environment that replicates the actual
-environment in which students and teachers will run your app.</p>
-
-<p>In general, you should use the test environment described in <a
-href="{@docRoot}distribute/googleplay/quality/tablet.html#test-environment">
-Setting Up a Test Environment for Tablets</a>, including a small number of
-actual hardware devices that replicate the tablet form factors used in the
-Google Play for Education.</p>
-
-<h3 id="devices">Android tablets</h3>
-
-<p>Google Play for Education offers a range of 7-inch through 10-inch tablets, so
-your testing should focus on those hardware devices. You can purchase the Nexus 7
-device from <a href="https://play.google.com/store/devices/details?id=nexus_7_16gb"
-target="_android">Google Play</a> and other stores. Although testing on Nexus
-devices is preferred, you can test on other 7-inch or 10-inch tablets or virtual
-devices if you don't have access to Nexus devices.</p>
-
-<h3 id="conditions">Test conditions</h3>
-
-<p>Once you've set up a suitable hardware environment, make sure to test your
-apps under conditions that simulate those of schools. For example, Google Play
-for Education lets administrators control or disable certain capabilities for
-students, so it's good to test your app with those capabilities disabled. Below
-are some conditions to test your app in, to ensure best results in the Google
-Play for Education environment:</p>
-
-<ul>
-<li><em>Android version</em> &mdash; Test the app on devices running Android
-4.2. Google Play for Education devices will be running Android 4.2 or higher
-(API level 17+).</li>
-<li><em>Proxy server</em> &mdash; Test the app in network environment that uses
-proxies. Many schools use proxies.</li>
-<li><em>No location services</em> &mdash; Test the app to make sure it works
-properly with location services disabled. Many schools will disable location
-services for student devices.</li>
-<li><em>No In-app Billing</em> &mdash; Test the app to make sure it works
-properly without access to In-app Billing. In-app purchases are blocked on
-Google Play for Education devices at this time.</li>
-<li><em>No Bluetooth</em> &mdash; Test the app to make sure it works properly
-when Bluetooth is disabled. Many schools will disable Bluetooth on student
-devices.</li>
-<li><em>No access to network</em> &mdash; Test the app to make sure it works
-properly when the device cannot connect to the internet. </li>
-</ul>
diff --git a/docs/html/distribute/googleplay/edu/index.jd b/docs/html/distribute/googleplay/edu/index.jd
deleted file mode 100644
index 487028f..0000000
--- a/docs/html/distribute/googleplay/edu/index.jd
+++ /dev/null
@@ -1,48 +0,0 @@
-page.title=Google Play for Education
-page.tags="Google Play","education","schools", "distribution"
-header.hide=1
-
-@jd:body
-    <div style="position:absolute;margin-left: 636px;
-            margin-top:6px;color:#777;">If you're interested<br>
-            <a href="{@docRoot}distribute/googleplay/edu/contact.html"
-            class="go-link"
-            style="display: block;text-align: right;">SIGN UP</a></div>
-
-   <div class="marquee">
-  <div class="mainimg" style="position:absolute;margin-left:34px;margin-top:57px;">
-    <img src="{@docRoot}images/gp-edu-hero14.jpg" style="width:670px;" />
-  </div>
-  <div class="copy" style="position:relative;left:334px;margin-top:28px;width:420px;">
-    <h1 style="margin-bottom:10px;">Google Play for Education</h1>
-    <p>Google Play for Education is a destination where schools can find great,
-    teacher-approved, educational apps and videos on Play Store. Teachers can filter
-    content by subject matter, grade and other criteria. Bulk purchase and instant
-    distribution let educators bring your apps directly to classrooms and schools.</p>
-    <p>If you have an educational app, join Google Play for Education.</p>
-    <p><a class="button" href="{@docRoot}distribute/googleplay/edu/about.html">Learn More</a></p>
-  </div>
-</div>
-
-<div class="distribute-features col-13" style="clear:both;margin-top:248px;">
-  <div class="distribute-link">
-  <ul>
-    <li><a href="{@docRoot}distribute/googleplay/edu/about.html"><h5>About the Initiative</h5>
-    Find out how Google Play for Education helps you reach a new audience of educators and students.</a>
-    <li><a href="{@docRoot}distribute/googleplay/edu/start.html"><h5>Get your Apps Ready</h5> 
-    Follow these guidelines to make sure your app meets requirements and offers a great user experience. </a>
-    </li>
-    <li class="last"><a href="{@docRoot}distribute/googleplay/edu/start.html#opt-in"><h5>Submit your App</h5>
-    Use the Google Play Developer Console to mark your app for inclusion in the program and review by third-party
-    educators. </a>
-    </li>
-  </ul>
-  </div>
-
-</div>
-
-
-    
-
-
-
diff --git a/docs/html/distribute/googleplay/edu/start.jd b/docs/html/distribute/googleplay/edu/start.jd
index dbfbb6a..260ae85 100644
--- a/docs/html/distribute/googleplay/edu/start.jd
+++ b/docs/html/distribute/googleplay/edu/start.jd
@@ -1,233 +1,320 @@
-page.title=Get Started
-page.metaDescription=Get Started with Google Play for Education
-excludeFromSuggestions=true
+page.title=Get Started with Education
+page.image=/distribute/images/play-education.jpg
+meta.tags="education", "guidelines", "quality"
+page.tags="education", "addendum"
+page.metaDescription=Join Google Play for Education in just a few simple steps.
+
 @jd:body
 
-    <div class="jd-descr" itemprop="articleBody">
-    <div style="position:absolute;margin-left: 636px;
-            margin-top:-76px;color:#777;">If you're interested<br>
-            <a href="{@docRoot}distribute/googleplay/edu/contact.html"
-            class="go-link"
-            style="display: block;text-align: right;">SIGN UP</a></div>
-
-<div style="background-color:#fffdeb;width:100%;margin-bottom:1em;padding:.5em;">You
-can now include your educational apps in the Google Play for Education program,
-getting it into the hands of participating schools and key influencers in the
-education technology community. See the sections below to learn more.</div>
-
-<p>If you've got a great app for education, be
-part of Google Play for Education to reach even more teachers and students. It's
-easy to participate, and you'll be able to offer new or existing Android apps
-using familiar tools and processes in Google Play.</p>
-
-<p>To get started, review the sections in this document and learn how to make
-your apps available through Google Play for Education. Also make sure to read <a
-href="{@docRoot}distribute/googleplay/edu/guidelines.html">Guidelines for
-Apps</a>  for information on the safety, usability, and quality standards that
-your apps should meet. When your app is ready, you can opt-in to Google Play for
-Education from the Developer Console.</p>
-
-<p>Note that Google Play for Education is currently available to schools in the
-United States only, with support for schools in other
-countries to follow. At this time, please include your app in Google Play for
-Education only if it is targeting the <strong>US K-12 market</strong>. </p>
-
-
-<h2 id="participate">How to Participate</h2>
-
-<div style="float:right; padding-top:2em;"><img
-src="{@docRoot}images/gp-edu-process.png" /></div>
-
-<p>Google Play for Education is a great way to put your educational apps in front of a
-new audience of teachers and students. You can develop and publish using
-familiar tools and processes, such as your existing <a
-href="https://play.google.com/apps/publish/">Developer Console</a> account
-and your current distribution and pricing settings. It's easy to participate
-&mdash; the sections below outline the process.</p>
-
-<h3 id="basic-info">1. Understand guidelines and policies</h3>
-
-<p>To prepare for a successful launch on Google Play for Education, start by
-reviewing the guidelines for educational apps in Google Play and the policies
-that apply to your apps. See <a
-href="{@docRoot}distribute/googleplay/edu/guidelines.html">Guidelines for
-Apps</a> for details.</p>
-
-<p>Also, make sure that your are familiar with the policies that your app must
-comply with, including
-<a href="http://play.google.com/about/developer-content-policy.html" target="_policies">content
-policies</a>, the <a
-href="http://play.google.com/about/developer-distribution-agreement.html"
-target="_policies">developer agreement</a>,  and <a
-href="https://play.google.com/about/developer-distribution-agreement-addendum.html"
-target="_policies">Google Play for Education Addendum</a>.</p>
-
-<h3 id="developing">2. Design and develop a great app for education</h3>
-
-<p>A great app for educators and students is designed for classroom use, looks
-great on tablets, and delivers a compelling feature set for teachers and
-students. If you are developing an app for education, make sure that it is
-appropriate for K-12 classrooms, offers educational value, and is refined to
-offer a polished, high-quality tablet experience.</p>
-
-<p>Assess your app against the criteria listed in <a
-href="{@docRoot}distribute/googleplay/edu/guidelines.html">Guidelines for
-Apps</a> and plan on supporting them to the greatest extent possible. In some
-cases you might need to modify your features or UI to support the requirements
-of the classroom use-case. It's a good idea to identify those areas early in
-development so that you are able address them properly. </p>
-
-<p>With Google Play for Education, optimizing your app for tablets is a crucial
-part of getting your app ready for distribution to educators. A variety of
-resources are available to help you understand what you need to optimize for
-tablets &mdash; a good starting point is the <a
-href="{@docRoot}distribute/googleplay/quality/tablet.html">Tablet App Quality
-Guidelines</a>. </p>
-
+<div id="qv-wrapper"><div id="qv">
+<h2>Steps to Join</h2>
+<ol>
+<li><a href="#register">Register for a Publisher Account</li>
+<li><a href="#prepare">Prepare Your Apps</a></li>
+<li><a href="#publish">Publish Your Apps</a></li>
+<li><a href="#related-resources">Related Resources</a></li>
+</ol>
+</div></div>
 <p>
-  Throughout design and development, it's important to have suitable devices
-  on which to prototype and test your user experience. It's highly recommended
-  that you acquire 7-inch and 10-inch tablet devices and set up
-  your testing environment as early as possible. The recommended 7-inch
-  hardware device that replicates the Google Play for Education environment is
-  the Nexus 7, which is available from <a href=
-  "https://play.google.com/store/devices/details?id=nexus_7_16gb" target=
-  "_android">Google Play</a> and other stores.
+  If you've got great apps for education and want to reach even more teachers
+  and students, you can join the <strong>Google Play for Education</strong>
+  program in a few simple steps. You do everything using the familiar tools and
+  processes in Google Play.
 </p>
 
-<p>Proper testing and quality assurance are key aspects of delivering a great
-app for teachers and students. Make sure you set up a <a
-href="{@docRoot}distribute/googleplay/edu/guidelines.html#test-environment">
-proper test environment</a> to ensure that your app meets guidelines under
-realistic conditions.</p>
+<p>
+  Note that Google Play for Education is currently available to <strong>K-12
+  schools in the United States</strong> only.
+</p>
 
-<h3 id="opt-in">3. Opt-in to Google Play for Education and publish</h3>
-
-<div class="sidebox-wrapper">
-<div class="sidebox">
-<h2>Before you opt-in</h2>
-<p>To participate in Google Play for Education, you must agree to a <a
-href="https://play.google.com/about/developer-distribution-agreement-addendum.html"
-target="_policies">Google Play for Education Addendum</a>
-to the standard Developer Distribution Agreement.</p>
-
-<p>Before you opt-in, review the Addendum completely and make any necessary
-modifications to your app.</p>
-</div>
+<div class="center-img">
+  <img src="{@docRoot}images/gpfe-start-0.jpg" style=
+  "border:1px solid #ddd;padding:0px;width:100%;">
 </div>
 
-<p>Once you've built your release-ready APK and tested to ensure that it meets
-the <a href="{@docRoot}distribute/googleplay/edu/guidelines.html">app guidelines</a>,
-upload it to the Developer Console, create your store listing, and set
-distribution options. If you aren't familiar with how to prepare for launch on
-Google Play, see the <a
-href="{@docRoot}distribute/googleplay/publish/preparing.html">Launch Checklist</a>. </p>
+<div class="headerLine clearfloat">
+  <h1 id="register">
+    Register for a Publisher Account
+  </h1>
 
-<p>When your app is ready to publish, you can <em>opt-in</em> to Google Play for
-Education directly from the <a
-href="https://play.google.com/apps/publish/">Developer Console</a>. Opt-in means that you want your app to be
-made available to educators through Google Play for Education, including review,
-classification, and approval by our third-party educator network. Note that
-opt-in does not affect the availability of your app in Google Play Store.</p>
+  <hr>
+</div>
 
-<p>Opt-in also confirms that your app complies with <a
-href="http://play.google.com/about/developer-content-policy.html"
-target="_policies">Google Play Developer Program
-Policies</a> and the <a
-href="http://play.google.com/about/developer-distribution-agreement.html"
-target="_policies">Developer Distribution Agreement</a>,
-including a <a
-href="https://play.google.com/about/developer-distribution-agreement-addendum.html"
-target="_policies">Google Play for Education
-Addendum</a>. If you are not familiar with these policy documents or the
-Addendum, make sure to read them before opting-in. </p>
+<p>
+  If you’re new to Google Play, review the information on <a href=
+  "{@docRoot}distribute/googleplay/start.html">getting started</a> with
+  publishing on Google Play. You’ll gain access to the <a href=
+  "{@docRoot}distribute/googleplay/developer-console.html">Developer
+  Console</a>, where you’ll manage your details, apps, and payments.
+</p>
 
-<p>Here's how to opt-in to Google Play for Education for a specific app:</p>
+<div class="headerLine">
+  <h1 id="prepare">
+    Prepare Your Apps
+  </h1>
+
+  <hr>
+</div>
+
+<div class="figure-right">
+  <img src="{@docRoot}images/gp-edu-process.png">
+</div>
+
+<p>
+  By participating in Google Play for Education you’ll be placing your apps
+  before a new audience of teachers and educators. To address this audience,
+  there are specific guidelines and policies your apps should meet and specific
+  design considerations too.
+</p>
+
+<h3>
+  Understand guidelines and policies
+</h3>
+
+<p>
+  To prepare for a launch on Google Play for Education, start by reviewing the
+  guidelines for educational apps in Google Play and the policies that apply to
+  your apps. See the <a href=
+  "{@docRoot}distribute/essentials/gpfe-guidelines.html">Education
+  Guidelines</a> for details.
+</p>
+
+<p>
+  Also, make sure that you're familiar with the policies that your app must
+  comply with, including <a href=
+  "http://play.google.com/about/developer-content-policy.html">content
+  policies</a>, the <a href=
+  "http://play.google.com/about/developer-distribution-agreement.html">Developer
+  Distribution Agreement</a>, and <a href=
+  "https://play.google.com/about/developer-distribution-agreement-addendum.html">
+  Google Play for Education Addendum</a>.
+</p>
+
+<h3>
+  Design and develop a great app for education
+</h3>
+
+<p>
+  Great apps for educators and students <strong>offer educational
+  value</strong>, are <strong>designed for K-12 classroom use</strong>,
+  <strong>deliver a compelling feature set</strong>, and are refined to offer a
+  polished, <strong>high-quality tablet experience</strong>.
+</p>
+
+<p>
+  Assess your app against the criteria listed in the <a href=
+  "{@docRoot}distribute/essentials/gpfe-guidelines.html">Education
+  Guidelines</a> and plan on supporting them to the greatest extent possible.
+  In some cases you might need to modify the app’s features or UI to support
+  classroom requirements. It's a good idea to identify any changes early in
+  development, so that you can address them properly.
+</p>
+
+<p>
+  With Google Play for Education, optimizing your apps for tablets is crucial.
+  A variety of resources are available to help you understand what you need to
+  do — a good starting point is the <a href=
+  "{@docRoot}distribute/essentials/quality/tablets.html">Tablet App Quality</a>
+  guidelines.
+</p>
+
+<p>
+  Throughout design and development, it's important to have suitable devices on
+  which to prototype and test your user experience. It's recommended highly
+  that you acquire 7-inch and 10-inch tablet devices and set up your testing
+  environment as early as possible. The recommended 7-inch hardware device that
+  replicates the Google Play for Education environment is the Nexus 7, which is
+  available from <a href=
+  "https://play.google.com/store/devices/details?id=nexus_7_16gb_2013">Google
+  Play</a> and other stores.
+</p>
+
+<p>
+  Comprehensive testing and quality assurance are key aspects of delivering
+  great apps for teachers and students. Make sure you set up a <a href=
+  "{@docRoot}distribute/essentials/gpfe-guidelines.html#test-environment">proper
+  test environment</a> to, ensure that your apps meet the guidelines under
+  realistic conditions.
+</p>
+
+<div class="headerLine">
+  <h1 id="publish">
+    Publish Your Apps
+  </h1>
+
+  <hr>
+</div>
+
+<p>
+  Once you have designed, built, and tested your apps, you take two steps to
+  publish them:
+</p>
+
+<ul>
+  <li>Before you opt-in any apps, agree to the <a href=
+  "https://play.google.com/about/developer-distribution-agreement-addendum.html"
+    target="_policies">Google Play for Education Addendum</a>. Ensure you
+    review the Addendum completely and make any necessary modifications to your
+    apps.
+  </li>
+
+  <li>Publish your apps in the Developer Console as normal, but opt-in to
+  Google Play for Education.
+  </li>
+</ul>
+
+<h3 id="opt-in">
+  Opt-in to Google Play for Education and publish
+</h3>
+
+<p>
+  Once you've built your release-ready APK upload it to the Developer Console,
+  create your store listing, and set distribution options. If you aren't
+  familiar with preparing for launch on Google Play, see the <a href=
+  "{@docRoot}distribute/tools/launch-checklist.html">Launch Checklist</a>.
+</p>
+
+<div>
+  <img src="{@docRoot}images/gp-edu-optin-console.jpg" style=
+  "border:2px solid #ddd;width:660px;">
+</div>
+
+<p>
+  When your apps are ready to publish, you <em>opt-in</em> to Google Play for
+  Education directly from the <a href=
+  "https://play.google.com/apps/publish/">Developer Console</a>. Opt-in means
+  that you want your apps to be made available to educators through Google Play
+  for Education, including review, classification, and approval by our
+  third-party educator network. Note that opt-in doesn’t affect the
+  availability of your app in Google Play Store.
+</p>
+
+<p>
+  Opt-in also confirms that your app complies with <a href=
+  "http://play.google.com/about/developer-content-policy.html" target=
+  "_policies">Google Play Developer Program Policies</a> and the <a href=
+  "http://play.google.com/about/developer-distribution-agreement.html" target=
+  "_policies">Developer Distribution Agreement</a>, including a <a href=
+  "https://play.google.com/about/developer-distribution-agreement-addendum.html"
+  target="_policies">Google Play for Education Addendum</a>. If you are not
+  familiar with these policy documents or the Addendum, make sure to read them
+  before opting-in.
+</p>
+
+<p>
+  Here's how to opt-in to Google Play for Education for a specific app:
+</p>
 
 <ol>
-  <li>In the Developer Console All Applications page, click the app you want to
-opt-in. </li>
-  <li>Under Pricing and Distribution, scroll down to find "Google Play for
-Education" and the opt-in checkbox. </li>
-  <li>Click the checkbox next to "Include this application in Google Play for
-Education."</li>
-  <li>In the first dialog that appears, review the content policies and guidelines
-  and click "Continue" if your app meets the the policies and guidelines.</li>
-  <li>In next dialog that appears, shown below, find the "Ads" and "In-app purchases" radio
-  buttons. Check each option that applies. Your app's use of ads or in-app purchases will
-be shown to educators when they are browsing your app. </li>
-  <li>Click "Save" to save your Pricing and Distribution changes.</li>
+  <li>In the Developer Console <strong>All Applications</strong> page, click
+  the app you want to opt-in.
+  </li>
+
+  <li>Under Pricing and Distribution, scroll down to find <strong>Google Play
+  for Education</strong> and the opt-in checkbox.
+  </li>
+
+  <li>Click the checkbox next to <strong>Include my app in Google Play for
+  Education...</strong>
+  </li>
+
+  <li>In the first dialog that appears, review the content policies and
+  guidelines and click <strong>Continue</strong> if your app meets the the
+  policies and guidelines.
+  </li>
+
+  <li>In the next dialog that appears, shown below, find the
+  <strong>Ads</strong> and <strong>In-app purchases</strong> radio buttons.
+  Check each option that applies. Your app's use of ads or in-app purchases
+  will be shown to educators when they are browsing your app.
+  </li>
+
+  <li>Click <strong>Save</strong>f to save your Pricing and Distribution
+  changes.
+  </li>
 </ol>
 
 <div style="clear:both;margin-top:1.5em;margin-bottom:1.5em;width:660px;">
-<img src="{@docRoot}images/gp-edu-ads-iab.png" style="border:2px solid #ddd;width:660px;" />
-<p class="image-caption"><span style="font-weight:500;">Ads and in-app purchase</span>:
-When you opt-in to Google Play for Education, make sure to declare your app's use of ads and
-in-app purchases.</p>
+  <img src="{@docRoot}images/gp-edu-ads-iab.png" style=
+  "border:2px solid #ddd;width:660px;">
+  <p class="img-caption">
+    <strong>Ads and in-app purchase</strong>: When you opt-in to Google Play
+    for Education, make sure to declare your app's use of ads and in-app
+    purchases.
+  </p>
 </div>
 
-<p>Once you save changes and publish your app, the app will be submitted to our
-third-party educator network for review and approval. If the app is already
-published, it will be submitted for review as soon as you opt-in and save your
-changes. </p>
+<p>
+  Once you save changes and publish your app, the app will be submitted to our
+  third-party educator network for review and approval. If the app is already
+  published, it will be submitted for review as soon as you opt-in and save
+  your changes.
+</p>
 
-<p class="note"><strong>Note</strong>: Google Play for Education is part of
-Google Play. When you publish an app that's opted-in to Google Play for
-Education, the app becomes available to users in Google Play right away. After
-the app is reviewed and approved, it then becomes available to educators in
-Google Play for Education.</p>
+<p class="note">
+  <strong>Note</strong>: Google Play for Education is part of Google Play. When
+  you publish an app that's opted-in to Google Play for Education, the app
+  becomes available to users in Google Play right away. After the app is
+  <a href="{@docRoot}distribute/essentials/gpfe-guidelines.html#e-value">review
+  and approval</a>, it then becomes available to educators in Google Play for
+  Education.
+</p>
 
-<h3 id="review">4. Track your review and approval</h3>
+<h3>
+  Track your review and approval
+</h3>
 
-<p>Google Play for Education provides content to educators in a way that's
-properly organized by subject, grade level, and common core standards (where
-applicable). To ensure high educational value and proper classification, we work
-with a third-party educator network to review and approve apps before making
-them discoverable through the Google Play for Education browsing tools. </p>
+<p>
+  As soon as you opt-in to Google Play for Education and publish, your apps are
+  queued for review by our third-party educator network. The review and
+  approval process can take four weeks or more. You'll receive notification by
+  email (to your developer account address) when the review is complete, with a
+  summary of the review results.
+</p>
 
-<p>Our third-party educator network will evaluate apps according to educational
-value and alignment with K-12 core standards, then assign the metadata for
-subject, grade level, and core curriculum that makes them easily browsable for
-educators. To understand how your apps will be evaluated, please see the <a
-href="{@docRoot}distribute/googleplay/edu/guidelines.html">Guidelines for
-Apps</a> document.</p>
-
-<p>As soon as you opt-in to Google Play for Education and publish, your app is
-queued for review by our third-party educator network. The review and approval
-process can take four weeks or more</strong>. You'll receive notification
-by email (to your developer account address) when the review is complete, with a
-summary of the review results. </p>
-
-<p>At any time, you can check the review and approval status of your app in the
-<a href="https://play.google.com/apps/publish/">Developer Console</a>, under
-"Google Play for Education" in the app's Pricing and
-Distribution page. There are three approval states:</p>
+<p>
+  At any time, you can check the review and approval status of your app in the
+  Developer Console, under "Google Play for Education" in the app's Pricing and
+  Distribution page. There are three approval states:
+</p>
 
 <ul>
-<li><em>Pending</em> &mdash; Your app was sent for review and the review
-is not yet complete.</li>
-<li><em>Approved</em> &mdash; Your app was reviewed and approved. The app
-will be made available directly to educators through Google Play for Education.
-Once your app is approved, you can update it at your convenience without needing
-another full review. </li>
-<li><em>Not approved</em> &mdash; Your app was reviewed and not approved.
-Check the notification email for information about why the app was not approved.
-You can address any issues and opt-in again for another review. </li>
+  <li>
+    <em>Pending</em> &mdash; Your app was sent for review and the review isn't
+    yet complete.
+  </li>
+
+  <li>
+    <em>Approved</em> &mdash; Your app was reviewed and approved. The app will
+    be made available directly to educators through Google Play for Education.
+    Once your app is approved, you can update it at your convenience without
+    needing another full review.
+  </li>
+
+  <li>
+    <em>Not approved</em> &mdash; Your app was reviewed and not approved. Check
+    the notification email send for information about why the app wasn’t
+    approved. You can address any issues and opt-in again for another review.
+  </li>
 </ul>
+<div class="headerLine">
+<h1 id="related-resources">Related Resources</h1><hr>
+</div>
 
-<p>If you have questions about the review status of your app, follow the process
-discussed in the next section. </p>
+<div class="dynamic-grid">
+<h3>FOR DEVELOPERS</h3>
 
-<h3 id="appeal">5. Get support or appeal your review results</h3>
+<div class="resource-widget resource-flow-layout col-13"
+    data-query="collection:distribute/googleplay/gpfe/dev"
+    data-sortOrder="-timestamp"
+    data-cardSizes="9x3,9x3,6x3,6x3,6x3"
+    data-maxResults="8"></div>
 
-<p>After your app is reviewed you'll receive an email giving you the
-results, including information on whether the app was approved and
-what issues may need to be addressed. You'll receive the email at the address
-you specified for your developer account. </p>
+<h3>FOR EDUCATORS</h3>
 
-<p>If your app has issues that need to be addressed, make the necessary
-adjustments, upload your app, and then resubmit the app to Google Play for
-Education through the Developer Console using process described above. Your app
-will be queued for review and you'll receive the review results by email just
-as before.</p>
-
+<div class="resource-widget resource-flow-layout col-13"
+    data-query="collection:distribute/googleplay/aboutgpfe/educators"
+    data-sortOrder="-timestamp"
+    data-cardSizes="9x3"
+    data-maxResults="3"></div>
+</div>
\ No newline at end of file
diff --git a/docs/html/distribute/googleplay/googleplay_toc.cs b/docs/html/distribute/googleplay/googleplay_toc.cs
new file mode 100644
index 0000000..4196c39
--- /dev/null
+++ b/docs/html/distribute/googleplay/googleplay_toc.cs
@@ -0,0 +1,47 @@
+<ul id="nav">
+
+  <li class="nav-section">
+    <div class="nav-section empty" style="font-weight:normal"><a href="<?cs var:toroot?>distribute/googleplay/about.html">
+            <span class="en">The Google Play Opportunity</span></a>
+    </div>
+  </li>
+  <li class="nav-section">
+    <div class="nav-section empty" style="font-weight:normal"><a href="<?cs var:toroot?>distribute/googleplay/start.html">
+            <span class="en">Get Started with Publishing</span>
+          </a>
+    </div>
+  </li>
+  <li class="nav-section">
+    <div class="nav-section empty" style="font-weight:normal"><a href="<?cs var:toroot?>distribute/googleplay/developer-console.html">
+          <span class="en">Developer Console</span>
+        </a>
+    </div>
+  </li>
+  <li class="nav-section">
+    <div class="nav-section empty" style="font-weight:normal"><a href="<?cs var:toroot?>distribute/googleplay/edu/about.html">
+          <span class="en">Google Play for Education</span>
+        </a>
+    </div>
+  </li>
+  <li class="nav-section">
+    <div class="nav-section empty" style="font-weight:normal"><a href="<?cs var:toroot?>distribute/googleplay/edu/start.html">
+          <span class="en">Get Started with Education</span>
+        </a>
+    </div>
+  </li>
+  <li class="nav-section">
+    <div class="nav-section empty" style="font-weight:normal"><a href="<?cs var:toroot?>distribute/googleplay/edu/faq.html">
+          <span class="en">Education FAQ</span>
+        </a>
+    </div>
+  </li>
+</ul>
+
+
+<script type="text/javascript">
+<!--
+    buildToggleLists();
+    changeNavLang(getLangPref());
+//-->
+</script>
+
diff --git a/docs/html/distribute/googleplay/index.jd b/docs/html/distribute/googleplay/index.jd
new file mode 100644
index 0000000..a215930
--- /dev/null
+++ b/docs/html/distribute/googleplay/index.jd
@@ -0,0 +1,45 @@
+page.title=Google Play
+section.landing=true
+nonavpage=true
+
+@jd:body
+
+ <p>
+  The premier store for distributing Android apps and games, with global reach
+  and <span style="white-space:nowrap;">tools to
+  help you gain traction in the marketplace.</span>
+</p>
+
+<div class="dynamic-grid">
+
+  <h3>Overview</h3>
+
+  <div class="resource-widget resource-flow-layout landing col-16"
+    data-query="collection:distribute/gp/gplanding"
+    data-sortOrder="-timestamp"
+    data-cardSizes="6x6"
+    data-maxResults="3">
+  </div>
+
+  <h3>Google Play for Education</h3>
+
+  <div class="resource-widget resource-flow-layout landing col-16"
+    data-query="collection:distribute/gp/gpfelanding"
+    data-cardSizes="6x6"
+    data-maxResults="3">
+  </div>
+
+  <h3>Related resources</h3>
+
+  <div class="resource-widget resource-flow-layout col-16"
+    data-query="type:youtube+tag:growth"
+    data-cardSizes="6x3"
+    data-maxResults="3">
+  </div>
+  <div class="resource-widget resource-flow-layout col-16"
+    data-query="type:blog+tag:googleplay"
+    data-cardSizes="6x3"
+    data-maxResults="3">
+  </div>
+
+</div>
diff --git a/docs/html/distribute/googleplay/policies/ads.jd b/docs/html/distribute/googleplay/policies/ads.jd
deleted file mode 100644
index f2fb0f8..0000000
--- a/docs/html/distribute/googleplay/policies/ads.jd
+++ /dev/null
@@ -1,350 +0,0 @@
-page.title=Ads
-@jd:body
-
-<div id="qv-wrapper">
-<div id="qv">
-  <h2>In This Document</h2>
-  <ol>
-    <li><a href="#content-maturity">Content and Maturity</a></li>
-    <li><a href="#context">Context and Behavior</a></li>
-    <li><a href="#disclosure" style="clear:right">Disclosure</a></li>
-    <li><a href="#impersonation">Impersonation of System UI</a></li>
-    <li><a href="#adwalls">Adwalls and Interstitial Ads</a></li>
-    <li><a href="#interfering" style="clear:right;">Interference with Apps and Third-Party Ads</a></li>
-  </ol>
-
-  <h2>More Resources</h2>
-  <ol>
-    <li><a href="http://play.google.com/about/developer-content-policy.html" target="_policies">Developer Program Policies</a></li>
-    <li><a href="http://www.android.com/us/developer-distribution-agreement.html#showlanguages" target="_policies">Developer Distribution Agreement</a></li>
-    <li><a href="http://support.google.com/googleplay/android-developer/answer/188189" target="_policies">Maturity Ratings</a></p>
-  </ol>
-</div>
-</div>
-
-<p>
-  Google Play policies guide how you can use ads in your apps, to help ensure
-  the best experience for users visiting and downloading apps from the store.
-</p>
-
-<p>
-  In general, for the purposes of policy, the content of ads displayed by your
-  app is considered part of your app. As an app developer, it is your
-  responsibility to ensure that the content, context, and behavior of ads in
-  your apps conforms to Google Play policies.
-</p>
-
-<p>
-  Before you publish, make sure you understand Google Play ad policies and how
-  to display ads in conformance with those policies. The sections below
-  highlight best practices and common examples to help you avoid the most
-  common types of policy violations.
-</p>
-
-<p>
-  For more information about Google Play policies that apply to your apps and
-  content, please see the <a href=
-  "http://play.google.com/about/developer-content-policy.html" target=
-  "_policies">Developer Program Policies</a> and <a href=
-  "http://play.google.com/about/developer-distribution-agreement.html" target=
-  "_policies">Developer Distribution Agreement</a>.
-</p>
-
-
-<h2 id="content-maturity">Content and Maturity</h2>
-
-<div class="example-block bad">
-  <div class="heading">Ad maturity exceeds app</div>
-  <img src="{@docRoot}images/gp-policy-ads-maturity-violation.png">
-</div>
-
-<p>
-  From a policy perspective, ads shown in your app are part of your content
-  and your app is responsible for any violations. If an ad shown in your app
-  violates Google Play policies, your app may be suspended or your developer
-  account terminated.
-</p>
-
-<p>
-  For this reason, it's important for you to be be aware of what ads will be
-  displayed in your app and to manage the ads content according to Google Play
-  policies. Here are some guidelines:
-</p>
-
-<ul>
-    <li>
-        <strong>Ads must not violate Content Policy</strong>&mdash;Ads in
-        your app must not violate the terms of Google Play’s Content Policy,
-        including those concerning illegal activities, violence, sexually
-        explicit content, or privacy violations.
-    </li>
-    <li>
-        <strong>Ads maturity must be consistent with your app's
-        maturity</strong>&mdash;Content shown in your ads must be consistent
-        with the app’s maturity rating in Google Play. Especially, ads content
-        should never exceed your app's maturity rating, even if the ads content
-        by itself complies with general policies.
-    </li>
-</ul>
-
-<p>
-  In the example at right, the app's maturity rating is set to
-  "Everyone", which is the lowest maturity level on Google Play. By choosing
-  the "Everyone" maturity level, the developer is declaring that all of the
-  content in the app, <em>including ads</em>, is suitable for all users
-  regardless of age.
-</p>
-
-<p>
-  The example app violates Google Play policies by displaying ad content with a
-  higher maturity level&mdash;ad content showing gambling, profanity, user
-  location, suggestive content, or content from another app with higher
-  maturity exceeds the "Everyone" maturity rating. Because the ad's
-  maturity is higher than the app's maturity level, the app itself is in
-  violation of policy. To correct the problem, the developer must either
-  restrict ads content to "Everyone" level or raise the app's maturity rating.
-</p>
-
-<p>
-  For detailed information about how to choose the appropriate maturity level
-  for your app, or to assess the maturity requirement of ads in your app, see
-  <a href=
-  "http://support.google.com/googleplay/android-developer/answer/188189"
-  target="_policies">Rating your application content for Google Play</a>.
-</p>
-
-
-<h2 id="context">Context and Behavior</h2>
-
-<p>
-  If your app displays ads, it should do so in ways that do not interrupt users,
-  mislead them into clicking on ads, or make changes outside the app without
-  the user's knowledge or consent. Here are some guidelines:
-</p>
-
-<ul>
-  <li>
-    <strong>Display your ads within your UI</strong>&mdash;If possible,
-    display ads only within your app's UI. This leads to a better user
-    experience and helps avoid policy violations
-  </li>
-
-  <li>
-    <strong>Don't make changes outside of the app without consent</strong>
-   &mdash;Ads must not make changes outside of the app without the user's
-    full knowledge and consent.
-  </li>
-
-  <li>
-  <div class="example-block bad" style="width:360px;margin:1em 0 0 2em;">
-    <div class="heading">Ads through system-level notifications</div>
-    <img src="{@docRoot}images/gp-policy-ads-notif-attr-violation.png">
-  </div>
-  <div class="example-block good" style="width:360px;margin:.5em 0 0 2em;">
-    <div class="heading">Notification that's part of the app's feature set</div>
-    <img src="{@docRoot}images/gp-policy-ads-notif-attr.png">
-  </div>
-    <strong>Changes outside the app must be reversible</strong>&mdash;If an
-    ad makes changes outside the app as described above, the changes (and
-    origin app) must be evident and easily reversible. For example, the user
-    must be able to locate and reverse the changes by adjusting settings,
-    changing ad preferences in the app, or uninstalling the app altogether.
-  </li>
-
-  <li>
-    <strong>Notification ads are prohibited</strong>&mdash;Your app
-    should not create system-level <a href=
-    "{@docRoot}design/patterns/notifications.html">notifications</a>
-    containing ads unless the notifications are part of the explicit
-    feature set of the app.
-  </li>
-
-  <li>
-    <strong>Don't add shortcuts, bookmarks, or icons</strong>&mdash;Your app
-    and its ads must not add homescreen shortcuts, browser bookmarks, or icons
-    on the user's device as a service to third parties or for advertising 
-    purposes.
-  </li>
-</ul>
-
-<p>
-  Above right is an example notification ad that violates ad policy by
-  providing ads through system level notification.
-</p>
-<p>
-  Below right, the notification ad complies with policy because the
-  nature of the notification is part of the explicit feature set of the app,
-  and it also provides attribution of the origin app. 
-</p>
-
-<h2 id="disclosure" style="clear:right">Disclosure of Ads to Users</h2>
-
-<p>
-  It's important to sufficiently disclose to users how your app will use ads.
-  You must make it easy for users to understand what ads will be shown in your
-  app, where they will be shown, and what the associated behaviors are, if any.
-  Further, you should ask for user consent and provide options for managing ads
-  or opt-out. Here are some guidelines:
-</p>
-
-<ul>
-  <li>
-    <strong>Tell users about your ads</strong>&mdash;Create a simple,
-    complete disclosure that tells users how your app uses ads, where the ads
-    are shown, and how they can manage ad options. Take common-sense steps to
-    make the disclosure as clear as possible.
-  </li>
-
-  <li>
-    <div class="example-block good" style="width:213px;margin-left:.5em;">
-      <div class="heading">Disclosure in Terms</div>
-      <img src="{@docRoot}images/gp-policy-ads-terms.png">
-    </div>
-    <div class="example-block bad" style="width:213px;">
-      <div class="heading">Disclosure is hidden</div>
-      <img src="{@docRoot}images/gp-policy-ads-eula-violation.png">
-    </div>
-    <strong>Make sure users know</strong>&mdash;Present your ads disclosure
-    is an easy-to-see location, rather than hiding it where users are not
-    likely to find it.
-  </li>
-
-  <li>
-    <strong>Ask for consent (opt-in) at launch</strong>&mdash;Where possible,
-    include your ads disclosure in the app description as well as in an Ads
-    Terms, End User License Agreement (EULA), or similar document. Display the
-    terms at first launch and ask for the user's consent before continuing to
-    the app.
-  </li>
-</ul>
-
-<p>
-  A recommended approach is to provide an ads disclosure in an End-User License
-  Agreement (EULA). The disclosure should be clear and succinct and displayed
-  in a modal dialog that asks the user to agree to the terms before using the
-  app.
-</p>
-
-<p>
-  Above left is an example of ads disclosure that is hidden in a long EULA. The
-  disclosure information itself is not clearly indicated in the document text
-  and it's not visible unless the user happens to scroll down far enough in the
-  EULA. 
-</p>
-<p>
-  Above right shows an approach that presents the disclosure in an obvious
-  and clear manner in a EULA and a dedicated Terms agreement. 
-</p>
-
-
-<h2 id="impersonation">Impersonation of System UI</h2>
-
-
-
-
-
-
-
-
-<p>
-  Ads must not simulate or impersonate the user interface of any app, or
-  notification and warning elements of an operating system. Your app must not
-  display any ad that attempts to impersonate or represent a
-  system function or UI component. If such an ad is displayed in your app, your
-  app will be in violation of policy and subject to suspension. Here are some
-  guidelines:
-</p>
-
-<ul>  
-  <li>
-    <strong>No fake app UI notifications</strong>&mdash;Ads should not impersonate
-    the interface of an application for advertising purposes.
-  </li>
-  <li>
-    <strong>No fake system dialogs or warnings</strong>&mdash;Any ad that
-    presents itself as a system dialog or warning and asks for user input is in
-    violation of Google Play policies.
-  </li>
-
-  <li>
-    <strong>No fake app updates</strong>&mdash;Ads should not impersonate
-    system UI for app updates.
-  </li>
-</ul>
-
-<div class="example-block bad" style="width:213px;">
-  <div class="heading">Ad impersonates app UI</div>
-  <img src="{@docRoot}images/gp-policy-ads-impersonate-violation-app-ui.png">
-</div>
-<div class="example-block bad" style="width:213px;">
-  <div class="heading">Ad impersonates system warning</div>
-  <img src="{@docRoot}images/gp-policy-ads-impersonate-violation-sys-warning.png">
-</div>
-<div class="example-block bad" style="width:213px;">
-  <div class="heading">Ad impersonates system dialog</div>
-  <img src="{@docRoot}images/gp-policy-ads-impersonate-violation.png">
-</div>
-<p style="clear:both">
-  Above are examples of impersonations &mdash; a pop-up ad that impersonates a
-  system dialog, an ad that impersonates a system warning, and an ad that impersonates
-  an application UI. All of these are in violation of policy.
-</p>
-
-
-<h2 id="adwalls">Adwalls and Interstitial Ads</h2>
-
-<p>
-  If your app uses adwalls to drive affiliate traffic, those adwalls must not
-  force the user to click on ads or submit personal information for advertising
-  purposes before using the app.
-</p>
-
-<p>
-  Forcing a user action in an adwall is not only a poor user experience, it is
-  a violation of Google Play policies.
-</p>
-
-<p>
-  For this reason, <strong>all adwalls must give the user the option to
-  cancel</strong> or otherwise dismiss the ad without penalty. Interstitial ads
-  may only be displayed inside of the app they came with. Forcing the user to
-  click on ads or submit personal information for advertising purposes in order
-  to fully use an app is prohibited.
-</p>
-
-<div class="example-block bad" style="width:213px;">
-  <div class="heading">Interstitial, modal ad</div>
-  <img src="{@docRoot}images/gp-policy-ads-interstitial-violation.png">
-</div>
-
-<div class="example-block good" style="width:213px;">
-  <div class="heading">Adwall lets user cancel</div>
-  <img src="{@docRoot}images/gp-policy-ads-paywall.png">
-</div>
-
-<div class="example-block bad" style="width:213px;">
-  <div class="heading">Adwall forces user action</div>
-  <img src="{@docRoot}images/gp-policy-ads-paywall-violation.png">
-</div>
-
-<p style="clear:both">
-  At left is an example of an app that requires the user to click through the
-  ad to fully use the app. This is a violation of policy.
-</p>
-
-<p>
-  The center example demonstrates an adequate option to let the user dismiss
-  the ad wall easily by cancelling. This is not a violation of policy.
-</p>
-
-<p>
-  At right is an example of an interstitial, modal ad that is displayed outside
-  of the app. This is a violation of policy.
-</p>
-
-<h2 id="interfering" style="clear:right;">Interfering with Apps and Third-Party Ads</h2>
-
-<p>
-  Ads associated with your app <strong>must not interfere</strong> with other
-  apps or their ads.
-</p>
\ No newline at end of file
diff --git a/docs/html/distribute/googleplay/policies/index.jd b/docs/html/distribute/googleplay/policies/index.jd
deleted file mode 100644
index fb46055..0000000
--- a/docs/html/distribute/googleplay/policies/index.jd
+++ /dev/null
@@ -1,59 +0,0 @@
-page.title=Google Play Policies and Guidelines
-page.metaDescription=Guidelines and tips for creating apps that comply with Google Play content and distribution policies.
-@jd:body
-
-<p>
-  Before publishing your apps on Google Play, take a few minutes to read and
-  understand the content and distribution policies that apply to all apps
-  in the store. These policies help to keep Android and Google Play an enjoyable
-  and trusted platform for content consumers and developers alike.
-</p>
-
-<p>
-  The documents below highlight important policy areas and provide tips to help
-  you create policy-compliant apps. You'll also find examples and guidance on common
-  policy questions that can help your app stay clear of practices that can result in
-  low ratings or even suspensions from the store.
-</p>
-
-<p>
-  For complete information about Google Play policies, please see the full
-  <a href="http://play.google.com/about/developer-content-policy.html" target=
-  "_policies">Developer Program Policies</a> and <a href=
-  "http://play.google.com/about/developer-distribution-agreement.html" target=
-  "_policies">Developer Distribution Agreement</a> documents.
-</p>
-
-<div class="vspace size-1">
-  &nbsp;
-</div>
-<div class="layout-content-row">
-  <div class="layout-content-col span-4">
-    <h4>
-      Spam
-    </h4>
-    <p>
-      Make sure that your app does not present content that is unwanted,
-      deceptive, repetitive, or unrelated to the core function of the app.
-    </p><a href="{@docRoot}distribute/googleplay/policies/spam.html">Learn more &raquo;</a>
-  </div>
-  <div class="layout-content-col span-4">
-    <h4>
-      Intellectual Property
-    </h4>
-    <p>
-      Tips and examples of how to use intelletual property (IP) properly,
-      including when to ask permission to use someone else's copyright or
-      trademark.
-    </p><a href="{@docRoot}distribute/googleplay/policies/ip.html">Learn more &raquo;</a>
-  </div>
-  <div class="layout-content-col span-4">
-    <h4>
-      Ads
-    </h4>
-    <p>
-      Make sure that the ads displayed in your app follow the Google Play Content
-      Policy and meet the maturity rating that you have selected for your app.
-    </p><a href="{@docRoot}distribute/googleplay/policies/ads.html">Learn more &raquo;</a>
-  </div>
-</div>
\ No newline at end of file
diff --git a/docs/html/distribute/googleplay/policies/ip.jd b/docs/html/distribute/googleplay/policies/ip.jd
deleted file mode 100644
index 0d1f68d..0000000
--- a/docs/html/distribute/googleplay/policies/ip.jd
+++ /dev/null
@@ -1,345 +0,0 @@
-page.title=Intellectual Property
-@jd:body
-
-<div id="qv-wrapper">
-<div id="qv">
-  <h2>In This Document</h2>
-  <ol>
-    <li><a href="#copyright">Copyright Infringement</a></li>
-    <li><a href="#impersonation">Impersonation</a></li>
-    <li><a href="#trademarks">Trademark Infringement</a></li>
-    <li><a href="#other">DDA 4.4 Prohibited Actions</a></li>
-  </ol>
-
-  <h2>More Resources</h2>
-  <ol>
-    <li><a href="http://play.google.com/about/developer-content-policy.html"
-    target="_policies">Developer Program Policies</a></li>
-    <li><a href="http://www.android.com/us/developer-distribution-agreement.html#showlanguages"
-    target="_policies">Developer Distribution Agreement</a></li>
-  </ol>
-</div>
-</div>
-
-<p>
-  Google Play policies protect your intellectual property (IP) as well as that
-  of other app developers and content creators in the store. The policies and
-  their enforcements help ensure proper use of copyright, trademarks, and
-  developer identity in Google Play.
-</p>
-
-<p>
-  As an app developer, these IP policies benefit you. At the same time, it's
-  your responsibility to ensure that your app does not violate the IP of other
-  developers or content creators. Violations of IP-related policy may result in
-  suspension of your apps from the store and termination of your developer
-  account.
-</p>
-
-<p>
-  This document introduces several key areas of IP-related policy that you
-  should understand before publishing on Google Play. In each area you'll find
-  best practices and examples to help you avoid common types of mistakes and
-  violations.
-</p>
-
-<p>
-  For more information about Google Play policies that apply to your apps and
-  content, please see the <a href=
-  "http://play.google.com/about/developer-content-policy.html" target=
-  "_policies">Developer Program Policies</a> and <a href=
-  "http://play.google.com/about/developer-distribution-agreement.html" target=
-  "_policies">Developer Distribution Agreement</a>.
-</p>
-
-
-
-<h2 id="copyright">Copyright Infringement</h2>
-
-<p>
-  Copyright is the legal right granted to an author or creator for a literary,
-  dramatic or artistic piece of work. As soon as you create an original piece
-  of work and fix it in a tangible medium, the work is automatically protected
-  by copyright law and you are the owner of the copyright. Likewise, when other
-  people create content, they may own the copyrights for those works.
-</p>
-
-
-<div class="sidebox-wrapper">
-<div class="sidebox">
-<h2>How to report infringements</h2>
-<p>If you feel your copyright is being infringed, you may file a Digital Millenium
-   Copyright Act (DMCA) request. Please see <a 
-   href="http://support.google.com/bin/request.py?&product=androidmarket&contact_type=lr_dmca"
-   target="_policies">copyright procedures</a> for more information.</p>
-</div>
-</div>
-
-<p>
-  Copyright infringement is an improper or unauthorized use of a copyrighted
-  work. If you publish an app in Google Play that uses another party's copyrighted
-  works improperly or without permission, your apps can be suspended and your
-  developer account terminated.
-</p>
-
-<p>
-  As you design your app and prepare for publishing, make sure to review Google
-  Play policies and analyze all of your content. If your app uses or links to
-  another party's original work, make sure that your app is not infringing on
-  copyright. Not all uses of another party’s work are infringements on
-  copyright, and the rules vary by country and can be complex.
-</p>
-
-<p>
-  If you are unsure whether your use of another party's work infringes on a
-  copyright, consider getting legal advice before publishing, or simply request
-  permission to use the work from the copyright owner.
-</p>
-
-<p>
-  Here are some guidelines to help you avoid copyright infringement policy
-  violations:
-</p>
-
-<ul>
-  <li>
-    <strong>Respect copyright laws</strong>&mdash;Do not let your app infringe
-    on the copyrights of others. That includes linking to other apps or web
-    sites that contain obviously infringing material (please refer to the <a href="
-    {@docRoot}distribute/googleplay/policies/spam.html#webview-spam">Spam in WebViews</a> guidelines), and using icons or images that are obvious infringements.
-  </li>
-
-  <li>
-    <strong>Know your app's content</strong>&mdash;Before you publish, look
-    for content that may be protected by trademark or copyright in your app
-    and get legal advice if necessary. Protected work could typically include
-    product names, brands, images, music, and similar works.
-  </li>
-
-  <li>
-    <strong>Create original work</strong>&mdash;If you’re not sure whether
-    something will violate another party's copyright, the safest approach is to
-    create something that's completely original, such as images or audio
-    that you’ve created yourself. When you create your own original content,
-    you rarely have to worry about infringing on existing copyright.
-  </li>
-
-  <li>
-    <strong>Ask permission to use copyrighted work</strong>&mdash;If you want
-    to use another party's copyrighted work in your app, you should ask for
-    permission from the work's creator or copyright owner and include
-    appropriate copyright attribution.
-  </li>
-</ul>
-
-<p>
-  A common misunderstanding is believing that your app may use copyrighted
-  content without permission, provided that you clearly indicate that your app
-  is not the "official" app that readers may be familiar with. That is not the
-  case. Even if you let users know that your app is "unofficial", it still
-  violates Google Play policies if it uses or links to copyrighted content
-  without permission. Also, this type of "unofficial" app may violate <a
-  href="#impersonation">impersonation policies</a>.
-</p>
-
-<p>
-  The example app below shows an app that uses screenshots/images of known
-  artists without their authorization and lists popular songs. The combination
-  of these may induce users to download music ringtones that infringe on
-  copyright. This is a violation of Google Play policy.
-</p>
-
-<div class="example-block bad" style="width:100%;float:none;margin:.5em auto 2em 0;">
-  <div class="heading">Images and downloads that violate copyright</div>
-  <img src="{@docRoot}images/gp-policy-ip-copyright-violation.png">
-</div>
-
-
-<h2 id="impersonation">Impersonation</h2>
-
-<p>
-  Impersonation is when an app attempts to imply a relationship to another app
-  or developer, where no relationship actually exists.
-</p>
-
-<p>
-  For example, if your app displays the brand, icon, or title from another app
-  in order to get to users to download your app, you are leading users to
-  believe that your app is developed by the same entity as the other app and
-  offers similar content or experience. This is an impersonation of the other
-  app and developer, and it is a violation of Google Play policy. If you
-  publish apps that violate impersonation policies, your apps can be suspended
-  and your developer account terminated.
-</p>
-
-<p>
-  No matter what type of app you offer or what your motivation, don’t try to
-  imply an endorsement or relationship to another company or product where none
-  exists. Don’t try to establish your app as the "official" version of another
-  party's work by prominently featuring their brand names or trademarks in your
-  app title or description.
-</p>
-
-<p>
-  Even if your app description states that your app is an "unofficial" version,
-  the use of the other app's branding, trademarks, and other content still can
-  violate policy by presenting content that isn’t yours.
-</p>
-
-<p>
-  Here are some guidelines:
-</p>
-
-<ul>
-  <li>
-    <strong>Don't pretend to be someone else</strong>&mdash; Don't represent
-    that your content is produced by another company or organization if that is
-    not the case.
-  </li>
-
-  <li>
-    <strong>Don't support infringing sites or apps</strong>&mdash; Don't divert
-    users or provide links to any other site that mimics Google Play or
-    represents itself as another application or service.
-  </li>
-
-  <li>
-    <strong>Don't use another app's branding</strong>&mdash; Don’t try to pass
-    off your app as the official version of someone else’s property by using a
-    person or entity (or brand) name in your app title or description.
-  </li>
-</ul>
-
-<p>
-  Below is an example of an "unofficial" app that violates Google Play policy
-  by impersonating another company and an existing product. Specifically:
-</p>
-
-<ul>
-  <li>The example app has a name and icon that appear to be impersonating an
-  existing product.
-  </li>
-
-  <li>The example developer name implies an endorsement or relationship to
-  another company and their products where none exists.
-  </li>
-</ul>
-
-<div class="example-block bad" style="width:100%;float:none;margin:.5em auto 2em 0;">
-  <div class="heading">App name, icon, and developer name that impersonate another</div>
-  <img src="{@docRoot}images/gp-policy-ip-impersonation-violation.png">
-</div>
-
-
-<h2 id="trademarks">Trademark Infringement</h2>
-
-<p>
-  A trademark is a brand that uniquely identifies a product and distinguishes
-  it from other products. It can be a word, name, symbol, or combination of
-  those that is intended to identify the source of the product. A trademark is
-  specifically acquired by a company or other entity through a legal process
-  and once acquired gives the owner exclusive rights to the trademark usage.
-</p>
-
-<div class="sidebox-wrapper">
-<div class="sidebox">
-<h2>How to report infringements</h2>
-<p>If you feel your trademark is being infringed, you can request a content review.
-See <a href="http://support.google.com/bin/static.py?&ts=1114905&page=ts.cs"
-target="_policies">Removing content from Google</a> for more information.</p>
-</div>
-</div>
-
-<p>
-  Trademark infringement is improper or unauthorized use of a trademark. Google
-  Play policies prohibit apps that infringe trademarks. If you publish apps in
-  Google Play that use another party's trademarks, your apps can be suspended
-  and your developer account terminated.
-</p>
-
-<p>
-  As you design your app and prepare for publishing, make sure to review Google
-  Play policies and analyze all of your content. If your app uses a trademark
-  not owned by you, or if you are not sure whether a brand is a trademark, you
-  should get legal advice before publishing. As with copyright, the rules vary
-  by country and can be complex.
-</p>
-
-<p>
-  Here are some guidelines for avoiding trademark infringement policy
-  violations:
-</p>
-
-<ul>
-  <li>
-    <strong>Understand and follow trademark laws</strong>&mdash;Don't let your
-    app infringe on the trademarks of others.
-  </li>
-
-  <li>
-    <strong>Know your app's content</strong>&mdash;Before you publish, look for
-    brands and potential trademarks used in your app and store listing and get
-    legal advice if necessary.
-  </li>
-
-  <li>
-    <strong>Use a distinct name</strong>&mdash;Don't give your app a name that
-    is confusingly similar to another company's trademark.
-  </li>
-
-  <li>
-    <strong>Don't use trademarks to imply a relationship</strong>&mdash;Don't
-    describe your app using another company's trademarks in a way that implies
-    an endorsement by or affiliation with the other company.
-  </li>
-
-  <li>
-    <strong>Use a distinct app icon and logo</strong>&mdash;Don't use a
-    modified version of another company’s trademarked logo.
-  </li>
-</ul>
-
-<p>
-  A common misunderstanding is believing that your app may use a brand or
-  trademark without permission, provided you clearly indicate that the app is
-  not the "official" or original app. That is not the case. Even if you let
-  users know that your app is "unofficial", it still violates Google Play
-  policies if it uses another party's trademarks. Also, this type of
-  "unofficial" app may violate <a href="#impersonation">impersonation
-  policies</a>.
-</p>
-
-<p>
-  Below is an example app that violates Google Play policies by infringing on
-  another party's trademarks. Specifically:
-</p>
-
-<ul>
-  <li>The example app name is confusingly similar to another party's trademark.</li>
-  <li>The example app icon is a modified version of a another party's logo.</li>
-</ul>
-
-<div class="example-block bad" style="width:100%;float:none;margin:.5em auto 2em 0;">
-  <div class="heading">App name and icon that infringe trademarks</div>
-  <img src="{@docRoot}images/gp-policy-ip-trademark-violation.png">
-</div>
-
-
-<h2 id="other">DDA 4.4 Prohibited Actions</h2>
-
-<p>
-  When you publish an app on Google Play, you agree to the terms of the
-  Developer Distribution Agreement (DDA). Section 4.4 of the DDA prohibits certain
-  types of actions on your part. For reference, you agree that you will not
-  engage in any activity with the Market, including the development or
-  distribution of Products, that interferes with, disrupts, damages, or
-  accesses in an unauthorized manner the devices, servers, networks, or other
-  properties or services of any third party including, but not limited to,
-  Android users, Google or any mobile network operator.
-</p>
-
-<p>
-  For details, please refer to the complete <a href=
-  "http://play.google.com/about/developer-distribution-agreement.html" target=
-  "_policies">Developer Distribution Agreement</a>.
-</p>
\ No newline at end of file
diff --git a/docs/html/distribute/googleplay/policies/spam.jd b/docs/html/distribute/googleplay/policies/spam.jd
deleted file mode 100644
index f4d303c..0000000
--- a/docs/html/distribute/googleplay/policies/spam.jd
+++ /dev/null
@@ -1,421 +0,0 @@
-page.title=Spam
-@jd:body
-
-<div id="qv-wrapper">
-<div id="qv">
-  <h2>In This Document</h2>
-  <ol>
-    <li><a href="#keyword-spam">Spam in App Title and Description</a></li>
-    <li><a href="#ratings">Spam in Ratings and Reviews</a></li>
-    <li><a href="#webview-spam">Spam in WebViews</a></li>
-    <li><a href="#wizard-spam">Spam from Wizards</a></li> 
-    <li><a href="#message-spam">Spam in Messaging</a></li>
-  </ol>
-
-  <h2>More Resources</h2>
-  <ol>
-    <li><a href="http://play.google.com/about/developer-content-policy.html" target="_policies">Developer Program Policies</a></li>
-    <li><a href="http://play.google.com/about/developer-distribution-agreement.html" target="_policies">Developer Distribution Agreement</a></li>
-  </ol>
-</div>
-</div>
-
-<p>
-  Google Play policies prohibit spam, to help ensure the best experience for
-  Android users. Please do not publish deceptive, repetitive, or irrelevant
-  content on Google Play. Not only will it lower your app's rating and cause
-  negative reviews, it can result in your app being suspended or your developer
-  account terminated.
-</p>
-
-<p>
-  As an app developer, it is your responsibility to ensure that your apps are
-  free from spam and conform to the Google Play policies highlighted in this
-  document. Before you publish, make sure that you understand what is
-  considered spam on Google Play and check your apps for violations, even those
-  that might be inadvertent. The sections below highlight best practices and
-  common spam examples to help you avoid the most common types of policy
-  violations.
-</p>
-
-<p>
-  For more information about Google Play policies that apply to your apps and
-  content, please see the <a href=
-  "http://play.google.com/about/developer-content-policy.html" target=
-  "_policies">Developer Program Policies</a> and <a href=
-  "http://play.google.com/about/developer-distribution-agreement.html" target=
-  "_policies">Developer Distribution Agreement</a>.
-</p>
-
-
-<h2 id="keyword-spam">Spam in App Title and Description</h2>
-
-<p>
-  When you publish an app on Google Play, you should pay special attention to
-  the app's title and description in its store listing. Those fields are
-  important because they make your app recognizable to users, and they help to
-  drive downloads by highlighting what's great about your app. A memorable
-  title and compelling description are essential to effective marketing, but
-  you should realize that these must follow Google Play policies, just as your
-  app content must do.
-</p>
-
-<p>
-  Many developers unknowingly violate spam policy in their app titles and
-  descriptions in ways that are easy to avoid. In general, you can
-  avoid spam violations in your app title and description by following these
-  best practices:
-</p>
-
-<ul>
-  <li>
-    <strong>Highlight what's great about your app</strong>&mdash;Share
-    interesting and exciting facts about your app with users. Help users
-    understand what makes your app special.
-  </li>
-
-  <li>
-    <strong>Describe your app accurately</strong>&mdash;Make sure the title
-    and description describe the app function and user experience accurately.
-  </li>
-
-  <li>
-    <strong>Don't use repetitive keywords</strong>&mdash;Avoid keywords that
-    are repetitive or excessive.
-  </li>
-
-  <li>
-    <strong>Don't include unrelated keywords or references</strong> &mdash;
-    Your description should not be loaded with irrelevant keywords in an
-    attempt to manipulate ranking or relevancy.
-  </li>
-
-  <li>
-    <strong>Keep it brief</strong>&mdash;Keep the description succinct and
-    straightforward. Shorter descriptions tend to give a better user experience
-    on devices with smaller displays. Excessive length, detail, or repetition
-    can violate spam policy.
-  </li>
-</ul>
-
-<p>
-  Here's an example app title and description that follows best practices and
-  does not violate Google Play spam policies.
-</p>
-
-<div class="example-block good" style="width:100%;float:none;margin:.5em auto 2em 0;">
-  <div class="heading">Best practice: App description</div>
-  <table>
-  <tr>
-    <td>App Title:</td>
-    <td>Kids puzzle: Identify Turtles</td>
-  </tr>
-  <tr>
-    <td style="white-space:nowrap;">App Description:</td>
-    <td>
-      <p>This is the perfect app to have a good time with your children. It
-        is designed to help kids learn different species of turtles through
-        cute pictures and amusing puzzle games.</p>
-      <p>The rules of Kids puzzle: Identify Turtles are quite simple. Have
-        your child drag images around the screen to fit them into the shaded
-        region. Phonics is also utilized, as a child can also tap the word
-        below the image and hear the name pronounced.</p>
-    </td>
-  </tr>
-  </table>
-</div>
-
-<p>
-  The sections below highlight common types of policy violations in an app
-  title and description, illustrated with variations on the best practice
-  example. 
-</p>
-
-<h3 id="repetitive-keywords">Repetitive keywords</h3>
-
-<p>
-  Your app description should not include keywords that are repetitive or excessive.
-</p>
-
-<div class="example-block bad" style="width:100%;float:none;margin:.5em auto 2em 0;">
-  <div class="heading">Description includes repetitive keywords</div>
-  <table>
-  <tr>
-    <td>App Title:</td>
-    <td>Kids puzzle: Identify Turtles</td>
-  </tr>
-  <tr>
-    <td style="white-space:nowrap;">App Description:</td>
-    <td>
-      <p>This is the perfect app to have a good time with your children. It is
-        designed to help kids learn different species of turtles through cute
-        pictures and amusing puzzle games.</p>
-      <p>The rules of Kids puzzle: Identify Turtles are quite simple. Have your
-        child drag images around the screen to fit them into the shaded region.
-        Phonics is also utilized, as a child can also tap the word below the image
-        and hear the name pronounced.</p>
-      <p style="border:2px solid red;">KEYWORDS: game, games, fun, funny, child,
-        children, kid, kids, puzzle, puzzle games, sound, turtle, turtles, sea turtles,
-        turtles, turtle, turtles, tortoise, tortoises, tortoise, tortoise,  turtles,
-        turtles, turtles, turtles, tortoises, tortoise</p>
-    </td>
-  </tr>
-  </table>
-</div>
-
-<h3 id="unrelated-keywords">Unrelated keywords or references</h3>
-
-<p>
-  The description should not be loaded with irrelevant keywords in an attempt
-  to manipulate ranking or relevancy in Google Play search results.
-</p>
-
-<p>
-  For example, if your app has nothing to do with Lady Gaga, then she shouldn’t
-  be included in your description. Also, do not add highly searched, irrelevant
-  keywords that are unrelated to the function of the app. This is in breach of
-  policy.
-</p>
-
-<div class="example-block bad" style="width:100%;float:none;margin:.5em auto 2em 0;">
-  <div class="heading">Description includes unrelated keywords or references</div>
-  <table>
-  <tr>
-    <td>App Title:</td>
-    <td>Kids puzzle: Identify Turtles</td>
-  </tr>
-  <tr>
-    <td style="white-space:nowrap;">App Description:</td>
-    <td>
-      <p>This is the perfect app to have a good time with your children. It is designed to
-        help kids learn different species of turtles through cute pictures and amusing puzzle
-        games.</p>
-      <p>The rules of Kids puzzle: Identify Turtles are quite simple. Have your child drag
-        images around the screen to fit them into the shaded region. Phonics is also utilized,
-        as a child can also tap the word below the image and hear the name pronounced.</p>
-      <p style="border:2px solid red;">This game is as addictive as Angry Birds, more social
-        than Facebook and Twitter, and has a soundtrack reminiscent of Katy Perry and Lady
-        Gaga.</p>
-      <p style="border:2px solid red;">KEYWORDS: Angry Birds, Facebook, Twitter, Katy Perry,
-        Lady Gaga</p>
-    </td>
-  </tr>
-  </table>
-</div>
-
-<h3 id="excessive-detail">Excessive detail, references to your other apps</h3>
-
-<p>
-  Your app description should avoid excessive detail and references to your
-  other apps or products. For example, you should not list all of the details
-  of content included in the app or its various components, as shown in the
-  example below. Also, the description should not include any references to
-  other apps you’ve published.
-</p>
-
-<div class="example-block bad" style="width:100%;float:none;margin:.5em auto 2em 0;">
-  <div class="heading">Description includes excessive detail, references to your other apps</div>
-  <table>
-  <tr>
-    <td>App Title:</td>
-    <td>Kids puzzle: Identify Turtles</td>
-  </tr>
-  <tr>
-    <td style="white-space:nowrap;">App Description:</td>
-    <td>
-      <p>This is the perfect app to have a good time with your children. It is designed
-        to help kids learn different species of turtles through cute pictures and amusing
-        puzzle games.</p>
-      <p>The rules of Kids puzzle: Identify Turtles are quite simple. Have your child
-        drag images around the screen to fit them into the shaded region. Phonics is also
-        utilized, as a child can also tap the word below the image and hear the name
-        pronounced.</p>
-      <p style="border:2px solid red;">Turtles included in the app: Alligator
-        Snapping Turtle, Asian Box Turtle, Bog Turtle, Common Musk Turtle, Common Snapping
-        Turtle, Diamondback Terrapin, Eastern Box Turtle, Eastern Mud Turtle, Eastern Painted
-        Turtle, False Map Turtle, Florida Pond Cooter, Florida Softshell Turtle, Green Sea
-        Turtle, Map Turtle, Matamata Ornate Box Turtle, Red-bellied Side-necked Turtle,
-        Red-eared Slider, Smooth Softshell Turtle, Spiny Softshell Turtle, Spotted Turtle,
-        Western Painted Turtle, Wood Turtle, Yellow-bellied Slider</p>
-      <p style="border:2px solid red;">If you like this app try our other free apps:<br />
-       ★ Fun Zoo<br />
-       ★ CD Guns<br />
-       ★ Dessert House<br />
-       ★ Playground<br />
-       ★ 578 Weapons</p>
-    </td>
-  </tr>
-  </table>
-</div>
-
-
-<h2 id="ratings">Spam in Ratings and Reviews</h2>
-
-<div class="example-block bad" style="width:440px;">
-  <div class="heading">Inappropriate content in a review</div>
-  <img src="{@docRoot}images/gp-policy-spam-negreview.png">
-</div>
-
-<p>
-  Ratings and reviews are benchmarks of app quality and users depend on them to
-  be authentic and relevant. As an app developer, you should not attempt to
-  artificially influence your app's ratings and reviews or those of your
-  competitor, such as by posting fake ratings or reviews or including spam
-  content in app reviews. The sections below provide guidelines for rating and
-  reviewing apps.
-</p>
-
-<p>
-  So that you can stay in touch with any issues that users are having with your
-  app, you should read through your ratings and reviews on a regular basis. If
-  you choose to reply to reviews, make sure to keep your reply focused on the
-  actual issues raised in the user's comments and do not ask for a higher
-  rating.
-</p>
-
-<p>
-  If you see an app or developer reply that doesn’t follow these guidelines,
-  you can report it. See <a href=
-  "http://support.google.com/googleplay/android-developer/bin/answer.py?hl=en&answer=113417&topic=2364761&ctx=topic"
-  target="_policies">Inappropriate content in comments and applications</a> for
-  more information.
-</p>
-
-<div class="example-block bad" style="margin-top:3em;width:213px;">
-  <div class="heading">Soliciting ratings</div>
-  <img src="{@docRoot}images/gp-policy-spam-reqrating.png">
-</div>
-
-<h3 id="fake-ratings">Fake or inappropriate ratings and reviews</h3>
-
-<p>
-  To help ensure the quality of ratings and reviews, Google Play policies limit
-  the ways that individuals can use ratings and reviews. In particular, note
-  that it is a violation of policy to use ratings and reviews to influence the
-  placement of any app in Google Play.
-</p>
-
-<p>
-  As an app developer, make sure that you follow these guidelines:
-</p>
-
-<ul>
-  <li>
-    <strong>Don't try to manipulate ratings</strong>&mdash;Do not engage in
-    attempts to manipulate the ratings, reviews, or ranking of your apps,
-    either directly or indirectly, or by manipulating the ratings of your
-    competitors. Do not attempt to artificially boost reviews, ratings, or
-    installs through any means.
-  </li>
-
-  <li>
-    <strong>Don't solicit ratings through incentives</strong>&mdash;Do not
-    offer users any incentives to rate your app, such as offering rewards of
-    any kind or tying app functionality to rating.
-  </li>
-
-  <li>
-    <strong>Don't rate apps multiple times</strong>&mdash;Do not review or
-    rate any app multiple times in an attempt to influence its placement in
-    Google Play.
-  </li>
-
-  <li>
-    <strong>Don't add improper content to reviews</strong>&mdash;Do not
-    include affiliate, coupon, game codes, email addresses, or links to
-    websites or other apps in your reviews. If you are responding to a user
-    review, feel free to include references to helpful resources such as a
-    support address or FAQ page.
-  </li>
-</ul>
-
-<h3 id="solicited-ratings">Soliciting ratings from users</h3>
-
-<p>
-  In general, <strong>do not offer incentives for ratings</strong>. You should
-  not offer users incentives of any kind for rating your app (or any other app)
-  on Google Play, and you should not tie your app's functionality or content to
-  rating in any way.
-</p>
-
-<p>
-  It's acceptable to ask users to rate your app without incentives, for
-  example: "If you like this game, rate us in Google Play!" On the other hand,
-  it's a policy violation to ask users to rate your app based on incentives,
-  for example: "Rate this app and get 500 coins" or "Rate this app 5 stars and
-  get you 500 coins!"
-</p>
-
-
-<h2 id="webview-spam" style="clear:right">Spam in WebViews</h2>
-
-<p>
-  Apps published on Google Play should provide their own content. Do not
-  publish an app whose primary function is to reproduce or frame someone else’s
-  website (unless you have permission).
-</p>
-
-<p>
-  Similarly, do not publish an app whose primary function is to drive affiliate
-  traffic to a website. Although affiliate deals can exist where an app's
-  primary purpose is delivering its own content or functionality, it's a
-  violation of Google Play policies to publish an app whose primary (or
-  only) purpose is to direct affiliate traffic to another website.
-</p>
-
-<div class="example-block bad" style="width:100%;float:none;margin:.5em auto 2em 0;">
-  <div class="heading">WebView spam</div>
-  <table>
-  <tr>
-    <td>App Title:</td>
-    <td>Kids puzzle: Desktop Browser for Turtoogle Game</td>
-  </tr>
-  <tr>
-    <td>Developer:</td>
-    <td>AAZZZ <span style="border:2px solid red;">(not affiliated with Turtoogle
-      Inc.)</span></td>
-  </tr>
-  <tr>
-    <td style="white-space:nowrap;">App Description:</td>
-    <td>
-      <p>Have you ever wanted to use the full, desktop web version of Turtoogle
-        Game from your phone or tablet instead of the Turtoogle Game mobile app
-        or Turtoogle Game mobile web site?</p>
-      <p style="border:2px solid red;">This app lets you access Turtoogle Game
-        on your Android device in the same way as you access the game on your
-        desktop computer, and with all the same Turtoogle Game features.</p>
-    </td>
-  </tr>
-  </table>
-</div>
-
-
-<h2 id="wizard-spam">Spam from Wizards</h2>
-
-<p>
-  Apps that are created by an automated tool or wizard service must not be
-  submitted to Google Play by the operator of that service on behalf of other
-  persons. Such tools often produce too many duplicative or low-quality
-  apps which crowd the higher-quality apps in the Play Store.
-</p>
-
-<p>
-  Please be advised that apps created by an automated tool are only permissible
-  if the app end-product complies with Google Play policies and is published in
-  the Play Store through a developer account that is registered and owned by
-  you.
-</p>
-
-
-<h2 id="message-spam">Spam in Messaging</h2>
-
-<p>
-  Your app may not send SMS, email, or other messages on behalf of the user
-  without providing the user with the ability to confirm the content and intended
-  recipient.
-</p>
-
-<p>
-  Google Play will aggressively remove applications that are found to send or
-  modify SMS messages without user knowledge or consent.
-</p>
\ No newline at end of file
diff --git a/docs/html/distribute/googleplay/promote/index.jd b/docs/html/distribute/googleplay/promote/index.jd
deleted file mode 100644
index 6882990..0000000
--- a/docs/html/distribute/googleplay/promote/index.jd
+++ /dev/null
@@ -1,43 +0,0 @@
-page.title=Promoting Your Apps
-page.metaDescription=Raise the visibility of your apps in Google Play through deep links  and Google Play badges.
-header.hide=0
-footer.hide=0
-@jd:body
-
-<!--
-<style>
-#landing-graphic-container {
-  position: relative;
-}
-
-#text-overlay {
-  position: absolute;
-  left: 0;
-  top: 472px;
-  width: 280px;
-}
-</style>
-
-<div id="landing-graphic-container">
-  <div id="text-overlay">
-   Raise the visibility of your apps with badges and link users to your products on Google Play.
-    <br><br>
-    <a href="{@docRoot}distribute/googleplay/promote/product-pages.html" class="landing-page-link">Your Product Pages</a>
-  </div>
-
-  <a href="{@docRoot}distribute/googleplay/promote/index.html">
-    <img src="{@docRoot}design/media/index_landing_page.png">
-  </a>
-</div> -->
-
-<p>After you publish your app, you can bring Android users to your app's product details page by
-providing links in your social network posts, ad campaigns, app reviews and articles, your
-web site, and more. </p>
-
-<p>You can use the resources in this section to create deep links for your online placements.
-Google Play badges are an especially great way let Android users know that your app is available
-and link them directly to your download page. With the badge generator, they're also easy to make.</p>
-
-
-<p style="margin-top:1.5em;margin-bottom:1.5em;"><a href="{@docRoot}distribute/googleplay/promote/linking.html" class="landing-page-link">Linking to Your Products</a></p>
-
diff --git a/docs/html/distribute/googleplay/promote/product-pages.jd b/docs/html/distribute/googleplay/promote/product-pages.jd
deleted file mode 100644
index af5b2d5..0000000
--- a/docs/html/distribute/googleplay/promote/product-pages.jd
+++ /dev/null
@@ -1,4 +0,0 @@
-page.title=Your Product Pages
-@jd:body
-
-<p>Placeholder...</p>
\ No newline at end of file
diff --git a/docs/html/distribute/googleplay/publish/console.jd b/docs/html/distribute/googleplay/publish/console.jd
deleted file mode 100644
index 3831e51..0000000
--- a/docs/html/distribute/googleplay/publish/console.jd
+++ /dev/null
@@ -1,198 +0,0 @@
-page.title=Developer Console
-@jd:body
-
-
-<p>Once you've <a
-href="{@docRoot}distribute/googleplay/publish/register.html">registered</a> and
-received verification by email, you can sign in to your Google Play
-Developer Console, which will be the home for your app publishing operations and
-tools on Google Play. This sections below introduce a few of the key areas
-you'll find in the Developer Console.</p>
-
-<div class="figure" style="width:756px;">
-<img src="{@docRoot}images/gp-dc-home.png" class="frame">
-<p class="img-caption"><strong>All applications page</strong>: Gives you a quick
-overview of your apps, lets you jump to stats, reviews, and product details, or
-upload a new app. </p>
-</div>
-
-<div class="figure-right" style="width:450px;">
-<img src="{@docRoot}images/gp-dc-profile.png" class="frame">
-<p class="img-caption"><strong>Account details page</strong>: Specifies your developer
-identity and contact information, accounts for app testing, and more.</p>
-</div>
-
-<h3 id="profile">Your account details</h3>
-
-<p>The account details page is where you specify basic information about yourself
-or your company in a developer profile. The information in your developer profile
-is important because it identifies you to Google Play and also to your customers.</p>
-
-<p>During registration you must provide the information for your profile, but you can
-go back at any time to edit the information and change your settings. </p>
-
-<p>Your developer profile contains:</p>
-<ul>
-<li>Your developer name &mdash; the name you want to show users on your store
-listing page and elsewhere on Google Play. </li>
-<li>Your developer contact information &mdash; how Google can contact you if
-needed (this information isn't exposed to users).</li>
-<li>Your developer website URL &mdash; shown to users on your store listing page
-so they can learn more about your company or products.</li>
-</ul>
-
-<p>On the account details page you can also register for a merchant account, set
-up test accounts for Google Play licensing, and more. </p>
-
-<h3 id="user-accounts">Multiple user accounts</h3>
-
-<p>If you are working with a team, you can set up multiple user accounts to
-access different parts of your Developer Console. The first account registered
-is the <em>account owner</em>, with full access to all parts of the Console. The
-owner can add <em>user accounts</em> and manage what parts of the Console they
-have access to. For example, an owner can grant users access to publishing and
-app configuration, but not access to financial reports. </p>
-
-
-<div class="figure-right" style="width:450px;">
-<img src="{@docRoot}images/gp-dc-details.png" class="frame">
-<p class="img-caption"><strong>Store listing page</strong>: Lets you upload your
-graphic assets, description, support information, and other information to
-create the store listing page for a specific app.</p>
-</div>
-
-<h3 id="merchant">Linking your Merchant Account</h3>
-
-<p>If you want to sell apps or in-app products, you can link your Google
-Wallet merchant account to your developer profile. Google Play uses the linked
-merchant account for financial and tax identification and monthly payouts of
-sales. </p>
-
-<h3 id="details">Your store listing details</h3>
-
-<p>The Developer Console lets you set up a colorful storefront page for your app
-called the <em>Store Listing page</em>. Your Store Listing page is the home
-for your app in Google Play &mdash; it's the page users see on their mobile
-phones or on the web when they want to learn about your app and download it.
-</p>
-
-<p>You can upload custom brand assets, screen shots, and videos to highlight
-what's great about your app, and you can provide a localized description, add
-notes about the latest version, and more. You can update your store listing at
-any time, even if you don’t have a new version of your application.</p>
-
-<h3 id="uploading">Uploading and publishing</h3>
-
-<p>From the Developer Console you can quickly upload a release-ready APK and
-publish it when you're ready. The app is a <em>draft</em> until you publish it,
-at which time Google Play makes your store listing page and app available to
-users. You can unpublish the app at any time.</p>
-
-<h3 id="controls">Distribution controls</h3>
-
-<p>In the Developer Console you can manage what countries and territories the
-app is distributed to and, for some countries, you can choose what carriers you
-want to target.</p>
-
-<p>You can also see the list of devices that your app is currently available to,
-based on any distribution rules declared in its manifest file.</p>
-
-<h3 id="selling">Selling and pricing your products</h3>
-
-<p>The Developer Console gives you tools to set prices for your apps and in-app
-products. Your app can either be free to download or priced (charged before
-download). </p>
-
-<div class="sidebox-wrapper">
-<div class="sidebox">
-<p>See <a href="http://support.google.com/googleplay/android-developer/bin/answer.py?hl=en&answer=138294&topic=2365624&ctx=topic">Supported locations for distributing applications</a> for a list of countries where you can distribute or sell your app,</p>
-</div>
-</div>
-
-<ul>
-<li>If you publish your app as free, <span style="font-weight:500;">it must
-remain free</span>. Free apps can be downloaded by any users in Google
-Play.</li>
-<li>If you publish it as priced, you can later change it to free. Priced apps can be
-purchased and downloaded only by users who have registered a form of payment
-in Google Play.</li>
-</ul>
-
-<p>In addition, you can sell in-app products and subscriptions in your app,
-whether the app is free or priced. You can set prices separately for priced apps,
-in-app products, and subscriptions.</p>
-
-<p>If you are selling a priced app or in-app products or subscriptions, the
-Developer Console lets you set prices in a large number of different currencies.
-When users around the world visit your store listing, they see the price
-of your app in their own currency. For most countries, the price you set is the
-final price charged to users, inclusive of taxes. </p>
-
-<p>To help you manage your prices, the Developer Console provides an autofill
-capability that uses recent exchange rates to populate the prices in all
-supported currencies. You can change prices for apps and in-app products at any
-time, just by saving changes in the Developer Console.</p>
-
-<h3>In-app Billing</h3>
-
-<div class="sidebox-wrapper">
-<div class="sidebox">
-<h2>In-app Billing</h2>
-<p>For details on how to implement In-app Billing, see the
-<a href="{@docRoot}google/play/billing/index.html">In-app Billing</span></a>
-developer documentation.</p></div></div>
-
-<p><a href="{@docRoot}google/play/billing/index.html">In-app Billing</a> is
-a Google Play service that lets you monetize your apps in more ways by selling
-in-app products and subscriptions. In-app products are one-time purchases, while
-subscriptions are recurring charges on an monthly or annual basis.</p>
-
-<p>From the Developer Console you can create product lists for in-app
-products and subscriptions, set prices, and publish.</p>
-
-<div class="figure-right" style="width:410px;">
-<img src="{@docRoot}images/gp-dc-reviews.png" class="frame">
-<p class="img-caption"><strong>User
-reviews page</strong>: Gives you access to user reviews for a specific app.
-You can filter  reviews in a number of ways to locate issues more easily
-and support your customers more effectively.</p>
-</div>
-
-<h3>User reviews and crash reports</h3>
-
-<p>Google Play makes it easy for users to submit reviews of your app for the
-benefit of other users. The reviews are also extremely important to you, since
-they give you usability feedback, support requests, and important functionality
-issues direct from your customers. </p>
-
-<p>The Developer Console also lets you see crash reports, with stack trace and
-other data, submitted automatically from Android devices, for debugging and
-improving your app.</p>
-
-<h3>App statistics</h3>
-
-<p>The Developer Console gives you detailed statistics on the install
-performance of your app. </p>
-
-<p>You can view installations of your app measured by unique users, as well as
-by unique devices. For user installations, you can view active installs, total
-installs, daily installs and uninstalls, and metrics about user ratings.
-For devices, you can see active
-installs as well as daily installs, uninstalls, and upgrades.</p>
-
-<p>You can zoom into the installation numbers along several dimensions,
-including Android platform version, device, country, language, app version, and
-carrier (mobile operator). You can see the installation data for each dimension
-on a timeline charts.</p>
-
-<p>At a glance, these charts highlight your app’s installation peaks and
-longer-term trends, which you can correlate to promotions, app improvements, or
-other factors. You can even focus in on data inside a dimension by adding
-specific points (such as individual platform versions or languages) to the
-timeline.</p>
-
-<div style="width:530px;">
-<img src="{@docRoot}images/gp-dc-stats.png" class="frame">
-<p class="img-caption"><strong>App statistics page</strong>: Shows you a variety
-of statistics about a specific app's installation performance over time.</p>
-</div>
diff --git a/docs/html/distribute/googleplay/publish/index.jd b/docs/html/distribute/googleplay/publish/index.jd
deleted file mode 100644
index 5a5eaf2..0000000
--- a/docs/html/distribute/googleplay/publish/index.jd
+++ /dev/null
@@ -1,23 +0,0 @@
-page.title=Publishing on Google Play
-header.hide=1
-footer.hide=1
-page.metaDescription=Get started publishing apps on Google Play.
-
-@jd:body
-
-<div style="height:413px;padding-top:50px;">
-    <img src="{@docRoot}images/gp-devconsole-home.png" style="margin-top:0px;">
-</div>
-
-<div style="width:460px;padding-bottom:40px;margin-left:1.5em;"> 
-  <p>Upload apps, build your product pages, configure prices and
-  distribution, and publish. You can manage all phases of publishing
-  on Google Play through the Developer Console, from any web browser.</p>
-
-<p style="margin-top:1.5em;margin-bottom:1.5em;"><a href="{@docRoot}distribute/googleplay/publish/register.html" class="landing-page-link">Get started</a></p>
-</div>
-
-
-
-
-
diff --git a/docs/html/distribute/googleplay/publish/localizing.jd b/docs/html/distribute/googleplay/publish/localizing.jd
deleted file mode 100644
index 1a5f3c1..0000000
--- a/docs/html/distribute/googleplay/publish/localizing.jd
+++ /dev/null
@@ -1,600 +0,0 @@
-page.title=Localization Checklist
-page.tags="localize","localization","resources", "formats", "l10n"
-@jd:body
-
-<div id="qv-wrapper"><div id="qv">
-<h2>Checklist</h2>
-<ol>
-<li><a href="#target-languages">1. Identify target languages</a></li>
-<li><a href="#design">2. Design for localization</a></li>
-<li><a href="#strings">3. Manage strings for localization</a></li>
-<li><a href="#translate">4. Translate UI strings</a></li>
-<li><a href="#test">5. Test your localized app</a></li>
-<li><a href="#prelaunch">6. Prepare for international launch</a></li>
-<li><a href="#support">7. Support international users</a></li>
-</ol>
-<h2>See Also</h2>
-<ol>
-<li><a href="{@docRoot}distribute/googleplay/promote/badges.html">Google Play Badge Builder</a></li>
-<li><a href="{@docRoot}distribute/promote/device-art.html">Device Art Generator</a></li>
-<li><a href="#gp-trans">Translations in Google Play</a></li>
-<li><a href="{@docRoot}sdk/installing/installing-adt.html#tmgr">ADT Translation Manager Plugin</a></li>
-</ol>
-</div></div>
-
-<p>Android and Google Play give you a worldwide audience for your app, with an
-addressable user base that's growing very rapidly in countries such as Japan,
-Korea, India, Brazil, Russia, and elsewhere. </p>
-
-<p>To maximize your app's distribution potential and earn high ratings from
-users around the world, we strongly encourage you to localize your app. </p>
-
-<p>Localization involves a variety of tasks throughout your app's development
-cycle, and advance planning is essential. Some of the tasks include
-translating your UI strings and localizing dates and times, layouts, text
-direction, and finally your Google Play store listing. </p>
-
-<p>This document helps you identify key aspects of localization to prepare for
-and the tasks you'll need to perform, to get your app ready for a
-successful worldwide launch on Google Play.</p>
-
-
-<h2 id="target-languages">1. Identify target languages and locales</h2>
-
-<p>A basic but important step in preparing for localization is identifying the
-countries where you will distribute your app and the languages spoken there.
-Google Play lets you distribute your app broadly to hundreds of countries, reaching
-users who speak a variety of languages. </p>
-
-<p>For international users, you can manage your app on three main dimensions:
-country, locale, and language. Of those, language is the key consideration for
-localization, although locale is also significant because of differences in
-formats for dates, times, currencies, and similar information. Users control
-both the language and locale used on their Android devices and in turn those
-affect the display of your app, once installed.</p>
-
-<p>Typically, you would decide which countries to target first, based on overall
-market size and opportunity, app category, competitive landscape, local pricing
-and financial factors, and so on. Then, based on your country targeting, you
-would determine the languages you need to support in your app. </p>
-
-<p>You will need to decide when to localize into some or all of the languages in your targeted countries. In some countries it might make most sense to deliver an app
-in a major regional or international language only, rather than in all locally
-spoken languages. Similarly, based on overall market size, you might decide to
-deliver your app in only a small number of key languages and offer English or
-another language for other countries. You can add more languages in the future
-as your app's userbase grows.</p>
-
-<p>Localizing your app is particularly important in countries where there is a
-large market opportunity and English or another international language is not
-widely used. Once you have identified your target languages, you can focus your
-development, translation, testing, and marketing efforts to these markets.</p>
-
-
-<table>
-<tr>
-<td><p>Related resources:</p>
-<ul style="margin-top:-.5em;">
-<li><strong><a href="http://support.google.com/googleplay/android-developer/bin/answer.py?hl=en&answer=138294&topic=2365624&ctx=topic">Supported locations for distributing applications</a></strong> on Google Play.
-.</li>
-</ul>
-</td>
-</tr>
-</table>
-
-
-<h2 id="design">2. Design for localization</h2>
-
-<p>After you've determined your target languages for localization, assess what
-you'll need to do to support them in your app and plan the work early. Consider
-the vocabulary expansion, script requirements, character spacing and wrapping
-constraints, left-to-right and right-to-left support, and other potential
-factors in each language.
-
-<h4>Design a single set of flexible layouts</h4>
-
-<p>As you create your layouts, make sure that any UI elements that hold text are
-designed generously. It’s good to allow more space than necessary for your
-language (up to 30% more is normal) to accommodate other languages.</p>
-
-<p>Also, elements should be able to expand horizontally or vertically to
-accommodate variations in the width and height of UI strings or input text. Your
-text strings should not overlap borders or the screen edge in any of your target
-languages.</p>
-
-<p>If you design your UI carefully, you can typically use a single set of
-layouts for all of the languages you support. See <a
-href="{@docRoot}training/basics/fragments/fragment-ui.html">Building a Flexible
-UI</a> for more information.</p>
-
-<h4 id="rtl">Use alternative layouts where needed</h4>
-
-<p>In cases where your UI can't accommodate text in one of your target
-languages, you can create an <a
-href="{@docRoot}guide/topics/resources/providing-resources.html#AlternativeResources">alternative
-layout</a> for that language only.
-Android makes it easy to declare sets of layouts and other resources to load for
-specific languages, locales, screen sizes, and so on, simply by tagging them
-with the appropriate resource qualifiers. </p>
-
-<p>Although you can use alternative layouts to work around isolated issues, they
-can also make your app harder to maintain over time. In general, using a single,
-more flexible layout is preferred. </p>
-
-<h4 id="rtl">Support RTL layouts and text</h4>
-
-<p>If you are distributing to countries where right-to-left (RTL) scripts are used,
-should consider implementing support for RTL layouts and text display and
-editing, to the extent possible. </p>
-
-<p>Android 4.1 introduced limited support for bidirectional text, allowing apps
-to display and edit text in both left-to-right (LTR) and right-to-left (RTL)
-scripts. Android 4.2 added <a
-href="http://android-developers.blogspot.fr/2013/03/native-rtl-support-in-
-android-42.html">full native support for RTL layouts</a>, including layout
-mirroring, so that you can deliver the same great app experience to all of your
-users. </p>
-
-<p>At a minimum, for Android 4.2 users, it's simple to add basic RTL layout
-mirroring, which goes a long way toward meeting the needs of RTL users. </p>
-
-<h4 id="formats">Use system-provided formats for dates, times, numbers, and
-currencies</h4>
-
-<p>Where your app specifies dates, times, numbers, currencies, and other
-entities that can vary by locale, make sure to use the system-provided formats,
-rather than app-specific formats. Keep in mind that not every locale uses the
-same thousands separator, decimal separator, or percent sign. </p>
-
-<p>Android provides a variety of utilities for formatting and converting
-patterns across locales, such as {@link android.text.format.DateUtils DateUtils} and
-{@link java.text.DateFormat DateFormat} for
-dates; {@link java.lang.String#format String.format()} or {@link java.text.DecimalFormat DecimalFormat} for
-numbers and currency; {@link android.telephony.PhoneNumberUtils
-PhoneNumberUtils} for phone numbers; and others.</p>
-
-<p>If you hard-code your formats based on assumptions about the user's locale,
-your app could encounter problems when the user changes to another locale. The
-easiest and most reliable approach is to always use system-provided formats and
-utilities.</p>
-
-<h4 id="default-resources">Include a full set of default resources</h4>
-
-<p>Make sure that your app can run properly regardless of language or locale by
-providing a complete set of default resources. The app's default resources are
-those that are <em>not marked</em> with any language or locale qualifiers, for
-example those stored in <code>res/drawable/</code> and <code>res/values/</code>.
-If your app attempts to load a resource that isn't available in the current
-language or in the default set, the app will crash. </p>
-
-<p>Whatever the default language you are using in your app, make sure that you
-store the associated layouts, drawables, and strings in default resource
-directories, without language or locale qualifiers.  </p>
-
-<table>
-<tr>
-<td><p>Related resources:</p>
-<ul style="margin-top:-.5em;">
-<li><strong><a href="http://android-developers.blogspot.fr/2013/03/native-rtl-support-in-android-42.html">Native RTL Support in Android 4.2</a></strong> &mdash; Blog post that explains how to support RTL in your UI.</li>
-<li><strong><a href="{@docRoot}guide/topics/resources/string-resource.html#Plurals">Quantity Strings (Plurals)</a></strong> &mdash; Developer guide describing how to work with string plurals according to rules of grammar in a given locale. </li>
-<li><strong>{@link java.util.Locale Locale}</strong> &mdash; Reference information about how to use locale data determine exactly what CLDR data or version of the Unicode spec a particular Android platform version uses.</li>
-</ul>
-</td>
-</tr>
-</table>
-
-
-<h2 id="managing-strings">3. Manage strings for localization</h2>
-
-<p>It's important to manage your app's UI strings properly, so that you deliver
-a great experience for users and make localization straightforward.</p>
-
-<h4 id="strings">Move all strings into strings.xml</h4>
-
-<p>As you build your app, remember that it's a best practice to keep all of your
-UI strings in a single file that's easy to update and localize. Declare
-<em>all</em> of your strings as resources in a default <code>strings.xml</code>
-file. Do not hard-code any strings into your compiled code&mdash;hard-coded
-strings are much more difficult to extract, translate, and load properly.
-
-<p>If you keep all of your default strings in a <code>strings.xml</code> file,
-you can quickly extract them for translation, and once the translated strings
-are integrated back into your app with appropriate qualifiers, your app can load
-them without any changes to your compiled code.</p>
-
-<p>If you generate images with text, put those strings in <code>strings.xml</code> as well,
-and regenerate the images after translation.</p>
-
-<h4 id="style">Follow Android guidelines for UI strings</h4>
-
-<p>As you design and develop your UI, make sure that you pay close attention to
-<em>how</em> you talk to your user. In general, use a <a
-href="{@docRoot}design/style/writing.html">succinct and compressed style</a>
-that is friendly but brief, and use a consistent style throughout your UI.
-</p>
-
-<p>Make sure that you read and follow the Android Design recommendations for <a
-href="{@docRoot}design/style/writing.html">writing style and word choice</a>.
-Doing so will make your app appear more polished to the user and will help users
-understand your UI more quickly. </p>
-
-<p>Also, always use Android standard terminology wherever possible&mdash;such as
-for UI elements such as "Action Bar," "Options Menu," "System Bar,"
-"Notifications," and so on. Using Android terms correctly and consistently
-makes translation easier and results in a better end-product for users.</p>
-
-<h4 id="context">Provide sufficient context for declared strings</h4>
-
-<p>As you declare strings in your <code>strings.xml</code> file, make sure to describe the
-context in which the string is used. Add comments before each string that may
-need clarification. This information will be invaluable to translators and will
-help you manage your strings more effectively over time.</p>
-
-<p>For example, background information to provide might include:</p>
-
-<ul>
-  <li>What is this string for? When/where is it presented to the user?</li>
-<li>Where is this in the layout? For example, if it’s a button, translations are
-less flexible than if it were a text box. </li>
-</ul>
-
-<p>Here's an example: </p>
-
-<pre>&lt;!-- The action for submitting a form. This text is on a button that can fit 30 chars --&gt;
-&lt;string name="login_submit_button"&gt;Sign in&lt;/string&gt;</pre>
-
-<h4 id="xliff">Mark message parts that should not be translated</h4>
-
-<p>Often strings contain contain text that should not be translated to other
-languages. Common examples might be a piece of code, a placeholder for a value,
-a special symbol, or a name. As you prepare you strings for translation, look
-for and mark text that should remain as-is, without translation, so that
-translators do not change it. </p>
-
-<p>To mark text that should not be translated, use an
-<code>&lt;xliff:g&gt;</code> placeholder tag. Here's an example tag that ensures
-the text “%1$s” will not be changed during translation (otherwise it could break
-the message):</p>
-
-<pre>&lt;string name="countdown"&gt;
-    &lt;xliff:g id="time" example="5 days&gt;%1$s&lt;/xliff:g&gt;until holiday
-&lt;/string&gt;</pre>
-
-<p>When you declare a placeholder tag, always add an <code>id</code> attribute
-that explains what the placeholder is for. If your app will later replace the
-placeholder value, be sure to provide an example attribute to clarify the expected
-usage.</p>
-
-<p>Here are some more examples of placeholder tag usage:</p>
-<pre>&lt;resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"&gt;
-    &lt;!-- Example placeholder for a special unicode symbol --&gt;
-    &lt;string name="star_rating"&gt;Check out our 5 
-        &lt;xliff:g id="star"&gt;\u2605&lt;/xliff:g&gt;
-    &lt;/string&gt;
-    &lt;!-- Example placeholder for a for a URL --&gt;
-    &lt;string name="app_homeurl"&gt;
-        Visit us at &lt;xliff:g id="application_homepage"&gt;http://my/app/home.html&lt;/xliff:g&gt;
-    &lt;/string&gt;
-    &lt;!-- Example placeholder for a name --&gt;
-    &lt;string name="prod_name"&gt;
-        Learn more at &lt;xliff:g id="prod_gamegroup"&gt;Game Group&lt;/xliff:g&gt;
-    &lt;/string&gt;
-    &lt;!-- Example placeholder for a literal --&gt;
-    &lt;string name="promo_message"&gt;
-        Please use the ”&lt;xliff:g id="promotion_code"&gt;ABCDEFG&lt;/xliff:g&gt;” to get a discount.
-    &lt;/string&gt;
-    ...
-&lt;/resources&gt;</pre>
-<!--<pre>&lt;string name="contact_info"&gt;
-    You can see our posts at &lt;xliff:g id="social_account_id"&gt;@superApp&lt;/xliff:g&gt;
-&lt;/string&gt;</pre>-->
-
-<table>
-<tr>
-<td><p>Related resources:</p>
-<ul style="margin-top:-.5em;">
-<li><strong><a href="{@docRoot}guide/topics/resources/string-resource.html">String Resources</a></strong> &mdash; Developer guide explaining how to use string resources in your UI.</li>
-<li><strong><a href="{@docRoot}design/style/writing.html">Writing Style</a></strong> &mdash; Android Design guidelines for voice and style in your UI.</li>
-<li><strong><a class="external-link" href="http://en.wikipedia.org/wiki/XLIFF">XML Localisation Interchange File Format (XLIFF)</a></strong> &mdash; Background information on XLIFF.</li>
-</ul>
-</td>
-</tr>
-</table>
-
-
-<h2 id="translate">4. Translate UI strings and other resources</h2>
-
-<p>Translating your app's UI strings and resources to your target languages is
-the key phase of localization, and it's the one that requires the most care and
-planning.</p>
-
-<p>In general, it's recommended to work with a professional translator to ensure
-that the work goes smoothly, stays on schedule, and results in a high-quality
-product that will enhance the value of your app. If you are considering machine
-translations as an alternative, keep in mind that automated translations are less
-reliable than high-quality professional translations and may not produce as good an
-experience for your users.</p>
-
-<h4>Prepare for translation</h4>
-
-<p>Getting high-quality translation output depends in part on your input. To get
-ready for translation, make sure that your <code>strings.xml</code> file is well organized,
-well commented, and accurate.</p>
-
-<p>Here are some ways to prepare your strings for translation:</p>
-<ul>
-  <li>Make sure your strings are formatted correctly and consistently.</li>
-  <li>Follow the strings recommendations listed in <a href="#strings">Manage
-strings for localization</a>, above.</li>
-  <li>Clean up the <code>strings.xml</code> file and remove unused strings.</li>
-  <li>Place comments in the file to identify the owner, origin, and the version
-of the file, as well as any special instructions for translators.</li>
-<li>Identify existing translations, if any, and include those in an outgoing
-zip file or other package that you will send to translators.</li>
-<li>Identify drawables or other resources that require translation and include
-them in the outgoing package for translators.</li>
-<p>Additionally, consider translating your app's store listing details &mdash;
-app title and description, release notes, and so on &mdash; as
-well as other international marketing materials.</p>
-<li>Create a terminology list that explains the meaning and usage of key terms
-used in your product, your market, or the underlying technology. Add the list to
-the outgoing package.</li>
-</ul>
-
-<h4 id="send">Send your strings for translation</h4>
-
-<p>Early in the development cycle, contact professional translation vendors for
-your target languages to get an idea of cost, lead time required, turnaround
-time, and so on. Then select a vendor and secure their services, making sure to
-include multiple iterations in the cost as a safeguard. Google Play can help you
-do this &mdash; see <a href="#gp-trans">Purchase professional
-translations</a>, below.</p>
-
-<p>As soon as your app's UI strings and design are stable, work with your
-development team to extract all of the strings and other resources from the app
-and package them together for the translator. If appropriate, you can version
-the outgoing package for later identification. </p>
-
-<p>When the outgoing package is ready, send it to the translator or share it
-with them over a cloud platform such as Google Drive. Keep a record of what you
-sent and when you sent it, to cross-reference against returning translations and
-billing invoices from the translator.</p>
-
-<p>When your translations are complete, take a preliminary look at the
-translations. Check that all files were translated, check for potential encoding
-issues, and make sure that declaration formats are intact. </p>
-
-<p>If everything looks good, carefully move the localized directories and files 
-back into your app's resources. Make sure to tag the directories with the
-appropriate language and locale qualifiers so that they'll later be loaded
-properly.</p>
-
-<p>After the translations are merged back into your app, start <a
-href="#testing">testing the localized app</a>.</p>
-
-<h4 id="gp-trans">Purchase professional translations through Google Play
-<br />App Translation Service</h4>
-
-<div class="sidebox-wrapper">
-<div class="sidebox">
-<h2>App Translations in Google Play</h2>
-
-<p>Hear from developers who have used the Google Play App Translation Service in <a
-href="{@docRoot}distribute/googleplay/spotlight/localization.html">Developer
-Stories: Localization in Google Play</a>.</p>
-
-<p>To make it easy to export your app's strings and import
-the finished translations into your project, try the <a
-href="{@docRoot}sdk/installing/installing-adt.html#tmgr">
-ADT Translation Manager Plugin</a>.</div>
-</div>
-
-<p>Google Play App Translation Service can help you quickly find and purchase translations of your app.
-In the Developer Console, you can browse a list of third-party vendors who are
-pre-qualified by Google to offer high-quality translation at competitive prices.
-You can upload the strings you want translated, select the languages you want to
-translate into, and select your translation vendor based on time and price.</p>
-
-<p>Once you've purchased translations, you'll receive an email from your vendor.
-Your translations are a direct business agreement between you and your vendor;
-you'll need to work directly with the vendor to manage the translation process and
-deliverables and resolve any support issues. </p>
-
-
-<h2 id="testing">5. Test your localized app</h2>
-
-<p>Once you've received your translated strings and resources and moved them
-back into your app, you need to test the app to make sure that it's ready for
-distribution to your international users. </p>
-
-<p>Manual testing can help you discover localization issues in your layouts and
-strings that can affect user satisfaction and, ultimately, your app's user
-rating. </p>
-
-<h4 id="native">Set up a test environment</h4>
-
-<p>To test your localized app, you'll need to set up an environment consisting
-of multiple devices (or virtual devices) and screen sizes, based on the markets
-and form factors you are targeting. Note that the range of devices in specific
-regions might be different. If possible, match your test devices to the actual
-devices likely to be available to users.</p>
-
-<h4 id="native">Look for common localization issues</h4>
-
-<p>On each test device, set the language or locale in Settings. Install and
-launch the app and then navigate through all of the UI flows, dialogs, and user
-interactions. Enter text in inputs. Some things to look for include:</p>
-
-<ul>
-  <li>Clipped text, or text that overlaps the edge of UI elements or the
-screen</li>
-  <li>Poor line wrapping</li>
-  <li>Incorrect word breaks or punctuation</li>
-  <li>Incorrect alphabetical sorting</li>
-  <li>Incorrect layout direction or text direction</li>
-  <li>Untranslated text &mdash; if your default strings are displayed instead of
-translated strings, then you may have overlooked those strings for translation
-or marked the resources directory with an incorrect language qualifier. </li>
-</ul>
-
-<p>For cases where your strings have expanded in translation and no longer fit
-your layouts, it's recommended to simplify your default text, simplify your
-translated text, or adjust your default layouts. If none of those resolves the
-issue, you can create a custom layout for the language. </p>
-
-<h4 id="default-test">Test for default resources</h4>
-
-<p>After you've tested your app in all of your supported languages and locales,
-make sure to test it again in an <em>unsupported language</em> and locale. This
-will help you make sure that your app includes a full set of default strings and
-resources, so that your app is usable to all users, regardless of their
-preferred language. </p>
-
-<h4 id="native">Review with native-language speakers</h4>
-
-<p>During or after testing, it's recommended that you let native speakers review
-your localized app. One way to do that is through beta testing with regional
-users &mdash; Google Play can help you do this. See <a href="#beta">Plan a beta
-release</a> for more information.</p>
-
-
-<h2 id="prelaunch">Prepare for international launch</h2>
-
-<p>Getting your app translated is a key part of localization, but to help your
-product attract users and gain visibility, you should prepare for launch in your
-target countries and create a broader launch and marketing plan for
-international users. </p>
-
-
-<h4 id="listing">Localize your Google Play listing</h4>
-
-<div class="sidebox-wrapper">
-<div class="sidebox">
-<h2>Localize your Google Play listing</h2>
-<p>Highlight what's great about your app to all of your users! Localize your
-listing in the Developer Console: </p>
-<ul>
-  <li>App title and description</li>
-  <li>App screenshots on phones and tablets</li>
-  <li>Promotional graphics and videos.</li>
-</ul>
-</div>
-</div>
-<p>If you want your app to be successful in international markets, it's
-essential to localize your Google Play store listing. You can manage your
-localized listing in the Developer Console.</p> 
-
-<p>Well before launch, decide on your app title, description, promotional text,
-marketing names and programs, and other text and images. Send your
-listing text and images for translation early, so that you have them ready when
-beta testing begins. When your translated text is available, you can add it
-through the Developer Console.</p>
-
-<p>Also, since you've made the effort to create a great localized app, let users
-know about it! Take screenshots of your UI in each language, for phones and 7-
-and 10- inch tablets. You can upload screenshots to the Developer Console for
-each language you support. These will be of great value to users browsing your
-app listing in other languages. </p>
-
-<p>It's also essential to create localized versions of your promotional graphics
-and videos. For example, your app's feature graphic might include text that
-should be translated, for maximum effectiveness, or you might want to take a
-different visual approach in one country than you do in another. You can create
-different versions of your promotional graphics for each language and upload
-them to the Developer Console. If you offer a promotional video, you can create
-localized versions of it and then add a link to the correct localized video for
-each language you support.</p>
-<h4 id="beta">Plan a beta release in key countries</h4>
-
-<div class="sidebox-wrapper">
-<div class="sidebox">
-<h2>Easy beta testing</h2>
-<p>Google Play now lets you set up groups of alpha and beta testers, anywhere
-around the world. Check out this powerful feature next time you sign in to the
-Developer Console.</p>
-</div>
-</div>
-
-<p>Before launching your app, it's always valuable to get real-world feedback
-from users &mdash; even more so when you are launching an app in a new language,
-country, or region. In those cases, it's highly recommended that you distribute
-a pre-release version of your app to users across your key markets and provide
-an easy means for them to provide feedback and report bugs. </p>
-
-<p>Google Play can help you set up a beta program for your app. After you sign
-in to the Developer Console and upload your APK, you can set up groups of users
-for alpha testing and beta testing the app. You can start with a small group of
-alpha testers, then move to a larger group of beta testers. Once users are
-added, they access your app's store listing and install the app. User feedback
-from alpha and beta testers goes directly to you and is not posted as public
-reviews. </p>
-
-<p>The feedback you receive will help you adjust your UI, translations, and
-store listing to ensure a great experience for users. </p>
-
-<h4 id="beta">Plan for international marketing</h4>
-
-<p>For highest visibility across countries, consider an international marketing
-or advertising campaign. The scope of the campaign might vary based on the
-budget you can support, but in general it's cost-effective and productive to do
-regional or country-specific marketing at launch and after. </p>
-
-<h4 id="badges">Create localized Google Play badges</h4>
-
-<p>If you are preparing international marketing, make sure to include a <a
-href="{@docRoot}distribute/googleplay/promote/badges.html">localized Google Play
-badge</a> to tell users you're on Google Play. You can use the badge generator
-to quickly build localized badges that you can use on web sites or marketing
-materials. High-resolution assets are also available.</p> 
-
-<h4 id="deviceart">Create Localized Device Art</h4>
-
-<p>If you feature product shots of your app running on Android devices, make
-sure that those shots look great and reflect the latest in Android devices. To
-help you create high-quality marketing materials, use the drag-and-drop <a
-href="{@docRoot}distribute/promote/device-art.html">Device Art Generator</a> to
-quickly frame your screen shot on a Nexus device. </p>
-
-<h4 id="deviceart">Check your Optimization Tips</h4>
-
-<p>As you prepare for launch, make sure to sign into the Developer Console and check
-your app's Optimization Tips. The Optimization Tips let you know when you are missing parts of your localized store listing and provide other helpful reminders for a successful localized launch.</p>
-
-<h2 id="support">Support International Users after Launch</h2>
-
-<p>After you launch your app internationally, you should be prepared to support
-users in a variety of languages and time zones. The extent of your international
-user support depends on your budget, but at a minimum you should watch your
-ratings, reviews, and download stats carefully after launch. 
-
-<p>Here are some suggestions: </p>
-
-<ul>
-  <li>Use the app stats in the Developer Console to compare your downloads,
-installs, and uninstalls, and ratings across languages and countries&mdash;If
-your downloads or ratings are not keeping up in specific languages or countries,
-consider options for improving your product or changing your marketing approach.
-</li>
-  <li>Check reviews regularly&mdash;Google Play translates all user reviews for
-you, so you can stay in touch with how international users feel about your app,
-what features they like and what issues are affecting them. By watching reviews,
-you can spot technical issues that may affect many users in a particular
-country, then fix and update your app.</li>
-  <li>Respond to reviews if possible&mdash;It's good to engage with
-international users in their language or a common language if possible. If not,
-you can try using translation tools, although results may not be predictable. If
-your app gets very popular in a language, consider getting support help from
-native-language speakers. </li>
-  <li>Make sure there's a link to any support resources on your web site.
-Consider setting up language-specific user groups, Google+ communities, or other
-support forums.
-</ul>
-
-<p>By following these practices for localizing your app, promoting and marketing
-to international users, and providing ongoing support, you can attract many new
-users to your app and maintain their loyalty.</p>
-
-<p>Make sure to read the <a
-href="{@docRoot}distribute/googleplay/publish/preparing.html">Launch
-Checklist</a> to learn more about how to plan, build, and launch your app on
-Google Play. </p>
diff --git a/docs/html/distribute/googleplay/publish/preparing.jd b/docs/html/distribute/googleplay/publish/preparing.jd
deleted file mode 100644
index b9dd0e0..0000000
--- a/docs/html/distribute/googleplay/publish/preparing.jd
+++ /dev/null
@@ -1,681 +0,0 @@
-page.title=Launch Checklist
-page.tags="publishing","launch","Google Play", "Developer Console"
-@jd:body
-
-<div id="qv-wrapper"><div id="qv">
-<h2>Checklist</h2>
-<ol>
-<li><a href="#process">1. Understand the publishing process</a></li>
-<li><a href="#policies">2. Understand Google Play policies</a></li>
-<li><a href="#core-app-quality">3. Test for core app quality</a></li>
-<li><a href="#rating">4. Determine your content rating</a></li>
-<li><a href="#countries">5. Determine country distribution</a></li>
-<li><a href="#size">6. Confirm the app's overall size</a></li>
-<li><a href="#compatibility">7. Confirm app compatibility ranges</a></li>
-<li><a href="#free-priced">8. Decide on free or priced</a></li>
-<li><a href="#inapp-billing">9. Consider In-app Billing</a></li>
-<li><a href="#pricing">10. Set prices for your apps</a></li>
-<li><a href="#localize">11. Start localization early</a></li>
-<li><a href="#graphics">12. Prepare promotional graphics</a></li>
-<li><a href="#apk">13. Build the release-ready APK</a></li>
-<li><a href="#beta">14. Plan a beta release</a></li>
-<li><a href="#product-page">15. Complete the product details</a></li>
-<li><a href="#badges">16. Use Google Play badges</a></li>
-<li><a href="#final-checks">17. Final checks and publishing</a></li>
-<li><a href="#support">18. Support users after launch</a></li>
-</ol>
-</div></div>
-
-
-<p>Before you publish your app on Google Play and distribute it to users, you
-need to get the app ready, test it, and prepare your promotional materials. </p>
-
-<p>This document helps you understand the publishing process and get ready for a
-successful product launch on Google Play. It summarizes some of the
-tasks you'll need to complete before publishing your app on Google Play, such as
-creating a signed, release-ready APK, understanding the requirements of the app,
-and creating the product page and graphic assets for your app.</p>
-
-<p>The preparation and publishing tasks are numbered to give you a rough idea of
-sequence. However, you can handle the tasks in any sequence that works for you
-or you can skip steps as appropriate.</p>
-
-<p>As you move toward publishing, a variety of support resources are available to
-you. Relevant links are provided in each step.</p>
-
-
-<h2 id="process">1. Understand the publishing process</h2>
-
-<p>Before you begin the steps in this checklist, you should take a moment to
-read and understand the overall publishing workflow and become familiar with how
-the process works. In particular, you or your development team will need to
-prepare your app for release using a process common to all Android apps.
-The <a
-href="{@docRoot}tools/publishing/publishing_overview.html">Publishing
-Workflow</a> documents provide the details on how publishing works and how to
-get an APK ready for release. </p>
-
-<p>Once you are familiar with publishing in general, read this document to
-understand the issues that you should consider when publishing an app on Google
-Play. </p>
-
-<table>
-<tr>
-<td><p>Related resources:</p>
-<ul style="margin-top:-.5em;">
-<li><strong><a href="{@docRoot}tools/publishing/publishing_overview.html">General Publishing Overview</a></strong> &mdash; Start here for an overview of publishing options for Android apps.</li>
-<li><strong><a href="{@docRoot}tools/publishing/preparing.html">Preparing for Release</a></strong> &mdash; Developer documentation on how to build the signed, release-ready APK. This process is the same for all Android apps. </li>
-</ul>
-</td>
-</tr>
-</table>
-
-<h2 id="policies">2. Understand Google Play policies and agreements</h2>
-
-<p>Make sure that you understand and follow the Google Play program policies
-that you accepted when registering. Google Play actively enforces the policies
-and any violations can lead to suspension of your app or, for repeated
-violations, termination of your developer account. </p>
-
-<table>
-<tr>
-<td><p>Related resources:</p>
-<ul style="margin-top:-.5em;">
-
-<li><strong><a href="{@docRoot}distribute/googleplay/policies/index.html">Google Play Policies and Guidelines</a></strong> &mdash; An overview of Google Play policies for spam, intellectual property, and ads, with examples of common problems. </li>
-</a></strong> &mdash; Help Center document describing various content policies and processes.</li>
-
-<li><strong><a href="http://support.google.com/googleplay/android-developer/bin/topic.py?hl=en&topic=2364761&parent=2365624&ctx=topic">Policy and Best Practices
-</a></strong> &mdash; Help Center document describing various content policies and processes.</li>
-
-</ul>
-</td>
-</tr>
-</table>
-
-<h2 id="core-app-quality">3. Test for Core App Quality</h2>
-
-<p>Before you publish an app on Google Play, it's important to make sure that
-it meets the basic quality expectations for all Android apps, on all of the devices that you
-are targeting. You can check your app's quality by setting up a test
-environment and testing the app against a short set of <strong>core app quality criteria</strong>.
-For complete information, see the <a
-href="{@docRoot}distribute/googleplay/quality/core.html">Core App Quality Guidelines</a>. 
-</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="{@docRoot}distribute/googleplay/quality/tablet.html">Tablet App Quality Checklist</a>
-for recommendations on ways to optimize your app for tablets.</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>
-<li><strong><a
-href="{@docRoot}distribute/googleplay/quality/tablet.html">Tablet App Quality
-Checklist</a></strong> &mdash; A set recommendations for delivering the best
-possible experience to tablet users.</li>
-</ul>
-</td>
-</tr>
-</table>
-
-<h2 id="rating">4. Determine your app's content rating</h2>
-
-<p>Google Play requires you to set a content rating for your app, which informs
-Google Play users of its maturity level. Before you publish, you should confirm
-what rating level you want to use. The available content rating levels are:</p>
-
-<ul>
-<li>Everyone</li>
-<li>Low maturity</li>
-<li>Medium maturity</li>
-<li>High maturity</li>
-</ul>
-
-<p>On their Android devices, Android users can set the desired maturity level
-for browsing. Google Play then filters apps based on the setting, so the content
-rating you select can affect the app's distribution to users. You can assign (or
-change) the content rating for your app in the Developer Console, so no changes
-are required in your app binary.</p>
-
-<table>
-<tr>
-<td><p>Related resources:</p>
-<ul style="margin-top:-.5em;">
-<li><strong><a href="http://support.google.com/googleplay/android-developer/bin/answer.py?hl=en&answer=188189">Rating your application content for Google Play</a></strong> &mdash; Help Center document describing content ratings levels and how to choose the appropriate one for your app.</li>
-</ul>
-</td>
-</tr>
-</table>
-
-<h2 id="countries">5. Determine country distribution</h2>
-
-<p>Google Play lets you control what countries and territories your app is
-distributed to. For widest reach and the largest potential customer base, you
-would normally want to distribute to all available countries and territories.
-However, because of business needs, app requirements, or launch dependencies,
-you might want to exclude one or more countries from your distribution. </p>
-
-<p>It's important to determine the exact country distribution early, because it
-can affect:</p>
-<ul>
-<li>The need for localized resources in the app</li>
-<li>The need for a localized app description in the Developer Console</li>
-<li>Legal requirements for the app that may be specific to certain
-countries</li>
-<li>Time zone support, local pricing, and so on.</li>
-</ul>
-
-<p>With your country targeting in mind, you should assess what
-your localization needs are, both in your app and in its Google Play listing
-details, and start the work of localization well in advance of your
-launch target date.</p>
-
-<p>See <a href="{@docRoot}distribute/googleplay/publish/localizing.html">Localization
-Checklist</a> for key steps and considerations in the localizing process. </p>
-
-<table>
-<tr>
-<td><p>Related resources:</p>
-<ul style="margin-top:-.5em;">
-<li><strong><a href="{@docRoot}distribute/googleplay/publish/localizing.html">Localization Checklist</a></strong> &mdash; Overview of key steps and considerations for localizing your Android app.</li>
-<li><strong><a href="http://support.google.com/googleplay/android-developer/bin/answer.py?hl=en&answer=138294&topic=2365624&ctx=topic">Supported locations for distributing applications</a></strong> on Google Play.
-.</li>
-</ul>
-</td>
-</tr>
-</table>
-
-<h2 id="size">6. Confirm the app's overall size</h2>
-
-<p>The overall size of your app can affect its design and how you publish it on
-Google Play. Currently, the maximum size for an APK published on Google Play is
-<strong>50 MB</strong>. If your app exceeds that size, or if you want to offer a
-secondary download, you can use <a
-href="{@docRoot}google/play/expansion-files.html">APK Expansion Files</a>,
-which Google Play will host for free on its server infrastructure and
-automatically handle the download to devices.</p>
-
-<ul>
-<li>The maximum size for an APK published on Google Play is 50 MB.</li>
-<li>You can use up to two (2) APK Expansion Files, each up to 2 GB in size, for
-each APK.</li>
-</ul>
-
-<p>Using APK Expansion files is a convenient, cost-effective method of
-distributing large apps. However, the use of APK Expansion Files requires some
-changes in your app binary, so you will need to make those changes before
-creating your release-ready APK.</p>
-
-<p>To minimize the size of your app binary, make sure that you run the
-<a href="{@docRoot}tools/help/proguard.html">Proguard</a> tool on your code when
-building your release-ready APK.</p>
-
-<table>
-<tr>
-<td><p>Related resources:</p>
-<ul style="margin-top:-.5em;">
-<li><strong><a href="{@docRoot}google/play/expansion-files.html">APK Expansion Files</a></strong>
-&mdash; Developer documentation describing APK Expansion Files and how to support them in your app.</li>
-<li><strong><a href="{@docRoot}tools/help/proguard.html">ProGuard</a></strong> &mdash; Developer
-documentation describing how to use ProGuard to shrink, optimize, and obfuscate your code prior
-to release.</li>
-</ul>
-</td>
-</tr>
-</table>
-
-<h2 id="compatibility">7. Confirm the app's platform and screen compatibility ranges</h2>
-
-<p>Before publishing, it's important to make sure that your app is designed to
-run properly on the Android platform versions and device screen sizes that you
-want to target. 
-
-<p>From an app-compatibility perspective, Android platform versions are defined
-by <a href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#ApiLevels">API level</a>. You should
-confirm the minimum version that your app is compatible with (<a
-href="{@docRoot}guide/topics/manifest/uses-sdk-element.html"><code>&lt;minSdkVersion&gt;</code></a>),
-as that will affect its distribution to Android
-devices once it is published. </p>
-
-<p>For screen sizes, you should confirm that the app runs properly and looks
-good on the range of screen sizes and densities that you want to support. You
-should confirm the minimum screen-size and density support that your app
-declares (<a
-href="{@docRoot}guide/topics/manifest/supports-screens-element.html"><code>&lt;supports-screens&gt;</code></a>),
-since that can affect its distribution to
-Android devices once it is published. </p>
-
-<p>To get a better understanding of the current device penetration of Android
-platform versions and screen sizes across all Android devices, see the <a
-href="{@docRoot}about/dashboards/index.html">Device Dashboard</a>
-charts.</p>
-
-<table>
-<tr>
-<td><p>Related resources:</p>
-<ul style="margin-top:-.5em;">
-<li><strong><a href="{@docRoot}about/dashboards/index.html">Device Dashboard</a></strong> &mdash; A chart showing global percentages of devices by Android version, screen size, and level of OpenGL ES support.</li>
-<li><strong><a href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#ApiLevels">Android API Levels</a></strong> &mdash; A definition of API Levels and a list of which Android platform versions they are associated with. </li>
-</ul>
-</td>
-</tr>
-</table>
-
-<h2 id="free-priced">8. Decide whether your app will be free or priced</h2>
-
-<p>On Google Play, you can publish apps as free to download or priced. Free apps
-can be downloaded by any Android user in Google Play.
-Paid apps can be downloaded only by users who have registered a form of payment
-in Google Play, such as a credit card or Direct Carrier Billing.</p>
-
-<p>Deciding whether you app will be free or paid is important because, on Google
-Play, <strong>free apps must remain free</strong>.</p>
-
-<ul>
-<li>Once you publish your app as a free app, you cannot ever change it to being
-a priced app. However, you can still sell in-app products and
-subscriptions through Google Play's In-app Billing service.</li>
-<li>If you publish your app as a priced app, you <em>can</em> change
-it at any time to being a free app (but cannot then change it back to
-priced). You can also sell in-app products and subscriptions. </li>
-</ul>
-
-<p> If your app is be priced, or if you'll be selling in-app products,
-you need set up a Google Wallet merchant account before you can publish.</p>
-
-<table>
-<tr>
-<td><p>Related resources:</p>
-<ul style="margin-top:-.5em;">
-<li><strong><a href="{@docRoot}google/play/billing/index.html">In-app Billing</a></strong> &mdash; Developer introduction to Google Play In-app Billing.</li>
-</ul>
-</td>
-</tr>
-</table>
-
-<h2 id="inapp-billing">9. Consider using In-app Billing</h2>
-
-<p>Google Play <a href="{@docRoot}google/play/billing/index.html">In-app
-Billing</a> lets you sell digital content in your applications. You can use the
-service to sell a wide range of content, including downloadable content such as
-media files or photos, and virtual content such as game levels or potions.
-In-app Billing service lets you sell one-time purchases and subscriptions from
-inside your app. This can help you to monetize the app over its installed
-lifetime. </p>
-
-<p>If your are looking for more ways to monetize your app and build engagement,
-you should consider In-app Billing. The service has become very popular with
-both users and developers. To use In-app Billing, you need to make changes to
-your app binary, so you will need to complete and test your implementation
-before creating your release-ready APK.</p>
-
-<table>
-<tr>
-<td><p>Related resources:</p>
-<ul style="margin-top:-.5em;">
-<li><strong><a href="{@docRoot}google/play/billing/index.html">In-app Billing</a></strong> &mdash; Developer documentation describing In-app Billing and how to support it in your app.</li>
-</ul>
-</td>
-</tr>
-</table>
-
-<h2 id="pricing">10. Set prices for your products</h2>
-
-<p>If your app is priced or you will sell in-app products, Google Play lets you
-set prices for your products in a variety of currencies, for users in markets
-around the world. You can set prices individually in different currencies, so
-you have the flexibility to adjust your price according to market conditions and
-exchange rates. </p>
-
-<p>Before you publish, consider how you will price your products
-and what your prices will be in various currencies. Later, you can set prices
-in all available currencies through the Developer Console.</p>
-
-<table>
-<tr>
-<td><p>Related resources:</p>
-<ul style="margin-top:-.5em;">
-<li><strong><a href="http://support.google.com/googleplay/android-developer/bin/answer.py?hl=en&answer=1169947&topic=15867&ctx=topic">Selling Apps in Multiple Currencies
-</a></strong> &mdash; Help Center document describing how pricing works in Google Play.</li>
-
-<li><strong><a href="http://support.google.com/googleplay/android-developer/bin/answer.py?hl=en&answer=138412&topic=15867&ctx=topic">Prices and supported currencies
-</a></strong> &mdash; Help Center document listing supported currencies for pricing your apps.</li>
-
-<li><strong><a href="http://support.google.com/googleplay/android-developer/bin/answer.py?hl=en&answer=112622&topic=15867&ctx=topic">Transaction Fees
-</a></strong> &mdash; Help Center document describing transaction fees for priced apps and in-app products.</li>
-
-<li><strong><a href="http://support.google.com/googleplay/android-developer/bin/answer.py?hl=en&answer=138000&topic=15867&ctx=topic">Specifying tax rates
-</a></strong> &mdash; Help Center document describing how to set tax rates for different countries. </li>
-
-</ul>
-</td>
-</tr>
-</table>
-
-<h2 id="localize">11. Start localization</h2>
-
-<p>With your country targeting in mind, it's a good idea to assess your localization
-needs and start the work of localizing well in advance of your target
-launch date.</p>
-
-<p>There are at least three aspects of localization to consider:</p>
-
-<ul>
-<li>Localizing the strings, images, and other resources in your app</li>
-<li>Localizing your app's store listing details on Google Play</li>
-<li>Localizing the app's graphic assets, screenshots, and videos that accompany your store listing.</li>
-</ul>
-
-<p>See <a href="{@docRoot}distribute/googleplay/publish/localizing.html">Localization Checklist</a> for key steps and considerations in the localizing process. </p>
-
-<p>To localize your store listing, first create and finalize your app title, description, 
-and promotional text. Collect and send all of these for localization. You can optionally
-translate the "Recent Changes" text for app updates as well. Later you can add your localized
-listing details in the Developer Console, or you can  choose to let Google Play auto-translate
-your listing details into the languages you support.</p>
-
-<p>A key part of making your app listing attractive to a global customer base is
-creating localized versions of your promotional graphics, screenshots and
-videos. For example, your app's feature graphic might include text that should
-be translated, for maximum effectiveness. You can create different versions of
-your promotional graphics for each language and upload them to the Developer
-Console. If you offer a promotional video, you can create localized versions of
-it and then add a link to the correct localized video for each language you
-support.</p>
-
-<p>When your translations are complete, move them into your app resources as needed and test
-that they are loaded properly. Save your app's translated listing details for later,
-when you upload assets and configure your product details.</p>
-
-<table>
-<tr>
-<td><p>Related resources:</p>
-<ul style="margin-top:-.5em;">
-<li><strong><a href="{@docRoot}distribute/googleplay/publish/localizing.html">Localization Checklist</a></strong> &mdash; Overview of key steps and considerations for localizing your Android app.</li>
-<li><strong><a href="{@docRoot}guide/topics/resources/localization.html">Localizing with Resources</a></strong> &mdash; Developer guide to localizing resources in your app.</li>
-</ul>
-</td>
-</tr>
-</table>
-
-<h2 id="graphics">12. Prepare promotional graphics, screenshots, and videos</h2>
-
-<p>When you publish on Google Play, you can supply a variety of high-quality
-graphic assets to showcase your app or brand. After you publish, these appear on
-your product details page, in store listings and search results, and elsewhere.
-These graphic assets are key parts of a successful product details page that
-attracts and engages users, so you should consider having a professional produce
-them for you. Screen shots and videos are also very important, because they show
-what your app looks like, how it's used or played, and what makes it different.</p>
-
-<p>All of your graphic assets should be designed so that they are easy to see
-and highlight your app or brand in a colorful, interesting way. The assets
-should reference the same logo and icon as users will actually find in the All
-Apps launcher once they have downloaded the app. Your graphic assets should also
-fit in well with the graphic assets of other apps published by you, which will
-be also be displayed to users on your product details page. </p>
-
-<p>To help you market your app more effectively to a global audience, Google
-Play lets you create localized versions of your promotional graphics,
-screenshots, and videos and upload them to the Developer Console. When a user
-visits your app's store listing, Google Play displays the promotional graphic,
-screenshots and video that you've provided for the user's language.</p>
-
-<p>To localize your promotional graphics, you can translate any embedded text, use
-different imagery or presentation, or change your marketing approach to best address the needs
-of users in specific languages. For example, if your feature or promotional graphic
-includes and embedded product name or tag line, you can translate that text
-and add it to a localized version of the promotional graphic.</p>
-
-<p>Because your localized graphic assets and videos are so important, you should get
-started on creating them and localizing them well in advance of your target
-publishing date. </p>
-
-<p class="note"><strong>Note:</strong> Localized promotional graphics and videos
-are supported only in the new Developer Console design.</p>
-
-<table>
-<tr>
-<td><p>Related resources:</p>
-<ul style="margin-top:-.5em;">
-<li><strong><a href="http://support.google.com/googleplay/android-developer/bin/answer.py?hl=en&answer=1078870">Graphic Assets for your Application
-</a></strong> &mdash; Details about the graphic assets you need to upload before publishing.</li>
-<li><strong><a href="http://android-developers.blogspot.com/2011/10/android-market-featured-image.html">Google Play Featured Image Guidelines
-</a></strong> &mdash; Blog post that highlights key design considerations for your app's featured image.</li>
-</ul>
-</td>
-</tr>
-</table>
-
-<h2 id="apk">13. Build and upload the release-ready APK</h2>
-
-<p>When you are satisfied that your app meets your UI, compatibility, and
-quality requirements, you can build the release-ready version of the app. The
-release-ready APK is what you you will upload to the Developer Console and
-distribute to users. 
-
-<p>The process for preparing a release-ready APK is the same for all apps,
-regardless of how they are distributed. Generally the process includes basic code cleanup
-and optimization, building and signing with your release key, and final testing.
-When you are finished preparing your application for release, you'll have a signed
-APK file that you can upload to the Developer Console for distribution to
-users. </p>
-
-<p>For complete details on how to create a release-ready version of your app,
-read <a href="{@docRoot}tools/publishing/preparing.html">Preparing for
-Release</a>.</p>
-
-<p>Once you have the release-ready APK in hand, you can upload it to 
-the Developer Console. If necessary, you can replace the APK with a more 
-recent version before publishing. </p>
-
-<table>
-<tr>
-<td><p>Related resources:</p>
-<ul style="margin-top:-.5em;">
-<li><strong><a href="{@docRoot}tools/publishing/preparing.html">Preparing for Release</a></strong> &mdash; Essential information for preparing and packaging your app properly for distribution.</li>
-</ul>
-</td>
-</tr>
-</table>
-
-<h2 id="beta">14. Plan a beta release</h2>
-
-<div class="sidebox-wrapper">
-<div class="sidebox">
-<h2>Easy beta testing</h2>
-<p>Google Play now lets you set up groups of alpha and beta testers, anywhere around the world. Check out this powerful feature next time you sign in to the Developer Console.</p>
-</div>
-</div>
-
-<p>Before launching your app, it's always valuable to get real-world feedback
-from users &mdash; even more so when you are launching a new app. It's highly
-recommended that you distribute a pre-release version of your app to users
-across your key markets and provide an easy means for them to provide feedback
-and report bugs. </p>
-
-<p>Google Play can help you set up a beta program for your app. After you sign
-in to the Developer Console and upload your APK, you can set up groups of users
-for alpha testing and beta testing the app. You can start with a small group of
-alpha testers, then move to a larger group of beta testers. Once users are
-added, they access your app's store listing and install the app. User feedback
-from alpha and beta testers goes directly to you and is not posted as public
-reviews. </p>
-
-<p>The feedback you receive will help you adjust your UI, translations, and
-store listing to ensure a great experience for users. </p>
-
-<h2 id="product-page">15. Complete the app's product details</h2>
-
-<p>On Google Play, your app's product information is shown to users on its
-product details page, the page that users visit to learn more about your app and
-the page from which they will decide to purchase or download your app, on their
-Android devices or on the web.</p>
-
-<p>Google Play gives you a variety of ways to promote your app and engage with
-users on your product details page, from colorful graphics, screenshots, and
-videos to localized descriptions, release details, and links to your other apps.
-As you prepare to publish your app, make sure that you take advantage of all
-that your product details page can offer, making your app as compelling as
-possible to users.</p>
-
-<p>You should begin planning your product page in advance of your target launch
-date, arranging for localized description, high-quality graphic assets,
-screenshots and video, and so on. </p>
-
-<p>As you get near your target publishing date, you should become familiar with 
-all the fields, options, and assets associated with the product details configuration
-page in the Developer Console. As you collect the information and assets for the
-page, make sure that you can enter or upload it to the Developer Console, until 
-the page is complete and ready for publishing. </p>
-
-<p>After you've set your app's geographic targeting in the Developer Console,
-remember to add your localized product details, promotional graphics, and so on, for all of the
-languages that you support.</p>
-
-<p>If your app is targeting tablet devices, make sure to include at least one screen
-shot of the app running on a tablet, and highlight your app's support for tablets
-in the app description, release notes, promotional campaigns, and elsewhere.</p>
-
-<table>
-<tr>
-<td><p>Related resources:</p>
-<ul style="margin-top:-.5em;">
-<li><strong><a href="http://support.google.com/googleplay/android-developer/bin/answer.py?hl=en&answer=113475&topic=2365760&ctx=topic">Category types
-</a></strong> &mdash; Help Center document listing available categories for apps.</li>
-<li><strong><a href="http://support.google.com/googleplay/android-developer/bin/answer.py?hl=en&answer=1078870&topic=2365760&ctx=topic">Graphic Assets for your Application
-</a></strong> &mdash; Help Center document describing the various graphics you can add to your product listing.</li>
-</ul>
-</td>
-</tr>
-</table>
-
-<h2 id="badges">16. Use Google Play badges and links in your promotional
-campaigns</h2>
-
-<p>Google Play badges give you an officially branded way of promoting your app
-to Android users. Use the <a
-href="{@docRoot}distribute/googleplay/promote/badges.html">Google Play Badge
-generator</a> to quickly create badges to link users to your products from web
-pages, ads, reviews, and more. You can also use special <a
-href="{@docRoot}distribute/googleplay/promote/linking.html">link formats</a>
-to link directly to your product details page, to a list of your products, or to
-search results.</p>
-
-<p>To help your app get traction after launch, it's strongly recommended that you support 
-launch with a promotional campaign that announces your product through many channels as
-possible, in as many countries as possible. For example, you can promote the launch 
-using ad placements, social network or blog posts, video and other media, interviews
-and reviews, or any other channel available.</p>
-
-<table>
-<tr>
-<td><p>Related resources:</p>
-<ul style="margin-top:-.5em;">
-<li><strong><a href="{@docRoot}distribute/googleplay/promote/badges.html">Google Play Badges</a></strong> &mdash; Generate a badge to bring users to your app in Google Play.</li>
-<li><strong><a href="{@docRoot}distribute/googleplay/promote/linking.html">Linking to Your Products</a></strong> &mdash; Link formats that you can use to bring users to your app in Google Play.</li>
-</ul>
-</td>
-</tr>
-</table>
-
-<h2 id="final-checks">17. Final checks and publishing</h2> 
-
-<p>When you think you are ready to publish, sign in to the Developer Console and take a few moments for a few
-final checks.</p>
-
-<p>Make sure that: </p>
-
-<ul>
-<li>Your developer profile has the correct information and is linked to the proper Google Wallet merchant account (if you are selling products).</li>
-<li>You have the right version of the app uploaded.</li>
-<li>All parts of your Product Details are ready, including all graphic assets, screenshots, video, localized descriptions, and so on. </li>
-<li>You have set your app's pricing to free or priced.</li>
-<li>You have set country (and carrier) targeting and priced your products (if appropriate) in buyer currencies</li>
-<li>"Compatible devices" shows that your app is actually reaching the devices that you are targeting. If not, you should check with your development team on the apps requirements and filtering rules. </li>
-<li>You have provided the correct link to your web site and the correct support email address.</li>
-<li>Your app does not violate content policy guidelines.</li>
-<li>You have acknowledged that your app meets the guidelines for Android content on Google Play and also US export laws. </li>
-</ul>
-
-<p>Your app is now ready to publish!</p>
-
-<p>If you are releasing an update, make sure to read the <a href="http://support.google.com/googleplay/android-developer/bin/answer.py?hl=en&answer=113476&topic=2365760&ctx=topic">requirements for publishing updates</a>. </p>
-
-<p>When you are ready, click the <strong>Publish</strong> button in the Developer Console. Within a few hours, your app will become available to users and your product page will be appear in Google Play for browsing, searching, or linking from your promotional campaigns.</p>
-
-<table>
-<tr>
-<td><p>Related resources:</p>
-<ul style="margin-top:-.5em;">
-<li><strong><a href="http://www.android.com/us/developer-content-policy.html">Google Play Developer Program Policies</a></strong> &mdash; Guidelines for what is acceptable conent in Google Play. Please read and understand the policies before publishing. </li>
-<li><strong><a href="{@docRoot}distribute/googleplay/promote/linking.html">Updates</a></strong> &mdash; Requirements for app updates in Google Play.</li>
-<li><strong><a href="{@docRoot}support.html">Developer Support</a></strong> &mdash; Support resources that you can use to find answers and report issues.</li>
-</ul>
-</td>
-</tr>
-</table>
-
-
-<h2 id="support">18. Support users after launch</h2>
-
-<p>After you publish an app or an app update, it's crucial for you to support
-your customers. Prompt and courteous support can provide a better experience for
-users that results in better ratings and more positive reviews for your
-products. Users are likely to be more engaged with your app and recommend it if
-you are responsive to their needs and feedback.  This is especially true after
-publishing if you are using a coordinated promotional campaign.</p>
-
-<p>There are a number of ways that you can keep in touch with users and offer
-them support. The most fundamental is to provide your <em>support email
-address</em> on your product details page. Beyond that, you can provide support
-in any way you choose, such as a forum, mailing list or a Google+ page.  The
-Google Play team does provide user support for downloading, installing and
-payments issues, but issues that fall outside of these topics will fall under
-your domain.  Examples of issues you can support include:  feature requests,
-questions about using the app and questions about compatibility settings.  </p>
-
-<p>After publishing, plan to: </p>
-<ul>
-<li>Check your ratings and reviews frequently on your app's product details
-page. Watch for recurring issues that could signal bugs or other issues. </li>
-<li>Be mindful of new Android platform version launches, as compatibility
-settings for your apps might need to be updated.</li>
-<li>Put a link to your support resources on your web site and set up any other
-support such as forums.</li>
-<li>Provide an appropriate support email address on your product details page
-and respond to users when they take the time to email you.</li>
-<li>Beyond the automatic refund window offered by Google Play, be generous with
-your own refund policy, as satisfied users will be more likely to purchase in
-the future. </li>
-<li>Acknowledge and fix issues in your app. It helps to be transparent and
-list known issues on your product details page proactively.  </li>
-<li>Publish updates as frequently as you are able, without sacrificing quality
-or annoying users with too-frequent updates. </li>
-<li>With each update, make sure to provide a summary of what's changed. You can
-enter this information in the Developer Console. Users will read it and
-appreciate that you are serious about improving the quality of your app. </li>
-</ul>
-
-<table>
-<tr>
-<td><p>Related resources:</p>
-<ul style="margin-top:-.5em;">
-<li><strong><a href="http://support.google.com/googleplay/android-developer/bin/answer.py?hl=en&answer=113477&topic=2364761&ctx=topic">Supporting your users
-</a></strong> &mdash; Help Center document describing options for supporting users.</li>
-<li><strong><a href="http://support.google.com/googleplay/android-developer/bin/answer.py?hl=en&answer=1153479">In-app Billing</a></strong> &mdash; Help Center document describing how to correctly set up In-app Billing.</li>
-<li><strong><a href="https://support.google.com/payments/answer/2741495?rd=1">Issuing Refunds</a></strong> &mdash;  -- Help Center document describing how to issue refunds.</li>
-</ul>
-</td>
-</tr>
-</table>
-
-
-
diff --git a/docs/html/distribute/googleplay/publish/register.jd b/docs/html/distribute/googleplay/publish/register.jd
deleted file mode 100644
index faade81..0000000
--- a/docs/html/distribute/googleplay/publish/register.jd
+++ /dev/null
@@ -1,80 +0,0 @@
-page.title=Get Started with Publishing
-@jd:body
-
-<div id="qv-wrapper">
-<div id="qv">
-<h2>Help topics</h2>
-<ul>
-  <li><a href="http://support.google.com/googleplay/android-developer/bin/answer.py?hl=en&answer=113468">Developer Registration</a></li>
-  <li><a href="http://support.google.com/googleplay/android-developer/bin/answer.py?hl=en&answer=138294&topic=2365624&ctx=topic">Supported Locations for Distributing Apps</a></li>
-  <li><a href="http://support.google.com/googleplay/android-developer/bin/topic.py?hl=en&topic=2364761">Policy and Best Practices</a></li>
-  <li><a href="http://support.google.com/googleplay/android-developer/">Developer Support</a></li>
-</ul>
-
-<h2>Get Started</h2>
-<ol>
-  <li><a href="https://play.google.com/apps/publish/">Google Play Developer Console</a></li>
-</ol>
-
-</div>
-</div>
-
-<p>You can set up to start publishing on Google Play in only a few minutes. Here's how you do it: </p>
-
-<ul>
-<li>Register for a Google Play publisher account</li>
-<li>If you will sell apps, set up a Google Wallet Merchant Account</li>
-<li>Explore the Google Play Developer Console and learn about the tools for publishing</li>
-</ul>
-
-
-<h3>Register for a publisher account</h3>
-
-<p>The first step is to visit the Google Play Developer Console and register for a publisher account.</p>
-
-<p>Here's what you will do during registration: </p>
-
-<div class="sidebox-wrapper">
-<div class="sidebox">
-<h2>Tips</h2>
-  <ul>
-    <li>You need a Google account to register. You can create one during the process. </li>
-    <li>If you are an organization, consider registering a new Google account rather than using a personal account.</li>
-    <li>Review the <a href="https://support.google.com/googleplay/android-developer/bin/answer.py?hl=en&answer=138294">developer countries</a> and <a href="https://support.google.com/googleplay/android-developer/bin/answer.py?hl=en&answer=150324">merchant countries</a> where you can distribute and sell apps.</li> 
-  </ul>
-</div></div>
-
-
-<ol>
-<li>Visit the Google Play Developer Console at <a
-href="https://play.google.com/apps/publish/">https://play.google.com/apps/publish/</a>.
-<li>Enter basic information about your <strong>developer identity</strong> &mdash; developer
-name, email address, and so on. You can modify this information later.</li>
-<li>Read and accept the <strong>Developer Distribution Agreement</strong> that applies to your
-country or region. Note that apps and store listings that you publish on Google Play must comply
-with the Developer Program Policies and US export law,</li>
-<li>Pay a <strong>$25 USD registration fee</strong> using Google Wallet. If you don't have
-a Google Wallet account, you can quickly set one up during the process.</li>
-</ol>
-
-<p>When your registration is verified, you’ll be notified at the email address you specified during registration.</p>
-
-<h3>Set up a Google Wallet Merchant account</h3>
- 
-<p>If you want to sell products on Google Play &mdash; priced apps, in-app products, or subscriptions &mdash; you will also need to set up a Google Wallet Merchant Account. You can do that at any time, but make sure to first review the list of <a href="https://support.google.com/googleplay/android-developer/bin/answer.py?hl=en&answer=150324">merchant countries</a>.</p>
-
-<p>To set up a Merchant account from the Developer Console:</p>
-
-<ol>
-<li><strong>Sign in</strong> to your Google Play Developer Console at
-<a href="https://play.google.com/apps/publish/">https://play.google.com/apps/publish/</a>
-<li>Open <strong>Financial reports</strong> <img src="{@docRoot}images/distribute/console-reports.png"
-  style="vertical-align:baseline;margin:0"> on the side navigation.
-<li>Click <strong>Setup a Merchant Account now</strong>.</li>
-</ol>
-
-<p>This takes you to the Google Wallet site to sign up as a Merchant;
-you'll need information about your business available to complete this step.</p>
-
-<h3>Explore the Developer Console</h3>
-<p>When your registration is verified, you can sign in to your Developer Console, which will be the home for your app publishing operations and tools on Google Play. </p>
diff --git a/docs/html/distribute/googleplay/quality/core.jd b/docs/html/distribute/googleplay/quality/core.jd
deleted file mode 100644
index 9e23bcc..0000000
--- a/docs/html/distribute/googleplay/quality/core.jd
+++ /dev/null
@@ -1,804 +0,0 @@
-page.title=Core App Quality Guidelines
-@jd:body
-
-<div id="qv-wrapper"><div id="qv">
-<h2>Quality Criteria</h2>
-  <ol>
-    <li><a href="#ux">Design and Interaction</a></li>
-        <li><a href="#fn">Functionality</a></li>
-        <li><a href="#ps">Performance and Stability</a></li>
-        <li><a href="#listing">Google Play</a></li>
-
-  </ol>
-  
-  <h2>Testing</h2>
-  <ol>
-    <li><a href="#test-environment">Setting Up a Test Environment</a></li>
-        <li><a href="#tests">Test Procedures</a></li>
-        </ol>
-
-  <h2>You Should Also Read</h2>
-  <ol>
-    <li><a href="{@docRoot}distribute/googleplay/quality/tablet.html">Tablet App Quality Checklist</a></li>
-        <li><a href="{@docRoot}distribute/googleplay/strategies/app-quality.html">Improving App Quality</a></li>
-  </ol>
-  
-
-</div>
-</div>
-
-<p>App quality directly influences the long-term success of your app&mdash;in
-terms of installs, user rating and reviews, engagement, and user retention.
-Android users expect high-quality apps, even more so if they've spent money on
-them.</p>
-
-<p>This document helps you assess basic aspects of quality in your app through a
-compact set of <em>core app quality criteria</em> and associated tests. All
-Android apps should meet these criteria.</p>
-
-<p>Before publishing your app, make sure to test it against these criteria to
-ensure that it functions well on many devices, meets Android standards for
-navigation and design, and is prepared for promotional opportunities in the
-Google Play Store. Your testing will go well beyond what's described here&mdash;the
-purpose of this document is to specify the essential characteristics
-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="{@docRoot}distribute/googleplay/quality/tablet.html">Tablet App Quality
-Checklist</a> for recommendations on ways to optimize your app for tablets.</p>
-
-
-<h2 id="ux">Visual Design and User Interaction</h2>
-
-<p>These criteria ensure that your app provides standard Android visual design
-and interaction patterns where appropriate, for a consistent and intuitive
-user experience.</p>
-
-<table>
-	<tr>
-		<th style="width:2px;">
-			Area
-		</th>
-		<th style="width:54px;">
-			ID
-		</th>
-		
-
-		<th>
-			Description
-		</th>
-		<th style="width:54px;">
-			Tests
-		</th>
-	</tr>
-	<tr id="UX-B1">
-	<td>Standard design</td>
-		<td>
-		UX-B1	
-		</td>
-		<td>
-			<p style="margin-bottom:.5em;">App follows <a href="{@docRoot}design/index.html">Android Design</a> guidelines and uses common <a href="{@docRoot}design/patterns/index.html">UI patterns and icons</a>:</p>
-			<ol style="margin-bottom:.5em;list-style-type:lower-alpha">
-			<li>App does not redefine the expected function of a system icon (such as the Back button).</li>
-			<li>App does not replace a system icon with a completely different icon if it triggers the standard UI behavior. </li>
-			<li>If the app provides a customized version of a standard system icon, the icon strongly resembles the system icon and triggers the standard system behavior.</li>
-			<li>App does not redefine or misuse Android UI patterns, such that icons or behaviors could be misleading or confusing to users.</li>
-			</ol>
-		</td>
-		<td><a href="#core">CR-all</a></td>
-	</tr>
-
-
-	<tr>
-		<td rowspan="3">Navigation</td>
-		<td id="UX-N1">
-			UX-N1
-		</td>
-
-		<td>
-			<p>App supports standard system <a href="{@docRoot}design/patterns/navigation.html">Back button navigation</a> and does not make use of any custom, on-screen "Back button" prompts.</p>
-		</td>
-		<td><a href="#core">CR-3</a></td>
-	</tr>
-	<tr>
-		<td id="UX-N2">
-			UX-N2 
-		</td>
-		<td>
-			<p>All dialogs are dismissable using the Back button.</p>
-		</td>
-		<td><a href="#core">CR-3</a></td>
-	</tr>
-
-	<tr  id="UX-N3">
-		<td>
-			UX-N3
-		</td>
-		<td>
-			Pressing the Home button at any point navigates to the Home screen of the device. 
-		</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>
-<tr>
-<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. </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 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>
-</table>
-
-<h2 id="fn">Functionality</h2>
-
-<p>These criteria ensure that your app provides expected functional behavior with the appropriate level of permissions. </p>
-
-<table>
-	<tr>
-		<th style="width:2px;">
-			Area
-		</th>
-		<th style="width:54px;">
-			ID
-		</th>
-		
-
-		<th>
-			Description
-		</th>
-		<th style="width:54px;">
-			Tests
-		</th>
-	</tr>
-
-	<tr id="FN-P1">
-	<td rowspan="2">Permissions</td>
-		<td>
-		FN-P1
-		</td>                                                                                                                                                                      
-		<td>App requests only the <em>absolute minimum</em> permissions that it needs to support core functionality.
-		</td>
-		<td rowspan="2"><a href="#core">CR-11</a></td>
-	</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 id="FN-L1">
-		<td>Install location</td>
-		<td>
-			FN-L1
-		</td>
-		<td>
-			<p style="margin-bottom:.5em;">App functions normally when installed on SD card (if supported by app).</p>
-			
-			<p style="margin-bottom:.25em;">Supporting installation to SD card is recommended for most large apps (10MB+). See the <a href="{@docRoot}guide/topics/data/install-location.html">App Install Location</a> developer guide for information about which types of apps should support installation to SD card.</p>
-			</td>
-			
-			<td><a href="#SD-1">SD-1</a>
-			</td>
-	</tr>
-	<tr id="FN-A1">
-	<td rowspan="4">Audio</td>
-		<td>
-			FN-A1
-		</td>
-
-		<td>
-			Audio does not play when the screen is off, unless this is a core feature (for example, the app is a music player).
-		</td>
-		<td><a href="#core">CR-7</a></td>
-	</tr>
-	<tr id="FN-A2">
-		<td>
-			FN-A2
-		</td>
-		<td>
-			Audio does not <a href="http://android-developers.blogspot.com/2011/11/making-android-games-that-play-nice.html">play behind the lock screen</a>, unless this is a core feature.
-		</td>
-		<td><a href="#core">CR-8</a></td>
-	</tr>
-	<tr id="FN-A3">
-		<td>
-			FN-A3
-		</td>
-		<td>
-			Audio does not play on the home screen or over another app, unless this is a core feature.
-		</td>
-		<td><a href="#core">CR-1, <br />CR-2</a></td>
-	</tr>
-	<tr id="FN-A4">
-		<td>
-			FN-A4
-		</td>
-		<td>
-			Audio resumes when the app returns to the foreground, or indicates to the user that playback is in a paused state.
-		</td>
-		<td><a href="#core">CR-1, CR-8</a></td>
-	</tr>
-	<tr id="FN-U1">
-	<td rowspan="3">UI and Graphics</td>
-		<td>
-			FN-U1
-		</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="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>
-		<td><a href="#core">CR-5</a></td>
-	</tr>
-	<tr id="FN-U3">
-		<td>
-			FN-U3
-		</td>
-		<td>
-			<p style="margin-bottom:.5em;">App correctly handles rapid transitions between display orientations without rendering problems.</p>
-		</td>
-		<td><a href="#core">CR-5</a></td>
-	</tr>
-	
-	<tr  id="FN-S1">
-		<td rowspan="2">User/app state</td>
-		<td>
-			FN-S1
-		</td>
-		<td>
-		<p style="margin-bottom:.5em;">App should not leave any services running when the app is in the background, unless related to a core capability of the app.</p>
-		<p style="margin-bottom:.25em;">For example, the app should not leave services running to maintain a network connection for notifications, to maintain a Bluetooth connection, or to keep the GPS powered-on.</p>
-		</td>
-		<td><a href="#core">CR-6</a></td>
-	</tr>
-	<tr  id="FN-S2">
-		<td>
-			FN-S2
-		</td>
-		<td>
-			<p style="margin-bottom:.5em;">App correctly preserves and restores user or app state.</p>
-			<p style="margin-bottom:.25em;">App preserves user or app state when leaving the foreground and prevents accidental data loss due to back-navigation and other state changes. When returning to the foreground, the app must restore the preserved state and any significant stateful transaction that was pending, such as changes to editable fields, game progress, menus, videos, and other sections of the app or game.</p>
-			<ol style="margin-bottom:.25em;list-style-type:lower-alpha">
-			<li>When the app is resumed from the Recents app switcher, the app returns the user to the exact state in which it was last used.</li>
-			<li>When the app is resumed after the device wakes from sleep (locked) state, the app returns the user to the exact state in which it was last used.</li>
-			<li>When the app is relaunched from Home or All Apps, the app restores the app state as closely as possible to the previous state.</li>
-			<li>On Back keypresses, the app gives the user the option of saving any app or user state that would otherwise be lost on back-navigation.</li>
-			</ol>
-		</td>
-		<td><a href="#core">CR-1, CR-3, CR-5</a></td>
-	</tr>
-	
-</table>
-
-<table>
-<tr>
-<td><p>Related resources:</p>
-<ul style="margin-top:-.5em;">
-<li><strong><a href="http://android-developers.blogspot.com/2011/11/making-android-games-that-play-nice.html">Making Android Apps that Play Nice</a></strong> &mdash; Developer blog post discussing the audio lifecycle and expected audio behaviors for Android apps. </li>
-<li><strong><a href="{@docRoot}guide/components/tasks-and-back-stack.html">Tasks and Back Stack</a></strong> &mdash; Developer guide describing how to implement back-navigation.</li>
-<li><strong><a href="{@docRoot}training/basics/activity-lifecycle/recreating.html">Recreating an Activity</a></strong> &mdash; Android Training class the shows how to preserve and restore app state.</li>
-
-</ul>
-</td>
-</tr>
-</table>
-
-
-<h2 id="ps">Performance and Stability</h2>
-
-<p>To ensure a high user rating, your app needs to perform well and stay
-responsive on all of the devices and form factors and screens that it is
-targeting. These criteria ensure that the app provides the basic performance,
-stability, and responsiveness expected by users.</p>
-
-<table>
-	<tr>
-		<th style="width:2px;">
-			Area
-		</th>
-		<th style="width:54px;">
-			ID
-		</th>
-		<th>
-			Description
-		</th>
-		<th style="width:54px;">
-			Tests
-		</th>
-	</tr>
-	<tr  id="PS-S1">
-		<td>Stability</td>
-		<td>
-			PS-S1
-		</td>
-		<td>
-			App does not crash, force close, freeze, or otherwise function abnormally on any targeted device.
-		</td>
-		<td><a href="#core">CR-all</a>, <a href="#SD-1">SD-1</a>, <a href="#HA-1">HA-1</a></td>
-	</tr>
-	
-	<tr id="PS-P1">
-	<td rowspan="2">Performance</td>
-		<td>
-			PS-P1
-		</td>
-		<td>
-			App loads quickly or provides onscreen feedback to the user (a progress indicator or similar cue) if the app
-			takes longer than two seconds to load.
-		</td>
-		<td>
-		    <a href="#core">CR-all</a>, <a href="#SD-1">SD-1</a>
-		</td>
-	</tr>
-	<tr id="PS-P2">
-
-		<td>
-			PS-P2
-		</td>
-		<td>
-			With StrictMode enabled (see <a href="#strictmode">StrictMode Testing</a>, below), no red flashes (performance warnings from StrictMode) are visible when exercising the app, including
-			during game play, animations and UI transitions, and any other part of the app.
-		</td>
-		<td>
-		    <a href="#PM-1">PM-1</a>
-		</td>
-	</tr>
-	<tr id="PS-M1">
-		<td>Media</td>
-		<td>
-			PS-M1
-		</td>
-		<td>
-			Music and video playback is smooth, without crackle, stutter, or other artifacts, during normal app usage and load.
-		</td>
-		<td>
-		    <a href="#core">CR-all</a>, <a href="#SD-1">SD-1</a>, <a href="#HA-1">HA-1</a>
-		</td>
-	</tr>
-	<tr id="PS-V1">
-		<td rowspan="2">Visual quality</td>
-	<td>
-			PS-V1
-		</td>
-		<td>
-			<p style="margin-bottom:.5em;">App displays graphics, text, images, and other UI elements without noticeable distortion, blurring, or pixelation.</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 is visible.</li>
-			</ol>
-		</td>
-		<td rowspan="2"><a href="#core">CR-all</a></td>
-	</tr>
-	<tr id="PS-V2">
-		<td>
-			PS-V2
-		</td>
-		<td>
-			<p style="margin-bottom:.5em;">App displays text and text blocks in an acceptable manner. </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 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>
-<ul style="margin-top:-.5em;">
-<li><strong><a href="http://android-developers.blogspot.com/2010/12/new-gingerbread-api-strictmode.html">Using StrictMode</a></strong> &mdash; Developer blog post discussing StrictMode and how to use it for performance monitoring in your app. </li>
-<li><strong><a href="{@docRoot}guide/practices/responsiveness.html">Designing for Responsiveness</a></strong> &mdash; Developer guide describing best practices for keeping your app responsive.</li>
-<li><strong><a href="http://android-developers.blogspot.com/2010/07/multithreading-for-performance.html">Multithreading for Performance</a></strong> &mdash; Developer blog post discussing ways to improve performance through multi-threading.</li>
-</ul>
-</td>
-</tr>
-</table>
-
-
-<h2 id="listing">Google Play</h2>
-
-<p>To launch your app successfully on Google Play, raise its ratings, and make
-sure that it is ready for promotional activities in the store, follow the
-criteria below.</p>
-
-<table>
-	<tr>
-		<th style="width:2px;">
-			Area
-		</th>
-		<th style="width:54px;">
-			ID
-		</th>
-		<th>
-			Description
-		</th>
-		<th style="width:54px;">
-			Tests
-		</th>
-	</tr>
-	<tr id="GP-P1">
-	<td rowspan="2">Policies</td>
-		<td>
-			GP-P1
-		</td>
-		<td>
-			App strictly adheres to the terms of the <a href="http://play.google.com/about/developer-content-policy.html">Google Play Developer Content Policy</a> and does not offer inappropriate content, does not use intellectual property or brand of others, and so on.
-		</td>
-		<td>
-		<a href="#gp">GP-all</a>
-		</td>
-	</tr>
-	
-	<tr id="GP-P2">
-		<td>
-			GP-P2
-		</td>
-		<td>
-			<p style="margin-bottom:.5em;">App maturity level is set appropriately, based on the 
-			<a href="http://support.google.com/googleplay/android-developer/bin/answer.py?hl=en&answer=188189">Content Rating Guidelines</a>.</p>
-			
-			<p style="margin-bottom:.25em;">Especially, note that apps that request permission to use the device location cannot be given the maturity level "Everyone". </p>
-		</td>
-			<td>
-		<a href="#gp">GP-1</a>
-		</td>
-	</tr>
-
-	<tr id="GP-D1">
-	<td rowspan="3">App&nbsp;Details Page</td>
-		<td>
-			GP-D1
-		</td>
-		<td>
-			<p style="margin-bottom:.5em;">App feature graphic follows the guidelines outlined in this
-			<a href="http://android-developers.blogspot.com/2011/10/android-market-featured-image.html">blog post</a>. Make sure that:</p>
-			
-			<ol style="margin-bottom:.5em;list-style-type:lower-alpha">
-				<li>The app listing includes a high-quality feature graphic.</li>
-				<li>The feature graphic does not contain device images, screenshots, or small text that will be illegible when scaled down and displayed on the smallest screen size that your app is targeting.</li>
-			    <li>The feature graphic does not resemble an advertisement.</li>
-			</ol>
-			
-		
-		</td>
-		
-				<td>
-		<a href="#gp">GP-1, GP-2</a>
-		</td>
-	</tr>
-	<tr id="GP-D2">
-		<td>
-			GP-D2
-		</td>
-		<td>
-			App screenshots and videos do not show or reference non-Android devices. 
-		</td>
-		<td rowspan="2"><a href="#gp">GP-1</a></td>
-	</tr>
-	<tr id="GP-D3">
-		<td>
-			GP-D3
-		</td>
-		<td>
-			App screenshots or videos do not 
-			represent the content and experience of your app in a misleading way.
-		</td>
-	</tr>
-	<tr id="GP-X1">
-		<td>User Support</td>
-		<td>
-			GP-X1
-		</td>
-		<td>Common user-reported bugs in the Reviews tab of the Google Play page are addressed if they are
-			reproducible and occur on many different devices. If a bug occurs on only a few devices,
-			you should still address it if those devices are particularly popular or new.
-		</td>
-		
-				<td>
-		<a href="#gp">GP-1</a>
-		</td>
-		
-	</tr>
-</table>
-
-<table>
-<tr>
-<td><p>Related resources:</p>
-<ul style="margin-top:-.5em;">
-<li><strong><a href="https://play.google.com/apps/publish/">Launch 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>
-<li><strong><a href="http://android-developers.blogspot.com/2011/10/android-market-featured-image.html">Google Play Featured Image Guidelines
-</a></strong> — Blog post discussing how to create an attractive, effective Featured Image for your app.</li>
-<li><strong><a href="http://support.google.com/googleplay/android-developer/bin/answer.py?hl=en&amp;answer=113477&amp;topic=2364761&amp;ctx=topic">Supporting your users
-</a></strong> — Help Center document describing options for supporting users.</li>
-</ul>
-</td></tr>
-</table>
-
-
-<h2 id="test-environment">Setting Up a Test Environment</h2>
-
-<p>To assess the quality of your app, you need to set up a suitable
-hardware or emulator environment for testing. </p>
-
-<p>The ideal test environment would
-include a small number of actual hardware devices that represent key form
-factors and hardware/software combinations currently available to consumers.
-It's not necessary to test on <em>every</em> device that's on the market &mdash;
-rather, you should focus on a small number of representative devices, even using
-one or two devices per form factor. </p>
-
-<p>If you are not able to obtain actual hardware devices for testing, you should
-<a href="{@docRoot}tools/devices/index.html">set up emulated devices (AVDs)</a>
-to represent the most common form factors and
-hardware/software combinations.</p>
-
-<p>To go beyond basic testing, you can add more devices, more form factors, or
-new hardware/software combinations to your test environment. You can also
-increase the number or complexity of tests and quality criteria. </p>
-
-
-<h2 id="tests">
-  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>
-
-<table>
-	<tr>
-		<th style="width:2px;">
-			Type
-		</th>
-		<th style="width:54px;">
-			Test
-		</th>
-		<th>
-			Description
-		</th>
-	</tr>
-	<tr>
-		<td rowspan="12" id="core">Core Suite</td>
-		<td>
-			CR-0
-		</td>
-		<td><p style="margin-bottom:.5em;">Navigate to all parts of the app &mdash; all screens, dialogs, settings, and all user flows. </p>
-		
-		<ol style="margin-bottom:.5em;list-style-type:lower-alpha">
-		<li>If the application allows for editing or content creation, game play, or media playback, make sure to enter those flows to create or modify content.</li>
-		<li>While exercising the app, introduce transient changes in network connectivity, battery function, GPS or location availability, system load, and so on. </li>
-			</ol>
-		</td>
-	</tr>
-	<tr id="tg2">
-		<td id="core">
-			CR-1
-		</td>
-		<td>From each app screen, press the device's Home key, then re-launch the app from the All Apps screen.
-		</td>
-	</tr>
-	<tr id="CR-2">
-		<td>
-			CR-2
-		</td>
-		<td>From each app screen, switch to another running app and then return to the app under test using the Recents app switcher.
-		</td>
-	</tr>
-
-	<tr id="CR-3">
-		<td>
-			CR-3
-		</td>
-		<td>From each app screen (and dialogs), press the Back button. 
-		</td>
-	</tr>
-		<tr id="CR-5">
-		<td>
-			CR-5
-		</td>
-		<td>From each app screen, rotate the device between landscape and portrait orientation at least three times.
-		</td>
-	</tr>
-	<tr id="CR-6">
-		<td>
-			CR-6
-		</td>
-		<td>Switch to another app to send the test app into the background. Go to Settings and check whether the test app has any services running while in the background. In Android 4.0 and higher, go to the Apps screen and find the app in the "Running" tab. In earlier versions, use "Manage Applications" to check for running services.
-		</td>
-	</tr>
-
-	
-	<tr  id="CR-7">
-		<td>
-			CR-7
-		</td>
-		<td>
-			Press the power button to put the device to sleep, then press the power button again to
-			awaken the screen.
-		</td>
-	</tr>
-	<tr id="CR-8">
-		<td>
-			CR-8
-		</td>
-		<td>
-			Set the device to lock when the power button is pressed. Press the power button to put the device to sleep, then press the power button again to
-			awaken the screen, then unlock the device.
-		</td>
-	</tr>
-	<tr id="CR-9">
-		<!-- Hardware features -->
-		<td>
-			CR-9
-		</td>
-		<td>
-			For devices that have slide-out keyboards, slide the keyboard in and out at least once.  For devices that have keyboard docks, attach the device to the keyboard dock.
-		</td>
-	</tr>
-	<tr id="CR-10">
-		<td>
-			CR-10
-		</td>
-		<td>
-			For devices that have an external display port, plug-in the external display.
-		</td>
-	</tr>
-	<tr id="CR-11">
-		<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>
-	<tr id="tg3">
-	<td>Install on SD Card</td>
-		<td>
-			SD-1
-		</td>
-		<td>
-			<p style="margin-bottom:.5em;">Repeat <em>Core Suite</em> with app installed to <a href="{@docRoot}guide/topics/data/install-location.html">device SD card</a> (if supported by app).</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">
-			<td>Hardware acceleration</td>
-		<td>
-			HA-1
-		</td>
-		<td>
-			<p style="margin-bottom:.5em;">Repeat <em>Core Suite</em> with hardware acceleration enabled.</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">
-			<td>Performance Monitoring</td>
-		<td>
-			PM-1
-		</td>
-		<td>
-		 <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="gp">
-		<td rowspan="3">Google Play</td>
-		<td>
-			GP-1
-		</td>
-		<td>
-			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="GP-2">
-		<td>
-			GP-2
-		</td>
-		<td>
-			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="GP-3">
-		<td>
-			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="GP-4">
-	<td>Payments</td>
-		<td>
-			GP-4
-		</td>
-		<td>
-			Navigate to all screens of your app and enter all in-app purchase flows.
-		</td>
-</tr>
-
-</table>
-
-<h3 id="strictmode">
-Testing with StrictMode
-</h3>
-
-<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>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/index.jd b/docs/html/distribute/googleplay/quality/index.jd
deleted file mode 100644
index ef537b1..0000000
--- a/docs/html/distribute/googleplay/quality/index.jd
+++ /dev/null
@@ -1,45 +0,0 @@
-page.title=App Quality
-@jd:body
-
-<p>App quality directly influences the long-term success of your app&mdash;in
-terms of installs, user rating and reviews, engagement, and user retention.
-Android users expect high-quality apps, even more so if they've spent money on
-them. At the same time, users enjoy and value apps that put a priority on
-continuous improvement. </p>
-
-<p>Before you publish an app on Google Play, it's important to make sure that
-your app meets the basic quality expectations of users, across all of the form
-factors and device types that the app is targeting. The documents in this
-section help you assess your app's fundamental quality and address any
-issues that you find. </p>
-
-<div class="vspace size-1">
-  &nbsp;
-</div>
-<div class="layout-content-row">
-  <div class="layout-content-col span-4">
-    <h4>
-      Core App Quality
-    </h4>
-    <p>
-      A set of core quality criteria that all Android apps should meet on all targeted devices.
-    </p><a href="{@docRoot}distribute/googleplay/quality/core.html">Learn more »</a>
-  </div>
-  <div class="layout-content-col span-4">
-    <h4>
-      Tablet App Quality
-    </h4>
-    <p>
-      A set recommendations for delivering the best possible experience to tablet users.
-    </p><a href="{@docRoot}distribute/googleplay/quality/tablet.html">Learn more »</a>
-  </div>
-  <div class="layout-content-col span-4">
-    <h4>
-      Improving App Quality
-    </h4>
-    <p>
-      Tips on continuously improving your app's quality, ratings, reviews, downloads, and engagement.
-    </p><a href="{@docRoot}distribute/googleplay/strategies/app-quality.html">Learn more
-    »</a>
-  </div>
-</div>
diff --git a/docs/html/distribute/googleplay/quality/tablet.jd b/docs/html/distribute/googleplay/quality/tablet.jd
deleted file mode 100644
index fe046d4..0000000
--- a/docs/html/distribute/googleplay/quality/tablet.jd
+++ /dev/null
@@ -1,969 +0,0 @@
-page.title=Tablet App Quality Checklist
-@jd:body
-
-<div id="qv-wrapper"><div id="qv">
-<h2>Checklist</h2>
-<ol>
-
-<li><a href="#core-app-quality">1. Test for Basic Tablet App Quality</a></li>
-<li><a href="#optimize-layouts">2. Optimize your layouts</a></li>
-<li><a href="#use-extra-space">3. Use the extra screen area</a></li>
-<li><a href="#use-tablet-icons">4. Use assets designed for tablets</a></li>
-<li><a href="#adjust-font-sizes">5. Adjust fonts and touch targets</a></li>
-<li><a href="#adjust-widgets">6. Adjust homescreen widgets</a></li>
-<li><a href="#offer-full-feature-set">7. Offer the app's full feature set</a></li>
-<li><a href="#android-versions">8. Target Android versions properly</a></li>
-<li><a href="#hardware-requirements">9. Declare dependencies properly</a></li>
-<li><a href="#support-screens">10. Declare tablet screens support</a></li>
-<li><a href="#google-play">11. Showcase your tablet UI</a></li>
-<li><a href="#google-play-best-practices">12. Follow publishing best practices</a></li>
-
-</ol>
-<h2>Testing</h2>
-<ol>
-<li><a href="#test-environment">Setting Up a Test Environment</a></li>
-</ol>
-</div></div>
-
-<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 and an intuitive, well-designed UI. </p>
-
-<p>Tablets are a growing part of the Android installed base that offers new
-opportunities for <a
-href="{@docRoot}distribute/googleplay/spotlight/tablets.html">user engagement
-and monetization</a>. If your app is targeting tablet users, this document helps
-you focus on key aspects of quality, feature set, and UI that can have a
-significant impact on the app's success. Each focus area is given as checklist
-item, with each one comprising several smaller tasks or best practices.</p>
-
-<p>Although the checklist tasks below are numbered for convenience, 
-you can handle them in any order and address them to the extent that you feel
-is right for your app. In the interest of delivering the best possible product
-to your customers, follow the checklist recommendations
-to the greatest extent possible. </p>
-
-<p>As you move through the checklist, you'll find links to support resources
-that can help you address the topics raised in each task.</p>
-
-
-<h2 id="core-app-quality" style="margin-top:1.5em;">1. Test for basic tablet app quality</h2>
-
-<p>The first step in delivering a great tablet app experience is making sure
-that it meets the <em>core app quality criteria</em> for all of the devices
-and form factors that the app is targeting. For complete information, see the <a
-href="{@docRoot}distribute/googleplay/quality/core.html">Core App Quality Guidelines</a>. 
-</p>
-
-<p>
-  Before publishing, also ensure that your app passes several basic
-  technical checks and launch criteria, such as:
-</p>
-
-<ul>
-  <li><a href="#android-versions">Targets appropriate Android versions</a></li>
-  <li><a href="#hardware-requirements">Specifies any hardware dependencies properly</a></li>
-  <li><a href="#support-screens">Declares support for appropriate screens</a></li>
-  <li><a href="#use-extra-space">Uses all of the available screen space</a></li>
-  <li><a href="#google-play">Screenshots are uploaded to Google Play</a></li>
-</ul>
-
-<p>If your app is already uploaded to the Google Play Developer Console, you
-  can see how it is doing against these checks  
-  by visiting the <a href="#google-play-optimization-tips">Optimization
-  Tips page</a>.</p>
-
-
-<h2 id="optimize-layouts">2. Optimize your layouts for larger screens</h2>
-
-<p>Android makes it easy to develop an app that runs well on a wide range of
-device screen sizes and form factors. This broad compatibility works in your
-favor, since it helps you design a single app that you can distribute widely to
-all of your targeted devices. However, to give your users the best possible
-experience on each screen configuration &mdash; in particular on tablets
-&mdash; you need to optimize your layouts and other UI components for each
-targeted screen configuration. On tablets, optimizing your UI lets you take
-full advantage of the additional screen available, such as to offer new features,
-present new content, or enhance the experience in other ways to deepen user
-engagement.</p>
-
-<p>If you developed your app for handsets and now want to distribute it to
-tablets, you can start by making minor adjustments to your layouts, fonts, and
-spacing. In some cases &mdash; such as for 7-inch tablets or for a game with
-large canvas &mdash; these adjustments may be all
-you need to make your app look great. In other cases, such as for larger
-tablets, you can redesign parts of your UI to replace "stretched UI" with an
-efficient multipane UI, easier navigation, and additional content. </p>
-
-<p>Here are some suggestions:</p>
-
-<div style="width:390px;float:right;margin:1.5em;margin-top:0em;">
-<img src="{@docRoot}images/training/app-navigation-multiple-sizes-multipane-bad.png"
-style="width:390px;padding:4px;margin-bottom:0em;">
-<p class="image-caption" style="padding:0em .5em .5em 2em"><span
-style="font-weight:500;">Get rid of "stretched" UI</span>: On tablets, single-pane
-layouts lead to awkward whitespace and excessive line lengths. Use padding to
-reduce the width of UI elements and consider using multi-pane layouts.</p>
-</div>
-
-<ul>
-<li>Provide custom layouts as needed for <code>large</code> and
-<code>xlarge</code> screens. You can also provide layouts that are loaded based
-on the screen's <a href="{@docRoot}guide/practices/screens_support.html#NewQualifiers">shortest
-dimension</a> or the <a href="{@docRoot}guide/practices/screens_support.html#NewQualifiers">minimum
-available width and height</a>. </li>
-<li>At a minimum, customize dimensions such as font sizes, margins, spacing for
-larger screens, to improve use of space and content legibility. </li>
-<li>Adjust positioning of UI controls so that they are easily accessible to
-users when holding a tablet, such as toward the sides when in
-landscape orientation.</li>
-<li>Padding of UI elements should normally be larger on tablets than on handsets. A
-<a href="{@docRoot}design/style/metrics-grids.html#48dp-rhythm">48dp rhythm</a> (and a 16dp
-grid) is recommended.</li>
-<li>Adequately pad text content so that it is not aligned directly along screen edges.
-Use a minimum <code>16dp</code> padding around content near screen edges.</li>
-</ul>
-
-<p>In particular, make sure that your layouts do not appear "stretched"
-across the screen:</p>
-
-<ul>
-<li>Lines of text should not be excessively long &mdash; optimize for a maximum
-100 characters per line, with best results between 50 and 75.</li>
-<li>ListViews and menus should not use the full screen width.</li>
-<li>Use padding to manage the widths of onscreen elements or switch to a
-multi-pane UI for tablets (see next section).</li>
-</ul>
-
-<div class="rel-resources">
-  <h3>
-    Related resources
-  </h3>
-
-  <ul>
-    <li>
-      <a href=
-      "{@docRoot}design/style/metrics-grids.html">Metrics
-      and Grids</a>&mdash;Android Design document that explains how to create
-      layouts based on density-independent grids.
-    </li>
-
-    <li>
-      <a href=
-      "{@docRoot}design/style/devices-displays.html">Devices
-      and Displays</a>&mdash;Android Design document that explains how to
-      design a UI that works well on different devices and
-      screen sizes.
-    </li>
-
-    <li>
-      <a href="{@docRoot}guide/practices/screens_support.html">Supporting Multiple
-      Screens</a>&mdash;Developer documentation that explains the details of
-      managing UI for best display on multiple screen sizes.
-    </li>
-
-    <li>
-      <a href=
-      "{@docRoot}guide/practices/screens_support.html#ConfigurationExamples">
-      Configuration examples</a>&mdash;Examples of how to declare layouts and
-      other resources for specific screen sizes.
-    </li>
-  </ul>
-</div>
-
-
-<h2 id="use-extra-space">3. Take advantage of extra screen area available on tablets</h2>
-
-<div style="width:290px;float:right;margin:1.5em;margin-bottom:0;margin-top:0;">
-<img src="{@docRoot}images/training/app-navigation-multiple-sizes-multipane-good.png"
-style="width:280px;padding:4px;margin-bottom:0em;">
-<p class="image-caption" style="padding:0em .5em .5em 1.5em"><span
-style="font-weight:500;">Multi-pane layouts</span> result in a better visual
-balance on tablet screens, while offering more utility and legibility.</p>
-</div>
-
-<p>Tablet screens provide significantly more screen real estate to your app,
-especially when in landscape orientation. In particular, 10-inch tablets offer a
-greatly expanded  area, but even 7-inch tablets give you more space for
-displaying content and engaging users. </p>
-
-<p>As you consider the UI of your app when running on tablets, make sure that it
-is taking full advantage of extra screen area available on tablets. Here are
-some suggestions:</p>
-
-<ul>
-<li>Look for opportunities to include additional content or use an alternative
-treatment of existing content.</li>
-<li>Use <a href="{@docRoot}design/patterns/multi-pane-layouts.html">multi-pane
-layouts</a> on tablet screens to combine single views into a compound view. This
-lets you use the additional screen area more efficiently and makes it easier for
-users to navigate your app. </li>
-<li>Plan how you want the panels of your compound views to reorganize when
-screen orientation changes.</li>
-
-<div style="width:490px;margin:1.5em auto 1.5em 0;">
-<div style="">
-<img src="{@docRoot}images/ui-ex-single-panes.png"
-style="width:490px;padding:4px;margin-bottom:0em;" align="middle">
-<img src="{@docRoot}images/ui-ex-multi-pane.png" style="width:490px;padding:4px;margin-bottom:0em;">
-<p class="image-caption" style="padding:.5em"><span
-style="font-weight:500;">Compound views</span> combine several single views from a
-handset UI <em>(above)</em> into a richer, more efficient UI for tablets
-<em>(below)</em>. </p>
-</div>
-</div>
-
-<li>While a single screen is implemented as an {@link android.app.Activity}
-subclass, consider implementing individual content panels as {@link
-android.app.Fragment} subclasses. This lets you
-maximize code reuse across different form factors and across screens that
-share content.</li>
-<li>Decide on which screen sizes you'll use a multi-pane UI, then provide the
-different layouts in the appropriate screen size buckets (such as
-<code>large</code>/<code>xlarge</code>) or minimum screen widths (such as
-<code>sw600dp</code>/<code>sw720</code>).</li>
-</ul>
-
-<div class="rel-resources">
-  <h3>
-    Related resources
-  </h3>
-
-  <ul>
-    <li>
-      <a href="{@docRoot}design/patterns/multi-pane-layouts.html">Multi-pane
-      Layouts</a>&mdash;Android Design guide for using multi-pane UI, including
-      examples of how to flatten navigation and integrate more content into
-      your tablet UI.
-    </li>
-
-    <li>
-      <a href=
-      "{@docRoot}training/design-navigation/multiple-sizes.html">Planning for Multiple
-      Touchscreen Sizes</a>&mdash;Android Training class that walks you through
-      the essentials of planning an intuitive, effective navigation for tablets
-      and other devices.
-    </li>
-
-    <li>
-      <a href="{@docRoot}training/multiscreen/index.html">Designing for
-      Multiple Screens</a>&mdash;Android Training class that walks you through
-      the essentials of planning an intuitive, effective navigation for tablets
-      and other devices.
-    </li>
-  </ul>
-</div>
-
-
-<h2 id="use-tablet-icons">4. Use Icons and other assets that are designed
-for tablet screens</h2>
-
-<p>To ensure your app looks its best, provide icons and other bitmap
-assets for each density in the range commonly supported by tablets. Specifically, you should
-design your icons for the action bar, notifications, and launcher according to the
-<a href="{@docRoot}design/style/iconography.html">Iconography</a> guidelines and
-provide them in multiple densities, so they appear at the appropriate size on all screens
-without blurring or other scaling artifacts.</p>
-
-<p class="table-caption"><strong>Table 1</strong>. Raw asset sizes for icon types.<table>
-<tr>
-<th>Density</th>
-<th>Launcher</th>
-<th>Action Bar</th>
-<th>Small/Contextual</th>
-<th>Notification</th>
-</tr>
-<tr>
-<td><code>mdpi</code></td>
-<td>48x48 px</td>
-<td>32x32 px</td>
-<td>16x16 px</td>
-<td>24x24 px</td>
-</tr>
-<tr>
-<td><code>hdpi</code></td>
-<td>72x72 px</td>
-<td>48x48 px</td>
-<td>24x24 px</td>
-<td>36x36 px</td>
-</tr>
-<tr>
-<td><code>tvdpi</code></td>
-<td><em>(use hdpi)</em></td>
-<td><em>(use hdpi)</em></td>
-<td><em>(use hdpi)</em></td>
-<td><em>(use hdpi)</em></td>
-</tr>
-<tr>
-<td><code>xhdpi</code></td>
-<td>96x96 px</td>
-<td>64x64 px</td>
-<td>32x32 px</td>
-<td>48x48 px</td>
-</tr>
-<tr>
-<td><code>xxhdpi</code></td>
-<td>144x144 px</td>
-<td>96x96 px</td>
-<td>48x48 px</td>
-<td>72x72 px</td>
-</tr>
-
-</table>
-
-<p>Your app should supply a version of each icon and bitmap asset that's optimized
-for <strong>at least one</strong> the following common tablet screen densities:</p>
-
-<ul>
-  <li><code>hdpi</code></li>
-  <li><code>xhdpi</code></li>
-  <li><code>xxhdpi</code></li>
-</ul>
-
-<p>Other tips:</p>
-
-<ul>
-<li>When possible, use vector shapes for your icon designs so you can scale them
-without loss of detail and edge crispness.</li>
-<li>Use density-specific <a
-href="{@docRoot}guide/topics/resources/providing-resources.html#AlternativeResources">
-resource qualifiers</a> to ensure that the proper icons are loaded for each screen density.</li>
-<li>Tablets and other large screen devices often request a launcher icon that is one density
-size larger than the device's actual density, so you should provide your launcher
-icon at the highest density possible. For example, if a tablet has an {@code xhdpi} screen,
-it will request the {@code xxhdpi} version of the launcher icon.</li>
-</ul>
-
-<div class="rel-resources">
-  <h3>
-    Related resources
-  </h3>
-
-  <ul>
-    <li>
-      <a href="{@docRoot}design/style/iconography.html">Iconography</a>&mdash;
-      Design guidelines and tips about how to create various types of icons.
-    </li>
-
-    <li>
-      <a href=
-      "{@docRoot}guide/topics/resources/providing-resources.html">Providing
-      Resources</a>&mdash;Developer documentation on how to provide
-      sets of layouts and drawable resources for specific ranges of device
-      screens.
-    </li>
-
-    <li>
-      <a href="{@docRoot}guide/practices/screens_support.html">Supporting
-      Multiple Screens</a>&mdash;API Guide documentation that
-      explains the details of managing UI for best display on multiple screen
-      sizes.
-    </li>
-
-    <li>
-      <a href=
-      "{@docRoot}training/basics/supporting-devices/screens.html">Supporting Different
-      Screens</a>&mdash;Android Training class that takes you
-      through the process of optimizing the user experience for different
-      screen sizes and densities.
-    </li>
-  </ul>
-</div>
-
-
-<h2 id="adjust-font-sizes">5. Adjust font sizes and touch targets for tablet screens</h2>
-
-<p>To make sure your app is easy to use on tablets, take some time to adjust the
-font sizes and touch targets in your tablet UI, for all of the screen
-configurations you are targeting. You can adjust font sizes through <a
-href="{@docRoot}guide/topics/ui/themes.html">styleable attributes</a> or <a
-href="{@docRoot}guide/topics/resources/more-resources.html#Dimension">dimension
-resources</a>, and you can adjust touch targets through layouts and bitmap
-drawables, as discussed above. </p>
-
-<p>Here are some considerations:</p>
-<ul>
-<li>Text should not be excessively large or small on tablet screen sizes and
-densities. Make sure that labels are sized appropriately for the UI elements they
-correspond to, and ensure that there are no improper line breaks in labels,
-titles, and other elements.</li>
-<li>The recommended touch-target size for onscreen elements is 48dp (32dp
-minimum) &mdash; some adjustments may be needed in your tablet UI. Read <a
-href="{@docRoot}design/style/metrics-grids.html">Metrics and
-Grids
-</a> to learn about implementation strategies to help most of your users. To
-meet the accessibility needs of certain users, it may be appropriate to use
-larger touch targets. </li>
-<li>When possible, for smaller icons, expand the touchable area to more than
-48dp using {@link android.view.TouchDelegate}
-or just centering the icon within the transparent button.</li>
-</ul>
-
-<div class="rel-resources">
-  <h3>
-    Related resources
-  </h3>
-
-  <ul>
-    <li>
-      <a href=
-      "{@docRoot}design/style/metrics-grids.html">Metrics
-      and Grids</a> &mdash;Android Design document that explains how to arrange
-      and size touch targets and other UI elements on the screen.
-    </li>
-
-    <li>
-      <a href="{@docRoot}design/style/typography.html">Typography</a>&mdash;Android
-      Design document that gives an overview of how to use typography in your
-      apps.
-    </li>
-
-    <li>
-      <a href="{@docRoot}guide/practices/screens_support.html">Supporting Multiple
-      Screens</a>&mdash;Developer documentation that explains the details of
-      managing UI for best display on multiple screen sizes.
-    </li>
-
-    <li>
-      <a href="{@docRoot}training/multiscreen/screendensities.html">Supporting
-      Different Densities</a>&mdash;Android Training class that shows you how
-      to provide sets of layouts and drawable resources for specific ranges of
-      device screens.
-    </li>
-  </ul>
-</div>
-
-
-<h2 id="adjust-widgets">6. Adjust sizes of home screen widgets for tablet screens</h2>
-
-<p>If your app includes a home screen widget, here are a few points to consider
-to ensure a great user experience on tablet screens: </p>
-
-<ul>
-<li>Make sure that the widget's default height and width are set appropriately
-for tablet screens, as well as the minimum and maximum resize height and width.
-</li>
-<li>The widget should be resizable to 420dp or more, to span 5 or more home
-screen rows (if this is a vertical or square widget) or columns (if this is a
-horizontal or square widget). </li>
-<li>Make sure that 9-patch images render correctly.</li>
-<li>Use default system margins.</li>
-<li>Set the app's <code>targetSdkVersion</code> to 14 or higher, if
-possible.</li>
-</ul>
-
-<div class="rel-resources">
-  <h3>
-    Related resources
-  </h3>
-
-  <ul>
-    <li>
-      <a href="{@docRoot}guide/topics/appwidgets/index.html#MetaData">Adding the
-      AppWidgetProviderInfo Metadata</a> &mdash;API Guide that explains how to
-      set the height and width dimensions of a widget.
-    </li>
-
-    <li>
-      <a href="{@docRoot}guide/practices/ui_guidelines/widget_design.html">App Widget
-      Design Guidelines</a>&mdash;API Guide that provides best practices and
-      techniques for designing and managing the size of widgets.
-    </li>
-  </ul>
-</div>
-
-
-<h2 id="offer-full-feature-set">7. Offer the app's full feature set to tablet users</h2>
-
-<p>Let your tablet users experience the best features of your app. Here are
-some recommendations:</p>
-
-<ul>
-<li>Design your app to offer at least the same set of features on tablets as it does on
-handsets. </li>
-<li>In exceptional cases, your app might omit or replace certain features on
-tablets if they are not supported by the hardware or use-case of most tablets.
-For example:
-<ul>
-<li>If the handset uses telephony features but telephony is not available on the
-current tablet, you can omit or replace the related functionality.</li>
-<li>Many tablets have a GPS sensor, but most users would not normally carry
-their tablets while running. If your phone app provides functionality to let the
-user record a GPS track of their runs while carrying their phones, the app would not need to
-provide that functionality on tablets because the use-case is not
-compelling.</li>
-</ul>
-</li>
-<li>If you will omit a feature or capability from your tablet UI, make sure
-that it is not accessible to users or that it offers “graceful degradation”
-to a replacement feature (also see the section below on hardware features).</li>
-</ul>
-
-<h2 id="android-versions">8. Target Android versions properly</h2>
-
-<p>To ensure the broadest possible distribution to tablets, make sure that your
-app properly targets the Android versions that support tablets. Initial support for
-tablets was added in <a href="{@docRoot}about/versions/android-3.0.html">Android 3.0</a>
-(API level 11). Unified UI
-framework support for tablets, phones, and other devices was introduced in <a
-href="{@docRoot}about/versions/android-4.0.html">Android 4.0</a> (API level 14) and is
-supported in later versions.
-
-<p>You can set the app's
-range of targeted Android versions in the manifest file, in the
-<a href="{@docRoot}guide/topics/manifest/uses-sdk-element.html"><code>&lt;uses-sdk&gt;</code></a> element. In most cases, you can target Android versions properly by setting the element's <code>targetSdkVersion</code> attribute to the highest API level available.</p>
-
-<p style="margin-bottom:.5em;">At a minimum, check the <a href="{@docRoot}guide/topics/manifest/uses-sdk-element.html"><code>&lt;uses-sdk&gt;</code></a>
-  element to make sure that:</p>
-
-      <ol style="list-style-type:lower-alpha;margin-top:0em;">
-        <li><code>targetSdkVersion</code> is declared with value 11 or higher (14 or higher is recommended), OR</li>
-        <li><code>minSdkVersion</code> is declared with value 11 or higher.</li>
-        <li>If a <code>maxSdkVersion</code> attribute is declared, it must have a value of 11 or higher. Note that, in general, the use of <code>maxSdkVersion</code> is <em>not recommended</em>.</li>
-</ol>
-
-<div class="rel-resources">
-<h3>
-  Related resources
-</h3>
-
-<ul>
-  <li>
-    <a href=
-    "{@docRoot}guide/topics/manifest/uses-sdk-element.html#ApiLevels">Android API
-    Levels</a>&mdash;Introduces API levels and how they relate to compatibility.
-    A reference of available API levels is included.
-  </li>
-  <li>
-    <a href="{@docRoot}training/basics/supporting-devices/platforms.html">Supporting Different Platform Versions</a>&mdash;Training class showing how to declare support for
-    minimum and target API levels in your app. 
-  </li>
-</ul>
-</div>
-
-<h2 id="hardware-requirements">9. Declare hardware feature dependencies properly</h2>
-
-<p>
-  Handsets and tablets typically offer slightly different hardware support for
-  sensors, camera, telephony, and other features. For example, many tablets are
-  available in a "Wi-Fi" configuration that does not include telephony support.
-</p>
-
-<p>
-  So that you can distribute a single APK broadly across your full customer
-  base of phones and tablets, make sure that your app doesn't declare
-  requirements for hardware features that aren't commonly available on tablets.
-  Instead, properly declare the hardware features as <em>not required</em> in the app
-  manifest, as described below.
-</p>
-
-<ul>
-<li>In your app manifest, locate any <a href="{@docRoot}guide/topics/manifest/uses-feature-element.html"><code>&lt;uses-feature&gt;</code></a>
-elements. In particular, look for hardware features that might not be
-available on some tablets, such as:
-
-<ul>
-<li><code>android.hardware.telephony</code></li>
-<li><code>android.hardware.camera</code> (refers to back camera), or</li>
-<li><code>android.hardware.camera.front</code></li>
-</ul></li>
-
-<li>Declare the <a href="{@docRoot}guide/topics/manifest/uses-feature-element.html"><code>&lt;uses-feature&gt;</code></a>
-elements as <em>not required</em> by including the <code>android:required=”false”</code>
-attribute.
-
-<p>
-  For example, here's the proper way to declare a dependency on
-  <code>android.hardware.telephony</code>, such that you can still
-  distribute the app broadly, even to devices that don't offer telephony:
-</p>
-
-<pre>&lt;uses-feature android:name="android.hardware.telephony" android:required="false" /&gt;</pre></li>
-
-<li>Similarly, check the manifest for <a href="/guide/topics/manifest/permission-element.html"><code>&lt;permission&gt;</code></a> elements that 
-<a href="/guide/topics/manifest/uses-feature-element.html#permissions">imply hardware
-feature requirements</a> that not be appropriate for tablets. If you find such
-permissions, make sure to explicitly declare a corresponding
-<code>&lt;uses-feature&gt;</code> element for the features and includes the
-<code>android:required=”false”</code> attribute.</li>
-</ul>
-
-
-<p>
-  After declaring hardware features as <em>not required</em>, make sure to test
-  your app on a variety of devices. The app should function normally when the
-  hardware features it uses are not available, and it should offer "graceful
-  degradation" and alternative functionality where appropriate.
-</p>
-
-<p>
-  For example, if an app normally uses GPS to set the location but GPS is not
-  supported on the device, the app could let the user set the location manually
-  instead. The app can check for device hardware capabilities at runtime and handle
-  as needed.
-</p>
-
-<div class="rel-resources">
-<h3>
-  Related resources
-</h3>
-
-<ul>
-  <li>
-    <a href=
-    "{@docRoot}guide/topics/manifest/uses-feature-element.html#permissions">Permissions
-    that Imply Feature Requirements</a>&mdash;A list of permissions that may
-    cause unwanted filtering if declared in your app's manifest.
-  </li>
-  <li>
-    <a href=
-    "{@docRoot}guide/topics/manifest/uses-feature-element.html"><code>&lt;uses-feature&gt;</code></a>&mdash;Description
-    and reference documentation for the <code>&lt;uses-feature&gt;</code>
-    manifest element.
-  </li>
-
-  <li>
-    <a href="{@docRoot}guide/topics/manifest/uses-feature-element.html#testing">Testing
-    the features required by your application</a>&mdash;Description of how to
-    determine the actual set of hardware and software requirements (explicit or
-    implied) that your app requires.
-  </li>
-</ul>
-</div>
-
-<h2 id="support-screens">10. Declare support for tablet screens</h2>
-
-<p>To ensure that you can distribute your app to a broad range of tablets, your app should
-declare support for tablet screen sizes in its manifest file, as follows:</p>
-
-<ul>
-  <li>A
-  <a href="{@docRoot}guide/topics/manifest/supports-screens-element.html"><code>&lt;supports-screens&gt;</code></a>
-  element, if declared, must not specify <code>android:largeScreens="false"</code>
-  or <code>android:xlargeScreens="false"</code>.</li>
-  <li>For apps targeting <code>minSdkVersion</code> value less than 13, a
-  <a href="{@docRoot}guide/topics/manifest/supports-screens-element.html"><code>&lt;supports-screens&gt;</code></a>
-  element must be declared with both <code>android:largeScreens="true"</code> and
-  <code>android:xlargeScreens="true"</code>.</li>
-</ul>
-
-<p>If the app declares a
-<a href="{@docRoot}guide/topics/manifest/compatible-screens-element.html"><code>&lt;compatible-screens&gt;</code></a>
-element in the manifest, the element should include attributes that specify
-<em>all of the size and density combinations for tablet screens</em> that the
-app supports. Note that, if possible, you should avoid using the
-<a href="{@docRoot}guide/topics/manifest/compatible-screens-element.html"><code>&lt;compatible-screens&gt;</code></a>
-element in your app.</p>
-
-<div class="rel-resources">
-  <h3>
-    Related resources
-  </h3>
-
-  <ul>
-    <li>
-      <a href=
-      "{@docRoot}guide/practices/screens_support.html#DeclaringScreenSizeSupport">Declaring
-      Screen Size Support</a>&mdash;Developer documentation that explains the
-      details of managing UI for best display on multiple screen sizes.
-    </li>
-  </ul>
-</div>
-
-
-<h2 id="google-play">11. Showcase your tablet UI in Google Play</h2>
-
-<p>
-  After you've done the work to create an rich, optimized UI for your tablet
-  app, make sure that you let your customers know about it! Here are some key
-  ways to promote your tablet app to users on Google Play.
-</p>
-
-<h4>
-  Upload screenshots of your tablet UI
-</h4>
-
-<p>
-  Tablet users want to know what your app is like on a tablet device, not on a
-  phone. If you developed a tablet app, make sure to upload screenshots
-  of your tablet UI to the Google Play Developer Console. Here are some guidelines:
-  </p>
-
-<ul style="margin-top:0;">
-  <li>Your screenshots should show the core functionality of your app, not a
-  startup or sign-in page. Wherever users will spend most of their time, that's
-  what you should show in your screenshots.
-  </li>
-
-  <li>Add screenshots taken on both 7-inch and 10-inch tablets.
-  </li>
-
-  <li>It's recommended that you add screenshots taken in both landscape and
-  portrait orientations, if possible.
-  </li>
-
-  <li>Use screen captures if possible. Avoid showing actual device hardware in your
-  screenshots.</li>
-
-  <li>The recommended resolution of your tablet screenshots is <strong>1280 x 720</strong>
-  or higher in each orientation.
-  </li>
-
-  <li>You can upload as many as 8 screenshots of your tablet UI for 7-inch tablets
-  and an additional 8 for 10-inch tablets.
-  </li>
-</ul>
-
-<h4>
-  Update your app description and release notes
-</h4>
-
-<ul>
-  <li>In your app description, make sure to highlight that your app offers
-  tablet-optimized UI and great features for tablet users. Consider adding some
-  detail about how your tablet UI works and why users will like it.
-  </li>
-
-  <li>Include information about tablet support in the app's release notes and
-  update information.
-  </li>
-</ul>
-
-<h4>
-  Update your promotional video
-</h4>
-
-<p>
-  Many users view an app's promotional video to get an idea of what the app is
-  like and whether they'll enjoy it. For tablet users, capitalize on this
-  interest by highlighting your app's tablet UI in your promotional video. Here
-  are some tips and guidelines:
-</p>
-
-<ul>
-  <li>Add one or more shots of your app running on a tablet. To engage with
-  tablet users most effectively, it's recommended that you promote your tablet
-  UI in approximately equal proportion to your phone UI.
-  </li>
-
-  <li>Show your tablet UI as early as possible in the video. Don't assume that
-  tablet users will wait patiently through a feature walkthrough on a phone UI.
-  Ideally, you should engage them immediately by showing the tablet UI within
-  the first 10 seconds, or at the same point that you introduce the phone UI.
-  </li>
-
-  <li>To make it clear that you are showing a tablet UI, include shots of your
-  app running on a hand-held tablet device.
-  </li>
-
-  <li>Highlight your app's tablet UI in the video's narrative or voiceover.
-  </li>
-</ul>
-
-<h4>
-  Feature your tablet UI in your promotional campaigns
-</h4>
-
-<p>
-  Make sure to let tablet users know about your tablet UI in your promotional
-  campaigns, web site, social posts, advertisements, and elsewhere. Here are
-  some suggestions:
-</p>
-
-<ul>
-  <li>Plan a marketing or advertising campaign that highlights the use of your
-  app on tablets.</li>
-
-  <li>Show your tablet app at its best in your promotional campaigns&mdash;use the <a href=
-  "{@docRoot}distribute/promote/device-art.html">Device Art Generator</a> to
-  quickly generate a high-quality promotional image of your app running on a
-  7-inch or 10-inch tablet, in the orientation of your choice, with or without
-  drop-shadow and screen glare. It's as simple as capture, drag, and drop.
-  </li>
-
-  <li>Include a Google Play badge in your online promotions to let users link
-  directly to your app's store listing. You can generate a badge in a variety
-  of languages using the <a href=
-  "{@docRoot}distribute/googleplay/promote/badges.html">Badge Generator</a>.
-  </li>
-</ul>
-
-<div class="rel-resources">
-  <h3>
-    Related resources
-  </h3>
-
-  <ul>
-    <li>
-      <a href="{@docRoot}distribute/googleplay/publish/preparing.html">Publishing
-      Checklist</a>
-      &mdash;Recommendations on how to prepare your app for publishing, test
-      it, and launch successfully on Google Play.
-    </li>
-
-    <li>
-      <a href="https://play.google.com/apps/publish/">Google Play
-      Developer Console</a>&mdash;The tools console for publishing
-      your app to Android users.
-    </li>
-    <li>
-      <a href=
-      "{@docRoot}distribute/googleplay/promote/badges.html">Google Play
-      Badge Generator</a>&mdash;Create "Get it on Google Play" badges for your
-      app in a variety of languages with a single click. 
-    </li>
-    <li>
-      <a href=
-      "{@docRoot}distribute/promote/device-art.html">Device Art
-      Generator</a>&mdash;Drag and drop tool that lets you instantly create production-
-      ready art showing your app running on a tablet device. 
-    </li>
-  </ul>
-</div>
-
-<h2 id="google-play-best-practices">12. Follow best practices for publishing in Google Play</h2>
-
-<p>Here are some best practices for delivering a successful tablet app on Google Play.</p>
-
-<h4 id="google-play-optimization-tips">Check out your app's Optimization Tips</h4>
-
-<p>The Google Play Developer Console now offers an Optimization Tips page that
-lets you quickly check how your app is doing against basic guidelines for tablet app
-distribution and quality. To visit the page, sign into the Developer Console,
-load the app from All Applications, and click Optimization Tips in
-the left navigation.</p>
-
-<div class="sidebox-wrapper">
-<div class="sidebox">
-<h2 style="line-height:1em;">How to send feedback</h2>
-
-<p>Please use the link below to send
-feedback or request a manual review of your Optimization Tips.</p>
-
-<p>Make sure to read the relevant sections of the Tablet App Quality
-Guidelines prior to sending feedback.</p>
-
-<p><strong><a href="https://support.google.com/googleplay/android-developer/contact/tabletq"
-target="_googleplay" style="white-space:nowrap">Designed for Tablets Contact Form &raquo;</a></strong></p>
-</div>
-</div>
-
-<p>The Developer Console creates your app's Optimization Tips page
-by running a series of checks to verify basic quality
-criteria. If it finds any issues, it alerts you to them as "To Do"
-items in the Optimization Tips page.</p>
-
-<p>If you've developed a tablet experience for your app, make sure
-to visit the Optimization Tips page to see how your app is doing
-against the basic checks.  If there are any issues listed, we
-recommend addressing them in your app and uploading a new binary for
-distribution, if needed. </p>
-
-<p>If the Optimization Tips page lists "To Do" issues that you feel don't
-apply to your app or affect its quality on tablets, please notify us
-using the <a href="https://support.google.com/googleplay/android-developer/contact/tabletq"
-target="_googleplay" style="white-space:nowrap">Designed for Tablets Contact Form &raquo;</a>. We
-will review your app and update your Optimization Tips page as
-appropriate.</p>
-
-
-<h4>Confirm the app's filtering</h4>
-
-<p>After you've uploaded the app to the <a href="https://play.google.com/apps/publish/">Developer Console</a>, check the APK's Supported Devices list to make sure that the app is not filtered from tablet devices that you want to target.</p>
-
-<h4>Distribute as a single APK</h4>
-
-<p>
-  It's recommended that you publish your app as a single APK for all screen
-  sizes (phones and tablets), with a single Google Play listing. This approach
-  has several important advantages.
-</p>
-
-<ul style="margin-top:.25em;">
-  <li>Easier for users to find your app from search, browsing, or promotions
-  </li>
-
-  <li>Easier for users to restore your app automatically if they get a new
-  device.
-  </li>
-
-  <li>Your ratings and download stats are consolidated across all devices.
-  </li>
-
-  <li>Publishing a tablet app in a second listing can dilute ratings for your
-  brand.
-  </li>
-</ul>
-
-<p>
-  If necessary, you can alternatively choose to deliver your app using <a href=
-  "{@docRoot}google/play/publishing/multiple-apks.html">Multiple APK Support</a>,
-  although in most cases using a single APK to reach all devices is strongly
-  recommended.
-</p>
-
-<div class="rel-resources">
-<h3>Related resources</h3>
-<ul>
-<li><a href="{@docRoot}distribute/googleplay/publish/preparing.html">Publishing
-      Checklist</a>&mdash;
-  Recommendations on how to prepare your app for publishing, test it, and launch
-  successfully on Google Play.</li>
-<li><a href="https://play.google.com/apps/publish/">Google Play Developer
-  Console</a>&mdash;The tools console for publishing your app to Android users.</li>
-</ul>
-</div>
-
-
-<h2 id="test-environment">Setting Up a Test Environment for Tablets</h2>
-
-<p>To assess the quality of your app on tablets &mdash; both for core app quality
-and tablet app quality &mdash; you need to set up a suitable
-hardware or emulator environment for testing. </p>
-
-<p>The ideal test environment would
-include a small number of actual hardware devices that represent key form
-factors and hardware/software combinations currently available to consumers.
-It's not necessary to test on <em>every</em> device that's on the market &mdash;
-rather, you should focus on a small number of representative devices, even using
-one or two devices per form factor.  The table below provides an overview of
-devices you could use for testing.</p>
-
-<p>If you are not able to obtain actual hardware devices for testing, you should
-<a href="{@docRoot}tools/devices/index.html">set up emulated devices (AVDs)</a>
-to represent the most common form factors and
-hardware/software combinations. See the table below for suggestions on the emulator
-configurations to use. </p>
-
-<p>To go beyond basic testing, you can add more devices, more form factors, or
-new hardware/software combinations to your test environment. For example, you
-could include mid-size tablets, tablets with more or fewer hardware/software
-features, and so on. You can also increase the number or complexity of tests
-and quality criteria. </p>
-
-<p class="table-caption"><strong>Table 1</strong>. A typical tablet test environment might
-include one or two devices from each row in the table below, with one of the
-listed platform versions, screen configurations, and hardware feature configurations.</p>
-
-<table>
-<tr>
-<th>Type</th>
-<th>Size</th>
-<th>Density</th>
-<th>Version</th>
-<th>AVD Skin</th>
-</tr>
-
-<tr>
-<td>7-inch tablet</td>
-<td><span style="white-space:nowrap"><code>large</code> or</span><br /><code>-sw600</code></td>
-<td><code>hdpi</code>,<br /><code>tvdpi</code></td>
-<td>Android 4.0+ (API level 14 and higher)</td>
-<td>WXGA800-7in</td>
-</tr>
-<tr>
-<td><span style="white-space:nowrap">10-inch</span> tablet</td>
-<td><span style="white-space:nowrap"><code>xlarge</code> or</span><br /><code>-sw800</code></td>
-<td><code>mdpi</code>,<br /><code>hdpi</code>,<br /><code>xhdpi</code></td>
-<td>Android 3.2+ (API level 13 and higher)</td>
-<td>WXGA800</td>
-</tr>
-</table>
\ No newline at end of file
diff --git a/docs/html/distribute/googleplay/spotlight/index.jd b/docs/html/distribute/googleplay/spotlight/index.jd
deleted file mode 100644
index fc2e162..0000000
--- a/docs/html/distribute/googleplay/spotlight/index.jd
+++ /dev/null
@@ -1,162 +0,0 @@
-page.title=Spotlight
-page.tags="videos, google play, monetize, inapp"
-meta.tags="stories, googleplay, monetizing, landing"
-page.image=/images/video-kiwi.jpg
-walkthru=0
-header.hide=0
-
-@jd:body
-
-
-<p>Android developers, their apps, and their successes with Android and Google Play. </p>
-
-<div id="Kiwi" style="background: #F0F0F0;
-            border-top: 1px solid #DDD;
-            padding: 0px 0 24px 0;
-            overflow: auto;
-            clear:both;
-            margin-bottom:40px;
-            margin-top:30px;">
-   <div style="padding:0 0 0 29px;">
-        <h4>Developer Story: Kiwi, Inc.</h4>
-          <img alt="" class="screenshot thumbnail" style="-webkit-border-radius: 5px;
-            -moz-border-radius: 5px;
-            border-radius: 5px height:78px;
-            width: 78px;
-            float: left;
-            margin: 17px 20px 9px 0;" 
-            src="//lh4.ggpht.com/qUI-8MJy70l4qoVBR_sx-56ckR_m0R_ZXcJ1DiTYUR3R_owWzsCFTYkAk4p5DMnaSdY3=w124" >
-          <div style="width:700px;">
-          <p style="margin-top:26px;
-                    margin-bottom:12px;">
-          Android-first developer <a href="//play.google.com/store/apps/developer?id=Kiwi,+Inc." target="_android">Kiwi, Inc.</a> has had 5 titles in the top 25 grossing on Google Play, including <a href="https://play.google.com/store/apps/details?id=com.kiwi.shipwrecked" target="_android">Shipwrecked: Lost Island</a>, <a href="https://play.google.com/store/apps/details?id=com.kiwi.monsterpark" target="_android">Monsterama Park</a>, and <a href="https://play.google.com/store/apps/details?id=com.kiwi.mysteryestate" target="_android">Hidden Object: Mystery Estate</a>. Hear how Google Play helped them double revenue every six months with features like instant updates, staged rollouts, and more.</p>
-           </div>
-           <iframe style="float:left;
-             margin-right:24px;
-             margin-top:14px;" width="700" height="394" src=
-             "http://www.youtube.com/embed/WWArLD6nqrk?HD=1;rel=0;origin=developer.android.com;" frameborder="0" allowfullscreen>
-           </iframe>
-   </div>
-</div>
-<div style="background: #F0F0F0;
-            border-top: 1px solid #DDD;
-            padding: 0px 0 24px 0;
-            overflow: auto;
-            clear:both;
-            margin-bottom:40px;
-            margin-top:30px;">
-   <div style="padding:0 0 0 29px;">
-        <h4>Developer Story: Colopl</h4>
-          <img alt="" class="screenshot thumbnail" style="-webkit-border-radius: 5px;
-            -moz-border-radius: 5px;
-            border-radius: 5px height:78px;
-            width: 78px;
-            float: left;
-            margin: 17px 20px 9px 0;" 
-            src="//lh3.ggpht.com/sx2ILNaXQYOsHfR91T5tUWGlfXE1FutHCBN02Fll6mi9gIaG6RZCGbeJMtIvOoegCPTh=w124" >
-          <div style="width:700px;">
-          <p style="margin-top:26px;
-                    margin-bottom:12px;">
-          The creators of Kuma The Bear, Japan-based <a href="https://play.google.com/store/apps/developer?id=COLOPL,+Inc." target="_android">Colopl</a>, talk about how Google Play and Android allowed them to grow their business to become one of the most profitable games publishers in APAC to date. </p>
-           </div>
-           <iframe style="float:left;
-             margin-right:24px;
-             margin-top:14px;" width="700" height="394" src=
-             "http://www.youtube.com/embed/CbpoZeQCNe4?HD=1;rel=0;origin=developer.android.com;" frameborder="0" allowfullscreen>
-           </iframe>
-   </div> 
-</div>
-
-<div style="background: #F0F0F0;
-            border-top: 1px solid #DDD;
-            padding: 0px 0 24px 0;
-            overflow: auto;
-            clear:both;
-            margin-bottom:40px;
-            margin-top:30px;">
-   <div style="padding:0 0 0 29px;">
-        <h4>Developer Story: redBus.in</h4>
-          <img alt="" class="screenshot thumbnail" style="-webkit-border-radius: 5px;
-            -moz-border-radius: 5px;
-            border-radius: 5px height:78px;
-            width: 78px;
-            float: left;
-            margin: 17px 20px 9px 0;" src=
-            "//lh4.ggpht.com/kvI2XfzBPGBDASvxvP18MCCj7YPEmLcG4nh1BlYW4XzaW12gg3iXtcM2ZqDnAfLLB9ed=w124">
-          <div style="width:700px;">
-          <p style="margin-top:26px;
-                    margin-bottom:12px;">
-          Bangalore-based developers <a href="//play.google.com/store/apps/details?id=in.redbus.android">redBus.in</a> are bringing the sophistication and convenience of air-travel booking to bus transit. Hear how Android is helping them deliver a superior travel experience to millions of daily bus riders in India.</p>
-           </div>
-           <iframe style="float:left;
-             margin-right:24px;
-             margin-top:14px;" width="700" height="394" src=
-             "http://www.youtube.com/embed/O8i4HUw7JYA?HD=1;rel=0;origin=developer.android.com;" frameborder="0" allowfullscreen>
-           </iframe>
-   </div> 
-</div>
-
-<div style="background: #F0F0F0;
-            border-top: 1px solid #DDD;
-            padding: 0px 0 24px 0;
-            overflow: auto;
-            clear:both;
-            margin-bottom:40px;
-            margin-top:30px;">
-   <div style="padding:0 0 0 29px;">
-        <h4>Developer Story: Smule</h4>
-          <img alt="" class="screenshot thumbnail" style="-webkit-border-radius: 5px;
-            -moz-border-radius: 5px;
-            border-radius: 5px height:78px;
-            width: 78px;
-            float: left;
-            margin: 17px 20px 9px 0;" src=
-            "//lh6.ggpht.com/z5wl9PuHl9JfO54uefjRTUX70SuLY-1DRpPxQ5mg7XEDfnYhBDssh1RrPZjN1tbwzhg=w124">
-          <div style="width:700px;">
-          <p style="margin-top:26px;
-                    margin-bottom:12px;">
-          The creators of <a href="//play.google.com/store/apps/details?id=com.smule.autorap">AutoRap</a>, <a href="//play.google.com/store/apps/details?id=com.smule.magicpiano">Magic Piano</a>, and <a href="//play.google.com/store/apps/details?id=com.smule.songify">Songify</a> talk about their experiences launching on Android, the explosive global growth they’ve seen on Google Play, and some of the techniques they use to market and monetize their products effectively across the world.</p>
-           </div>
-           <iframe style="float:left;
-             margin-right:24px;
-             margin-top:14px;" width="700" height="394" src=
-             "http://www.youtube.com/embed/RRelFvc6Czo?HD=1;rel=0;origin=developer.android.com;" frameborder="0" allowfullscreen>
-           </iframe>
-   </div> 
-</div>
-
-<div style="background: #F0F0F0;
-            border-top: 1px solid #DDD;
-            padding: 0px 0 24px 0;
-            overflow: auto;
-            clear:both;
-            margin-bottom:-10px;
-            margin-top:30px;">
-   <div style="padding:0 0 0 29px;">
-        <h4>Developer Story: Robot Invader</h4>
-          <img alt="" class="screenshot thumbnail" style="-webkit-border-radius: 5px;
-            -moz-border-radius: 5px;
-            border-radius: 5px height:78px;
-            width: 78px;
-            float: left;
-            margin: 17px 20px 9px 0;" src=
-            "//g0.gstatic.com/android/market/com.robotinvader.knightmare/hi-256-0-9e08d83bc8d01649e167131d197ada1cd1783fb0">
-          <div style="width:700px;">
-          <p style="margin-top:26px;margin-bottom:12px;">Robot Invader chose 
-              Android and Google Play as the launch platform for their first game,<br /> 
-              <a data-g-event="Developers Page" data-g-label="Case Study Link" href=
-              "//play.google.com/store/apps/details?id=com.robotinvader.knightmare"><em>Wind-up
-              Knight</em></a>.
-           </p>
-           <p>
-              Hear from the developers how Android helped them reach millions of users 
-              and more than 100 device models with a single app binary, then iterate rapidly to ensure
-              a great user experience.
-           </p>
-           </div>
-           <iframe style="float:left;
-             margin-right:24px;
-             margin-top:14px;" width="700" height="394" src=
-             "http://www.youtube.com/embed/hTtlLiUTowY" frameborder="0" allowfullscreen></iframe>
-   </div> 
-</div>
\ No newline at end of file
diff --git a/docs/html/distribute/googleplay/start.jd b/docs/html/distribute/googleplay/start.jd
new file mode 100644
index 0000000..6dc397b
--- /dev/null
+++ b/docs/html/distribute/googleplay/start.jd
@@ -0,0 +1,163 @@
+page.title=Get Started with Publishing
+page.metaDescription=Start publishing on Google Play in minutes by registering for a developer account.
+meta.tags="publishing"
+page.tags="google play", "publishing", "register", "signup"
+page.image=/distribute/images/getting-started.jpg
+
+@jd:body
+
+<div class="top-right-float" style="margin-right:24px;margin-top:-18px">
+  <a href="https://play.google.com/apps/publish/"><img src=
+  "{@docRoot}images/gp-start-button.png"></a>
+</div>
+
+<p>
+  Start publishing on Google Play in minutes by:
+</p>
+
+<ul>
+  <li>Registering for a Google Play publisher account
+  </li>
+
+  <li>Setting up a Google Wallet Merchant Account, if you will sell apps or
+  in-app products.
+  </li>
+
+  <li>Exploring the <a href="https://play.google.com/apps/publish/">Google Play
+  Developer Console</a> and publishing tools.
+  </li>
+</ul>
+
+<p>
+  When you're ready, use the Start button to go to the Developer Console.
+</p>
+
+<div class="headerLine">
+  <h1>
+    Register for a Publisher Account
+  </h1>
+
+  <hr>
+</div>
+
+<div class="sidebox-wrapper" style="float:right;">
+  <div class="sidebox">
+    <h2>
+      Tips
+    </h2>
+
+    <ul>
+      <li>You need a Google account to register. You can create one during the
+      process.
+      </li>
+
+      <li>If you are an organization, consider registering a new Google account
+      rather than using a personal account.
+      </li>
+
+      <li>Review the <a href=
+      "https://support.google.com/googleplay/android-developer/bin/answer.py?hl=en&answer=138294">
+        developer countries</a> and <a href=
+        "https://support.google.com/googleplay/android-developer/bin/answer.py?hl=en&answer=150324">
+        merchant countries</a> where you can distribute and sell apps.
+      </li>
+    </ul>
+  </div>
+</div>
+
+<ol>
+  <li>Visit the <a href="https://play.google.com/apps/publish/">Google Play
+  Developer Console</a>.
+  </li>
+
+  <li>Enter basic information about your <strong>developer identity</strong>
+  &mdash; name, email address, and so on. You can modify this information
+  later.
+  </li>
+
+  <li>Read and accept the <strong>Developer Distribution Agreement</strong> for
+  your country or region. Note that apps and store listings that you publish on
+  Google Play must comply with the Developer Program Policies and US export
+  law.
+  </li>
+
+  <li>Pay a <strong>$25 USD registration fee</strong> using Google Wallet. If
+  you don't have a Google Wallet account, you can quickly set one up during the
+  process.
+  </li>
+
+  <li>When your registration is verified, you’ll be notified at the email
+  address you entered during registration.
+  </li>
+</ol>
+
+<div class="headerLine">
+  <h1 id="merchant-account">
+    Set Up a Google Wallet Merchant Account
+  </h1>
+
+  <hr>
+</div>
+
+<div class="figure" style="width:200px;">
+  <img src="{@docRoot}images/gp-start-wallet-icon.png">
+</div>
+
+<p>
+  If you want to sell priced apps, in-app products, or subscriptions, you’ll
+  need a Google Wallet Merchant Account. You can set one up at any time, but
+  first review the list of <a href=
+  "https://support.google.com/googleplay/android-developer/bin/answer.py?hl=en&answer=150324">
+  merchant countries</a>.<br>
+  <br>
+  To set up a Google Wallet Merchant Account:<br>
+  <br>
+</p>
+
+<ol>
+  <li>
+    <strong>Sign in</strong> to your Google Play Developer Console at <a href=
+    "https://play.google.com/apps/publish/" target=
+    "_blank">https://play.google.com/apps/publish/</a>.
+  </li>
+
+  <li>Open <strong>Financial reports</strong> <img src=
+  "{@docRoot}images/distribute/console-reports.png"> on the side navigation.
+  </li>
+
+  <li>Click <strong>Setup a Merchant Account now</strong>.
+  </li>
+</ol>
+
+<p>
+  This takes you to the Google Wallet site; you'll need information about your
+  business to complete this step.
+</p>
+
+<div class="headerLine">
+  <h1>
+    Explore the Developer Console
+  </h1>
+
+  <hr>
+</div>
+
+<p>
+  When your registration is verified, you can sign in to your Developer
+  Console, which is the home for your app publishing operations and tools on
+  Google Play.
+</p>
+
+<div>
+  <img src="{@docRoot}images/gp-dc-home.png" class="border-img">
+</div>
+
+<div class="headerLine">
+<h1 id="related-resources">Related Resources</h1><hr />
+</div>
+
+<div class="resource-widget resource-flow-layout col-13"
+  data-query="collection:distribute/googleplay/gettingstarted"
+  data-sortOrder="-timestamp"
+  data-cardSizes="9x3"
+  data-maxResults="6"></div>
diff --git a/docs/html/distribute/googleplay/strategies/app-quality.jd b/docs/html/distribute/googleplay/strategies/app-quality.jd
deleted file mode 100644
index eb2cd2b..0000000
--- a/docs/html/distribute/googleplay/strategies/app-quality.jd
+++ /dev/null
@@ -1,121 +0,0 @@
-page.title=Improving App Quality After Launch
-@jd:body
-
-<div id="qv-wrapper">
-<div id="qv">
-<h2>Strategies</h2>
-<ol>
-<li><a href="#listen">Listen to Your Users</a></li>
-<li><a href="#stability">Improve Stability and Eliminate Bugs</a></li>
-<li><a href="#responsiveness">Improve UI Responsiveness</a></li>
-<li><a href="#usability">Improve Usability</a></li>
-<li><a href="#appearance">Professional Appearance and Aesthetics</a></li>
-<li><a href="#features">Deliver the Right Set of Features</a></li>
-<li><a href="#integrate">Integrate with the System and Third-Party Apps</a></li>
-<li><a href="#details">Pay Attention to Details</a></li>
-</ol>
-
-<h2>You Should Also Read</h2>
-<ol>
-<li><a href="{@docRoot}distribute/googleplay/quality/core.html">Core App Quality Guidelines</a></li>
-<li><a href="{@docRoot}distribute/googleplay/quality/tablet.html">Tablet App Quality Checklist</a></li>
-</ol>
-
-</div>
-</div>
-
-<p>
-With thousands of new apps being published in Google Play every week, it's important to look for any available way to get the most visibility and the highest ratings possible.  One way of improving your app's visibility in the ecosystem is by deploying well-targeted mobile advertising campaigns and cross-app promotions. Another time-tested method of fueling the impression-install-ranking cycle is simply: <em>improve the product</em>!</p>
-<p>
-A better app can go a very long way: a higher quality app will translate to higher user ratings, generally better rankings, more downloads, and higher retention (longer install periods). High-quality apps also have a much higher likelihood of getting some unanticipated positive publicity such as being featured in Google Play or getting social media buzz.</p>
-<p>
-The upside to having a higher-quality app is obvious. However, it's not always clear how to make an app "better".  This document looks at some of the key factors in app quality and ways of improving your app over time, after you've launched the app.</p>
-
-<h2 id="listen">Listen to Your Users</h2>
-<p>
-Most ways of measuring the "success" of an app are dependent on user behavior. User-related metrics such as number of downloads, daily active installs, retention rates, and so on highlight the importance of users. If you aren't doing so already, it's a good idea to start thinking of your app's quality as it relates to your users.</p>
-<p>
-The most obvious way to listen to users is by reading and addressing comments on your app in Google Play. Although the comments aren't always productive or constructive, some will provide valuable insight on aspects of your app that you may not have consciously considered before. It's important to remember that users have the opportunity to change their ratings and comments about an app as much as they'd like.</p>
-<p>
-One way to reach users and help them address their concerns is to set up your own support and discussion destination(s). There are some great support tools out there that can put you in touch with your users directly, from forums such as <a href="http://groups.google.com">Google Groups</a> to comprehensive customer support products and destinations. Once you get set up with such a tool, make sure to fill in the support link in your Google Play product details page &mdash; users do click through to these.</p>
-<p>
-Another way to better listen to your users is by having a public beta or trusted tester program. It's crucial to have some amount of real user testing before releasing something in Google Play. Fortunately, you can distribute your apps to users outside of Google Play via a website; this website can require a login or be publicly accessible&nbsp;&mdash;&nbsp;it's entirely up to you. Take advantage of this opportunity by offering your next planned update to some early adopters, before submitting to Google Play. You'll be surprised by how many little, yet impactful, improvements can come out of crowd-sourced, real-user testing.</p>
-
-
-<h2 id="stability">Improve Stability and Eliminate Bugs</h2>
-
-<p>
-The effect of overall app stability of ratings and user satisfaction is very well-known and there are many tools and techniques for testing and profiling your app on different devices and user scenarios.</p>
-<p>
-One noteworthy and yet relatively underused tool for catching stability issues such as crashes is the <a href="{@docRoot}tools/help/monkey.html">UI/Application Exerciser Monkey</a> (Monkey). Monkey will send random UI events to your app's activities, allowing you to trigger user flows that can uncover stability problems.</p>
-<p>
-Also, with the Google error-reporting features built into most Android devices, users now have a way to report application crashes to developers. The error reports show up in aggregate in the Google Play Developer Console. Make sure to read these reports often and act on them appropriately.</p>
-<p>
-Last, keep an external bug and feature request tracker and let users know how to find it. This will enable them to engage with the app at a closer level, by following features and bugs that affect them. User frustration with app problems can be effectively managed with diligent issue tracking and communication. Some of the community support tools listed above offer issue tracking features, and if your project is open source, most popular repository hosting sites will offer this as well.</p>
-
-<h2 id="responsiveness">Improve UI Responsiveness</h2>
-<p>
-One sure-fire way to lose your users is to give them a slow, unresponsive UI. Research has shown that <a href="http://googleresearch.blogspot.com/2009/06/speed-matters.html">speed matters</a>... for any interface, be it desktop, web, or mobile. In fact, the importance of speed is amplified on mobile devices since users often need their information on the go and in a hurry.</p>
-<p>
-You can improve your apps's UI responsiveness by moving long-running operations off the main thread to worker threads. Android offers built-in debugging facilities such as StrictMode for analyzing your app's performance and activities on the main thread. You can see more recommendations in <a href="http://www.youtube.com/watch?v=c4znvD-7VDA">Writing Zippy Android Apps</a>, a developer session from Google I/O 2010,</p>
-
-<div class="sidebox-wrapper">
-<div class="sidebox">
-<h3>More resources</h3>
-<ul>
-<li><a href="{@docRoot}design/index.html">Android Design</a></li>
-<li><a href="{@docRoot}guide/practices/performance.html">Designing for Performance</a></li>
-<li><a href="{@docRoot}guide/practices/responsiveness.html">Designing for Responsiveness</a>
-<li><a href="{@docRoot}guide/practices/seamlessness.html">Designing for Seamlessness</a>
-</li>
-</ul>
-</div></div>
-<p>
-A great way to improve UI performance is to minimize the complexity of your layouts. If you open up <a href="{@docRoot}tools/help/hierarchy-viewer.html">hierarchyviewer</a> and see that your layouts are more than 5 levels deep, it may be time to simplify your layout. Consider refactoring those deeply nested LinearLayouts into RelativeLayout. The impact of View objects is cumulative &mdash; each one costs about 1 to 2 KB of memory, so large view hierarchies can be a recipe for disaster, causing frequent VM garbage collection passes which block the main (UI) thread. You can learn more in <a href="http://www.youtube.com/watch?v=wDBM6wVEO70">World of ListView</a>, another session at Google I/O.</p>
-<p>
-Lastly, pointed out in the blog post <a href="http://android-developers.blogspot.com/2010/10/traceview-war-story.html">Traceview War Story</a>, tools like <a href="{@docRoot}tools/help/traceview.html">traceview</code> and <a href="{@docRoot}tools/help/ddms.html">ddms</a> can be your best friends in improving your app by profiling method calls and monitoring VM memory allocations, respectively.</p>
-
-
-<h2 id="usability">Improve Usability</h2>
-<p>
-In usability and in app design too, you should listen carefully to your users. Ask a handful of real Android device users (friends, family, etc.) to try out your app and observe them as they interact with it. Look for cases where they get confused, are unsure of how to proceed, or are surprised by certain behaviors. Minimize these cases by rethinking some of the interactions in your app, perhaps working in some of the <a href="http://www.youtube.com/watch?v=M1ZBjlCRfz0">user interface patterns</a> the Android UI team discussed at Google I/O.</p>
-
-<div class="sidebox-wrapper">
-<div class="sidebox">
-<p>
-As you are designing or evaluating your app's UI, make sure to read and become familiar with the <a href="/design/index.html">Android Design</a> guidelines. Included are many examples of UI patterns, styles, and building blocks, as well as tools for the design process.</p>
-</div></div>
-
-<p>
-In the same vein, two problems that can plague some Android user interfaces are small tap targets and excessively small font sizes. These are generally easy to fix and can make a big impact on usability and user satisfaction. As a general rule, optimize for ease of use and legibility, while minimizing, or at least carefully balancing, information density.</p>
-
-<p>
-Another way to incrementally improve usability, based on real-world data, is to implement <a href="http://code.google.com/mobile/analytics/docs/">Analytics</a> throughout your app to log usage of particular sections. Consider demoting infrequently used sections to the overflow menu in the <a href="{@docRoot}design/patterns/actionbar.html">Action bar</a>, or removing them altogether. For often-used sections and UI elements, make sure they're immediately obvious and easily accessible in your app's UI so that users can get to them quickly.</p>
-<p>
-Lastly, usability is an extensive and well-documented subject, with close ties to interface design, cognitive science, and other disciplines.</p>
-
-<h2 id="appearance">Professional Appearance and Aesthetics</h2>
-<p>
-There's no substitute for a real user interface designer&nbsp;&mdash;&nbsp;ideally one who's well-versed in mobile and Android, and ideally handy with both interaction and visual design. One popular venue to post openings for designers is <a href="http://jobs.smashingmagazine.com">jobs.smashingmagazine.com</a>, and leveraging social networks can also surface great talent.</p>
-<p>
-If you don't have the luxury of working with a UI designer, there are some ways in which you can improve your app's appearance yourself. First, get familiar with Adobe Photoshop, Adobe Fireworks, or some other raster image editing tool. Mastering the art of the pixel in these apps takes time, but honing this skill can help build polish across your interface designs. Also, master the resources framework by studying the framework UI assets and layouts and reading through the <a href="{@docRoot}guide/topics/resources/index.html">resources documentation</a>. Techniques such as 9-patches and resource directory qualifiers are somewhat unique to Android, and are crucial in building flexible yet aesthetic UIs.</p>
-<p>
-Before you get too far in designing your app and writing the code, make sure to visit the Android Design site and learn about the vision, the building blocks, and the tools of designing beautiful and inspiring user interfaces.</p>
-
-<h2 id="features">Deliver the Right Set of Features</h2>
-<p>
-Having the <em>right</em> set of features in your app is important. It's often easy to fall into the trap of feature-creep, building as much functionality into your app as possible. Providing instant gratification by immediately showing the most important or relevant information is crucial on mobile devices. Providing too much information can be as frustrating (or even more so) than not providing enough of it.</p>
-<p>
-Again, listen to your users by collecting and responding to feature requests. Be careful, though, to take feature requests with a grain of salt. Requests can be very useful in aggregate, to get a sense of what kinds of functionality you should be working on, but not every feature request needs to be implemented.</p>
-
-<h2 id="integrate">Integrate with the System and Third-Party apps</h2>
-<p>
-A great way to deliver a delightful user experience is to integrate tightly with the operating system. Features like <a href="{@docRoot}guide/topics/appwidgets/index.html">Home screen widgets</a>, <a href="{@docRoot}design/patterns/notifications.html">rich notifications</a>, <a href="{@docRoot}guide/topics/search/index.html">global search integration</a>, and {@link android.widget.QuickContactBadge Quick Contacts} are fairly low-hanging fruit in this regard. </p>
-
-<p>For some app categories, basic features like home screen widgets are par for the course. Not including them is a sure-fire way to tarnish an otherwise positive user experience. Some apps can achieve even tighter OS integration with Android's contacts, accounts, and sync APIs. </p>
-<p>
-Third-party integrations can provide even more user delight and give the user a feeling of device cohesiveness. It's also a really nice way of adding functionality to your app without writing any extra code (by leveraging other apps' functionalities). For example, if you're creating a camera app, you can allow users to edit their photos in another app before saving them to their collection, if they have that third-party application installed. More information on this subject is available in the Android Training class <a href="{@docRoot}training/basics/intents/index.html">Interacting with Other Apps</a>.</p>
-
-<h2 id="details">Pay Attention to Details</h2>
-<p>
-One particular detail to pay close attention to is your app's icon quality and consistency. Make sure your app icons (especially your launcher icon) are crisp and pixel-perfect at all resolutions, and follow the <a href="{@docRoot}guide/practices/ui_guidelines/icon_design.html">icon guidelines</a> as much as possible. If you're having trouble or don't have the resources to design the icons yourself, consider using the <a href="http://android-ui-utils.googlecode.com/hg/asset-studio/dist/index.html">Android Asset Studio</a> tool to generate a set.</p>
diff --git a/docs/html/distribute/googleplay/strategies/featuring.jd b/docs/html/distribute/googleplay/strategies/featuring.jd
deleted file mode 100644
index 4c4e67e..0000000
--- a/docs/html/distribute/googleplay/strategies/featuring.jd
+++ /dev/null
@@ -1,4 +0,0 @@
-page.title=Preparing for Featuring
-@jd:body
-
-<p>Placeholder...</p>
\ No newline at end of file
diff --git a/docs/html/distribute/googleplay/strategies/index.jd b/docs/html/distribute/googleplay/strategies/index.jd
deleted file mode 100644
index 3794bbf..0000000
--- a/docs/html/distribute/googleplay/strategies/index.jd
+++ /dev/null
@@ -1,33 +0,0 @@
-page.title=Success Strategies
-page.metaDescription=
-header.hide=1
-footer.hide=1
-
-@jd:body
-
-
-
-<style>
-#landing-graphic-container {
-  position: relative;
-}
-
-#text-overlay {
-  position: absolute;
-  left: 0;
-  top: 472px;
-  width: 280px;
-}
-</style>
-
-<div id="landing-graphic-container">
-  <div id="text-overlay">
-   Strategies for building ratings, improving reviews, monetizing, and more.  
-    <br><br>
-    <a href="/distribute/googleplay/promote/product-pages.html" class="landing-page-link">Preparing for Featuring</a>
-  </div>
-
-  <a href="{@docRoot}distribute/googleplay/promote/index.html">
-    <img src="{@docRoot}design/media/index_landing_page.png">
-  </a>
-</div>
\ No newline at end of file
diff --git a/docs/html/distribute/images/about-play-education.jpg b/docs/html/distribute/images/about-play-education.jpg
new file mode 100644
index 0000000..1fe6b2c
--- /dev/null
+++ b/docs/html/distribute/images/about-play-education.jpg
Binary files differ
diff --git a/docs/html/distribute/images/about-play.jpg b/docs/html/distribute/images/about-play.jpg
new file mode 100644
index 0000000..e62cb58
--- /dev/null
+++ b/docs/html/distribute/images/about-play.jpg
Binary files differ
diff --git a/docs/html/distribute/images/advertising.jpg b/docs/html/distribute/images/advertising.jpg
new file mode 100644
index 0000000..9625671
--- /dev/null
+++ b/docs/html/distribute/images/advertising.jpg
Binary files differ
diff --git a/docs/html/distribute/images/advertising.png b/docs/html/distribute/images/advertising.png
new file mode 100644
index 0000000..5dc0ed4
--- /dev/null
+++ b/docs/html/distribute/images/advertising.png
Binary files differ
diff --git a/docs/html/distribute/images/alt-distribution.jpg b/docs/html/distribute/images/alt-distribution.jpg
new file mode 100644
index 0000000..39c0514
--- /dev/null
+++ b/docs/html/distribute/images/alt-distribution.jpg
Binary files differ
diff --git a/docs/html/distribute/images/android-support-card.jpg b/docs/html/distribute/images/android-support-card.jpg
new file mode 100644
index 0000000..b1883c0
--- /dev/null
+++ b/docs/html/distribute/images/android-support-card.jpg
Binary files differ
diff --git a/docs/html/distribute/images/build-buzz.jpg b/docs/html/distribute/images/build-buzz.jpg
new file mode 100644
index 0000000..3f83a1a
--- /dev/null
+++ b/docs/html/distribute/images/build-buzz.jpg
Binary files differ
diff --git a/docs/html/distribute/images/core-quality-guidelines.jpg b/docs/html/distribute/images/core-quality-guidelines.jpg
new file mode 100644
index 0000000..d0c2479
--- /dev/null
+++ b/docs/html/distribute/images/core-quality-guidelines.jpg
Binary files differ
diff --git a/docs/html/distribute/images/create-listing.jpg b/docs/html/distribute/images/create-listing.jpg
new file mode 100644
index 0000000..befb936
--- /dev/null
+++ b/docs/html/distribute/images/create-listing.jpg
Binary files differ
diff --git a/docs/html/distribute/images/default.jpg b/docs/html/distribute/images/default.jpg
new file mode 100644
index 0000000..8050744
--- /dev/null
+++ b/docs/html/distribute/images/default.jpg
Binary files differ
diff --git a/docs/html/distribute/images/developer-console.jpg b/docs/html/distribute/images/developer-console.jpg
new file mode 100644
index 0000000..09f4a86
--- /dev/null
+++ b/docs/html/distribute/images/developer-console.jpg
Binary files differ
diff --git a/docs/html/distribute/images/ecommerce.jpg b/docs/html/distribute/images/ecommerce.jpg
new file mode 100644
index 0000000..0b2efdc
--- /dev/null
+++ b/docs/html/distribute/images/ecommerce.jpg
Binary files differ
diff --git a/docs/html/distribute/images/edu-guidelines.jpg b/docs/html/distribute/images/edu-guidelines.jpg
new file mode 100644
index 0000000..280dcfee
--- /dev/null
+++ b/docs/html/distribute/images/edu-guidelines.jpg
Binary files differ
diff --git a/docs/html/distribute/images/expand-into-new-markets.jpg b/docs/html/distribute/images/expand-into-new-markets.jpg
new file mode 100644
index 0000000..0f17f13
--- /dev/null
+++ b/docs/html/distribute/images/expand-into-new-markets.jpg
Binary files differ
diff --git a/docs/html/distribute/images/freemium.jpg b/docs/html/distribute/images/freemium.jpg
new file mode 100644
index 0000000..6919202
--- /dev/null
+++ b/docs/html/distribute/images/freemium.jpg
Binary files differ
diff --git a/docs/html/distribute/images/getting-started.jpg b/docs/html/distribute/images/getting-started.jpg
new file mode 100644
index 0000000..47f524a
--- /dev/null
+++ b/docs/html/distribute/images/getting-started.jpg
Binary files differ
diff --git a/docs/html/distribute/images/gp-app-practices.png b/docs/html/distribute/images/gp-app-practices.png
new file mode 100644
index 0000000..0afc4cb
--- /dev/null
+++ b/docs/html/distribute/images/gp-app-practices.png
Binary files differ
diff --git a/docs/html/distribute/images/gp-edu-apps-image.jpg b/docs/html/distribute/images/gp-edu-apps-image.jpg
new file mode 100644
index 0000000..8785db1
--- /dev/null
+++ b/docs/html/distribute/images/gp-edu-apps-image.jpg
Binary files differ
diff --git a/docs/html/distribute/images/gp-games-practices.png b/docs/html/distribute/images/gp-games-practices.png
new file mode 100644
index 0000000..e2b63c5
--- /dev/null
+++ b/docs/html/distribute/images/gp-games-practices.png
Binary files differ
diff --git a/docs/html/distribute/images/gp-optimize-card.jpg b/docs/html/distribute/images/gp-optimize-card.jpg
new file mode 100644
index 0000000..4c91f1c
--- /dev/null
+++ b/docs/html/distribute/images/gp-optimize-card.jpg
Binary files differ
diff --git a/docs/html/distribute/images/gpfe-faq.jpg b/docs/html/distribute/images/gpfe-faq.jpg
new file mode 100644
index 0000000..cf10a95
--- /dev/null
+++ b/docs/html/distribute/images/gpfe-faq.jpg
Binary files differ
diff --git a/docs/html/distribute/images/know-your-user.jpg b/docs/html/distribute/images/know-your-user.jpg
new file mode 100644
index 0000000..9336125
--- /dev/null
+++ b/docs/html/distribute/images/know-your-user.jpg
Binary files differ
diff --git a/docs/html/distribute/images/launch-checklist.jpg b/docs/html/distribute/images/launch-checklist.jpg
new file mode 100644
index 0000000..c571c9e
--- /dev/null
+++ b/docs/html/distribute/images/launch-checklist.jpg
Binary files differ
diff --git a/docs/html/distribute/images/localization-checklist.jpg b/docs/html/distribute/images/localization-checklist.jpg
new file mode 100644
index 0000000..26765fe
--- /dev/null
+++ b/docs/html/distribute/images/localization-checklist.jpg
Binary files differ
diff --git a/docs/html/distribute/images/payment-method.jpg b/docs/html/distribute/images/payment-method.jpg
new file mode 100644
index 0000000..a9f8b19
--- /dev/null
+++ b/docs/html/distribute/images/payment-method.jpg
Binary files differ
diff --git a/docs/html/distribute/images/play-education.jpg b/docs/html/distribute/images/play-education.jpg
new file mode 100644
index 0000000..8780993
--- /dev/null
+++ b/docs/html/distribute/images/play-education.jpg
Binary files differ
diff --git a/docs/html/distribute/images/premium.jpg b/docs/html/distribute/images/premium.jpg
new file mode 100644
index 0000000..210fddb
--- /dev/null
+++ b/docs/html/distribute/images/premium.jpg
Binary files differ
diff --git a/docs/html/distribute/images/subscription.jpg b/docs/html/distribute/images/subscription.jpg
new file mode 100644
index 0000000..9b6f112
--- /dev/null
+++ b/docs/html/distribute/images/subscription.jpg
Binary files differ
diff --git a/docs/html/distribute/images/tablet-guidelines-color.jpg b/docs/html/distribute/images/tablet-guidelines-color.jpg
new file mode 100644
index 0000000..ffb1a03
--- /dev/null
+++ b/docs/html/distribute/images/tablet-guidelines-color.jpg
Binary files differ
diff --git a/docs/html/distribute/images/tablet-guidelines.jpg b/docs/html/distribute/images/tablet-guidelines.jpg
new file mode 100644
index 0000000..b16b48c
--- /dev/null
+++ b/docs/html/distribute/images/tablet-guidelines.jpg
Binary files differ
diff --git a/docs/html/distribute/index.jd b/docs/html/distribute/index.jd
index 6c6e113..da960ce 100644
--- a/docs/html/distribute/index.jd
+++ b/docs/html/distribute/index.jd
@@ -1,38 +1,21 @@
-page.title=Distribute Apps
+page.title=Distribute Your Apps
 page.viewport_width=970
+section.landing=true
 header.hide=1
+nonavpage=true
+page.metaDescription=The most visited store in the world for Android apps. Cloud-connected and always synced, it's never been easier for users to find and download your apps.
 
 @jd:body
-    
-    
-<div class="marquee">
-  <div class="madin-img" style="position:absolute;margin-left:42px;margin-top:76px;">
-    <img src="{@docRoot}images/home/google-play.png">
-  </div>
-  <div class="copy" style="position:relative;left:480px;width:360;">
-    <h1 style="margin-bottom:10px;">Your Apps on Google Play</h1>
-    <p>The most visited store in the world for Android apps.  Cloud-connected and always synced,
-    it's never been easier for users to find and download your apps.</p>
-    <p><a class="button" href="https://play.google.com/apps/publish/"
-      >Go to Developer Console &raquo;</a></p>
-  </div>
-</div>
 
-<div class="distribute-features col-13" style="clear:both;margin-top:246px;">
-  <ul>
-    <li><h5>Growth Engine</h5>
-    A billion downloads a month and growing. Get your apps in front of millions of users at Google's scale.<br />
-    <a href="{@docRoot}distribute/googleplay/about/visibility.html">Read More ›</a>
-    <li><h5>Build Your Business</h5> Sell your app in over 130 countries.  Flexible monetization options with in-app purchase, subscriptions, and more. <br />
-    <a href="{@docRoot}distribute/googleplay/about/monetizing.html">Read More ›</a></li>
-    <li class="last"><h5>Distribution Control</h5> Deliver your apps to the users you want, on the devices you want, on <em>your</em> schedule. <br />
-    <a href="{@docRoot}distribute/googleplay/about/distribution.html">Read More ›</a></li>
-  </ul>
-</div>
-
-
-
-    
-
-
+  <div class="resource-widget resource-carousel-layout col-16" 
+    style="height:420px;margin-top:20px;padding-top:0"
+    data-query="type:youtube+tag:googleplay+tag:developerstory+tag:featured, type:blog+tag:googleplay+tag:distribute+tag:featured"
+    data-sortOdrder="-timestamp"
+    data-maxResults="4"></div>
+  
+  <div class="resource-widget resource-flow-layout col-16"
+    data-query="collection:launch/static"
+    data-sortOrder=""
+    data-cardSizes="6x6,6x6,6x2x3,12x6,6x6,6x2x3,6x6,6x6,12x6,6x6"
+    data-maxResults="24"></div>
 
diff --git a/docs/html/distribute/monetize/ads.jd b/docs/html/distribute/monetize/ads.jd
new file mode 100644
index 0000000..40120c3
--- /dev/null
+++ b/docs/html/distribute/monetize/ads.jd
@@ -0,0 +1,114 @@
+page.title=Monetize with Ads
+page.metaDescription=Ads are a quick and easy way to incorporate a monetization option into both your free and paid apps.
+page.tags="monetizing", "free", "freemium", "ads"
+page.image=/distribute/images/advertising.png
+
+@jd:body
+
+<div class="figure">
+  <img src="{@docRoot}distribute/images/advertising.jpg" style="width:460px;">
+</div>
+
+<p>
+  In-app advertising offers a quick and easy way to incorporate a monetization
+  option into both your <a href=
+  "{@docRoot}distribute/monetize/freemium.html">freemium</a>, <a href=
+  "{@docRoot}distribute/monetize/premium.html">premium</a>, and <a href=
+  "{@docRoot}distribute/monetize/subscriptions.html">subscription</a> apps. </p>
+
+<p>Using <a href=
+  "http://www.google.com/ads/admob/monetize.html#subid=us-en-et-dac">AdMob</a>
+  and the <a href="{@docRoot}google/play-services/ads.html">Google
+  Mobile Ads SDK</a> included in Google Play Services, you’re able to add
+  advertising into your apps, with just a few lines of code.
+</p>
+
+<p>
+  When including ads in your apps you should consider:
+</p>
+
+<ul>
+  <li>
+    <p>
+      <strong>Placement within your apps</strong> &mdash; Well placed ads will
+      optimize your revenue by making it more likely that users will ‘click
+      through’. Poorly placed ads can result in low click-through rates, and in
+      the worse cases poor rating and users rapidly abandoning your apps. You
+      can get advice on how to best place ads from the developer training on
+      <a href=
+      "{@docRoot}training/monetization/ads-and-ux.html">using
+      ads</a>.
+    </p>
+  </li>
+
+  <li>
+    <p>
+      <strong>Ad formats</strong> &mdash; Every app offers a different type of
+      experience for users, so it’s important to consider the format of ads
+      you’re using to ensure it’s compatible with the experience. While banner
+      ads may work well for a flashlight utility app, an immersive gaming app
+      may benefit more from a video interstitial. Mismatched ad formats may
+      negatively affect your users’ experience and ad revenue, so try to select
+      formats that fit well with the content and flow of your apps.
+    </p>
+  </li>
+
+  <li>
+    <p>
+      <strong>Maximizing your performance</strong> &mdash; Ensure you’re optimizing
+      your advertising revenue by maximizing your CPMs <em>and</em> fill rate.
+      Often ad providers will cite very high CPMs but will have a low fill rate
+      that can severely decrease your effective CPM, so look at both of these
+      figures. Also consider using a <a href=
+      "https://support.google.com/admob/v2/answer/3063564?hl=en&amp;ref_topic=3063091#subid=us-en-et-dac">
+      mediation</a> solution if you’d like to use multiple ad providers in your
+      apps. Look for solutions that offer yield management or <a href=
+      "https://support.google.com/admob/v2/answer/3379794?hl=en&amp;ref_topic=3379793#subid=us-en-et-dac">
+      network optimization</a> features to serve the highest paying ad for each
+      impression.
+    </p>
+  </li>
+
+  <li>
+    <p>
+      <strong>Exercising control options</strong> &mdash; A variety of ads promoting a
+      broad selection of other services or apps may show up within you apps.
+      Depending on your goals and the type of experience you want to provide
+      your users, it may make sense to <a href=
+      "https://support.google.com/admob/v2/answer/3150235?hl=enl#subid=us-en-et-dac">
+      block</a> certain advertisements from appearing. Some developers don’t
+      want apps in a similar category showing to their users, but some don’t
+      mind.
+    </p>
+  </li>
+
+  <li>
+    <p>
+      <strong>Cross promoting your other apps</strong> &mdash; Ads can be used for
+      more than just earning revenue. Consider using <a href=
+      "https://support.google.com/admob/v2/answer/3210452?hl=en#subid=us-en-et-dac">
+      house ads</a> within your apps to create awareness and promote your
+      entire portfolio of apps. When launching new apps, an easy way to quickly
+      attract users is to promote directly to your existing customers.
+    </p>
+  </li>
+</ul>
+
+<p>
+  To start monetizing with ads sign up for <a href=
+  "http://www.google.com/ads/admob/#subid=us-en-et-dac">AdMob</a> and integrate
+  the <a href="https://developers.google.com/mobile-ads-sdk/download">Google
+  Mobile Ads SDK</a> into your apps. If you also need to manage direct deals
+  with advertisers, consider using <a href=
+  "http://www.google.com/doubleclick/publishers/small-business/index.html#subid=us-en-et-dac">
+  DoubleClick for Publishers Small Business</a>.
+</p>
+
+<div class="headerLine"><h1 id="related-resources">Related resources</h1><hr></div>
+
+<div class="resource-widget resource-flow-layout col-13"
+  data-query="collection:distribute/monetize/advertising"
+  data-sortOrder="-timestamp"
+  data-cardSizes="9x3"
+  data-maxResults="6"></div>
+
diff --git a/docs/html/distribute/monetize/ecommerce.jd b/docs/html/distribute/monetize/ecommerce.jd
new file mode 100644
index 0000000..b3f790d
--- /dev/null
+++ b/docs/html/distribute/monetize/ecommerce.jd
@@ -0,0 +1,59 @@
+page.title=E-commerce
+page.image=/distribute/images/ecommerce.jpg
+page.metaImage=With Instant Buy you can sell physical goods and services from your web pages.
+page.tags="monetizing", "physical goods", "wallet"
+@jd:body
+
+<div class="figure">
+  <img src="{@docRoot}images/gp-ecom-0.png" style="width:300px;">
+  <p class="img-caption">
+    Product Purchase with Instant Buy
+  </p>
+</div>
+
+<p>
+  With Google Wallet Instant Buy, you've the added flexibility of selling
+  physical goods and services, such as clothing or movie tickets, through your
+  apps using <a href=
+  "https://developers.google.com/wallet/instant-buy/">Instant Buy for
+  Android</a> in the US.
+</p>
+
+<p>
+  You can use this option where your app is the store-front for retail or
+  webtail operations. However, you can also combine it with your <a href=
+  "{@docRoot}distribute/monetize/premium.html">premium</a> and <a href=
+  "{@docRoot}distribute/monetize/freemium.html">freemium</a> apps by offering
+  related products.
+</p>
+
+<p>
+  Your customers purchase goods and services with any Google Wallet payment
+  method &mdash; credit card, gift card, or Wallet balance. Google Wallet
+  Instant Buy helps you minimize user data entry by enabling your payment flow
+  to retrieve information directly from the user’s wallet.
+</p>
+
+<p>
+  You also keep your existing payment infrastructure and leverage Google Wallet
+  to optimize your payment flow &mdash; users can make purchases in as a few as
+  two clicks and the flow is simplified with features to retrieve information
+  directly from the user’s wallet and intelligent auto-completion of addresses.
+  To get started, set up a <a href=
+  "{@docRoot}distribute/googleplay/start.html#merchant-account">Merchant
+  Account</a>.
+</p>
+
+<div class="headerLine clearfloat">
+  <h1 id="related-resources">
+    Related Resources
+  </h1>
+
+  <hr>
+</div>
+<div class="resource-widget resource-flow-layout col-13"
+  data-query="collection:distribute/monetize/ecommerce"
+  data-sortOrder="-timestamp"
+  data-cardSizes="9x3"
+  data-maxResults="6"></div>
+
diff --git a/docs/html/distribute/monetize/freemium.jd b/docs/html/distribute/monetize/freemium.jd
new file mode 100644
index 0000000..ec86d19
--- /dev/null
+++ b/docs/html/distribute/monetize/freemium.jd
@@ -0,0 +1,80 @@
+page.title=Monetize Freemium Apps
+page.image=/distribute/images/freemium.jpg
+page.metaDescription=Use Google Play In-app Billing and other tools to monetize your free apps.
+page.tags="in-app", "billing", "iap", "monetizing"
+@jd:body
+
+<p>
+  Users are more likely to download free apps and games compared to priced
+  ones. However, we provide you with a number of ways to monetize free apps,
+  using <a href="{@docRoot}google/play/billing/index.html">In-app
+  Billing</a>. With this tool you can sell digital goods that are:
+</p>
+
+<ul>
+  <li>Durable &mdash; once purchased the item will always be available to the
+  user, such as additional app features.
+  </li>
+
+  <li>Consumable &mdash; items that might be used progressively or expire after
+  a period of time, such as a game booster or news subscription.
+  </li>
+</ul>
+
+<p>
+  A basic approach is to offer a free download with limited features or full
+  features for a limited time. Then use an in-app purchase to unlock the full,
+  unlimited app.
+</p>
+
+<div class="center-img" style="width:620px">
+<div style="float:right; width:300px; padding-left:1em;">
+  <img src="{@docRoot}images/gp-freemium-1.jpg" class="border-img">
+  <p class="img-caption">
+  Consumable product purchase
+  </p>
+</div>
+
+<div style="width:300px;float:left;">
+  <img src="{@docRoot}images/gp-freemium-0.jpg" class="border-img">
+  <p class="img-caption">
+  Durable goods purchase
+  </p>
+</div>
+</div>
+
+<p class="clearfloat">
+  A more advanced approach is to offer a range of features and content items
+  through in-app purchases. For example, in games you can offer users new
+  levels, playing pieces, or other game features. In apps you can offer
+  features or functionality that enhance the user experience either by
+  extending existing features or offering new ones. Using this approach you can
+  generate a continuing revenue stream from each app install.
+</p>
+
+<p>
+  Any item offered as an in-app purchase can also be offered as a subscription.
+</p>
+
+<p>
+  To get started with In-app Billing you need to set-up a Google Wallet
+  <a href="{@docRoot}distribute/googleplay/start.html#merchant-account">Merchant
+  Account</a> from Developer Console. You then define <a href=
+  "{@docRoot}distribute/googleplay/developer-console.html#in-app-products">in-app
+  products</a> in the Developer Console, integrate the In-app Billing API into
+  your apps, and add the mechanisms to unlock features or deliver content.
+</p>
+
+<div class="headerLine">
+  <h1 id="related-resources">
+  Related Resources
+  </h1>
+
+  <hr>
+</div>
+
+<div class="resource-widget resource-flow-layout col-13"
+  data-query="collection:distribute/monetize/freemium"
+  data-sortOrder="-timestamp"
+  data-cardSizes="9x3,9x3,9x3,9x3,6x3,6x3"
+  data-maxResults="6"></div>
diff --git a/docs/html/distribute/monetize/index.jd b/docs/html/distribute/monetize/index.jd
new file mode 100644
index 0000000..7350a24
--- /dev/null
+++ b/docs/html/distribute/monetize/index.jd
@@ -0,0 +1,36 @@
+page.title=Monetize
+section.landing=true
+nonavpage=true
+
+@jd:body
+
+<p>
+  There are many ways to make money with your apps on Google Play, and we offer
+  a variety of tools to make it easy. Take advantage of Google Play’s
+  phenomenal growth by using one or more of the business models available.
+</p>
+
+<p>
+  To get started, set up your <a href=
+  "{@docRoot}distribute/googleplay/start.html#merchant-account">Merchant Account</a>
+  from your Developer Console. This will not only help you get paid, but also
+  help you track where your money is coming from.
+</p>
+
+<div class="dynamic-grid">
+
+  <div class="resource-widget resource-flow-layout landing col-16"
+    data-query="collection:distribute/monetize"
+    data-cardSizes="6x6"
+    data-maxResults="9">
+  </div>
+
+<h3>Related resources</h3>
+
+  <div class="resource-widget resource-flow-layout col-16"
+    data-query="tag:monetizing"
+    data-sortOrder="-timestamp"
+    data-cardSizes="6x3"
+    data-maxResults="6">
+  </div>
+</div>
diff --git a/docs/html/distribute/monetize/monetize_toc.cs b/docs/html/distribute/monetize/monetize_toc.cs
new file mode 100644
index 0000000..aeb6cf8
--- /dev/null
+++ b/docs/html/distribute/monetize/monetize_toc.cs
@@ -0,0 +1,47 @@
+<ul id="nav">
+  <li class="nav-section">
+    <div class="nav-section empty" style="font-weight:normal"><a href="<?cs var:toroot?>distribute/monetize/premium.html">
+            <span class="en">Premium</span></a>
+    </div>
+  </li>
+  <li class="nav-section">
+    <div class="nav-section empty" style="font-weight:normal"><a href="<?cs var:toroot?>distribute/monetize/freemium.html">
+            <span class="en">Freemium</span>
+          </a>
+    </div>
+  </li>
+  <li class="nav-section">
+    <div class="nav-section empty" style="font-weight:normal"><a href="<?cs var:toroot?>distribute/monetize/subscriptions.html">
+          <span class="en">Subscriptions</span>
+        </a
+    </div>
+  </li>
+  <li class="nav-section">
+    <div class="nav-section empty" style="font-weight:normal"><a href="<?cs var:toroot?>distribute/monetize/ecommerce.html">
+          <span class="en">E-commerce</span>
+        </a>
+    </div>
+  </li>
+  <li class="nav-section">
+    <div class="nav-section empty" style="font-weight:normal"><a href="<?cs var:toroot?>distribute/monetize/ads.html">
+          <span class="en">Ads</span>
+        </a>
+    </div>
+  </li>
+  <li class="nav-section">
+    <div class="nav-section empty" style="font-weight:normal"><a href="<?cs var:toroot?>distribute/monetize/payments.html">
+          <span class="en">Purchasing</span>
+        </a>
+    </div>
+  </li>
+
+</ul>
+
+
+<script type="text/javascript">
+<!--
+    buildToggleLists();
+    changeNavLang(getLangPref());
+//-->
+</script>
+
diff --git a/docs/html/distribute/monetize/payments.jd b/docs/html/distribute/monetize/payments.jd
new file mode 100644
index 0000000..37b4d44
--- /dev/null
+++ b/docs/html/distribute/monetize/payments.jd
@@ -0,0 +1,104 @@
+page.title=Convenient, Frictionless Purchasing
+page.image=/distribute/images/payment-method.jpg
+page.metaDescription=Users can purchase instantly with a choice of payment methods.
+page.tags="google play", "payments", "gift card"
+
+@jd:body
+
+<div class="figure">
+  <img src="{@docRoot}images/gp-start-wallet-icon.png" style="width:200px;">
+</div>
+
+<p>
+  Google Play makes it fast and easy for your customers to buy your products,
+  whether from a phone, a tablet, or a desktop computer. They can purchase
+  instantly with a streamlined, consistent purchasing process and convenient
+  payment methods.
+</p>
+
+<div class="headerLine">
+  <h1 id="dcb">
+  Direct Carrier Billing
+  </h1>
+
+  <hr>
+</div>
+
+<p>
+  Users pay by charging their monthly carrier bills . The benefit of Direct
+  Carrier Billing is that it opens up markets where credit cards are less
+  common, as purchases are charged to your customers’ monthly mobile phone
+  bills. This option is available to users in key markets
+  around the world. Many more will get the option in the months ahead.
+</p>
+
+<div class="headerLine">
+  <h1 id="credit">
+  Credit Cards
+  </h1>
+  <hr>
+</div>
+
+<p>
+  Users can pay using any credit card that they’ve registered in Google Play.
+  Credit Cards added to Google Play are stored in the user’s Google Wallet and
+  available for in-app purchases and instant buys too. To make it easy for
+  users to get started, registration is offered as a part of the initial device
+  setup process.
+</p>
+
+<div class="headerLine clearfloat">
+  <h1 id="gift-cards">
+  Google Play Gift Cards
+  </h1>
+
+  <hr>
+</div>
+
+<div class="figure">
+  <img src="{@docRoot}images/gp-payments-1.png">
+</div>
+
+<p>
+  Gift cards enable users to add value to their Google Play balance by entering
+  a unique code printed on a card purchased online or from major retailers.
+  More information gift cards can be found <a href=
+  "http://play.google.com/intl/en-US_us/about/giftcards/" target=
+  "_android">here</a>.
+</p>
+
+<div class="headerLine clearfloat">
+  <h1 id="balance">
+  Google Play Balance
+  </h1>
+
+  <hr>
+</div>
+
+<div class="figure">
+  <img src="{@docRoot}images/gp-balance.png">
+</div>
+
+<p>
+  Google Play balance, also known as stored value, is a stored account balance
+  in Google Play. Users can increase their balance by redeeming <a href=
+  "https://play.google.com/intl/en-US_us/about/giftcards/">gift cards</a> or by
+  earning rewards through the <a href=
+  "https://play.google.com/store/apps/details?id=com.google.android.apps.paidtasks&amp;hl=en">
+  Google Opinions Rewards app</a>, and they can use their balance to make
+  purchases of apps, games, or other content.
+</p>
+
+<p>
+  The payment methods available to users may vary based on location, carrier
+  network, and other factors.
+</p>
+ 
+<div class="headerLine clearfloat"><h1 id="related-resources">Related Resources</h1><hr></div>
+
+<div class="resource-widget resource-flow-layout col-13"
+  data-query="collection:distribute/monetize/paymentmethods"
+  data-sortOrder="-timestamp"
+  data-cardSizes="9x3"
+  data-maxResults="8"></div>
+
diff --git a/docs/html/distribute/monetize/premium.jd b/docs/html/distribute/monetize/premium.jd
new file mode 100644
index 0000000..b66cd03
--- /dev/null
+++ b/docs/html/distribute/monetize/premium.jd
@@ -0,0 +1,49 @@
+page.title=Monetize Premium Apps
+page.image=/distribute/images/premium.jpg
+page.metaDescription=Charging users to download your apps is a simple, convenient monetization model.
+page.tags="monetizing", "paid"
+
+@jd:body
+
+<div class="figure"><img src="{@docRoot}images/gp-premium-0.png" />
+<p class="img-caption" style="width:300px">Paid app</p>
+</div>
+<p>
+  Charging users to download your apps is a simple, convenient monetization
+  model. After creating your <a href=
+  "/distribute/googleplay/start.html#merchant-account">Merchant
+  Account</a>, you <a href=
+  "/distribute/googleplay/developer-console.html#selling-pricing-your-products">set prices for your
+  apps</a> in the Developer Console. You can optionally include advertising or use
+  <a href="{@docRoot}google/play/billing/index.html">In-app
+  Billing</a> to sell additional features or content.
+</p>
+
+<p>
+  This model could work well for any app or game, but might be particularly
+  relevant to those with extensive features or that address a narrow niche in
+  the market. Certain categories of apps, such as games for children, should be
+  monetized by paying for them up front instead of advertising or in-app
+  purchases.
+</p>
+
+<p>
+  However, this model may limit your apps monetization potential, particularly
+  in developing markets. You may be able to achieve greater revenue using the
+  <a href="{@docRoot}distribute/monetize/freemium.html">freemium</a>, <a href=
+  "{@docRoot}distribute/monetize/subscriptions.html">subscriptions</a> or
+  <a href="{@docRoot}distribute/monetize/ads.html">advertising</a> models.
+</p>
+
+<div class="headerLine clearfloat">
+  <h1>
+  Related Resources
+  </h1>
+  <hr>
+</div>
+
+<div class="resource-widget resource-flow-layout col-13"
+  data-query="collection:distribute/monetize/premium"
+  data-sortOrder="-timestamp"
+  data-cardSizes="9x3"
+  data-maxResults="6"></div>
\ No newline at end of file
diff --git a/docs/html/distribute/monetize/subscriptions.jd b/docs/html/distribute/monetize/subscriptions.jd
new file mode 100644
index 0000000..a838e30
--- /dev/null
+++ b/docs/html/distribute/monetize/subscriptions.jd
@@ -0,0 +1,71 @@
+page.title=Monetize with Subscriptions
+page.image=/distribute/images/subscription.jpg
+page.metaDescription=Sell subscriptions to your products to create continuing revenue streams.
+page.tags="in-app", "iap", "monetizing", "free", "trials"
+@jd:body
+
+<div class="figure">
+  <img src="{@docRoot}images/gp-subscription-0.jpg">
+  <p class="img-caption" style="width:300px;">
+  In-App Subscriptions
+  </p>
+</div>
+
+<p>
+  Subscriptions provide an excellent opportunity to create continuing revenue
+  streams. Subscriptions are similar to digital goods offered through <a href=
+  "{@docRoot}google/play/billing/index.html">In-app Billing</a> but made
+  available on a recurring monthly or annual basis.
+</p>
+
+<p>
+  When users purchase subscriptions in your apps, Google Play handles all
+  checkout details so your apps never have to directly process any financial
+  transactions. Google Play processes all payments for subscriptions through
+  Google Wallet, just as it does for standard in-app products and app
+  purchases. This ensures a consistent and familiar purchase flow for your
+  users and reduces cart abandonment rates.
+</p>
+
+<p>
+  At a basic level you can offer use of your apps or access to their content on
+  a subscription basis, using a <a href=
+  "{@docRoot}google/play/billing/billing_subscriptions.html#trials">free trial
+  subscription</a> to allow users to explore the apps or content.
+</p>
+
+<p>
+  A more advanced approach is to offer specific features or content items as
+  subscriptions within your apps. This way you can offer users basic or core
+  features or content for free or part of the initial purchase and extended
+  features or content as subscriptions. You can have multiple subscriptions
+  active in an app at any one time.
+</p>
+
+<p>
+  To get started with subscriptions you need to set-up a Google Wallet <a href=
+  "{@docRoot}distribute/googleplay/start.html#merchant-account">Merchant
+  Account</a> from the Developer Console. You then define subscriptions for
+  published or draft apps in the <a href=
+  "{@docRoot}distribute/googleplay/developer-console.html#in-app-billing">In-app
+  Products</a> section of the Developer Console, integrate the In-app Billing
+  API into your apps, and add the mechanisms to unlock subscribed features or
+  deliver content.
+</p>
+
+<div class="sidebox" style="width:400px;float:left;margin-left:0">
+  <p>
+  <strong>Tip:</strong> Due to some direct carrier billing limits, we
+  recommend monthly subscriptions. Annual subscriptions may exceed limits,
+  causing the purchase to be blocked and you to lose that revenue.
+  </p>
+</div>
+
+<div class="headerLine clearfloat"><h1 id="related-resources">Related Resources</h1><hr></div>
+
+<div class="resource-widget resource-flow-layout col-13"
+  data-query="collection:distribute/monetize/subscriptions"
+  data-sortOrder="-timestamp"
+  data-cardSizes="9x3"
+  data-maxResults="6"></div>
+
diff --git a/docs/html/distribute/open.jd b/docs/html/distribute/open.jd
deleted file mode 100644
index f9e9c3b..0000000
--- a/docs/html/distribute/open.jd
+++ /dev/null
@@ -1,107 +0,0 @@
-page.title=Open Distribution
-@jd:body
-
-<p>As an open platform, Android offers choice. You
-distribute your Android apps to users in any way you want, using any
-distribution approach or combination of approaches that meets your needs. 
-From publishing in an app marketplace to serving your apps from a web site or
-emailing them directly users, you are never locked into any
-particular distribution platform.</p>
-
-<p>The process for building and packaging your app for distribution is the same,
-regardless of how you will distribute your app. This saves you time and lets you
-automate parts of the process as needed. You can read <a 
-href="{@docRoot}tools/publishing/preparing.html">Preparing 
-for Release</a> for more information.</p>
-
-<p>The sections below highlight some of the alternatives for distributing
-your apps to users.</p>
-
-<h2 id="publishing-marketplace">Distributing through an App Marketplace</h2>
-
-<p>Usually, to reach the broadest possible audience, you would distribute your
-apps through a marketplace, such as Google Play.</p>
-
-<p>Google Play is the premier marketplace for Android apps and is particularly
-useful if you want to distribute your applications to a large global audience.
-However, you can distribute your apps through any app marketplace you want or
-you can use multiple marketplaces.</p>
-
-<h2 id="publishing-email">Distributing your application through email</h2>
-
-<div class="figure" style="width:246px">
-  <img src="{@docRoot}images/publishing/publishing_via_email.png"
-       alt="Screenshot showing the graphical user interface users see when you send them an app"
-       style="width:240px;" />
-  <p class="img-caption">
-    <strong>Figure 1.</strong> Users can simply click <strong>Install</strong> when you send them
-    an application via email.
-  </p>
-</div>
-
-<p>The easiest and quickest way to release your application is to send it to users through
-email. To do this, you prepare your application for release and then attach it to an email
-and send it to a user. When users open your email message on their Android-powered device,
-the Android system will recognize the APK and display an <strong>Install Now</strong>
-button in the email message (see figure 1). Users can install your application by touching the
-button.</p>
-
-<p class="note"><strong>Note:</strong> The <strong>Install Now</strong> button
-shown in Figure 1 appears only if users have configured their device to allow
-installation from <a href="#unknown-sources">unknown sources</a> and have opened your 
-email with the native Gmail application.</p>
-
-<p>Distributing applications through email is convenient if you are sending your application to
-only a few trusted users, but it provides few protections from piracy and unauthorized
-distribution; that is, anyone you send your application to can simply forward it to someone else.</p>
-
-<h2 id="publishing-website">Distributing through a web site</h2>
-
-<p>If you do not want to release your app on a marketplace like Google Play, you
-can make the app available for download on your own website or server, including
-on a private or enterprise server. To do this, you must first prepare your
-application for release in the normal way. Then all you need to do is host the
-release-ready APK file on your website and provide a download link to users.
-</p>
-
-<p>When users browse to the download link from their Android-powered devices,
-the file is downloaded and Android system automatically starts installing it on
-the device. However, the installation process will start automatically only if
-users have configured their Settings to allow the installation of apps from
-<a href="#unknown-sources">unknown sources</a>.</p>
-
-<p>Although it is relatively easy to release your application on your own
-website, it can be inefficient. For example, if you want to monetize your
-application you will have to process and track all financial transactions
-yourself and you will not be able to use Google Play's <a
-href="{@docRoot}google/play/billing/index.html">In-app Billing service</a>
-to sell in-app products. In addition, you will not be able to use the <a
-href="{@docRoot}google/play/licensing/index.html">Licensing service</a> to
-help prevent unauthorized installation and use of your application.</p>
-
-
-<h2 id="unknown-sources">User Opt-In for Apps from Unknown Sources</h2>
-
-<div class="figure" style="width:246px;margin-top:0;">
-  <img src="{@docRoot}images/publishing/publishing_unknown_sources_sm.png"
-       alt="Screenshot showing the setting for accepting download and install of
-       apps from unknown sources." style="width:240px;" />
-  <p class="img-caption">
-    <strong>Figure 2.</strong> Users must enable the <strong>Unknown sources</strong>
-    setting before they can install apps not downloaded from Google Play. 
-  </p>
-</div> 
-
-<p>Android protects users from inadvertent download and install of apps from
-locations other than Google Play (which is trusted). It blocks such installs
-until the user opts-in <strong>Unknown sources</strong> in
-Settings&nbsp;<strong>&gt;</strong>&nbsp;Security, shown in Figure 2. To allow
-the installation of applications from other sources, users need to enable the
-Unknown sources setting on their devices, and they need to make this
-configuration change <em>before</em> they download your application to their
-devices.</p> 
-
-<p class="note">Note that some network providers do not allow users to install
-applications from unknown sources.</p>
-
-
diff --git a/docs/html/distribute/googleplay/spotlight/games.jd b/docs/html/distribute/stories/games.jd
similarity index 91%
rename from docs/html/distribute/googleplay/spotlight/games.jd
rename to docs/html/distribute/stories/games.jd
index 1fbc03f..1a482b1 100644
--- a/docs/html/distribute/googleplay/spotlight/games.jd
+++ b/docs/html/distribute/stories/games.jd
@@ -1,6 +1,7 @@
 page.title=Developer Stories: Google Play Game Services
-walkthru=0
-header.hide=0
+meta.tags="google play, developer story, games, global"
+page.image=/images/distribute/glu-ew-gpgames.jpg
+page.metaDescription=How gaming studios are using Google Play game services to deliver new gaming experiences for their users.
 
 @jd:body
 
@@ -25,7 +26,7 @@
   width: 78px;
   float: left;
   margin: 12px 20px 9px 20px;"
-  src="//lh6.ggpht.com/_UOay5HBxf077suKYzmikU2IbnYOJub3X0inz-LoUsVh4TX758BEyArjoR7owXijkAA=w124">
+  src="http://lh6.ggpht.com/_UOay5HBxf077suKYzmikU2IbnYOJub3X0inz-LoUsVh4TX758BEyArjoR7owXijkAA=w124">
 
 <div style="list-style: none;height:100%;
   float: right;
@@ -49,7 +50,7 @@
     
     <div style="padding:.5em 0 0 1em;">
       <a href="https://play.google.com/store/apps/details?id=com.concretesoftware.pbachallenge_androidmarket&hl=en">
-       <img alt="Android app on Google Play" src="//developer.android.com/images/brand/en_generic_rgb_wo_45.png" />
+       <img alt="Android app on Google Play" src="{@docRoot}images/brand/en_generic_rgb_wo_45.png" />
       </a>
     </div>
 </div>
@@ -102,7 +103,7 @@
   width: 78px;
   float: left;
   margin: 12px 20px 30px 20px;"
-  src="//lh4.ggpht.com/Q7mQJsdhulW4_s039R9aaRhQkGnyzLkhF00j5EnyhHOivijnyi7P7b5A8qG0xk1r-jQ=w124">
+  src="http://lh4.ggpht.com/Q7mQJsdhulW4_s039R9aaRhQkGnyzLkhF00j5EnyhHOivijnyi7P7b5A8qG0xk1r-jQ=w124">
           
 <div style="list-style: none;height:100%;
   float: right;
@@ -126,7 +127,7 @@
 
     <div style="padding:.5em 0 0 1em;">
       <a href="https://play.google.com/store/apps/details?id=com.glu.ewarriors2">
-        <img alt="Android app on Google Play" src="//developer.android.com/images/brand/en_generic_rgb_wo_45.png" />
+        <img alt="Android app on Google Play" src="{@docRoot}images/brand/en_generic_rgb_wo_45.png" />
       </a>
     </div>
 </div>
@@ -176,7 +177,7 @@
   width: 78px;
   float: left;
   margin: 12px 20px 9px 20px;" src=
-  "https://lh3.ggpht.com/dTUrKLffqXHJtPuIlp8fjDhROuzrTcpidbNFprugR65hMrPLX7Omd8SGop0xMXXKzcw=w124">
+  "http://lh3.ggpht.com/dTUrKLffqXHJtPuIlp8fjDhROuzrTcpidbNFprugR65hMrPLX7Omd8SGop0xMXXKzcw=w124">
   
 <div style="list-style: none;height:100%;
   float: right;
@@ -202,7 +203,7 @@
 
   <div style="padding:.5em 0 0 1em;">
     <a href="https://play.google.com/store/apps/details?id=com.vectorunit.red">
-      <img alt="Android app on Google Play" src="//developer.android.com/images/brand/en_generic_rgb_wo_45.png" />
+      <img alt="Android app on Google Play" src="{@docRoot}images/brand/en_generic_rgb_wo_45.png" />
     </a>
   </div>
 </div>
diff --git a/docs/html/distribute/stories/index.jd b/docs/html/distribute/stories/index.jd
new file mode 100644
index 0000000..ca7647d
--- /dev/null
+++ b/docs/html/distribute/stories/index.jd
@@ -0,0 +1,13 @@
+page.title=Developer Stories
+section.landing=true
+page.metaDescription=Android developers, their apps, and their successes with Android and Google Play.
+
+@jd:body
+
+<p>Android developers, their apps, and their successes with Android and Google Play.</p>
+
+<div class="resource-widget resource-flow-layout col-13"
+    data-query="type:youtube+tag:developerstory"
+    data-sortOrder="-timestamp"
+    data-cardSizes="18x12"
+    data-maxResults="32"></div>
diff --git a/docs/html/distribute/googleplay/spotlight/localization.jd b/docs/html/distribute/stories/localization.jd
similarity index 95%
rename from docs/html/distribute/googleplay/spotlight/localization.jd
rename to docs/html/distribute/stories/localization.jd
index ae5993d..d6e6ccf 100644
--- a/docs/html/distribute/googleplay/spotlight/localization.jd
+++ b/docs/html/distribute/stories/localization.jd
@@ -1,6 +1,8 @@
 page.title=Developer Stories: Localization in Google Play
-walkthru=0
-header.hide=0
+meta.tags="google play, developer story, localization, global"
+page.tags="stories", "video", "case study"
+page.image=/images/distribute/zombie-ragdoll-n5-land.jpg
+page.metaDescription=Hear from Android developers who have successfully used the Google Play App Translation Service.
 
 @jd:body
 
@@ -65,7 +67,7 @@
     <div style="padding:.5em 0 0 1em;">
       <a href="https://play.google.com/store/apps/details?id=com.rvappstudios.zombieragdoll">
         <img alt="Android app on Google Play"
-         src="//developer.android.com/images/brand/en_generic_rgb_wo_45.png" />
+         src="{@docRoot}images/brand/en_generic_rgb_wo_45.png" />
       </a>
 
     </div>
@@ -177,7 +179,7 @@
     <div style="padding:.5em 0 0 1em;">
       <a href="https://play.google.com/store/apps/details?id=com.unearby.sayhi">
         <img alt="Android app on Google Play"
-         src="//developer.android.com/images/brand/en_generic_rgb_wo_45.png" />
+         src="{@docRoot}images/brand/en_generic_rgb_wo_45.png" />
       </a>
 
     </div>
@@ -262,7 +264,7 @@
     <div style="padding:.5em 0 0 1em;">
       <a href="https://play.google.com/store/apps/details?id=com.rvappstudios.zombieragdoll">
         <img alt="Android app on Google Play"
-         src="//developer.android.com/images/brand/en_generic_rgb_wo_45.png" />
+         src="{@docRoot}images/brand/en_generic_rgb_wo_45.png" />
       </a>
     </div>
   </div>
diff --git a/docs/html/distribute/stories/stories_toc.cs b/docs/html/distribute/stories/stories_toc.cs
new file mode 100644
index 0000000..944dabe
--- /dev/null
+++ b/docs/html/distribute/stories/stories_toc.cs
@@ -0,0 +1,34 @@
+<ul id="nav">
+  <li class="nav-section">
+    <div class="nav-section empty" style="font-weight:normal"><a href="<?cs var:toroot?>distribute/stories/index.html">
+            <span class="en">Videos</span></a>
+    </div>
+  </li>
+  <li class="nav-section">
+    <div class="nav-section empty" style="font-weight:normal"><a href="<?cs var:toroot?>distribute/stories/localization.html">
+            <span class="en">Going Global</span></a>
+    </div>
+  </li>
+  <li class="nav-section">
+    <div class="nav-section empty" style="font-weight:normal"><a href="<?cs var:toroot?>distribute/stories/games.html">
+            <span class="en">Games</span>
+          </a>
+    </div>
+  </li>
+  <li class="nav-section">
+    <div class="nav-section empty" style="font-weight:normal"><a href="<?cs var:toroot?>distribute/stories/tablets.html">
+          <span class="en">Tablets</span>
+        </a>
+    </div>
+  </li>
+
+</ul>
+
+
+<script type="text/javascript">
+<!--
+    buildToggleLists();
+    changeNavLang(getLangPref());
+//-->
+</script>
+
diff --git a/docs/html/distribute/googleplay/spotlight/tablets.jd b/docs/html/distribute/stories/tablets.jd
similarity index 91%
rename from docs/html/distribute/googleplay/spotlight/tablets.jd
rename to docs/html/distribute/stories/tablets.jd
index 7a98755..771fa52 100644
--- a/docs/html/distribute/googleplay/spotlight/tablets.jd
+++ b/docs/html/distribute/stories/tablets.jd
@@ -1,11 +1,12 @@
 page.title=Developer Stories: The Opportunity of Android Tablets
-walkthru=0
-header.hide=0
+meta.tags="google play, developer story, journal, tablets, pure"
+pdage.metaDescription=Developers are investing in a full tablet experience for their apps and seeing those investments pay off big.
+page.image=/images/distribute/rememberthemilk.png
 
 @jd:body
 
 
-<p>More and more, developers are investing in a full tablet experience
+<p>"More" and more, developers are investing in a full tablet experience
 for their apps and are seeing those investments pay off big. The increased
 screen area on tablets opens up a world of possibilities, allowing for more
 engagement with the user &mdash; which can mean an increase in usage as well as
@@ -27,7 +28,7 @@
             width: 78px;
             float: left;
             margin: 12px 20px 9px 20px;" src=
-            "//lh3.ggpht.com/xmnal18taauP2mjQFEhr1PhcItQ_W32IRuaD86IoL2U_4E-mfeKiliKtkISgOuA6Ln9n=w124">
+            "http://lh3.ggpht.com/xmnal18taauP2mjQFEhr1PhcItQ_W32IRuaD86IoL2U_4E-mfeKiliKtkISgOuA6Ln9n=w124">
           
   <div style="list-style: none;height:100%;
   float: right;
@@ -40,7 +41,7 @@
     
     
     <ul>
-      <li><a href="//play.google.com/store/apps/details?id=com.rememberthemilk.MobileRTM">Remember The Milk</a></li>
+      <li><a href="http://play.google.com/store/apps/details?id=com.rememberthemilk.MobileRTM">Remember The Milk</a></li>
       <li>A feature-packed to-do list app; never forget the milk (or anything else) again</li>
     </ul>
 
@@ -53,9 +54,9 @@
       </ul>
     
     <div style="padding:.5em 0 0 1em;">
-      <a href="//play.google.com/store/apps/details?id=com.rememberthemilk.MobileRTM">
+      <a href="http://play.google.com/store/apps/details?id=com.rememberthemilk.MobileRTM">
         <img alt="Android app on Google Play"
-         src="//developer.android.com/images/brand/en_generic_rgb_wo_45.png" />
+         src="{@docRoot}images/brand/en_generic_rgb_wo_45.png" />
       </a>
       
     </div>
@@ -64,9 +65,9 @@
   <div style="line-height:1.4em;">
     <p style="margin-top:0;margin-bottom:12px;">When the Android tablet guidelines
       came out in 2012, the team at Remember The Milk had already been thinking about
-      a redesign for their <a href="//play.google.com/store/apps/details?id=com.rememberthemilk.MobileRTM">feature-packed
+      a redesign for their <a href="http://play.google.com/store/apps/details?id=com.rememberthemilk.MobileRTM">feature-packed
       to-do list app</a>. Omar Kilani, Co-founder of Remember The Milk, explains how
-      <a href="//blog.rememberthemilk.com/2013/04/the-all-new-remember-the-milk-for-android-and-tablets-too/">updating</a>
+      <a href="http://blog.rememberthemilk.com/2013/04/the-all-new-remember-the-milk-for-android-and-tablets-too/">updating</a>
       their app to meet the tablet guidelines lead to an 83% jump in tablet installs: </p>
 
     <p>“We took this as an opportunity to think about how we were going to approach
@@ -138,7 +139,7 @@
     <div style="padding:.5em 0 0 1em;">
 <a href="http://play.google.com/store/apps/details?id=com.mint">
   <img alt="Android app on Google Play"
-       src="//developer.android.com/images/brand/en_generic_rgb_wo_45.png" />
+       src="{@docRoot}images/brand/en_generic_rgb_wo_45.png" />
 </a>
       
     </div>
@@ -228,7 +229,7 @@
     <div style="padding:.5em 0 0 1em;">
 <a href="http://play.google.com/store/apps/details?id=com.tinyco.village">
   <img alt="Android app on Google Play"
-       src="//developer.android.com/images/brand/en_generic_rgb_wo_45.png" />
+       src="{@docRoot}images/brand/en_generic_rgb_wo_45.png" />
 </a>
       
     </div>
@@ -318,7 +319,7 @@
     <div style="padding:.5em 0 0 1em;">
 <a href="http://play.google.com/store/apps/details?id=com.instapaper.android">
   <img alt="Android app on Google Play"
-       src="//developer.android.com/images/brand/en_generic_rgb_wo_45.png" />
+       src="{@docRoot}images/brand/en_generic_rgb_wo_45.png" />
 </a>
       
     </div>
diff --git a/docs/html/distribute/tools/disttools_toc.cs b/docs/html/distribute/tools/disttools_toc.cs
new file mode 100644
index 0000000..f4f39f0
--- /dev/null
+++ b/docs/html/distribute/tools/disttools_toc.cs
@@ -0,0 +1,46 @@
+<ul id="nav">
+
+  <li class="nav-section">
+    <div class="nav-section empty" style="font-weight:normal"><a href="<?cs var:toroot?>distribute/tools/launch-checklist.html">
+            <span class="en">Launch Checklist</span></a>
+    </div>
+  </li>
+  <li class="nav-section">
+    <div class="nav-section empty" style="font-weight:normal"><a href="<?cs var:toroot?>distribute/tools/localization-checklist.html">
+            <span class="en">Localization Checklist</span></a>
+    </div>
+  </li>
+  <li class="nav-section">
+    <div class="nav-section empty" style="font-weight:normal"><a href="<?cs var:toroot?>distribute/tools/promote/device-art.html">
+            <span class="en">Device Art Generator</span></a>
+    </div>
+  </li>
+  <li class="nav-section">
+    <div class="nav-section empty" style="font-weight:normal"><a href="<?cs var:toroot?>distribute/tools/promote/badges.html">
+            <span class="en">Google Play Badges</span></a>
+    </div>
+  </li>
+  <li class="nav-section">
+    <div class="nav-section empty" style="font-weight:normal"><a href="<?cs var:toroot?>distribute/tools/promote/linking.html">
+            <span class="en">Linking to Your Products</span></a>
+    </div>
+  </li>
+  <li class="nav-section">
+    <div class="nav-section empty" style="font-weight:normal"><a href="<?cs var:toroot?>distribute/tools/promote/brand.html">
+            <span class="en">Brand Guidelines</span></a>
+    </div>
+  </li>
+  <li class="nav-section">
+    <div class="nav-section empty" style="font-weight:normal"><a href="<?cs var:toroot?>distribute/tools/open-distribution.html">
+            <span class="en">Alternative Distribution</span></a>
+    </div>
+  </li>
+</ul>
+
+<script type="text/javascript">
+<!--
+    buildToggleLists();
+    changeNavLang(getLangPref());
+//-->
+</script>
+
diff --git a/docs/html/distribute/tools/index.jd b/docs/html/distribute/tools/index.jd
new file mode 100644
index 0000000..c8f0212
--- /dev/null
+++ b/docs/html/distribute/tools/index.jd
@@ -0,0 +1,57 @@
+page.title=Tools &amp; Reference
+section.landing=true
+nonavpage=true
+
+@jd:body
+
+<p>
+  Here you’ll find resources to help you publish your apps and games, acquire
+  users, and monetize your investment.
+</p>
+
+<div class="dynamic-grid">
+
+  <h3>Publishing and Launch</h3>
+  <div class="resource-widget resource-flow-layout landing col-16"
+    data-query="collection:distribute/tools/checklists"
+    data-cardSizes="9x6"
+    data-maxResults="2">
+  </div>
+
+<h3>Marketing Tools</h3>
+  <div class="resource-widget resource-flow-layout landing col-16"
+    data-query="collection:distribute/tools/promote"
+    data-cardSizes="6x6"
+    data-maxResults="3">
+  </div>
+
+  <h3>Developer Support</h3>
+  <div class="resource-widget resource-flow-layout landing col-16"
+    data-query="collection:distribute/tools/support"
+    data-cardSizes="6x6"
+    data-maxResults="3">
+  </div>
+
+  <h3>Developer News</h3>
+  <div class="resource-widget resource-flow-layout landing col-16"
+    data-query="collection:distribute/tools/news"
+    data-cardSizes="9x6"
+    data-maxResults="2">
+  </div>
+
+  <h3>More</h3>
+  <div class="resource-widget resource-flow-layout landing col-16"
+    data-query="collection:distribute/tools/more"
+    data-cardSizes="6x6"
+    data-maxResults="3">
+  </div>
+
+<!--  <h3>Related Resources</h3>
+  <div class="resource-widget resource-stack-layout col-16"
+    data-query="tag:developersupport"
+    data-sortOrder="-timestamp"
+    data-numStacks="3"
+    data-maxResults="6">
+  </div> -->
+
+</div>
diff --git a/docs/html/distribute/tools/launch-checklist.jd b/docs/html/distribute/tools/launch-checklist.jd
new file mode 100644
index 0000000..3b0dd55
--- /dev/null
+++ b/docs/html/distribute/tools/launch-checklist.jd
@@ -0,0 +1,1072 @@
+page.title=Launch Checklist
+page.metaDescription=Essential overview of the complete process of delivering your app to users. Read this checklist early in development to help you plan for a successful launch on Google Play.
+meta.tags="localizing, publishing, disttools"
+page.tags="launch, publishing, Google Play"
+page.image=/distribute/images/launch-checklist.jpg
+
+@jd:body
+
+<div id="qv-wrapper">
+  <div id="qv" style="width:280px">
+    <h2>Checklist</h2>
+    <ol>
+      <li><a href="#understand-publishing">1. Understand the Publishing Process</a></li>
+      <li><a href="#understand-policies">2. Understand Google Play Policies</a></li>
+      <li><a href="#test-quality">3. Test for Core App Quality</a></li>
+      <li><a href="#determine-rating">4. Determine Content Rating</a></li>
+      <li><a href="#determine-country">5. Determine Country Distribution</a></li>
+      <li><a href="#confirm-size">6. Confirm Overall Size</a></li>
+      <li><a href="#confirm-platform">7. Confirm Platform and Screen Ranges</a></li>
+      <li><a href="#decide-price">8. Decide Free or Priced</a></li>
+      <li><a href="#consider-billing">9. Use In-app Billing</a></li>
+      <li><a href="#set-prices">10. Set Prices for your Products</a></li>
+      <li><a href="#start-localization">11. Start Localization</a></li>
+      <li><a href="#prepare-graphics">12. Prepare Promotional Graphics, Screenshots, and Videos</a></li>
+      <li><a href="#build-upload">13. Build the Release-ready APK</a></li>
+      <li><a href="#plan-beta">14. Plan a Beta Release</a></li>
+      <li><a href="#complete-details">15. Complete the Store Listing</a></li>
+      <li><a href="#use-badges">16. Use Google Play Badges and Links</a></li>
+      <li><a href="#final-checks">17. Final Checks and Publishing</a></li>
+      <li><a href="#support-users">18. Support Users after Launch  </a></li>
+    </ol>
+  </div>
+</div>
+
+<div class="top-right-float" style="width:194px"><img
+src="{@docRoot}distribute/images/launch-checklist.jpg"></div>
+
+<p>
+  Before you publish your apps on Google Play and distribute them to users, you
+  need to get the apps ready, test them, and prepare your promotional
+  materials.
+</p>
+
+<p>
+  This page helps you understand the publishing process and get ready for a
+  successful product launch on Google Play. It summarizes some of the tasks
+  you'll need to complete before publishing your app on Google Play, such as
+  creating a signed, release-ready application package (APK), understanding the
+  requirements of the app, and creating the product page and graphic assets for
+  each of your apps.
+</p>
+
+<p>
+  The preparation and publishing tasks are numbered to give you a rough idea of
+  sequence. However, you can handle the tasks in any sequence that works for
+  you or you can skip steps as appropriate.
+</p>
+
+<p>
+  As you move toward publishing, a variety of support resources are available
+  to you. Relevant links are provided in each step.
+</p>
+
+<div class="headerLine">
+  <h1 id="understand-publishing">
+    1. Understand the Publishing Process
+  </h1>
+
+  <hr>
+</div>
+
+<p>
+  Before you begin the steps in this checklist, you should take a moment to
+  read and understand the overall publishing workflow and become familiar with
+  how the process works. In particular, you or your development team will need
+  to prepare your apps for release using a process common to all Android apps.
+  The <a href="{@docRoot}tools/publishing/publishing_overview.html">Publishing
+  workflow documents</a> provide the details on how publishing works and how to
+  get an APK ready for release.
+</p>
+
+<p>
+  Once you are familiar with publishing in general, continue reading to
+  understand the issues that you should consider when publishing apps on Google
+  Play.
+</p>
+
+<h3>
+  Related resources
+</h3>
+
+<div class="resource-widget resource-flow-layout col-13" data-query=
+"collection:distribute/toolsreference/launchchecklist/understanding"
+data-sortorder="-timestamp" data-cardsizes="9x3,9x3,6x3,9x3,9x3,9x3"
+data-maxresults="6">
+</div>
+
+<div class="headerLine clearfloat">
+  <h1 id="understand-policies">
+    2. Understand Google Play Policies and Agreements
+  </h1>
+
+  <hr>
+</div>
+
+<p>
+  Make sure that you understand and follow the Google Play program policies
+  that you accepted when registering. Google Play actively enforces the
+  policies and any violations can lead to suspension of your apps or, for
+  repeated violations, termination of your developer account.
+</p>
+
+<h3>
+  Related resources
+</h3>
+
+<div class="resource-widget resource-flow-layout col-13" data-query=
+"collection:distribute/toolsreference/launchchecklist/policies" data-sortorder=
+"-timestamp" data-cardsizes="6x3" data-maxresults="6">
+</div>
+
+<div class="headerLine clearfloat">
+  <h1 id="test-quality">
+    3. Test for Quality
+  </h1>
+
+  <hr>
+</div>
+
+<p>
+  Before you publish apps on Google Play, it's important to make sure that they
+  meet the basic quality expectations for all Android apps, on all of the
+  devices that you are targeting. You can check your app's quality by setting
+  up a test environment and testing the app against a short set of
+  <strong>quality criteria that applies to all apps</strong>. For complete
+  information, see the <a href=
+  "{@docRoot}distribute/essentials/quality/core.html">Core App Quality</a>
+  guidelines.
+</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=
+  "{@docRoot}distribute/essentials/quality/tablets.html">Tablet App Quality</a>
+  guidelines for recommendations on ways to optimize your app for tablets.
+</p>
+
+<p>
+  If you plan to make your apps available to Google Play for Education, then
+  you need to make sure they are suitable for a K-12 classroom and offer
+  outstanding educational value. See the <a href=
+  "{@docRoot}distribute/essentials/gpfe-guidelines.html">Education
+  Guidelines</a> for information on the characteristics your education apps
+  should exhibit.
+</p>
+
+<h3>
+  Related resources
+</h3>
+
+<div class="resource-widget resource-flow-layout col-13" data-query=
+"collection:distribute/toolsreference/launchchecklist/quality" data-sortorder=
+"-timestamp" data-cardsizes="6x3,6x3,6x3,9x3,9x3,9x3" data-maxresults="6">
+</div>
+
+<div class="headerLine clearfloat">
+  <h1 id="determine-rating">
+    4. Determine your App’s Content Rating
+  </h1>
+
+  <hr>
+</div>
+
+<p>
+  Google Play requires you to set a content rating for your app, which informs
+  Google Play users of its maturity level. Before you publish, you should
+  confirm what rating level you want to use. The available content rating
+  levels are:
+</p>
+
+<ul>
+  <li>
+    <p>
+      Everyone
+    </p>
+  </li>
+
+  <li>
+    <p>
+      Low maturity
+    </p>
+  </li>
+
+  <li>
+    <p>
+      Medium maturity
+    </p>
+  </li>
+
+  <li>
+    <p>
+      High maturity
+    </p>
+  </li>
+</ul>
+
+<p>
+  On their Android devices, Android users can set the desired maturity level
+  for browsing. Google Play then filters apps based on the setting, so the
+  content rating you select can affect the app's distribution to users. You can
+  assign (or change) the content rating for your apps in the Developer Console,
+  no changes are required in your app binary.
+</p>
+
+<h3>
+  Related resources
+</h3>
+
+<div class="resource-widget resource-flow-layout col-13" data-query=
+"collection:distribute/toolsreference/launchchecklist/rating" data-sortorder=
+"-timestamp" data-cardsizes="9x3,6x3,6x3,9x3,9x3,9x3" data-maxresults="6">
+</div>
+
+<div class="headerLine clearfloat">
+  <h1 id="determine-country">
+    5. Determine Country Distribution
+  </h1>
+
+  <hr>
+</div>
+
+<p>
+  Google Play lets you control what countries and territories your apps are
+  distributed to. For the widest reach and the largest potential customer base,
+  you’d normally want to distribute to all available countries and territories.
+  However, because of business needs, app requirements, or launch dependencies,
+  you might want to exclude one or more countries from your distribution.
+</p>
+
+<p>
+  It's important to determine the exact country distribution early, because it
+  can affect:
+</p>
+
+<ul>
+  <li>
+    <p>
+      The need for localized resources in the app.
+    </p>
+  </li>
+
+  <li>
+    <p>
+      The need for a localized app description in the Developer Console.
+    </p>
+  </li>
+
+  <li>
+    <p>
+      Legal requirements for the app that may be specific to certain countries.
+    </p>
+  </li>
+
+  <li>
+    <p>
+      Time zone support, local pricing, and so on.
+    </p>
+  </li>
+</ul>
+
+<p>
+  With your target countries in mind, you should assess your localization
+  needs, both in your apps and in their Google Play listings details, and start
+  the work of localization well in advance of your target launch date.
+</p>
+
+<p>
+  See <a href=
+  "{@docRoot}distribute/tools/localization-checklist.html">Localization
+  Checklist</a> for key steps and considerations in the localization process.
+</p>
+
+<h3>
+  Related resources
+</h3>
+
+<div class="resource-widget resource-flow-layout col-13" data-query=
+"collection:distribute/toolsreference/launchchecklist/country" data-sortorder=
+"-timestamp" data-cardsizes="9x3,9x3,6x3,9x3,9x3,9x3" data-maxresults="6">
+</div>
+
+<div class="headerLine clearfloat">
+  <h1 id="confirm-size">
+    6. Confirm the App's Overall Size
+  </h1>
+
+  <hr>
+</div>
+
+<p>
+  The overall size of your app can affect its design and how you publish it on
+  Google Play. Currently, the maximum size for an APK published on Google Play
+  is <strong>50 MB</strong>. If your app exceeds that size, or if you want to
+  offer a secondary download, you can use <a href=
+  "{@docRoot}google/play/expansion-files.html">APK Expansion Files</a>, which
+  Google Play will host for free on its server infrastructure and automatically
+  handle the download to devices.
+</p>
+
+<ul>
+  <li>
+    <p>
+      The maximum size for an APK published on Google Play is 50 MB.
+    </p>
+  </li>
+
+  <li>
+    <p>
+      You can use up to two (2) APK Expansion Files, each up to 2GB in size,
+      for each APK.
+    </p>
+  </li>
+</ul>
+
+<p>
+  Using APK Expansion files is a convenient, cost-effective method of
+  distributing large apps. However, the use of APK Expansion Files requires
+  some changes in your app binary, so you will need to make those changes
+  before creating your release-ready APK.
+</p>
+
+<p>
+  To minimize the size of your app binary, make sure that you run the <a href=
+  "{@docRoot}tools/help/proguard.html">Proguard</a> tool or similar obfuscator
+  on your code when building your release-ready APK.
+</p>
+
+<h3>
+  Related resources
+</h3>
+
+<div class="resource-widget resource-flow-layout col-13" data-query=
+"collection:distribute/toolsreference/launchchecklist/size" data-sortorder=
+"-timestamp" data-cardsizes="9x3,9x3,6x3,9x3,9x3,9x3" data-maxresults="6">
+</div>
+
+<div class="headerLine clearfloat">
+  <h1 id="confirm-platform">
+    7. Confirm the App's Platform and Screen Compatibility Ranges
+  </h1>
+
+  <hr>
+</div>
+
+<p>
+  Before publishing, it's important to make sure that your apps are designed to
+  run properly on the Android platform versions and device screen sizes that
+  you want to target.
+</p>
+
+<p>
+  From an app-compatibility perspective, Android platform versions are defined
+  by <a href=
+  "{@docRoot}guide/topics/manifest/uses-sdk-element.html#ApiLevels">API
+  level</a>. You should confirm the minimum version that your app is compatible
+  with <a href=
+  "{@docRoot}guide/topics/manifest/uses-sdk-element.html">&lt;minSdkVersion&gt;</a>,
+  as that will affect its distribution to Android devices once it is published.
+</p>
+
+<p>
+  For screen sizes, you should confirm that the app runs properly and looks
+  good on the range of screen sizes and pixel densities that you want to
+  support. You should follow the advice provided in <a href=
+  "{@docRoot}guide/practices/screens_support.html">Supporting Multiple
+  Screens</a> to provide scalable support for multiple screen sizes. However,
+  if you have been unable to do so, declare the minimum screen-size supported
+  by your apps using <a href=
+  "{@docRoot}guide/topics/manifest/supports-screens-element.html">&lt;supports-screens&gt;</a>.
+  Google Play will then restrict the availability of your apps accordingly,
+  making them available to devices with the declared screen size or large.
+</p>
+
+<p>
+  To get a better understanding of the current device penetration of Android
+  platform versions and screen sizes across all Android devices, see the
+  <a href="{@docRoot}about/dashboards/index.html">Device Dashboard</a> charts.
+</p>
+
+<h3>
+  Related resources
+</h3>
+
+<div class="resource-widget resource-flow-layout col-13" data-query=
+"collection:distribute/toolsreference/launchchecklist/platform" data-sortorder=
+"-timestamp" data-cardsizes="6x3,6x3,6x3" data-maxresults="6">
+</div>
+
+<div class="headerLine clearfloat">
+  <h1 id="decide-price">
+    8. Decide Whether your App will be Free or Priced
+  </h1>
+
+  <hr>
+</div>
+
+<div class="figure">
+  <img src="{@docRoot}images/gp-launch-checklist-1.png">
+</div>
+
+<p>
+  On Google Play, you can publish apps as free to download or priced. Free apps
+  can be downloaded by any Android user in Google Play. Paid apps can be
+  downloaded only by users who are in a country that supports paid downloads
+  and have registered a form of payment in Google Play, such as a credit card
+  or Direct Carrier Billing.
+</p>
+
+<p>
+  Deciding whether you apps will be free or paid is important because, on
+  Google Play, <strong>free apps must remain free</strong>.
+</p>
+
+<ul>
+  <li>
+    <p>
+      Once you publish an app as a free app, you cannot change it to being a
+      priced app. However, you can still sell <a href=
+      "{@docRoot}google/play/billing/billing_overview.html#products">in-app
+      products</a> and <a href=
+      "{@docRoot}google/play/billing/billing_subscriptions.html">subscriptions</a>
+      through Google Play's <a href=
+      "{@docRoot}google/play/billing/index.html">In-app Billing</a> service.
+    </p>
+  </li>
+
+  <li>
+    <p>
+      If you publish your app as a priced app, you <em>can</em> change it at
+      any time to be a free app (<strong>but cannot then change it back to
+      priced</strong>). You can also sell in-app products and subscriptions.
+    </p>
+  </li>
+</ul>
+
+<p>
+  If your app is be priced, or if you'll be selling in-app products, you need
+  <a href=
+  "https://developers.google.com/wallet/digital/training/getting-started/merchant-setup">
+  set up a Google Wallet Merchant Account</a> before you can publish.
+</p>
+
+<h3>
+  Related resources
+</h3>
+
+<div class="resource-widget resource-flow-layout col-13" data-query=
+"collection:distribute/toolsreference/launchchecklist/price" data-sortorder=
+"-timestamp" data-cardsizes="9x3,9x3,6x3,9x3,9x3,9x3" data-maxresults="6">
+</div>
+
+<div class="headerLine clearfloat">
+  <h1 id="consider-billing">
+    9. Consider using In-app Billing
+  </h1>
+
+  <hr>
+</div>
+
+<p>
+  Google Play <a href="{@docRoot}google/play/billing/index.html">In-app
+  Billing</a> lets you sell digital content in your applications. You can use
+  the service to sell a wide range of content, including downloadable content
+  such as media files or photos, and virtual content such as game levels or
+  potions. In-app Billing service lets you sell one-time purchases and
+  subscriptions from inside your app. This can help you to monetize the app
+  over its installed lifetime.
+</p>
+
+<p>
+  If your are looking for more ways to monetize your app and build engagement,
+  you should consider In-app Billing or Instant Buy. These services have become
+  very popular with both users and developers. To use In-app Billing or Instant
+  Buy, you need to make changes to your app binary, so you will need to
+  complete and test your implementation before creating your release-ready APK.
+</p>
+
+<h3>
+  Related resources
+</h3>
+
+<div class="resource-widget resource-flow-layout col-13" data-query=
+"collection:distribute/toolsreference/launchchecklist/purchasemethod"
+data-sortorder="-timestamp" data-cardsizes="9x3,9x3,6x3,9x3,9x3,9x3"
+data-maxresults="6">
+</div>
+
+<div class="headerLine clearfloat">
+  <h1 id="set-prices">
+    10. Set Prices for your Products
+  </h1>
+
+  <hr>
+</div>
+
+<p>
+  If your apps is priced or you’ll sell in-app or physical products, Google
+  Play lets you set prices for your products in a variety of currencies, for
+  users in markets around the world. You can set prices individually in
+  different currencies, so you have the flexibility to adjust your price
+  according to market conditions and exchange rates.
+</p>
+
+<p>
+  Before you publish, consider how you’ll price your products and what your
+  prices will be in various currencies. Later, you can set prices in all
+  available currencies through the Developer Console.
+</p>
+
+<h3>
+  Related resources
+</h3>
+
+<div class="resource-widget resource-flow-layout col-13" data-query=
+"collection:distribute/toolsreference/launchchecklist/setprice" data-sortorder=
+"-timestamp" data-cardsizes="9x3,9x3,9x3,9x3,9x3,9x3" data-maxresults="6">
+</div>
+
+<div class="headerLine clearfloat">
+  <h1 id="start-localization">
+    11. Start Localization
+  </h1>
+
+  <hr>
+</div>
+
+<p>
+  With your country targeting in mind, it's a good idea to assess your
+  localization needs, ensure your apps are internationalized, and start the
+  work of localizing well in advance of your target launch date.
+</p>
+
+<p>
+  In addition to your application design, there are at least three aspects of
+  localization to consider:
+</p>
+
+<ul>
+  <li>
+    <p>
+      Localizing the strings, images, and other resources in your apps.
+    </p>
+  </li>
+
+  <li>
+    <p>
+      Localizing your apps’ store listing details on Google Play.
+    </p>
+  </li>
+
+  <li>
+    <p>
+      Localizing the apps’ graphic assets, screenshots, and videos that
+      accompany your store listing.
+    </p>
+  </li>
+</ul>
+
+<p>
+  See <a href=
+  "{@docRoot}distribute/tools/localization-checklist.html">Localization
+  Checklist</a> for key steps and considerations in the localization process.
+</p>
+
+<p>
+  To localize your store listing, first create and finalize your app title,
+  description, and promotional text. Collect and send all of these for
+  localization. You can optionally translate the "Recent Changes" text for app
+  updates as well. Later you can add your localized listing details in the
+  Developer Console, or you can choose to let Google Play auto-translate your
+  listing details into the languages you support.
+</p>
+
+<p>
+  A key part of making your app listing attractive to a global customer base is
+  creating localized versions of your promotional graphics, screenshots and
+  videos. For example, your app's feature graphic might include text that
+  should be translated, for maximum effectiveness. You can create different
+  versions of your promotional graphics for each language and upload them to
+  the Developer Console. If you offer a promotional video, you can create
+  localized versions of it and then add a link to the correct localized video
+  for each language you support.
+</p>
+
+<p>
+  When your translations are complete, move them into your app resources as
+  needed and test that they are loaded properly. Save your app's translated
+  listing details for later, when you upload assets and configure the store
+  listing.
+</p>
+
+<h3>
+  Related resources
+</h3>
+
+<div class="resource-widget resource-flow-layout col-13" data-query=
+"collection:distribute/toolsreference/launchchecklist/localization"
+data-sortorder="-timestamp" data-cardsizes="9x3,9x3,6x3,9x3,9x3,9x3"
+data-maxresults="6">
+</div>
+
+<div class="headerLine clearfloat">
+  <h1 id="prepare-graphics">
+    12. Prepare Promotional Graphics, Screenshots, and Videos
+  </h1>
+
+  <hr>
+</div>
+
+<p>
+  When you publish on Google Play, you can supply a variety of high-quality
+  graphic assets to showcase your app or brand. After you publish, these appear
+  on your store listing page, search results, and elsewhere. These graphic
+  assets are key parts of a successful store listing page that attracts and
+  engages users, so you should consider having a professional produce them for
+  you. Screenshots and videos are also very important, because they show how
+  your apps look, how they’re used or played, and what makes them different.
+</p>
+
+<p>
+  All of your graphic assets should be designed so that they are easy to see
+  and highlight your apps or brand in a colorful, interesting way. The assets
+  should reference the same logo and icon as users will find in the All Apps
+  launcher once they have downloaded the app. Your graphic assets should also
+  fit in well with the graphic assets of all the apps you publish, which will
+  be also be displayed to users on your store listing page.
+</p>
+
+<p>
+  To help you market your apps more effectively to a global audience, Google
+  Play lets you create localized versions of your promotional graphics,
+  screenshots, and videos and upload them to the Developer Console. When a user
+  visits your app's store listing, Google Play displays the promotional
+  graphic, screenshots, and video that you've provided for the user's language.
+</p>
+
+<p>
+  To localize your promotional graphics, you can translate any embedded text,
+  use different imagery or presentation, or change your marketing approach to
+  best address the needs of users in specific languages. For example, if your
+  feature or promotional graphic includes an embedded product name or tag line,
+  you can translate that text and add it to a localized version of the
+  promotional graphic.
+</p>
+
+<p>
+  Because your localized graphic assets and videos are so important, you should
+  get started on creating and localizing them well in advance of your target
+  publishing date.
+</p>
+
+<h3>
+  Related resources
+</h3>
+
+<div class="resource-widget resource-flow-layout col-13" data-query=
+"collection:distribute/toolsreference/launchchecklist/graphics" data-sortorder=
+"-timestamp" data-cardsizes="9x3,9x3,6x3,9x3,9x3,9x3" data-maxresults="6">
+</div>
+
+<div class="headerLine clearfloat">
+  <h1 id="build-upload">
+    13. Build and Upload the Release-ready APK
+  </h1>
+
+  <hr>
+</div>
+
+<p>
+  When you are satisfied that your apps meet your UI, compatibility, and
+  quality requirements, you can build the release-ready versions of the apps.
+  You upload the release-ready APKs to your Developer Console and distribute to
+  users.
+</p>
+
+<p>
+  The process for preparing a release-ready APK is the same for all apps,
+  regardless of how they are distributed. Generally the process includes basic
+  code cleanup and optimization, building and signing with your release key,
+  and final testing.
+</p>
+
+<p>
+  For complete details on how to create a release-ready version of your app,
+  read <a href="{@docRoot}tools/publishing/preparing.html">Preparing for
+  Release</a>.
+</p>
+
+<p>
+  Once you have the release-ready APKs in hand, you can upload them to the
+  Developer Console. If necessary, you can replace an APK with a more recent
+  version before publishing.
+</p>
+<!--<h3>Related resources</h3>
+
+<div class="resource-widget resource-flow-layout col-13"
+  data-query="collection:distribute/toolsreference/launchchecklist/build"
+  data-sortOrder="-timestamp"
+  data-cardSizes="9x3,9x3,6x3,9x3,9x3,9x3"
+  data-maxResults="6"></div>-->
+
+<div class="headerLine clearfloat">
+  <h1 id="plan-beta">
+    14. Plan a Beta Release
+  </h1>
+
+  <hr>
+</div>
+
+<div class="sidebox-wrapper" style="float:right;">
+  <div class="sidebox">
+    <h2>
+      Easy beta testing
+    </h2>
+
+    <p>
+      Google Play lets you set up groups of alpha and beta testers, anywhere
+      around the world. Check out this powerful feature next time you sign in
+      to the Developer Console.
+    </p>
+  </div>
+</div>
+
+<p>
+  Before launching your apps, it's always valuable to get real-world feedback
+  from users &mdash; even more so when you are launching new apps. It's highly
+  recommended that you distribute a pre-release version of your app to users
+  across your key markets and provide an easy means for them to provide
+  feedback and report bugs.
+</p>
+
+<p>
+  Google Play can help you set up a beta program for your app. After you sign
+  in to your Developer Console and have upload your APKs, you can set up groups
+  of users for alpha and beta testing the apps. You can start with a small
+  group of alpha testers, then move to a larger group of beta testers. Once
+  users are added, they access your app's store listing and install the app.
+  <strong>Users on alpha or beta versions cannot leave reviews or
+  ratings</strong>, so there is <strong>no risk to your rating</strong> on
+  Google Play. You need to arrange a mechanism for any testing feedback to be
+  delivered - such as a Google Forum or Google+.
+</p>
+
+<p>
+  The feedback you receive will help you adjust your UI, translations, and
+  store listing to ensure a great experience for users.
+</p>
+<!-- Related resources
+
+<table>
+  <tr>
+    <td>Beta-testing and Staged Rollouts
+See how you can facilitate testing with Google Play.</td>
+  </tr>
+</table> -->
+
+<div class="headerLine">
+  <h1 id="complete-details">
+    15. Complete the Apps’ Store Listing
+  </h1>
+
+  <hr>
+</div>
+
+<p>
+  On Google Play, your apps’ product information is shown to users on their
+  store listing pages, the pages that users visit to learn more about your apps
+  and the pages from which they will decide to purchase or download your apps,
+  on their Android devices or on the web.
+</p>
+
+<p>
+  Google Play gives you a variety of ways to promote your apps and engage with
+  users on your store listing pages, from colorful graphics, screenshots, and
+  videos to localized descriptions, release details, and links to your other
+  apps. As you prepare to publish your apps, make sure that you take advantage
+  of all that your product detail pages can offer, making your apps as
+  compelling as possible to users.
+</p>
+
+<p>
+  You should begin planning your product pages in advance of your target launch
+  date, arranging for localized description, high-quality graphic assets,
+  screenshots and video, and so on.
+</p>
+
+<p>
+  As you get near your target publishing date, you should become familiar with
+  all the fields, options, and assets associated with the store listing
+  configuration page in the Developer Console. As you collect the information
+  and assets for the page, make sure that you can enter or upload it to the
+  Developer Console, until the page is complete and ready for publishing.
+</p>
+
+<p>
+  After you've set your apps’ geographic targeting in the Developer Console,
+  remember to add your localized store listing, promotional graphics, and so
+  on, for all of the languages that you support.
+</p>
+
+<p>
+  If your app is targeting tablet devices, make sure to include at least one
+  screenshot of the app running on a tablet, and highlight your apps’ support
+  for tablets in the app description, release notes, promotional campaigns, and
+  elsewhere.
+</p>
+
+<h3>
+  Related resources
+</h3>
+
+<div class="resource-widget resource-flow-layout col-13" data-query=
+"collection:distribute/toolsreference/launchchecklist/productdetails"
+data-sortorder="-timestamp" data-cardsizes="9x3,9x3,6x3,9x3,9x3,9x3"
+data-maxresults="6">
+</div>
+
+<div class="headerLine clearfloat">
+  <h1 id="use-badges">
+    16. Use Google Play Badges and Links in your Promotional Campaigns
+  </h1>
+
+  <hr>
+</div>
+
+<p>
+  Google Play badges give you an officially branded way of promoting your apps
+  to Android users. Use the <a href=
+  "{@docRoot}distribute/tools/promote/badges.html">Google Play Badge
+  generator</a> to quickly create badges to link users to your products from
+  web pages, ads, reviews, and more. You can also use special <a href=
+  "{@docRoot}distribute/tools/promote/linking.html">link formats</a> to link
+  directly to your store listing page, to a list of your products, or to search
+  results.
+</p>
+
+<p>
+  To help your apps get traction after launch, it's strongly recommended that
+  you support launch with a promotional campaign that announces your product
+  through many channels as possible, in as many countries as possible. For
+  example, you can promote a launch using ad placements, social network or blog
+  posts, video and other media, interviews and reviews, or any other channels
+  available.
+</p>
+
+<h3>
+  Related resources
+</h3>
+
+<div class="resource-widget resource-flow-layout col-13" data-query=
+"collection:distribute/toolsreference/launchchecklist/badges" data-sortorder=
+"-timestamp" data-cardsizes="9x3,9x3,6x3,9x3,9x3,9x3" data-maxresults="6">
+</div>
+
+<div class="headerLine clearfloat">
+  <h1 id="final-checks">
+    17. Final Checks and Publishing
+  </h1>
+
+  <hr>
+</div>
+
+<p>
+  When you think you’re ready to publish, sign in to the Developer Console and
+  take a few moments for a few final checks.
+</p>
+
+<p>
+  Make sure that:
+</p>
+
+<ul>
+  <li>
+    <p>
+      Your developer profile has the correct information and is linked to the
+      proper Google Wallet merchant account (if you’re selling products).
+    </p>
+  </li>
+
+  <li>
+    <p>
+      You have the right version of the apps uploaded.
+    </p>
+  </li>
+
+  <li>
+    <p>
+      All parts of your store listing are ready, including all graphic assets,
+      screenshots, video, localized descriptions, and so on.
+    </p>
+  </li>
+
+  <li>
+    <p>
+      You have set your app's pricing to free or priced.
+    </p>
+  </li>
+
+  <li>
+    <p>
+      You have set country (and carrier) targeting and priced your products (if
+      appropriate) in buyer currencies
+    </p>
+  </li>
+
+  <li>
+    <p>
+      "Compatible devices" shows that your apps are reaching the devices that
+      you’re targeting. If not, you should check with your development team on
+      the apps’ requirements and filtering rules.
+    </p>
+  </li>
+
+  <li>
+    <p>
+      You’ve provided the correct link to your website and the correct support
+      email address.
+    </p>
+  </li>
+
+  <li>
+    <p>
+      Your apps don’t violate content policy guidelines.
+    </p>
+  </li>
+
+  <li>
+    <p>
+      You’ve acknowledged that your apps meets the guidelines for Android
+      content on Google Play and also US export laws.
+    </p>
+  </li>
+</ul>
+
+<p>
+  Your apps are now ready to publish!
+</p>
+
+<p>
+  If you’re releasing an update, make sure to read the <a href=
+  "http://support.google.com/googleplay/android-developer/bin/answer.py?hl=en&amp;answer=113476&amp;topic=2365760&amp;ctx=topic">
+  requirements for publishing updates</a>.
+</p>
+
+<p>
+  When you’re ready, click the <strong>Publish</strong> button in the Developer
+  Console. Within a few hours, your apps will become available to users and
+  your product page will appear in Google Play for browsing, searching, or
+  linking from your promotional campaigns.
+</p>
+
+<h3>
+  Related resources
+</h3>
+
+<div class="resource-widget resource-flow-layout col-13" data-query=
+"collection:distribute/toolsreference/launchchecklist/finalchecks"
+data-sortorder="-timestamp" data-cardsizes="6x3,6x3,6x3,9x3,9x3,9x3"
+data-maxresults="6">
+</div>
+
+<div class="headerLine clearfloat">
+  <h1 id="support-users">
+    18. Support Users after Launch
+  </h1>
+
+  <hr>
+</div>
+
+<p>
+  After you publish apps or app updates, it's crucial for you to support your
+  customers. Prompt and courteous support can provide a better experience for
+  users that results in better ratings and more positive reviews for your
+  products. Users are likely to be more engaged with your app and recommend it
+  if you’re responsive to their needs and feedback. This is especially true
+  after publishing if you’re using a coordinated promotional campaign.
+</p>
+
+<p>
+  There are a number of ways that you can keep in touch with users and offer
+  them support. The most fundamental is to provide your <em>support email
+  address</em> on your store listing pages. Beyond that, you can provide
+  support in any way you choose, such as a forum, mailing list, or a Google+
+  page. The Google Play team provides user support for downloading, installing.
+  and payments issues, but issues that fall outside of these topics will be in
+  your domain. Examples of issues you can support include: feature requests,
+  questions about using the apps, and questions about compatibility settings.
+</p>
+
+<p>
+  After publishing, plan to:
+</p>
+
+<ul>
+  <li>
+    <p>
+      Check your ratings and reviews frequently on your apps’ store listing
+      pages. Watch for recurring themes that could signal bugs or other issues.
+    </p>
+  </li>
+
+  <li>
+    <p>
+      Be mindful of new Android platform version launches, as compatibility
+      settings for your apps might need to be updated.
+    </p>
+  </li>
+
+  <li>
+    <p>
+      Put a link to your support resources on your website and set up any other
+      support such as forums.
+    </p>
+  </li>
+
+  <li>
+    <p>
+      Provide an appropriate support email address on your store listing pages
+      and respond to users when they take the time to email you.
+    </p>
+  </li>
+
+  <li>
+    <p>
+      Beyond the automatic refund window offered by Google Play, be generous
+      with your own refund policy, as satisfied users will be more likely to
+      purchase in the future.
+    </p>
+  </li>
+
+  <li>
+    <p>
+      Acknowledge and fix issues in your apps. It helps to be transparent and
+      list known issues on your store listing pages proactively.
+    </p>
+  </li>
+
+  <li>
+    <p>
+      Publish updates as frequently as you’re able, without sacrificing quality
+      or annoying users with too-frequent updates.
+    </p>
+  </li>
+
+  <li>
+    <p>
+      With each update, make sure to provide a summary of what's changed. You
+      can enter this information in the Developer Console. Users will read it
+      and appreciate that you are serious about improving the quality of your
+      apps.
+    </p>
+  </li>
+</ul>
+</ul>
+
+<h3>Related resources</h3>
+
+<div class="resource-widget resource-flow-layout col-13"
+  data-query="collection:distribute/toolsreference/launchchecklist/afterlaunch"
+  data-sortOrder="-timestamp"
+  data-cardSizes="9x3,9x3,9x3,9x3,9x3,9x3"
+  data-maxResults="6"></div>
diff --git a/docs/html/distribute/tools/localization-checklist.jd b/docs/html/distribute/tools/localization-checklist.jd
new file mode 100644
index 0000000..7a638ed
--- /dev/null
+++ b/docs/html/distribute/tools/localization-checklist.jd
@@ -0,0 +1,978 @@
+page.title=Localization Checklist
+page.metaDescription=Take advantage of the worldwide audience offered by Android and Google Play. Read this checklist to get an overview of how to deliver your product to markets around the world.
+meta.tags="localizing, publishing, disttools"
+page.tags="local, l10n, translation, language"
+page.image=/distribute/images/localization-checklist.jpg
+
+@jd:body
+
+<div id="qv-wrapper">
+  <div id="qv" style="width:280px">
+    <h2>Checklist</h2>
+    <ol>
+      <li><a href="#identify-languages">1. Identify target languages and locales</a></li>
+      <li><a href="#design">2. Design for localization</a></li>
+      <li><a href="#manage-strings">3. Manage strings for localization</a></li>
+      <li><a href="#translate-strings">4. Translate UI strings and other resources</a></li>
+      <li><a href="#test">5. Test your localized app</a></li>
+      <li><a href="#prepare-launch">6. Prepare for international launch</a></li>
+      <li><a href="#support-users">7. Support international users after launch</a></li>
+    </ol>
+  </div>
+</div>
+
+<div class="top-right-float" style="width:194px">
+  <img src="{@docRoot}distribute/images/localization-checklist.jpg">
+</div>
+
+<p>
+  Android and Google Play offer you a worldwide audience for your apps, with an
+  addressable user base that's growing very rapidly in countries such as Japan,
+  Korea, India, Brazil, and Russia. We strongly encourage you to localize as it
+  can maximize your apps’ distribution potential resulting in ratings from
+  users around the world.
+</p>
+
+<p>
+  Localization involves a variety of tasks throughout your app development
+  cycle, and advance planning is essential. This document helps you identify
+  key aspects of localization to get your app ready for a successful worldwide
+  launch on Google Play.
+</p>
+
+<div class="headerLine">
+  <h1 id="identify-languages">
+    1. Identify target languages and locales
+  </h1>
+
+  <hr>
+</div>
+
+<p>
+  A basic but important step in preparing for localization is identifying the
+  countries where you’ll distribute your apps and the languages spoken there.
+  Localizing your apps is particularly important in countries where there is a
+  large market opportunity and English or another international language is not
+  widely used.
+</p>
+
+<p>
+  For international users, you can manage your apps in three main dimensions:
+  country, locale, and language. Of those, language is the key consideration
+  for localization (locale can also significant because of differences in
+  formats for dates, times, currencies, and similar information). Users control
+  both the language and locale used on their Android devices and in turn those
+  affect how your app is displayed.
+</p>
+
+<p>
+  Typically, you would decide which countries to target first, based on overall
+  market size and opportunity, app category, competitive landscape, local
+  pricing and financial factors, and so on. Then, based on your country
+  targeting, you would determine the languages you need to support in your
+  apps.
+</p>
+
+<p>
+  You may then decide to localize into some or all languages of the targeted
+  country. It might make sense to start with a major regional language and add
+  more languages as user base grows.
+</p>
+
+<p>
+  Once you have identified your target languages, you can focus your
+  development, translation, testing, and marketing efforts to these markets.
+</p>
+
+<h3 id="related-resources">
+  Related Resources
+</h3>
+
+<div class="resource-widget resource-flow-layout col-13" data-query=
+"collection:distribute/toolsreference/localizationchecklist/identifylocales"
+data-sortorder="-timestamp" data-cardsizes="9x3," data-maxresults="6">
+</div>
+
+<div class="headerLine clearfloat">
+  <h1 id="design">
+    2. Design for localization
+  </h1>
+
+  <hr>
+</div>
+
+<p>
+  After you've determined your target languages for localization, assess what
+  you'll need to do to support them in your apps and plan the work early.
+  Consider the vocabulary expansion, script requirements, character spacing and
+  wrapping constraints, left-to-right and right-to-left support, and other
+  potential factors in each language.
+</p>
+
+<h4>
+  <strong>Design a single set of flexible layouts</strong>
+</h4>
+
+<p>
+  As you create your layouts, make sure that any UI elements that hold text are
+  designed generously. It’s good to allow more space than necessary for your
+  language (up to 30% more is normal) to accommodate other languages.
+</p>
+
+<p>
+  Also, elements should be able to expand horizontally or vertically to
+  accommodate variations in the width and height of UI strings or input text.
+  Your text strings shouldn’t overlap borders or the screen edge in any of your
+  target languages.
+</p>
+
+<p>
+  If you design your UI carefully, you can typically use a single set of
+  layouts for all of the languages you support. See <a href=
+  "{@docRoot}training/basics/fragments/fragment-ui.html">Building a Flexible
+  UI</a> for more information.
+</p>
+
+<h4>
+  <strong>Use alternative layouts where needed</strong>
+</h4>
+
+<p>
+  In cases where your UI can't accommodate text in one of your target
+  languages, you can create an <a href=
+  "{@docRoot}guide/topics/resources/providing-resources.html#AlternativeResources">
+  alternative layout</a> for that language only. Android makes it easy to
+  declare sets of layouts and other resources to load for specific languages,
+  locales, screen sizes, and so on, simply by tagging them with the appropriate
+  resource qualifiers. While the flexibility of alternative layouts exists it
+  can also make your apps harder to maintain over time. In general, using a
+  single, more flexible layout is preferred.
+</p>
+
+<h4>
+  <strong>Support RTL layouts and text</strong>
+</h4>
+
+<p>
+  If you’re distributing to countries where right-to-left (RTL) scripts are
+  used, you should consider implementing support for RTL layouts and text
+  display and editing, to the extent possible.
+</p>
+
+<p>
+  Android 4.1 introduced limited support for bidirectional text, allowing apps
+  to display and edit text in both left-to-right (LTR) and right-to-left (RTL)
+  scripts. Android 4.2 added <a href=
+  "http://android-developers.blogspot.fr/2013/03/native-rtl-support-in-android-42.html">
+  full native support for RTL layouts</a>, including layout mirroring, so that
+  you can deliver the same great app experiences to all of your users.
+</p>
+
+<p>
+  At a minimum, for Android 4.2 users, it's simple to add basic RTL layout
+  mirroring, which goes a long way toward meeting the needs of RTL users.
+</p>
+
+<h4>
+  <strong>Use system-provided formats for dates, times, numbers, and
+  currencies</strong>
+</h4>
+
+<p>
+  Where your apps specify dates, times, numbers, currencies, and other entities
+  that can vary by locale, make sure to use the system-provided formats, rather
+  than app-specific formats. Keep in mind that not every locale uses the same
+  thousands separator, decimal separator, or percent sign.
+</p>
+
+<p>
+  Android provides a variety of utilities for formatting and converting
+  patterns across locales, such as <a href=
+  "{@docRoot}reference/android/text/format/DateUtils.html">DateUtils</a> and
+  <a href="{@docRoot}reference/java/text/DateFormat.html">DateFormat</a> for
+  dates; <a href=
+  "{@docRoot}reference/java/lang/String.html#format(java.lang.String,%20java.lang.Object...)">
+  String.format()</a> or <a href=
+  "{@docRoot}reference/java/text/DecimalFormat.html">DecimalFormat</a> for
+  numbers and currency; <a href=
+  "{@docRoot}reference/android/telephony/PhoneNumberUtils.html">PhoneNumberUtils</a>
+  for phone numbers; and others.
+</p>
+
+<p>
+  Hardcoding your formats based on assumptions about the user's locale can
+  result in problems when the user changes to another locale. Using
+  system-provided formats and utilities is strongly encouraged.
+</p>
+
+<h4>
+  <strong>Include a full set of default resources</strong>
+</h4>
+
+<p>
+  Make sure that your apps can run properly regardless of language or locale by
+  providing a complete set of default resources. The app's default resources
+  are those that are <em>not marked</em> with any language or locale
+  qualifiers, for example those stored in res/drawable/ and res/values/. If
+  your apps attempt to load a resource that isn't available in the current
+  language or in the default set, they will crash.
+</p>
+
+<p>
+  Whatever the default language you’re using in your apps, make sure that you
+  store the associated layouts, drawables, and strings in default resource
+  directories, without language or locale qualifiers.
+</p>
+
+<h3>
+  Related resources
+</h3>
+
+<div class="resource-widget resource-flow-layout col-13" data-query=
+"collection:distribute/tools/loc/designforloc" data-sortorder="-timestamp"
+data-cardsizes="9x3" data-maxresults="6">
+</div>
+
+<div class="headerLine clearfloat">
+  <h1 id="manage-strings">
+    3. Manage strings for localization
+  </h1>
+
+  <hr>
+</div>
+
+<p>
+  It's important to manage your apps’ UI strings properly, so that you deliver
+  a great experience for users and make localization straightforward.
+</p>
+
+<h4>
+  <strong>Move all strings into strings.xml</strong>
+</h4>
+
+<p>
+  As you build your apps, remember not to hard code any string. Instead declare
+  <em>all</em> of your strings as resources in a default strings.xml file which
+  makes it easy to update and localize. Strings in strings.xml file can be
+  extracted, translated and integrated back into your app (with appropriate
+  qualifiers) without any changes to compiled code.
+</p>
+
+<p>
+  If you generate images with text, put those strings in strings.xml as well,
+  and regenerate the images after translation.
+</p>
+
+<h4>
+  <strong>Follow Android guidelines for UI strings</strong>
+</h4>
+
+<p>
+  As you design and develop your UIs, make sure that you pay close attention to
+  <em>how</em> you talk to your user. In general, use a <a href=
+  "{@docRoot}design/style/writing.html">succinct and compressed style</a> that
+  is friendly but brief, and use a consistent style throughout your UIs.
+</p>
+
+<p>
+  Make sure that you read and follow the Android Design recommendations for
+  <a href="{@docRoot}design/style/writing.html">writing style and word
+  choice</a>. Doing so will make your apps appear more polished to the user and
+  will help users understand your UI more quickly.
+</p>
+
+<p>
+  Also, always use Android standard terminology wherever possible&mdash;such as
+  for UI elements such as "Action Bar," "Options Menu," "System Bar,"
+  "Notifications," and so on. Using Android terms correctly and consistently
+  makes translation easier and results in a better end-product for users.
+</p>
+
+<h4>
+  <strong>Provide sufficient context for declared strings</strong>
+</h4>
+
+<p>
+  As you declare strings in your strings.xml file, make sure to describe the
+  context in which the string is used. This information will be invaluable to
+  translators and result in better quality translation and will also help you
+  manage your strings more effectively over time.
+</p>
+
+<p>
+  Here's an example:
+</p>
+
+<pre class="prettyprint">
+&lt;!-- The action for submitting a form. This text is on a button that can fit 30 chars --&gt;
+&lt;string name="login_submit_button"&gt;Sign in&lt;/string&gt;
+</pre>
+<p>
+  Consider providing context information that may include:
+</p>
+
+<ul>
+  <li>
+    <p>
+      What is this string for? When/where is it presented to the user?
+    </p>
+  </li>
+
+  <li>
+    <p>
+      Where is this in the layout? For example, if it’s a button, translations
+      are less flexible than if it were a text box.
+    </p>
+  </li>
+</ul>
+
+<h4>
+  <strong>Mark message parts that should not be translated</strong>
+</h4>
+
+<p>
+  Often strings contain contain text that shouldn’t be translated to other
+  languages. Common examples might be a piece of code, a placeholder for a
+  value, a special symbol, or a name. As you prepare you strings for
+  translation, look for and mark text that should remain as-is, without
+  translation, so that translators don’t change it.
+</p>
+
+<p>
+  To mark text that should not be translated, use an
+  <code>&lt;xliff:g&gt;</code> placeholder tag. Here's an example tag that
+  ensures the text "%1$s" will not be changed during translation (otherwise it
+  could break the message):
+</p>
+
+<pre class="prettyprint">
+&lt;string name="countdown"&gt;
+    &lt;xliff:g id="time" example="5 days&gt;%1$s&lt;/xliff:g&gt;until holiday
+&lt;/string&gt;
+</pre>
+<p>
+  When you declare a placeholder tag, always add an id attribute that explains
+  what the placeholder is for. If your apps will later replace the placeholder
+  value, be sure to provide an example attribute to clarify the expected use.
+</p>
+
+<p>
+  Here are some more examples of placeholder tags:
+</p>
+
+<pre>
+&lt;resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"&gt;
+
+&lt;!-- Example placeholder for a special unicode symbol --&gt;
+
+&lt;string name="star_rating"&gt;Check out our 5
+
+    &lt;xliff:g id="star"&gt;\u2605&lt;/xliff:g&gt;
+
+&lt;/string&gt;
+
+&lt;!-- Example placeholder for a for a URL --&gt;
+
+&lt;string name="app_homeurl"&gt;
+
+    Visit us at &lt;xliff:g id="application_homepage"&gt;http://my/app/home.html&lt;/xliff:g&gt;
+
+&lt;/string&gt;
+
+&lt;!-- Example placeholder for a name --&gt;
+
+&lt;string name="prod_name"&gt;
+
+    Learn more at &lt;xliff:g id="prod_gamegroup"&gt;Game Group&lt;/xliff:g&gt;
+
+&lt;/string&gt;
+
+&lt;!-- Example placeholder for a literal --&gt;
+
+&lt;string name="promo_message"&gt;
+
+    Please use the "&lt;xliff:g id="promotion_code"&gt;ABCDEFG&lt;/xliff:g&gt;” to get a discount.
+
+&lt;/string&gt;
+
+...
+
+&lt;/resources&gt;
+</pre>
+<h3 class="clearfloat">
+  Related resources
+</h3>
+
+<div class="resource-widget resource-flow-layout col-13" data-query=
+"collection:distribute/toolsreference/localizationchecklist/managestrings"
+data-sortorder="-timestamp" data-cardsizes="9x3" data-maxresults="6">
+</div>
+
+<div class="headerLine clearfloat">
+  <h1 id="translate-strings">
+    4. Translate UI strings and other resources
+  </h1>
+
+  <hr>
+</div>
+
+<p>
+  Translating your apps’ UI strings and resources to your target languages is
+  the key phase of localization, and it's the one that requires the most care
+  and planning.
+</p>
+
+<p>
+  It is recommended to work with a professional translator (see <a href=
+  "#gp-trans">Purchase professional translations</a>) to ensure high quality
+  translations that enhance the value of your app. Machine translations,
+  although an option may not produce as good an experience for your users.
+</p>
+
+<h4>
+  <strong>Prepare for translation</strong>
+</h4>
+
+<p>
+  Translation output quality will depend in part on your input therefore make
+  sure that your strings.xml file is well organized, well commented, and
+  accurate.
+</p>
+
+<p>
+  Here are some ways to prepare your strings for translation:
+</p>
+
+<ul>
+  <li>
+    <p>
+      Make sure your strings are formatted correctly and consistently.
+    </p>
+  </li>
+
+  <li>
+    <p>
+      Follow the strings recommendations listed in <a href=
+      "#manage-strings">Manage strings for localization</a>, above.
+    </p>
+  </li>
+
+  <li>
+    <p>
+      Clean up the strings.xml file and remove unused strings.
+    </p>
+  </li>
+
+  <li>
+    <p>
+      Place comments in the file to identify the owner, origin, and the version
+      of the file, as well as any special instructions for translators.
+    </p>
+  </li>
+
+  <li>
+    <p>
+      Identify existing translations, if any, and include those in an outgoing
+      zip file or other package that you send to translators.
+    </p>
+  </li>
+
+  <li>
+    <p>
+      Identify drawables or other resources that require translation and
+      include them in the translators’ package.
+    </p>
+  </li>
+
+  <li>
+    <p>
+      Additionally, consider translating your apps’ store listing details
+      &mdash; app title and description, release notes, and so on &mdash; as
+      well as other international marketing materials.
+    </p>
+  </li>
+
+  <li>
+    <p>
+      Create a terminology list that explains the meaning and use of key terms
+      found in your product, your market, or the underlying technology. Add the
+      list to the translators’ package.
+    </p>
+  </li>
+</ul>
+
+<h4>
+  <strong>Send your strings for translation</strong>
+</h4>
+
+<p>
+  Early in the development cycle, contact professional translation vendors to
+  get an idea of cost and turnaround time. Make sure to include multiple
+  iterations in the cost. You can find translation vendors online or use
+  translation services available directly from Google Play Developer console
+  (see <a href="#gp-trans">Purchase professional translations</a>).
+</p>
+
+<p>
+  When your translations are complete, take a preliminary look at the
+  translations. Check that all files were translated, check for potential
+  encoding issues, and make sure that declaration formats are intact.
+</p>
+
+<p>
+  If everything looks good, carefully move the localized directories and files
+  back into your apps’ resources. Make sure to tag the directories with the
+  appropriate language and locale qualifiers so that they'll later be loaded
+  properly.
+</p>
+
+<p>
+  After the translations are merged back into your app, start <a href=
+  "#test">testing the localized app</a>.
+</p>
+
+<h4 id="gp-trans">
+  <strong>Purchase professional translations through Google Play</strong>
+</h4>
+
+<div class="sidebox-wrapper">
+  <div class="sidebox">
+    <h2>
+      App Translations Service
+    </h2>
+
+    <p>
+      To make it easy to export your app's strings and import the finished
+      translations into your project, try the <a href=
+      "{@docRoot}sdk/installing/installing-adt.html#tmgr">ADT Translation
+      Manager Plugin</a>.
+    </p>
+  </div>
+</div>
+
+<p>
+  Google Play App Translation Service can help you quickly find and purchase
+  translations of your app. In the Developer Console, you can browse a list of
+  third-party vendors who are pre-qualified by Google to offer high-quality
+  translation at competitive prices. You can upload the strings you want
+  translated, select the languages you want to translate into, and select your
+  translation vendor based on time and price.
+</p>
+
+<p>
+  Once you've purchased translations, you'll receive an email from your vendor.
+  Your translations are a direct business agreement between you and your
+  vendor; you'll need to work directly with the vendor to manage the
+  translation process and deliverables and resolve any support issues.
+</p>
+
+<div>
+  <img src="{@docRoot}images/gp-localization-trans-0.png" class="border-img">
+</div>
+
+<h3>
+  Related resources
+</h3>
+
+<div class="resource-widget resource-flow-layout col-13" data-query=
+"collection:distribute/toolsreference/localizationchecklist/translatestrings"
+data-sortorder="-timestamp" data-cardsizes="9x3" data-maxresults="6">
+</div>
+
+<div class="headerLine clearfloat">
+  <h1 id="test">
+    5. Test your localized app
+  </h1>
+
+  <hr>
+</div>
+
+<p>
+  Once you've received your translated strings and resources and moved them
+  back into your apps, you need to test the apps to make sure that they’re
+  ready for distribution to your international users.
+</p>
+
+<p>
+  Manual testing can help you discover localization issues in your layouts and
+  strings that can affect user satisfaction and, ultimately, your apps' user
+  rating.
+</p>
+
+<h4>
+  <strong>Set up a test environment</strong>
+</h4>
+
+<p>
+  To test your localized app, you'll need to set up an environment consisting
+  of multiple devices (or virtual devices) and screen sizes, based on the
+  markets and form factors you’re targeting. Note that the range of devices in
+  specific regions might be different. If possible, match your test devices to
+  the actual devices likely to be available to users.
+</p>
+
+<h4>
+  <strong>Look for common localization issues</strong>
+</h4>
+
+<p>
+  On each test device, set the language or locale in Settings. Install and
+  launch the app and then navigate through all of the UI flows, dialogs, and
+  user interactions. Enter text in inputs. Some things to look for include:
+</p>
+
+<ul>
+  <li>
+    <p>
+      Clipped text, or text that overlaps the edge of UI elements or the screen
+    </p>
+  </li>
+
+  <li>
+    <p>
+      Poor line wrapping
+    </p>
+  </li>
+
+  <li>
+    <p>
+      Incorrect word breaks or punctuation
+    </p>
+  </li>
+
+  <li>
+    <p>
+      Incorrect alphabetical sorting
+    </p>
+  </li>
+
+  <li>
+    <p>
+      Incorrect layout direction or text direction
+    </p>
+  </li>
+
+  <li>
+    <p>
+      Untranslated text &mdash; if your default strings are displayed instead
+      of translated strings, then you may have overlooked those strings for
+      translation or marked the resources directory with an incorrect language
+      qualifier.
+    </p>
+  </li>
+</ul>
+
+<p>
+  For cases where your strings have expanded in translation and no longer fit
+  your layouts, it's suggested you try to simplify your default text, simplify
+  your translated text, or adjust your default layouts. If none of those
+  resolves the issue, you can create a custom layout for the language.
+</p>
+
+<h4>
+  <strong>Test for default resources</strong>
+</h4>
+
+<p>
+  After you've tested your apps in all of your supported languages and locales,
+  make sure to test it again in an <em>unsupported language</em> and locale.
+  This’ll help you make sure that your apps includes a full set of default
+  strings and resources, so that your apps are usable to all users, regardless
+  of their preferred language.
+</p>
+
+<h4>
+  <strong>Review with native-language speakers</strong>
+</h4>
+
+<p>
+  During or after testing, it's recommended that you let native speakers review
+  your localized apps. One way to do that is through beta testing with regional
+  users &mdash; Google Play can help you do this. <!-- </p>
+
+<h3 class="clearfloat">Related resources</h3>
+
+<div class="resource-widget resource-flow-layout col-13"
+  data-query="collection:distribute/toolsreference/localizationchecklist/test"
+  data-sortOrder="-timestamp"
+  data-cardSizes="9x3,9x3,6x3,9x3,9x3,9x3"
+  data-maxResults="6"></div> -->
+</p>
+
+<div class="headerLine clearfloat">
+  <h1 id="prepare-launch">
+    6. Prepare for international launch
+  </h1>
+
+  <hr>
+</div>
+
+<p>
+  Getting your apps translated is a key part of localization, but to help your
+  product attract users and gain visibility, you should prepare for launch in
+  your target countries and create a broader launch and marketing plan for
+  international users.
+</p>
+
+<h4>
+  <strong>Localize your Google Play listing</strong>
+</h4>
+
+<div class="sidebox-wrapper" style="float:right;">
+  <div class="sidebox">
+    <h2>
+      Localize your Google Play listing
+    </h2>
+
+    <p>
+      Google Play Store listing is the first impression international users
+      will have of your app. You should highlight what's great about your apps
+      to all of your users! Localize your listing in the Developer Console,
+      including:
+    </p>
+
+    <ul>
+      <li>App title and description
+      </li>
+
+      <li>App screenshots on phones and tablets
+      </li>
+
+      <li>Promotional graphics and videos.
+      </li>
+    </ul>
+  </div>
+</div>
+
+<p>
+  If you want your apps to be successful in international markets, it's
+  essential to localize your Google Play store listing. You can manage your
+  localized listing in the Developer Console.
+</p>
+
+<p>
+  Well before launch, decide on your app title, description, promotional text,
+  marketing names and programs, and other text and images. Send your listing
+  text and images for translation early, so that you’ve them ready when beta
+  testing begins. When your translated text is available, you can add it
+  through the Developer Console.
+</p>
+
+<div class="sidebox-wrapper" style="float:right;">
+  <div class="sidebox">
+    <h2>
+      Store listing translation in Google Play
+    </h2>
+
+    <p>
+      You can use the App Translation service on Google Play to translate your
+      store listing. Prepare an XML file with your store listing information
+      and upload just as you would upload the strings.xml file (see <a href=
+      "#gp-trans">Purchase professional translations</a>)
+    </p>
+  </div>
+</div>
+
+<p>
+  Also, since you've made the effort to create a great localized app, let users
+  know about it! Take screenshots of your UI in each language, for phones and
+  7- and 10- inch tablets. You can upload screenshots to the Developer Console
+  for each language you support. These will be of great value to users browsing
+  your app listings in other languages.
+</p>
+
+<p>
+  It's also essential to create localized versions of your promotional graphics
+  and videos. For example, your apps’ feature graphics might include text that
+  should be translated, for maximum effectiveness, or you might want to take a
+  different visual approach in one country than you do in another. You can
+  create different versions of your promotional graphics for each language and
+  upload them to the Developer Console. If you offer a promotional video, you
+  can create localized versions of it and then add a link to the correct
+  localized video for each language you support.
+</p>
+
+<h4>
+  <strong>Plan a beta release in key countries</strong>
+</h4>
+
+<div class="sidebox-wrapper" style="float:right;">
+  <div class="sidebox">
+    <h2>
+      Easy beta testing
+    </h2>
+
+    <p>
+      Google Play now lets you set up groups of alpha and beta testers,
+      anywhere around the world. Check out this powerful feature next time you
+      sign in to the Developer Console.
+    </p>
+  </div>
+</div>
+
+<p>
+  Before launching your apps, it's always valuable to get real-world feedback
+  from users &mdash; even more so when you are launching an app in a new
+  language, country, or region. In those cases, it's highly recommended that
+  you distribute a pre-release version of your apps to users across your key
+  markets and provide an easy means for them to provide feedback and report
+  bugs.
+</p>
+
+<p>
+  Google Play can help you set up a beta program for your apps. After you sign
+  in to the Developer Console and upload your APK, you can set up groups of
+  users for alpha testing and beta testing the app. You can start with a small
+  group of alpha testers, then move to a larger group of beta testers.
+</p>
+
+<p>
+  Once users are added, they access your app's store listing and install the
+  app. <strong>Users on alpha or beta versions cannot leave reviews or
+  ratings</strong>, so there is <strong>no risk to your rating</strong> on
+  Google Play, however it does mean you need to setup a mechanism for your
+  testers to provide you with feedback: consider creating a <a href=
+  "http://www.google.com/+/business/">Google+</a> page or <a href=
+  "https://groups.google.com/forum/#!overview">Google Groups</a>.
+</p>
+
+<p>
+  The feedback you receive will help you adjust your UI, translations, and
+  store listing to ensure a great experience for users.
+</p>
+
+<h4>
+  <strong>Plan for international marketing</strong>
+</h4>
+
+<p>
+  For highest visibility across countries, consider an international marketing
+  or advertising campaign. The scope of the campaign will vary based on the
+  budget you can support, but in general it's cost-effective and productive to
+  do regional or country-specific marketing at launch and after.
+</p>
+
+<h4>
+  <strong>Create localized Google Play badges</strong>
+</h4>
+
+<p>
+  If you’re preparing international marketing, make sure to include a <a href=
+  "{@docRoot}distribute/tools/promote/badges.html">localized Google Play
+  badge</a> to tell users you're on Google Play. You can use the badge
+  generator to quickly build localized badges that you can use on websites or
+  marketing materials. High-resolution assets are also available.
+</p>
+
+<h4>
+  <strong>Create Localized Device Art</strong>
+</h4>
+
+<p>
+  If you feature product shots of your apps running on Android devices, make
+  sure that those shots look great and reflect the latest in Android devices.
+  To help you create high-quality marketing materials, use the drag-and-drop
+  <a href="{@docRoot}distribute/tools/promote/device-art.html">Device Art
+  Generator</a> to quickly frame your screenshot on a Nexus device.
+</p>
+
+<h4>
+  <strong>Check your Optimization Tips</strong>
+</h4>
+
+<p>
+  As you prepare for launch, make sure to sign into the Developer Console and
+  check your apps’ Optimization Tips. The Optimization Tips let you know when
+  you’re missing parts of your localized store listing and provide other
+  helpful reminders for a successful localized launch.
+</p>
+
+<h3>
+  Related resources
+</h3>
+
+<div class="resource-widget resource-flow-layout col-13" data-query=
+"collection:distribute/toolsreference/localizationchecklist/preplaunch"
+data-sortorder="-timestamp" data-cardsizes="9x3,9x3,6x3,9x3,9x3,9x3"
+data-maxresults="6">
+</div>
+
+<div class="headerLine clearfloat">
+  <h1 id="support-users">
+    7. Support international users after launch
+  </h1>
+
+  <hr>
+</div>
+
+<p>
+  After you launch your apps internationally, you should be prepared to support
+  users in a variety of languages and time zones. The extent of your
+  international user support depends on your budget, but at a minimum you
+  should watch your ratings, reviews, and download stats carefully after
+  launch.
+</p>
+
+<p>
+  Here are some suggestions:
+</p>
+
+<ul>
+  <li>
+    <p>
+      Use the app stats in the Developer Console to compare your downloads,
+      installs, and uninstalls, and ratings across languages and
+      countries&mdash;If your downloads or ratings aren’t keeping up in
+      specific languages or countries, consider options for improving your
+      product or changing your marketing approach.
+    </p>
+  </li>
+
+  <li>
+    <p>
+      Check reviews regularly&mdash;Google Play translates all user reviews for
+      you, so you can stay in touch with how international users feel about
+      your apps, what features they like and what issues are affecting them. By
+      watching reviews, you can spot technical issues that may affect users in
+      a particular country, then fix and update your apps.
+    </p>
+  </li>
+
+  <li>
+    <p>
+      Respond to reviews if possible&mdash;It's good to engage with
+      international users in their language or a common language if possible.
+      If not, you can try using translation tools, although results may not be
+      predictable. If your apps gets very popular in a language, consider
+      getting support help from native-language speakers.
+    </p>
+  </li>
+
+  <li>
+    <p>
+      Make sure there's a link to any support resources on your website.
+      Consider setting up language-specific user groups, Google+ communities,
+      or other support forums.
+    </p>
+  </li>
+</ul>
+
+<p>
+  By following these practices for localizing your apps, promoting and
+  marketing to international users, and providing ongoing support, you can
+  attract many new users to your apps and maintain their loyalty.
+</p>
+
+<p>
+  Make sure to read the <a href=
+  "{@docRoot}distribute/tools/launch-checklist.html">Launch Checklist</a> to
+  learn more about how to plan, build, and launch your app on Google Play.
+</p>
+<h3 class="clearfloat">Related resources</h3>
+
+<div class="resource-widget resource-flow-layout col-13"
+  data-query="collection:distribute/toolsreference/localizationchecklist/supportlaunch"
+  data-sortOrder="-timestamp"
+  data-cardSizes="9x3,9x3,6x3,9x3,9x3,9x3"
+  data-maxResults="6"></div>
+
diff --git a/docs/html/distribute/tools/open-distribution.jd b/docs/html/distribute/tools/open-distribution.jd
new file mode 100644
index 0000000..f804af2
--- /dev/null
+++ b/docs/html/distribute/tools/open-distribution.jd
@@ -0,0 +1,150 @@
+page.title=Alternative Distribution Options
+page.metaDescription=With Android you can distribute apps to users in any way you want, using any store or distribution approach.
+page.image=/distribute/images/alt-distribution.jpg
+
+@jd:body
+
+<p>
+  As an open platform, Android offers choice. You can distribute your Android
+  apps to users in any way you want, using any distribution approach or
+  combination of approaches that meets your needs. From publishing in an app
+  marketplace to serving your apps from a web site or emailing them directly
+  users, you’re never locked into any particular distribution platform.
+</p>
+
+<p>
+  The process for building and packaging your apps for distribution is the
+  same, regardless of how you distribute them. This saves you time and lets you
+  automate parts of the process as needed. You can read <a href=
+  "{@docRoot}tools/publishing/preparing.html">Preparing for Release</a> for
+  more information.
+</p>
+
+<p>
+  The sections below highlight some of the alternatives for distributing your
+  apps.
+</p>
+
+<div class="headerLine">
+  <h1>
+  Distributing Through an App Marketplace
+  </h1>
+
+  <hr>
+</div>
+
+<p>
+  Usually, to reach the broadest possible audience, you’d distribute your apps
+  through a marketplace, such as Google Play.
+</p>
+
+<p>
+  Google Play is the premier marketplace for Android apps and is particularly
+  useful if you want to distribute your apps to a large global audience.
+  However, you can distribute your apps through any app marketplace you want or
+  use multiple marketplaces.
+</p>
+
+<p>
+  Unlike other forms of distribution, Google Play allows you to use the In-app
+  Billing service and Licensing service. The <a href=
+  "{@docRoot}google/play/billing/index.html">In-app Billing service</a> makes
+  it easy to sell in-app products like game jewels or app feature upgrades. The
+  <a href="{@docRoot}google/play/licensing/index.html">Licensing service</a>
+  helps prevent unauthorized installation and use of your apps.
+</p>
+
+<div class="headerLine">
+  <h1>
+  Distributing Your Apps by Email
+  </h1>
+
+  <hr>
+</div>
+
+<div class="figure" style="width:300px;">
+  <img src="{@docRoot}images/publishing/publishing_via_email.png">
+  <p class="img-caption">
+  <b>Figure 1.</b> Users can simply click <b>Install</b> when you send them
+  an application via email.
+  </p>
+</div>
+
+<p>
+  An easy and quick way to release your apps is to send them to users by email.
+  To do this, you prepare the app for release, attach it to an email, and send
+  it to a user. When the user open your email on their Android-powered device,
+  the Android system recognizes the APK and displays an <strong>Install
+  Now</strong> button in the email message (see Figure 1). Users can install
+  your app by touching the button.
+</p>
+
+<p>
+  <strong>Note:</strong> The <strong>Install Now</strong> button, shown in
+  Figure 1, appears only if the user has configured their device to allow
+  installation from <a href=
+  "{@docRoot}distribute/open.html#unknown-sources">unknown sources</a> and
+  opened your email in the native Gmail app.
+</p>
+
+<p>
+  Distributing apps through email is convenient if you’re sending them to a few
+  trusted users, as it provides few protections from piracy and unauthorized
+  distribution; that is, anyone you send your apps to can simply forward them
+  to others.
+</p>
+
+<div class="headerLine">
+  <h1>
+  Distributing Through a Website
+  </h1>
+
+  <hr>
+</div>
+
+<p>
+  If you don’t want to release your apps on a marketplace such as Google Play,
+  you can make them available for download on your own website or server,
+  including on a private or enterprise server. To do this, you first prepare
+  your apps for release in the normal way. Then all you need to do is host the
+  release-ready APK file on your website and provide a download link to users.
+</p>
+
+<p>
+  When users browse to the download link from their Android-powered devices,
+  the file is downloaded and Android system automatically starts installing it
+  on the device. However, the installation process will start automatically
+  only if users have configured their Settings to allow the installation of
+  apps from <a href="{@docRoot}distribute/open.html#unknown-sources">unknown
+  sources</a>.
+</p>
+
+<div class="headerLine clearfloat">
+  <h1>
+  User Opt-In for Apps from Unknown Sources
+  </h1>
+
+  <hr>
+</div>
+
+<div class="figure" style="width:325px;">
+  <img src="{@docRoot}images/publishing/publishing_unknown_sources_sm.png">
+  <p class="img-caption">
+  <b>Figure 2.</b> Users must enable the <b>Unknown sources</b> setting
+  before they can install apps not downloaded from Google Play.
+  </p>
+</div>
+
+<p>
+  Android protects users from inadvertent download and install of apps from
+  locations other than Google Play (which is trusted). It blocks such installs
+  until the user opts-in <strong>Unknown sources</strong> in Settings
+  <strong>&gt;</strong> Security, shown in Figure 2. Users need to make this
+  configuration change <em>before</em> they download your apps to their
+  devices.
+</p>
+
+<p>
+  Note that some network providers don’t allow users to install applications
+  from unknown sources.
+</p>
diff --git a/docs/html/distribute/googleplay/promote/badge-files.jd b/docs/html/distribute/tools/promote/badge-files.jd
similarity index 96%
rename from docs/html/distribute/googleplay/promote/badge-files.jd
rename to docs/html/distribute/tools/promote/badge-files.jd
index 03ebd01..cce3632 100644
--- a/docs/html/distribute/googleplay/promote/badge-files.jd
+++ b/docs/html/distribute/tools/promote/badge-files.jd
@@ -1,9 +1,10 @@
 page.title=Google Play Badge Files
+page.image=/images/gp-badges-set.png
+page.metaDescription=Download hi-res assets for localized Google Play badges.
+page.tags="badge, google play"
+
 @jd:body
 
-
-
-
 <style>
 table tr td {border:0}
 </style>
@@ -278,13 +279,13 @@
   </ul>
   
 <p>For more information, see the
-<a href="{@docRoot}distribute/googleplay/promote/brand.html#brand-google_play">Brand
+<a href="{@docRoot}distribute/tools/promote/brand.html#brand-google_play">Brand
 Guidelines</a>.
 
 
 <p>To quickly create a badge that links to your apps on Google Play,
 use the <a
-href="{@docRoot}distribute/googleplay/promote/badges.html">Googe Play badge generator</a>.</p>
+href="{@docRoot}distribute/tools/promote/badges.html">Googe Play badge generator</a>.</p>
     
     
     
\ No newline at end of file
diff --git a/docs/html/distribute/googleplay/promote/badges.jd b/docs/html/distribute/tools/promote/badges.jd
similarity index 94%
rename from docs/html/distribute/googleplay/promote/badges.jd
rename to docs/html/distribute/tools/promote/badges.jd
index 9a32921..e91a804 100644
--- a/docs/html/distribute/googleplay/promote/badges.jd
+++ b/docs/html/distribute/tools/promote/badges.jd
@@ -1,19 +1,25 @@
-page.title=Google Play Badges
+page.title=Google Play Badge Generator
+page.image=/images/gp-badges-set.png
+page.metaDescription=Build badges for your app in just a few clicks, or download hi-res badge assets localized for a variety of languages.
+meta.tags="disttools, promoting, deviceart, marketing, googleplay"
+page.tags="badge, google play"
+
 @jd:body
 
-<p itemprop="description">Google Play badges allow you to promote your app with official branding
-in your online ads, promotional materials, or anywhere else you want a link to your app.</p>
+<p itemprop="description">Google Play badges enable you to promote your apps with
+official branding in your online ads, promotional materials, or anywhere you want
+a link to your apps</p>
 
 <p>In the form below,
 input your app's package name or publisher name, choose the badge style,
 click <em>Build my badge</em>, then paste the HTML into your web content.</p>
 
 <p>If you're creating a promotional web page for your app, you should also use the
-<a href="{@docRoot}distribute/promote/device-art.html">Device Art Generator</a>, which quickly
+<a href="{@docRoot}distribute/tools/promote/device-art.html">Device Art Generator</a>, which quickly
 wraps your screenshots in real device artwork.</p>
 
 <p>For guidelines when using the Google Play badge and other brand assets,
-see the <a href="{@docRoot}distribute/googleplay/promote/brand.html#brand-google_play">Brand
+see the <a href="{@docRoot}distribute/tools/promote/brand.html#brand-google_play">Brand
 Guidelines</a>.</p>
 
 <style type="text/css">
@@ -60,7 +66,7 @@
 var APP_LANGS = ['it','pt-br','pt-pt','nl','ko','ja','fr','es','es-419','en','de'];
 
 // variables for creating 'try it out' demo button
-var imagePath = "https://developer.android.com/images/brand/"
+var imagePath = "{@docRoot}images/brand/"
 var linkStart = "<a href=\"https://play.google.com/store/";
 var imageStart = "\">\n"
         + "  <img alt=\"";
@@ -353,3 +359,4 @@
 <p>Try it out:</p>
 <div id="button-preview" style="margin-top:1em"></div>
 </div>
+
diff --git a/docs/html/distribute/googleplay/promote/brand.jd b/docs/html/distribute/tools/promote/brand.jd
similarity index 92%
rename from docs/html/distribute/googleplay/promote/brand.jd
rename to docs/html/distribute/tools/promote/brand.jd
index 0bda561..2116c0f1 100644
--- a/docs/html/distribute/googleplay/promote/brand.jd
+++ b/docs/html/distribute/tools/promote/brand.jd
@@ -1,11 +1,13 @@
 page.title=Brand Guidelines
+page.image=/assets/images/resource-card-default-android.jpg
+page.metaDescription=Guidelines and downloads for the Android and Google Play brands.
+page.tags="brand, bugdroid, assets"
+
 @jd:body
 
-
-
 <p>We encourage you to use the Android and Google Play brands with your Android app
 promotional materials. You can use the icons and other assets on this page
-provided that you follow the guidelines described below.</p>
+provided that you follow the guidelines.</p>
 
 <h2 id="brand-android">Android</h2>
 
@@ -139,11 +141,11 @@
   </div>
          
   <p>The "Get it on Google Play" and "Android App on Google Play" logos are badges that you
-    can use on your web site and promotional materials, to point to your products on Google
+    can use on your website and promotional materials, to point to your products on Google
     Play.</p>
 
   <ul>
-    <li>Do not modify the color, proportions, spacing or any other aspect of the badge image.
+    <li>Don't modify the color, proportions, spacing, or any other aspect of the badge image.
     </li>
     <li>When used alongside logos for other application marketplaces, the Google Play logo
     should be of equal or greater size.</li>
@@ -161,15 +163,15 @@
   
   <p>To quickly create a badge that links to your apps on Google Play,
   use the <a
-  href="{@docRoot}distribute/googleplay/promote/badges.html">Googe Play badge generator</a>
+  href="{@docRoot}distribute/tools/promote/badges.html">Googe Play badge generator</a>
   (provides the badge in over 40 languages).</p>
   
   <p>To create your own size, download an Adobe&reg; Illustrator&reg; (.ai) file for the
-  <a href="{@docRoot}distribute/googleplay/promote/badge-files.html">Google Play
+  <a href="{@docRoot}distribute/tools/promote/badge-files.html">Google Play
   badge in over 40 languages</a>.</p>
     
   <p>For details on all the ways that you can link to your product details page in Google Play, 
-    see <a href="{@docRoot}distribute/googleplay/promote/linking.html">Linking to your products</a></p>
+    see <a href="{@docRoot}distribute/tools/promote/linking.html">Linking to your products</a></p>
 
 
 
diff --git a/docs/html/distribute/promote/device-art-resources/galaxy_nexus/land_back.png b/docs/html/distribute/tools/promote/device-art-resources/galaxy_nexus/land_back.png
similarity index 100%
rename from docs/html/distribute/promote/device-art-resources/galaxy_nexus/land_back.png
rename to docs/html/distribute/tools/promote/device-art-resources/galaxy_nexus/land_back.png
Binary files differ
diff --git a/docs/html/distribute/promote/device-art-resources/galaxy_nexus/land_fore.png b/docs/html/distribute/tools/promote/device-art-resources/galaxy_nexus/land_fore.png
similarity index 100%
rename from docs/html/distribute/promote/device-art-resources/galaxy_nexus/land_fore.png
rename to docs/html/distribute/tools/promote/device-art-resources/galaxy_nexus/land_fore.png
Binary files differ
diff --git a/docs/html/distribute/promote/device-art-resources/galaxy_nexus/land_shadow.png b/docs/html/distribute/tools/promote/device-art-resources/galaxy_nexus/land_shadow.png
similarity index 100%
rename from docs/html/distribute/promote/device-art-resources/galaxy_nexus/land_shadow.png
rename to docs/html/distribute/tools/promote/device-art-resources/galaxy_nexus/land_shadow.png
Binary files differ
diff --git a/docs/html/distribute/promote/device-art-resources/galaxy_nexus/port_back.png b/docs/html/distribute/tools/promote/device-art-resources/galaxy_nexus/port_back.png
similarity index 100%
rename from docs/html/distribute/promote/device-art-resources/galaxy_nexus/port_back.png
rename to docs/html/distribute/tools/promote/device-art-resources/galaxy_nexus/port_back.png
Binary files differ
diff --git a/docs/html/distribute/promote/device-art-resources/galaxy_nexus/port_fore.png b/docs/html/distribute/tools/promote/device-art-resources/galaxy_nexus/port_fore.png
similarity index 100%
rename from docs/html/distribute/promote/device-art-resources/galaxy_nexus/port_fore.png
rename to docs/html/distribute/tools/promote/device-art-resources/galaxy_nexus/port_fore.png
Binary files differ
diff --git a/docs/html/distribute/promote/device-art-resources/galaxy_nexus/port_shadow.png b/docs/html/distribute/tools/promote/device-art-resources/galaxy_nexus/port_shadow.png
similarity index 100%
rename from docs/html/distribute/promote/device-art-resources/galaxy_nexus/port_shadow.png
rename to docs/html/distribute/tools/promote/device-art-resources/galaxy_nexus/port_shadow.png
Binary files differ
diff --git a/docs/html/distribute/promote/device-art-resources/galaxy_nexus/thumb.png b/docs/html/distribute/tools/promote/device-art-resources/galaxy_nexus/thumb.png
similarity index 100%
rename from docs/html/distribute/promote/device-art-resources/galaxy_nexus/thumb.png
rename to docs/html/distribute/tools/promote/device-art-resources/galaxy_nexus/thumb.png
Binary files differ
diff --git a/docs/html/distribute/promote/device-art-resources/nexus_10/land_back.png b/docs/html/distribute/tools/promote/device-art-resources/nexus_10/land_back.png
similarity index 100%
rename from docs/html/distribute/promote/device-art-resources/nexus_10/land_back.png
rename to docs/html/distribute/tools/promote/device-art-resources/nexus_10/land_back.png
Binary files differ
diff --git a/docs/html/distribute/promote/device-art-resources/nexus_10/land_fore.png b/docs/html/distribute/tools/promote/device-art-resources/nexus_10/land_fore.png
similarity index 100%
rename from docs/html/distribute/promote/device-art-resources/nexus_10/land_fore.png
rename to docs/html/distribute/tools/promote/device-art-resources/nexus_10/land_fore.png
Binary files differ
diff --git a/docs/html/distribute/promote/device-art-resources/nexus_10/land_shadow.png b/docs/html/distribute/tools/promote/device-art-resources/nexus_10/land_shadow.png
similarity index 100%
rename from docs/html/distribute/promote/device-art-resources/nexus_10/land_shadow.png
rename to docs/html/distribute/tools/promote/device-art-resources/nexus_10/land_shadow.png
Binary files differ
diff --git a/docs/html/distribute/promote/device-art-resources/nexus_10/port_back.png b/docs/html/distribute/tools/promote/device-art-resources/nexus_10/port_back.png
similarity index 100%
rename from docs/html/distribute/promote/device-art-resources/nexus_10/port_back.png
rename to docs/html/distribute/tools/promote/device-art-resources/nexus_10/port_back.png
Binary files differ
diff --git a/docs/html/distribute/promote/device-art-resources/nexus_10/port_fore.png b/docs/html/distribute/tools/promote/device-art-resources/nexus_10/port_fore.png
similarity index 100%
rename from docs/html/distribute/promote/device-art-resources/nexus_10/port_fore.png
rename to docs/html/distribute/tools/promote/device-art-resources/nexus_10/port_fore.png
Binary files differ
diff --git a/docs/html/distribute/promote/device-art-resources/nexus_10/port_shadow.png b/docs/html/distribute/tools/promote/device-art-resources/nexus_10/port_shadow.png
similarity index 100%
rename from docs/html/distribute/promote/device-art-resources/nexus_10/port_shadow.png
rename to docs/html/distribute/tools/promote/device-art-resources/nexus_10/port_shadow.png
Binary files differ
diff --git a/docs/html/distribute/promote/device-art-resources/nexus_10/thumb.png b/docs/html/distribute/tools/promote/device-art-resources/nexus_10/thumb.png
similarity index 100%
rename from docs/html/distribute/promote/device-art-resources/nexus_10/thumb.png
rename to docs/html/distribute/tools/promote/device-art-resources/nexus_10/thumb.png
Binary files differ
diff --git a/docs/html/distribute/promote/device-art-resources/nexus_4/land_back.png b/docs/html/distribute/tools/promote/device-art-resources/nexus_4/land_back.png
similarity index 100%
rename from docs/html/distribute/promote/device-art-resources/nexus_4/land_back.png
rename to docs/html/distribute/tools/promote/device-art-resources/nexus_4/land_back.png
Binary files differ
diff --git a/docs/html/distribute/promote/device-art-resources/nexus_4/land_fore.png b/docs/html/distribute/tools/promote/device-art-resources/nexus_4/land_fore.png
similarity index 100%
rename from docs/html/distribute/promote/device-art-resources/nexus_4/land_fore.png
rename to docs/html/distribute/tools/promote/device-art-resources/nexus_4/land_fore.png
Binary files differ
diff --git a/docs/html/distribute/promote/device-art-resources/nexus_4/land_shadow.png b/docs/html/distribute/tools/promote/device-art-resources/nexus_4/land_shadow.png
similarity index 100%
rename from docs/html/distribute/promote/device-art-resources/nexus_4/land_shadow.png
rename to docs/html/distribute/tools/promote/device-art-resources/nexus_4/land_shadow.png
Binary files differ
diff --git a/docs/html/distribute/promote/device-art-resources/nexus_4/port_back.png b/docs/html/distribute/tools/promote/device-art-resources/nexus_4/port_back.png
similarity index 100%
rename from docs/html/distribute/promote/device-art-resources/nexus_4/port_back.png
rename to docs/html/distribute/tools/promote/device-art-resources/nexus_4/port_back.png
Binary files differ
diff --git a/docs/html/distribute/promote/device-art-resources/nexus_4/port_fore.png b/docs/html/distribute/tools/promote/device-art-resources/nexus_4/port_fore.png
similarity index 100%
rename from docs/html/distribute/promote/device-art-resources/nexus_4/port_fore.png
rename to docs/html/distribute/tools/promote/device-art-resources/nexus_4/port_fore.png
Binary files differ
diff --git a/docs/html/distribute/promote/device-art-resources/nexus_4/port_shadow.png b/docs/html/distribute/tools/promote/device-art-resources/nexus_4/port_shadow.png
similarity index 100%
rename from docs/html/distribute/promote/device-art-resources/nexus_4/port_shadow.png
rename to docs/html/distribute/tools/promote/device-art-resources/nexus_4/port_shadow.png
Binary files differ
diff --git a/docs/html/distribute/promote/device-art-resources/nexus_4/thumb.png b/docs/html/distribute/tools/promote/device-art-resources/nexus_4/thumb.png
similarity index 100%
rename from docs/html/distribute/promote/device-art-resources/nexus_4/thumb.png
rename to docs/html/distribute/tools/promote/device-art-resources/nexus_4/thumb.png
Binary files differ
diff --git a/docs/html/distribute/promote/device-art-resources/nexus_5/land_back.png b/docs/html/distribute/tools/promote/device-art-resources/nexus_5/land_back.png
similarity index 100%
rename from docs/html/distribute/promote/device-art-resources/nexus_5/land_back.png
rename to docs/html/distribute/tools/promote/device-art-resources/nexus_5/land_back.png
Binary files differ
diff --git a/docs/html/distribute/promote/device-art-resources/nexus_5/land_fore.png b/docs/html/distribute/tools/promote/device-art-resources/nexus_5/land_fore.png
similarity index 100%
rename from docs/html/distribute/promote/device-art-resources/nexus_5/land_fore.png
rename to docs/html/distribute/tools/promote/device-art-resources/nexus_5/land_fore.png
Binary files differ
diff --git a/docs/html/distribute/promote/device-art-resources/nexus_5/land_shadow.png b/docs/html/distribute/tools/promote/device-art-resources/nexus_5/land_shadow.png
similarity index 100%
rename from docs/html/distribute/promote/device-art-resources/nexus_5/land_shadow.png
rename to docs/html/distribute/tools/promote/device-art-resources/nexus_5/land_shadow.png
Binary files differ
diff --git a/docs/html/distribute/promote/device-art-resources/nexus_5/port_back.png b/docs/html/distribute/tools/promote/device-art-resources/nexus_5/port_back.png
similarity index 100%
rename from docs/html/distribute/promote/device-art-resources/nexus_5/port_back.png
rename to docs/html/distribute/tools/promote/device-art-resources/nexus_5/port_back.png
Binary files differ
diff --git a/docs/html/distribute/promote/device-art-resources/nexus_5/port_fore.png b/docs/html/distribute/tools/promote/device-art-resources/nexus_5/port_fore.png
similarity index 100%
rename from docs/html/distribute/promote/device-art-resources/nexus_5/port_fore.png
rename to docs/html/distribute/tools/promote/device-art-resources/nexus_5/port_fore.png
Binary files differ
diff --git a/docs/html/distribute/promote/device-art-resources/nexus_5/port_shadow.png b/docs/html/distribute/tools/promote/device-art-resources/nexus_5/port_shadow.png
similarity index 100%
rename from docs/html/distribute/promote/device-art-resources/nexus_5/port_shadow.png
rename to docs/html/distribute/tools/promote/device-art-resources/nexus_5/port_shadow.png
Binary files differ
diff --git a/docs/html/distribute/promote/device-art-resources/nexus_5/thumb.png b/docs/html/distribute/tools/promote/device-art-resources/nexus_5/thumb.png
similarity index 100%
rename from docs/html/distribute/promote/device-art-resources/nexus_5/thumb.png
rename to docs/html/distribute/tools/promote/device-art-resources/nexus_5/thumb.png
Binary files differ
diff --git a/docs/html/distribute/promote/device-art-resources/nexus_7/land_back.png b/docs/html/distribute/tools/promote/device-art-resources/nexus_7/land_back.png
similarity index 100%
rename from docs/html/distribute/promote/device-art-resources/nexus_7/land_back.png
rename to docs/html/distribute/tools/promote/device-art-resources/nexus_7/land_back.png
Binary files differ
diff --git a/docs/html/distribute/promote/device-art-resources/nexus_7/land_fore.png b/docs/html/distribute/tools/promote/device-art-resources/nexus_7/land_fore.png
similarity index 100%
rename from docs/html/distribute/promote/device-art-resources/nexus_7/land_fore.png
rename to docs/html/distribute/tools/promote/device-art-resources/nexus_7/land_fore.png
Binary files differ
diff --git a/docs/html/distribute/promote/device-art-resources/nexus_7/land_shadow.png b/docs/html/distribute/tools/promote/device-art-resources/nexus_7/land_shadow.png
similarity index 100%
rename from docs/html/distribute/promote/device-art-resources/nexus_7/land_shadow.png
rename to docs/html/distribute/tools/promote/device-art-resources/nexus_7/land_shadow.png
Binary files differ
diff --git a/docs/html/distribute/promote/device-art-resources/nexus_7/port_back.png b/docs/html/distribute/tools/promote/device-art-resources/nexus_7/port_back.png
similarity index 100%
rename from docs/html/distribute/promote/device-art-resources/nexus_7/port_back.png
rename to docs/html/distribute/tools/promote/device-art-resources/nexus_7/port_back.png
Binary files differ
diff --git a/docs/html/distribute/promote/device-art-resources/nexus_7/port_fore.png b/docs/html/distribute/tools/promote/device-art-resources/nexus_7/port_fore.png
similarity index 100%
rename from docs/html/distribute/promote/device-art-resources/nexus_7/port_fore.png
rename to docs/html/distribute/tools/promote/device-art-resources/nexus_7/port_fore.png
Binary files differ
diff --git a/docs/html/distribute/promote/device-art-resources/nexus_7/port_shadow.png b/docs/html/distribute/tools/promote/device-art-resources/nexus_7/port_shadow.png
similarity index 100%
rename from docs/html/distribute/promote/device-art-resources/nexus_7/port_shadow.png
rename to docs/html/distribute/tools/promote/device-art-resources/nexus_7/port_shadow.png
Binary files differ
diff --git a/docs/html/distribute/promote/device-art-resources/nexus_7/thumb.png b/docs/html/distribute/tools/promote/device-art-resources/nexus_7/thumb.png
similarity index 100%
rename from docs/html/distribute/promote/device-art-resources/nexus_7/thumb.png
rename to docs/html/distribute/tools/promote/device-art-resources/nexus_7/thumb.png
Binary files differ
diff --git a/docs/html/distribute/promote/device-art-resources/nexus_7_2012/land_back.png b/docs/html/distribute/tools/promote/device-art-resources/nexus_7_2012/land_back.png
similarity index 100%
rename from docs/html/distribute/promote/device-art-resources/nexus_7_2012/land_back.png
rename to docs/html/distribute/tools/promote/device-art-resources/nexus_7_2012/land_back.png
Binary files differ
diff --git a/docs/html/distribute/promote/device-art-resources/nexus_7_2012/land_fore.png b/docs/html/distribute/tools/promote/device-art-resources/nexus_7_2012/land_fore.png
similarity index 100%
rename from docs/html/distribute/promote/device-art-resources/nexus_7_2012/land_fore.png
rename to docs/html/distribute/tools/promote/device-art-resources/nexus_7_2012/land_fore.png
Binary files differ
diff --git a/docs/html/distribute/promote/device-art-resources/nexus_7_2012/land_shadow.png b/docs/html/distribute/tools/promote/device-art-resources/nexus_7_2012/land_shadow.png
similarity index 100%
rename from docs/html/distribute/promote/device-art-resources/nexus_7_2012/land_shadow.png
rename to docs/html/distribute/tools/promote/device-art-resources/nexus_7_2012/land_shadow.png
Binary files differ
diff --git a/docs/html/distribute/promote/device-art-resources/nexus_7_2012/port_back.png b/docs/html/distribute/tools/promote/device-art-resources/nexus_7_2012/port_back.png
similarity index 100%
rename from docs/html/distribute/promote/device-art-resources/nexus_7_2012/port_back.png
rename to docs/html/distribute/tools/promote/device-art-resources/nexus_7_2012/port_back.png
Binary files differ
diff --git a/docs/html/distribute/promote/device-art-resources/nexus_7_2012/port_fore.png b/docs/html/distribute/tools/promote/device-art-resources/nexus_7_2012/port_fore.png
similarity index 100%
rename from docs/html/distribute/promote/device-art-resources/nexus_7_2012/port_fore.png
rename to docs/html/distribute/tools/promote/device-art-resources/nexus_7_2012/port_fore.png
Binary files differ
diff --git a/docs/html/distribute/promote/device-art-resources/nexus_7_2012/port_shadow.png b/docs/html/distribute/tools/promote/device-art-resources/nexus_7_2012/port_shadow.png
similarity index 100%
rename from docs/html/distribute/promote/device-art-resources/nexus_7_2012/port_shadow.png
rename to docs/html/distribute/tools/promote/device-art-resources/nexus_7_2012/port_shadow.png
Binary files differ
diff --git a/docs/html/distribute/promote/device-art-resources/nexus_7_2012/thumb.png b/docs/html/distribute/tools/promote/device-art-resources/nexus_7_2012/thumb.png
similarity index 100%
rename from docs/html/distribute/promote/device-art-resources/nexus_7_2012/thumb.png
rename to docs/html/distribute/tools/promote/device-art-resources/nexus_7_2012/thumb.png
Binary files differ
diff --git a/docs/html/distribute/promote/device-art-resources/nexus_s/land_back.png b/docs/html/distribute/tools/promote/device-art-resources/nexus_s/land_back.png
similarity index 100%
rename from docs/html/distribute/promote/device-art-resources/nexus_s/land_back.png
rename to docs/html/distribute/tools/promote/device-art-resources/nexus_s/land_back.png
Binary files differ
diff --git a/docs/html/distribute/promote/device-art-resources/nexus_s/land_fore.png b/docs/html/distribute/tools/promote/device-art-resources/nexus_s/land_fore.png
similarity index 100%
rename from docs/html/distribute/promote/device-art-resources/nexus_s/land_fore.png
rename to docs/html/distribute/tools/promote/device-art-resources/nexus_s/land_fore.png
Binary files differ
diff --git a/docs/html/distribute/promote/device-art-resources/nexus_s/land_shadow.png b/docs/html/distribute/tools/promote/device-art-resources/nexus_s/land_shadow.png
similarity index 100%
rename from docs/html/distribute/promote/device-art-resources/nexus_s/land_shadow.png
rename to docs/html/distribute/tools/promote/device-art-resources/nexus_s/land_shadow.png
Binary files differ
diff --git a/docs/html/distribute/promote/device-art-resources/nexus_s/port_back.png b/docs/html/distribute/tools/promote/device-art-resources/nexus_s/port_back.png
similarity index 100%
rename from docs/html/distribute/promote/device-art-resources/nexus_s/port_back.png
rename to docs/html/distribute/tools/promote/device-art-resources/nexus_s/port_back.png
Binary files differ
diff --git a/docs/html/distribute/promote/device-art-resources/nexus_s/port_fore.png b/docs/html/distribute/tools/promote/device-art-resources/nexus_s/port_fore.png
similarity index 100%
rename from docs/html/distribute/promote/device-art-resources/nexus_s/port_fore.png
rename to docs/html/distribute/tools/promote/device-art-resources/nexus_s/port_fore.png
Binary files differ
diff --git a/docs/html/distribute/promote/device-art-resources/nexus_s/port_shadow.png b/docs/html/distribute/tools/promote/device-art-resources/nexus_s/port_shadow.png
similarity index 100%
rename from docs/html/distribute/promote/device-art-resources/nexus_s/port_shadow.png
rename to docs/html/distribute/tools/promote/device-art-resources/nexus_s/port_shadow.png
Binary files differ
diff --git a/docs/html/distribute/promote/device-art-resources/nexus_s/thumb.png b/docs/html/distribute/tools/promote/device-art-resources/nexus_s/thumb.png
similarity index 100%
rename from docs/html/distribute/promote/device-art-resources/nexus_s/thumb.png
rename to docs/html/distribute/tools/promote/device-art-resources/nexus_s/thumb.png
Binary files differ
diff --git a/docs/html/distribute/promote/device-art-resources/xoom/land_back.png b/docs/html/distribute/tools/promote/device-art-resources/xoom/land_back.png
similarity index 100%
rename from docs/html/distribute/promote/device-art-resources/xoom/land_back.png
rename to docs/html/distribute/tools/promote/device-art-resources/xoom/land_back.png
Binary files differ
diff --git a/docs/html/distribute/promote/device-art-resources/xoom/land_fore.png b/docs/html/distribute/tools/promote/device-art-resources/xoom/land_fore.png
similarity index 100%
rename from docs/html/distribute/promote/device-art-resources/xoom/land_fore.png
rename to docs/html/distribute/tools/promote/device-art-resources/xoom/land_fore.png
Binary files differ
diff --git a/docs/html/distribute/promote/device-art-resources/xoom/land_shadow.png b/docs/html/distribute/tools/promote/device-art-resources/xoom/land_shadow.png
similarity index 100%
rename from docs/html/distribute/promote/device-art-resources/xoom/land_shadow.png
rename to docs/html/distribute/tools/promote/device-art-resources/xoom/land_shadow.png
Binary files differ
diff --git a/docs/html/distribute/promote/device-art-resources/xoom/port_back.png b/docs/html/distribute/tools/promote/device-art-resources/xoom/port_back.png
similarity index 100%
rename from docs/html/distribute/promote/device-art-resources/xoom/port_back.png
rename to docs/html/distribute/tools/promote/device-art-resources/xoom/port_back.png
Binary files differ
diff --git a/docs/html/distribute/promote/device-art-resources/xoom/port_fore.png b/docs/html/distribute/tools/promote/device-art-resources/xoom/port_fore.png
similarity index 100%
rename from docs/html/distribute/promote/device-art-resources/xoom/port_fore.png
rename to docs/html/distribute/tools/promote/device-art-resources/xoom/port_fore.png
Binary files differ
diff --git a/docs/html/distribute/promote/device-art-resources/xoom/port_shadow.png b/docs/html/distribute/tools/promote/device-art-resources/xoom/port_shadow.png
similarity index 100%
rename from docs/html/distribute/promote/device-art-resources/xoom/port_shadow.png
rename to docs/html/distribute/tools/promote/device-art-resources/xoom/port_shadow.png
Binary files differ
diff --git a/docs/html/distribute/promote/device-art-resources/xoom/thumb.png b/docs/html/distribute/tools/promote/device-art-resources/xoom/thumb.png
similarity index 100%
rename from docs/html/distribute/promote/device-art-resources/xoom/thumb.png
rename to docs/html/distribute/tools/promote/device-art-resources/xoom/thumb.png
Binary files differ
diff --git a/docs/html/distribute/promote/device-art.jd b/docs/html/distribute/tools/promote/device-art.jd
similarity index 97%
rename from docs/html/distribute/promote/device-art.jd
rename to docs/html/distribute/tools/promote/device-art.jd
index b3b414e..b0b5f84 100644
--- a/docs/html/distribute/promote/device-art.jd
+++ b/docs/html/distribute/tools/promote/device-art.jd
@@ -1,9 +1,13 @@
 page.title=Device Art Generator
+page.image=/images/device-art-ex-crop.jpg
+page.metaDescription=Drag and drop screenshots of your app into real device artwork, for better looking promotional images and improved visual context.
+meta.tags="disttools, promoting, deviceart, marketing"
+page.tags="device, deviceart, nexus, assets"
+Xnonavpage=true
+
 @jd:body
 
-<p>The device art generator allows you to quickly wrap your app screenshots in real device artwork.
-This provides better visual context for your app screenshots on your web site or in other
-promotional materials.</p>
+<p>The device art generator enables you to quickly wrap app screenshots in real device artwork. This provides better visual context for your app screenshots on your website or in other promotional materials</p>
 
 <p class="note"><strong>Note</strong>: Do <em>not</em> use graphics created here in your 1024x500
 feature image or screenshots for your Google Play app listing.</p>
diff --git a/docs/html/distribute/googleplay/promote/linking.jd b/docs/html/distribute/tools/promote/linking.jd
similarity index 95%
rename from docs/html/distribute/googleplay/promote/linking.jd
rename to docs/html/distribute/tools/promote/linking.jd
index 4fdc5db..025480b 100644
--- a/docs/html/distribute/googleplay/promote/linking.jd
+++ b/docs/html/distribute/tools/promote/linking.jd
@@ -1,4 +1,9 @@
 page.title=Linking to Your Products
+page.image=/images/gp-linking-ex-crop.png
+meta.tags="promoting"
+page.tags="linking"
+page.metaDescription=Learn how to build links that take users to your published apps in Google Play from browse or search.
+
 @jd:body
 
 <div class="sidebox-wrapper">
@@ -25,7 +30,7 @@
 
 <p>If you are linking from an Android app, you can also control whether the link
 launches the Play Store application or the browser, which takes the user
-to the Google Play web site.</p>
+to the Google Play website.</p>
 
 <h2 id="OpeningDetails">Linking to a Product Details Page</h2>
 
@@ -173,7 +178,7 @@
 and <code>market://</code> for links in Android apps.</p>
 
 <p>If you want to link to your products from an Android app, create an {@link
-android.content.Intent} that opens an Google Play URL, as shown in the example
+android.content.Intent} that opens a Google Play URL, as shown in the example
 below.</p>
 
 <pre>
diff --git a/docs/html/distribute/users/build-buzz.jd b/docs/html/distribute/users/build-buzz.jd
new file mode 100644
index 0000000..b76498e
--- /dev/null
+++ b/docs/html/distribute/users/build-buzz.jd
@@ -0,0 +1,301 @@
+page.title=Build Buzz
+page.image=/distribute/images/build-buzz.jpg
+page.metaDescription=Generate interest and demand for your app. Here are some ways to help users find, download, and install your apps.
+page.tags="users, growth, promotion"
+
+@jd:body
+
+<div id="qv-wrapper">
+  <div id="qv">
+    <h2>
+      Contents
+    </h2>
+
+    <ol>
+      <li>
+        <a href="#link-to-your-apps">Link to Your Apps</a>
+      </li>
+      <li>
+        <a href="#use-the-google-play-badge">Use the Badge</a>
+      </li>
+      <li>
+        <a href="#cross-promote-from-your-other-apps">Cross-Promote Your Apps</a>
+      </li>
+      <li>
+        <a href="#hold-a-contest">Hold a Contest</a>
+      </li>
+      <li>
+        <a href="#leverage-pr">Leverage PR</a>
+      </li>
+      <li>
+        <a href="#use-social-media">Use Social Media</a>
+      </li>
+      <li>
+        <a href="#publish-youtube-videos">Publish YouTube Videos</a>
+      </li>
+      <li>
+        <a href="#advertise">Advertise</a>
+      </li>
+      <li>
+        <a href="#maximize-your-marketing-spend">Maximize Your Marketing
+        spend</a>
+      </li>
+      <li><a href="#related-resources">Related Resources</a></li>
+    </ol>
+  </div>
+</div>
+
+<div style="float:right;border 2px solid #ddd;">
+  <img src="{@docRoot}distribute/images/build-buzz.jpg" style=
+  "width:240px;margin:0 0 1.5em 1em;">
+</div>
+
+<p>
+  With more apps published each week in Google Play, building  buzz
+  around your own apps helps them get noticed and makes it easier for
+  users to find and download them.
+</p>
+
+<p>
+  Building buzz doesn’t have a single formula. The tools and techniques
+  described here have worked for other developers, but finding the right mix
+  will depend on your apps, your audience, and your competition. And don’t be
+  afraid to try something different or quirky, taking a risk could pay big
+  dividends.
+</p>
+
+<div class="headerLine">
+  <h1 id="link-to-your-apps">
+    Link to Your Apps in Google Play
+  </h1>
+
+  <hr>
+</div>
+
+<p>
+  After publishing your apps, you can take Android users directly to your
+  app/games detail page on Google Play by <a href=
+  "{@docRoot}distribute/tools/promote/linking.html">providing links</a> in your
+  social network posts, ad campaigns, app reviews and articles, your website,
+  and more.
+</p>
+
+<p>
+  You can also link to:
+</p>
+
+<ul>
+  <li>A <a href=
+  "{@docRoot}distribute/tools/promote/linking.html#OpeningPublisher">list</a>
+  of all of your apps
+  </li>
+
+  <li>A Google Play <a href=
+  "{@docRoot}distribute/tools/promote/linking.html#PerformingSearch">search
+  result</a>
+  </li>
+
+  <li>A <a href=
+  "{@docRoot}distribute/tools/promote/linking.html#OpeningCollection">collection</a>
+  on Google Play
+  </li>
+</ul>
+
+<div class="headerLine clearfloat">
+  <h1 id="use-the-google-play-badge">
+    Use the Google Play Badge
+  </h1>
+
+  <hr>
+</div>
+
+<div class="figure" style="margin:0 3em;">
+  <img src="{@docRoot}images/gp-build-buzz-uplift-1.png">
+</div>
+
+<p>
+  <a href="{@docRoot}distribute/tools/promote/badges.html">Google Play
+  badges</a> are an especially great way let Android users know that your apps
+  are available and link them directly to your Google Play page. Users are more
+  likely to download and trust your apps and games when the Google Play badge
+  is used.
+</p>
+
+<p>Badge your
+  websites, collateral, and ad campaigns. With the badge generator, they're
+  also easy to make and available in multiple languages.
+</p>
+
+<div class="headerLine clearfloat">
+  <h1 id="cross-promote-from-your-other-apps">
+    Cross-Promote from Your Other Apps
+  </h1>
+
+  <hr>
+</div>
+
+<div class="figure-right">
+  <img src="{@docRoot}images/gp-buzz-1.jpg">
+  <p class="img-caption">
+    Cross-promoting related apps.
+  </p>
+</div>
+
+<p>
+  Cross promoting, or house ads, is a great cost effective way to get users to
+  try out new titles. Be sure that your house ad is unobtrusive and presented
+  at a time convenient for users to leave your apps and try out your new title.
+  Also, be sure to include logic that allows users to dismiss the ad and
+  control if they will be asked again later.
+</p>
+
+<p>
+  Consider using free AdMob <a href=
+  "https://support.google.com/admob/v2/answer/3210452?hl=en#subid=us-en-et-dac">
+  house ads</a> within your apps to create awareness and promote your entire
+  portfolio of apps. When launching new apps, an easy way to quickly attract
+  users is to promote directly to your existing customers.
+</p>
+
+<div class="headerLine">
+  <h1 id="hold-a-contest">
+    Hold a Contest
+  </h1>
+
+  <hr>
+</div>
+
+<p>
+  Contests can be a great way to engage your users. If you have a game, hold a
+  tournament and promote it through your marketing channels. Use Google Play
+  Games APIs for leaderboards and achievements to stimulate competition. Some
+  app developers have provided prizes for creative uses of an app or social
+  engagement. For example, a photo app developer can hold a photo contest.
+</p>
+
+<p>
+  But be sure you’re complying with the appropriate legal requirements in your
+  country and provide a clear set of terms and conditions, accessible online.
+  Don’t let a lack of attention to detail spoil a great marketing opportunity.
+</p>
+
+<div class="headerLine">
+  <h1 id="leverage-pr">
+    Leverage PR
+  </h1>
+
+  <hr>
+</div>
+
+<p>
+  Public Relations outreach can be a valuable marketing initiative. Many
+  developers use PR to announce new features in their apps or games, which, in
+  turn, builds demand for the updated release when it comes out. You can also
+  provide early copies of your app or game for the press to review, and publish
+  their reviews when the app or game launches.
+</p>
+
+<div class="headerLine">
+  <h1 id="use-social-media">
+    Use Social Media
+  </h1>
+
+  <hr>
+</div>
+
+<p>
+  Social media is your opportunity to build promotion for your apps. Start with
+  your own channels: update users on your plans before launch, announce your
+  launch, and talk about progress after launch (downloads, new features, and
+  alike.) Then expand by encouraging your users to forward and share your
+  posts.
+</p>
+
+<p>
+  Take advantage of bloggers. Look for bloggers that cover Android and learn
+  what interest them. Remember to look locally as well as globally, gaining a
+  local following can be a great springboard to global success. When you’ve
+  selected a target group of bloggers focus on them by sending details of your
+  apps and free versions if the apps are priced. Follow up and ask them to
+  review your apps. A review on the right blog is a great promotion.
+</p>
+
+<div class="headerLine clearfloat">
+  <h1 id="publish-youtube-videos">
+    Publish YouTube Videos
+  </h1>
+
+  <hr>
+</div>
+
+<div class="center-img" style="padding-top:1em;">
+  <img src="{@docRoot}images/gp-build-buzz-yt.png">
+</div>
+
+<p>
+  YouTube videos are now an essential part of building buzz. Use them to
+  showcase your apps’ feature. Remember to do this before, at, and after
+  launch. Taking users on a journey through the development of your apps can be
+  a great way to drive downloads at launch.
+</p>
+
+<div class="headerLine">
+  <h1 id="advertise">
+    Advertise
+  </h1>
+
+  <hr>
+</div>
+
+<div class="figure">
+  <img src="{@docRoot}images/google/gps-ads.png" style="width:340px">
+</div>
+
+<p>
+  Advertise your app in other apps to increase downloads. There are many tools
+  to help you target the right users for your apps and games. You can use
+  <a href=
+  "http://www.google.com/ads/admob/promote.html#subid=us-en-et-dac">AdMob</a>
+  to drive installs of your app at a target cost-per-acquisition (CPA). You
+  also get free house ads for your own app. <a href=
+  "https://apps.admob.com/admob/signup?subid=us-en-et-dac&amp;_adc=ww-ww-et-admob2&amp;hl=en">
+  Sign up for an AdMob account</a> to get started.
+</p>
+
+<div class="headerLine clearfloat">
+  <h1 id="maximize-your-marketing-spend">
+    Maximize your Marketing Spend
+  </h1>
+
+  <hr>
+</div>
+
+<div class="figure" style="margin: 0 3em;">
+  <img src="{@docRoot}images/gp-build-buzz-uplift-2.png" style="">
+</div>
+
+<p>
+  Maximize buzz and leverage the halo effect of cross-platform, multimedia,
+  simultaneous launches.
+</p>
+
+<p><strong>Developers who launch on multiple platforms at
+  the same time have received a 10-20% uplift.</strong>If you’re spending money
+  to advertise your launch or spending effort on press, shipping on multiple
+  platforms simultaneously helps you maximize your return on investment.
+</p>
+
+<div class="headerLine clearfloat">
+  <h1 id="related-resources">
+    Related Resources
+  </h1>
+
+  <hr>
+</div>
+
+<div class="resource-widget resource-flow-layout col-13"
+  data-query="collection:distribute/users/buildbuzz"
+  data-sortOrder="-timestamp"
+  data-cardSizes="9x3"
+  data-maxResults="6"></div>
+
diff --git a/docs/html/distribute/users/build-community.jd b/docs/html/distribute/users/build-community.jd
new file mode 100644
index 0000000..1623939
--- /dev/null
+++ b/docs/html/distribute/users/build-community.jd
@@ -0,0 +1,202 @@
+page.title=Build Community
+page.metaDescription=Build a loyal following with great support and communication.
+page.tags="users, growth, community"
+
+@jd:body
+
+<div id="qv-wrapper">
+  <div id="qv">
+  <h2>
+    Contents
+  </h2>
+
+  <ol>
+    <li>
+    <a href="#starting-your-community">Starting Your Community</a>
+    </li>
+
+    <li>
+    <a href="#tools-to-build-your-community">Tools to Build Your Community</a>
+    </li>
+
+    <li>
+    <a href="#managing-your-community">Managing Your Community</a>
+    </li>
+    <li>
+    <a href="#related-resources">Related Resources</a>
+    </li>
+  </ol>
+  </div>
+</div>
+
+<p>
+  Fans of your apps love to help others, turn newer users into fans, and bring
+  you more users as they talk about your app. Building a community can help you
+  tap into those influencers to help you improve your app and provide support
+  to others.
+</p>
+
+<p>
+  Building your own community can help you bring content that will delight
+  users and get them talking about your apps to friends, family and others in
+  their social network.
+</p>
+
+<div class="headerLine">
+  <h1 id="starting-your-community">
+  Starting Your Community
+  </h1>
+
+  <hr>
+</div>
+
+<p>
+  In conjunction with your apps’ design and development, you should start
+  defining and building your community infrastructure. There’s no one approach
+  that fits all, and the approach for each of your apps may need to be a little
+  different. You should start by thinking about your potential users and asking
+  questions such as:
+</p>
+
+<ul>
+  <li>
+  <p>
+    How will my users prefer to interact? Game users may prefer a modern feed
+    style community, users of a financial management app a more traditional
+    discussion forum.
+  </p>
+  </li>
+
+  <li>
+  <p>
+    Should I have a community for all my apps or should each app have its
+    own? Will users be turned off if the community isn’t just about the app
+    that interests them or can I make it a way to turn them onto my other
+    apps?
+  </p>
+  </li>
+
+  <li>
+  <p>
+    Will different countries or territories, or speakers of particular
+    languages need separate forums? How will I handle feedback in languages I
+    don’t know?
+  </p>
+  </li>
+
+  <li>
+  <p>
+    Do I need any additional policies beyond those governing the tool used to
+    host the community?
+  </p>
+  </li>
+</ul>
+
+<p>
+  Any way you do it, starting your community early helps you build momentum as
+  you turn happy users into influencers.
+</p>
+
+<p>
+  Consider inviting your existing users through a rich notification or an
+  opt-in on your website. Don’t overlook inviting your critics too. If you have
+  been able to address their earlier issues you may convert them into
+  supporters — it’s not unknown for your harshest critics to become your most
+  enthusiastic fans if you address their concerns.
+</p>
+
+<p>
+  When you use the <a href=
+  "{@docRoot}distribute/googleplay/developer-console.html#alpha-beta">beta-testing
+  feature</a> in Google Play, you’ll create a testers group through a <a href=
+  "https://support.google.com/groups/answer/46601">Google Group</a> or <a href=
+  "https://support.google.com/plus/topic/2888488">Google+ Community</a> to
+  define who gets your software for testing. Consider managing these groups as
+  communities in their own right.
+</p>
+
+<div class="headerLine">
+  <h1 id="tools-to-build-your-community">
+  Tools to Build Your Community
+  </h1>
+
+  <hr>
+</div>
+
+<p>
+  There are many tools you can use to build your community. Before you launch,
+  inviting <a href="http://www.google.com/+/business/">Google+</a> users or
+  <a href="https://support.google.com/groups/answer/46601?hl=en">Google
+  Groups</a> to <a href=
+  "{@docRoot}distribute/googleplay/developer-console.html#alpha-beta">beta-test</a>
+  your app can help you kickstart your community while you listen to and
+  respond to your user feedback.
+</p>
+
+<p>
+  Once you’ve launched, your Google+ or other social media presence can help
+  you continue to gather feedback, answer questions, and get input on updates.
+  Use social media to get the conversation started. Post updates to your
+  followers, announce new apps, and host contests. Ask followers to re-post so
+  that they bring new users into the conversation. Fans love to profess their
+  passion for great apps, so be sure to give them plenty of reason to do so.
+</p>
+
+<p>
+  Forums like <a href=
+  "https://support.google.com/groups/answer/46601?hl=en">Google Groups</a> are
+  particularly well suited to help you and your users provide support to
+  others. By helping out your community, you’re building your fan base who will
+  share their experiences with other prospective customers.
+</p>
+
+<p>
+  Respond to comments and reviews on both your product details page on Google
+  Play and <a href="http://youtube.com">YouTube</a> pages. Prospective
+  customers are influenced by reviews and comments, so be sure to manage your
+  brand in every channel you can.
+</p>
+
+<div class="headerLine">
+  <h1 id="managing-your-community">
+  Managing Your Community
+  </h1>
+
+  <hr>
+</div>
+
+<div class="figure">
+  <img src="{@docRoot}images/gp-community-0.png">
+</div>
+
+<p>
+  Engaged users want you to succeed. Let them know you’re listening! Responding
+  to posts, comments, and other social media mentions improves your ratings by
+  letting users know you care.
+</p>
+
+<p>
+  Update the product based on user feedback and announce new releases. Users
+  often change their original star ratings after feeling heard, inspiring more
+  users to install your apps.
+</p>
+
+<p>
+  There are many ways to make your community feel special. Consider polls to
+  let users influence product updates. Use competitions to inspire and reward
+  your community. Giving a special <em>member of the week</em> badge is an easy
+  way to recognize those that help others. Or get users involved in testing new
+  versions or new apps to make them feel special.
+</p>
+
+<div class="headerLine clearfloat">
+  <h1 id="related-resources">
+  Related Resources
+  </h1>
+  <hr>
+</div>
+<div class="resource-widget resource-flow-layout col-13"
+  data-query="collection:distribute/users/buildcommunity"
+  data-sortOrder="-timestamp"
+  data-cardSizes="9x3"
+  data-maxResults="6"></div>
\ No newline at end of file
diff --git a/docs/html/distribute/users/expand-to-new-markets.jd b/docs/html/distribute/users/expand-to-new-markets.jd
new file mode 100644
index 0000000..cc94a92
--- /dev/null
+++ b/docs/html/distribute/users/expand-to-new-markets.jd
@@ -0,0 +1,325 @@
+page.title=Expand Into New Markets
+page.metaDescription=Tap fast-growing markets in Japan, Korea, India, Brazil, and many other countries around the world.
+page.image=/distribute/images/expand-into-new-markets.jpg
+page.tags="users, growth, global"
+
+@jd:body
+
+<div id="qv-wrapper">
+  <div id="qv">
+    <h2>
+      Contents
+    </h2>
+
+    <ol>
+      <li>
+        <a href="#localize-your-product">Localize Your Product</a>
+      </li>
+
+      <li>
+        <a href="#testing-and-support">Testing and Support</a>
+      </li>
+
+      <li>
+        <a href="#localize-your-google-play-listing">Localize Your Store
+        Listing</a>
+      </li>
+
+      <li>
+        <a href="#marketing">Marketing</a>
+      </li>
+
+      <li>
+        <a href="#related-resources">Related Resources</a>
+      </li>
+    </ol>
+  </div>
+</div>
+<p>
+  Android and Google Play give you a worldwide audience for your apps, with an
+  addressable user base that's growing very rapidly in countries such as Japan,
+  Korea, India, and Brazil. You can sell your app in more than 130 countries.
+</p>
+
+<p>
+  To <strong>maximize your app's distribution potential and earn high
+  ratings</strong> from users around the world, we encourage you to localize
+  your app. Once you’ve built a solid foundation in your home market, take
+  advantage of Android’s powerful growth around the world and expand your app
+  to new markets.
+</p>
+
+<div class="sidebox-wrapper" style="float:right;">
+  <div class="sidebox">
+    <p>
+      <strong>Tip:</strong> Localization is more than translation. Plan product
+      features, launch, and marketing for key markets.
+    </p>
+  </div>
+</div>
+
+<p class="caution" style="font-size:15.5px;">
+</p>
+
+<p>
+  Localization involves a variety of tasks throughout your app development
+  cycle, and advance planning is essential. But <strong>localization is more
+  than just translating your UI</strong>. To be successful, you also need to
+  localize your Google Play listing and ensure your marketing is suitable for
+  the demographic you’re addressing.
+</p>
+
+<p>
+  To reduce development and maintenance effort, use a single APK for all
+  regions. A single APK also allows you to more easily track metrics by
+  country. Google Play takes care of providing the appropriate localized
+  version of your app based on user location.
+</p>
+
+<div class="headerLine">
+  <h1 id="localize-your-product">
+    Localize Your Product
+  </h1>
+
+  <hr>
+</div>
+
+<div class="sidebox-wrapper" style="float:right;">
+  <div class="sidebox">
+    <p>
+      <strong>Tip:</strong> Use a professional translation service located in
+      your target country to ensure high quality and good user ratings.
+    </p>
+  </div>
+</div>
+
+<p>
+  The first step is to identify your target markets and associated languages,
+  then focus your product localization on those countries. Some of the tasks
+  include translating your UI strings and localizing dates and times, layouts,
+  text direction, and finally your Google Play store listing. To learn more
+  about how to localize your app, visit our <a href=
+  "{@docRoot}distribute/tools/localization-checklist.html">Localization
+  Checklist</a>.
+</p>
+<!-- <p>[Need graphic highlighting that it’s all about getting high ratings]</p> -->
+
+<p>
+  Work with a professional translator, preferably located in the country you’re
+  localizing your apps for, to ensure high quality results. Machine
+  translations may affect your apps’ ratings, as they’re less reliable than
+  high-quality professional translations. For example, a professional service
+  will know to consider the vocabulary expansion, left-to-right and
+  right-to-left support, and other factors in each language. Learn more about
+  UI considerations and other factors in the <a href=
+  "{@docRoot}distribute/tools/localization-checklist.html#design">Design for
+  Localization</a> section of the Localization Checklist.
+</p>
+
+<p>
+  <strong>Google Play App Translation Service</strong> can help you quickly
+  find and purchase translations of your apps. In the <a href=
+  "https://play.google.com/apps/publish/">Developer Console</a>, you can browse
+  a list of third-party vendors who are pre-qualified by Google to offer
+  high-quality professional translations at competitive prices.
+</p>
+
+<div style="float:left; width:48%; padding:8px;">
+  <img src="{@docRoot}images/gp-listing-3.jpg">
+</div>
+
+<div style="width:48%; padding:8px; float:left">
+  <img src="{@docRoot}images/gp-expand-2.jpg">
+</div>
+
+<div class="headerLine clearfloat">
+  <h1 id="testing-and-support">
+    Testing and Support
+  </h1>
+
+  <hr>
+</div>
+
+<p>
+  Before you launch, be sure to use our <a href=
+  "{@docRoot}distribute/googleplay/developer-console.html#alpha-beta">beta
+  testing</a> and <a href=
+  "{@docRoot}distribute/googleplay/developer-console.html#staged-rollouts">staged
+  rollouts</a> to identify and address issues before users can rate your app.
+  Feedback can be gathered using a <a href=
+  "https://support.google.com/groups/answer/46601">Google Group</a> or <a href=
+  "https://support.google.com/plus/topic/2888488">Google+ Community</a>. Watch
+  user sentiment and respond if necessary as you add countries.
+</p>
+
+<p>
+  After you launch, <strong>offer support hours in the local time zone in the
+  local language</strong>. When possible, having a local presence can
+  dramatically increase your daily active users and revenue. For example,
+  <a href="">this developer</a> was able to <strong>increase their revenue over
+  500% after creating a local presence</strong> in Asia and taking great care
+  of their users.
+</p>
+
+<div class="headerLine">
+  <h1 id="localize-your-google-play-listing">
+    Localize Your Google Play Store Listing
+  </h1>
+
+  <hr>
+</div>
+
+<div class="sidebox-wrapper" style="float:right;">
+  <div class="sidebox">
+    <p>
+      <strong>Tip:</strong> You can select regions, set regional pricing, and
+      localize your listing while maintaining only one APK.
+    </p>
+  </div>
+</div>
+
+<div class="figure">
+  <img src="{@docRoot}images/gp-buyer-currency.png" class="border-img">
+</div>
+
+<p>
+  Within your Google Play listing, you’ll need to set the regions in which your
+  apps will be available, set pricing for each, and customize your Google Play
+  listing to ensure it speaks to local audiences. You can change your country
+  and carrier targeting at any time just by saving changes in the Google Play
+  Developer Console.
+</p>
+
+<h3>
+  Region selection
+</h3>
+
+<p>
+  In the Developer Console, you can set the regions you make your app available
+  to, pricing in local currencies, and all Google Play listing marketing. You
+  can specify which countries and territories you want to distribute to, and
+  even which carriers (for some countries).
+</p>
+
+<h3>
+  Pricing
+</h3>
+
+<p>
+  When you start to address new markets you have several options for setting
+  the prices of your products: apps, in-app products, and subscriptions. You
+  can set a default price for each product and allow Google Play to adjust this
+  each month for changes in exchange rates, or manually set prices.
+</p>
+
+<p>
+  There are several reasons why it might be beneficial to set prices manually,
+  such as:
+</p>
+
+<ul>
+  <li>
+    <p>
+      Cost of living differences. To better target developing markets you may
+      consider offering your apps at a lower price to make them more affordable
+      in relation to local incomes.
+    </p>
+  </li>
+
+  <li>
+    <p>
+      Price perception. Users in some countries respond well to prices set to
+      x.99, while others prefer x.00 pricing.
+    </p>
+  </li>
+
+  <li>
+    <p>
+      Numerology. You may wish to avoid using certain numbers that are
+      considered unlucky, such as 13 or 4.
+    </p>
+  </li>
+
+  <li>
+    <p>
+      Competition. Your app may have local competition in some markets that you
+      need to account for.
+    </p>
+  </li>
+
+  <li>
+    <p>
+      Local trends and interests. Your apps may be able to bear a higher price
+      in some markets. For example, the interest in various sports varies
+      greatly from country to country.
+    </p>
+  </li>
+</ul>
+
+<p>
+  You may also want to run short-term promotions and discounts in specific
+  countries.
+</p>
+
+<p>
+  The <a href=
+  "{@docRoot}distribute/googleplay/developer-console.html#selling-pricing-your-products">
+  Pricing &amp; Distribution</a> section in the <a href=
+  "https://play.google.com/apps/publish/">Developer Console</a> is where you
+  set and manage regional distribution and local prices.
+</p>
+
+<h3>
+  Copy and creative
+</h3>
+
+<p>
+  To market to users around the world, <strong>localize your store listing,
+  including app details and description, promotional graphics, screenshots, and
+  more.</strong> Graphical assets and copy can be uploaded for each country you
+  are targeting.
+</p>
+
+<div>
+  <img src="{@docRoot}images/gp-expand-4.jpg" class="border-img">
+</div>
+
+<div>
+  <img src="{@docRoot}images/gp-expand-5.jpg" class="border-img">
+</div>
+
+<p>
+  Learn more about how to localize your <a href=
+  "{@docRoot}distribute/tools/launch-checklist.html#prepare-graphics">store
+  listing</a>.
+</p>
+
+<div class="headerLine">
+  <h1 id="marketing">
+    Marketing
+  </h1>
+
+  <hr>
+</div>
+
+<div class="figure">
+  <img src="{@docRoot}images/gp-badge-jp.png">
+</div>
+
+<p>
+  Just like your Google Play listing, all other marketing should be localized
+  to speak to the local audience. This includes images, colors, icons, and
+  audio. To maximize effectiveness, <strong>run promotions, contests, and
+  announcements at local time</strong>. You can build a localized <a href=
+  "{@docRoot}distribute/tools/promote/badges.html">Google Play badge</a> and
+  <a href="{@docRoot}distribute/tools/promote/device-art.html">device art</a>
+  for each language you support.
+</p>
+
+<div class="headerLine clearfloat"><h1 id="related-resources">Related Resources</h1><hr></div>
+
+<div class="resource-widget resource-flow-layout col-13"
+  data-query="collection:distribute/getusers/expandnewmarkets"
+  data-sortOrder="-timestamp"
+  data-cardSizes="6x3,6x3,6x3,6x3,6x3,6x3"
+  data-maxResults="6"></div>
diff --git a/docs/html/distribute/users/index.jd b/docs/html/distribute/users/index.jd
new file mode 100644
index 0000000..77ef609
--- /dev/null
+++ b/docs/html/distribute/users/index.jd
@@ -0,0 +1,30 @@
+page.title=Get Users
+section.landing=true
+nonavpage=true
+
+@jd:body
+
+<p>
+  You’ve published your app, now how do you acquire users? Every app and game
+  is different, but there are some common themes from successful Google Play
+  developers. These best practices are critical to your app or game’s success.
+</p>
+
+<div class="dynamic-grid">
+
+<div class="resource-widget resource-flow-layout landing col-16"
+  data-query="collection:distribute/users"
+  data-cardSizes="6x6, 6x6, 6x6, 9x6, 9x6, 6x6, 6x6, 6x6"
+  data-maxResults="8">
+</div>
+
+<h3>Related resources</h3>
+
+  <div class="resource-widget resource-flow-layout col-16"
+    data-query="type:youtube+tag:users,tag:global,type:blog+tag:users"
+    data-sortOrder="-timestamp"
+    data-cardSizes="6x3"
+    data-maxResults="6">
+  </div>
+  
+</div>
diff --git a/docs/html/distribute/users/know-your-user.jd b/docs/html/distribute/users/know-your-user.jd
new file mode 100644
index 0000000..fb91a05
--- /dev/null
+++ b/docs/html/distribute/users/know-your-user.jd
@@ -0,0 +1,153 @@
+page.title=Know Your User
+page.metaDescription=It\'s essential to understand your users and listen to their input. Here are some ideas.
+page.image=/distribute/images/know-your-user.jpg
+page.tags="users, growth, global"
+
+@jd:body
+
+<div style="width:100%">
+  <img src="{@docRoot}images/gp-androidify.png">
+</div>
+
+<p>
+  A key part of growing your apps' installed base is knowing more about your
+  users &mdash; how they discover your app, what devices they use, what they do
+  when they use your app, and how often they return to it.
+</p>
+
+<div class="headerLine">
+  <h1 id="read-ratings-comments">
+  Read Ratings Comments
+  </h1>
+
+  <hr>
+</div>
+
+<p>
+  The most obvious way to get to know your users is by reading review comments
+  for your apps on Google Play. While the details provided in reviews will vary
+  greatly, in addition to telling you about what users like and dislike in your
+  apps, they can also provide insight into your users’ motivations for using
+  your apps. And remember that users can update their ratings and comments
+  about an app when you fix issues.
+</p>
+
+<p>
+  Learn more about <a href=
+  "{@docRoot}distribute/essentials/optimizing-your-app.html#listen-to-your-users">
+  how to listen to users</a>.
+</p>
+
+<div>
+  <img src="{@docRoot}images/gp-your-user-0.jpg" class="border-img">
+  <p class="img-caption">
+  User ratings
+  </p>
+</div>
+
+<div class="headerLine">
+  <h1 id="start-community">
+  Start a Community
+  </h1>
+
+  <hr>
+</div>
+
+<p>
+  Another great way to get to know your users, learn who they are, and what
+  they are looking for, is to start a community. There are many support tools
+  you can use, from forums such as <a href="http://groups.google.com/">Google
+  Groups</a> to comprehensive customer support products. You can integrate some
+  directly into your apps. And once you deploy a support tool, make sure to
+  fill in the support link in your Google Play product details page.
+</p>
+
+<p>
+  <a href="{@docRoot}distribute/users/build-community.html">Learn more about
+  starting and managing a community</a>.
+</p>
+
+<div class="headerLine">
+  <h1 id="create-survey">
+  Create a Survey
+  </h1>
+
+  <hr>
+</div>
+
+<p>
+  Consider using a survey to gather information about your users and their
+  views on your apps. Compared to app reviews, a questionnaire enables you to
+  seek specific information. However use with care, as the creation of suitable
+  question is something of an art. Also consider providing an appropriate
+  incentive for completing the questionnaire, as too few responses can be worse
+  than no responses at all.
+</p>
+
+<p>
+  You can create a questionnaire with <a href=
+  "http://www.google.com/drive/apps.html#forms">Google Drive Forms</a> or use
+  one of the various third-party survey and questionnaire hosting tools
+  available, such as SurveyMonkey.
+</p>
+
+<div class="headerLine">
+  <h1 id="add-analytics">
+  Add Analytics to your Apps
+  </h1>
+
+  <hr>
+</div>
+
+<p>
+  Analytics data can tell you a lot about your users, by exposing their
+  behaviour in your apps. You can use <a href=
+  "http://android-developers.blogspot.com/2013/10/improved-app-insight-by-linking-google.html">
+  Google Analytics by linking it with your Google Play account</a> or use a
+  third-party analytics tool. Analytics tools can help you gather information
+  on app installs, feature popularity, unused features, and more. You can see
+  any usage pattern differences by region, device, time day and other
+  variables.
+</p>
+
+<p>
+  Read more about <a href=
+  "{@docRoot}distribute/essentials/optimizing-your-app.html#measuring-analyzing-responding">
+  measuring behavior</a>.
+</p>
+
+<div>
+  <img src="{@docRoot}images/gp-dc-stats.png" class="border-img">
+</div>
+
+<div class="headerLine">
+  <h1 id="use-google">
+  Use Google+
+  </h1>
+
+  <hr>
+</div>
+
+<p>
+  <a href="https://plus.google.com/">Google+</a> is a great way to gather user
+  feedback, announce surveys and contests, and see how users react to new
+  features and functionality. Many developers manage a Google+ page to
+  communicate with their users. It’s also a good way to get feedback from your
+  beta-testing. Some developers have a page for each of their apps. This is
+  especially true for game developers, who post challenges and tournaments.
+  Google+ can also be used to post game walkthroughs and tips.
+</p>
+
+<div>
+  <img src="{@docRoot}images/gp-your-user-2.jpg">
+</div>
+
+<div class="headerLine clearfloat">
+<h1 id="related-resources">Related Resources</h1><hr>
+</div>
+
+<div class="resource-widget resource-flow-layout col-13"
+  data-query="collection:distribute/users/knowyouruser"
+  data-sortOrder="-timestamp"
+  data-cardSizes="6x3"
+  data-maxResults="6"></div>
\ No newline at end of file
diff --git a/docs/html/distribute/users/users_toc.cs b/docs/html/distribute/users/users_toc.cs
new file mode 100644
index 0000000..a2437a6
--- /dev/null
+++ b/docs/html/distribute/users/users_toc.cs
@@ -0,0 +1,40 @@
+<ul id="nav">
+  <li class="nav-section">
+    <div class="nav-section empty" style="font-weight:normal"><a href="<?cs var:toroot?>distribute/users/know-your-user.html">
+            <span class="en">Know Your User</span></a>
+    </div>
+  </li>
+  <li class="nav-section">
+    <div class="nav-section empty" style="font-weight:normal"><a href="<?cs var:toroot?>distribute/users/your-listing.html">
+            <span class="en">Create a Great Listing</span>
+          </a>
+    </div>
+  </li>
+  <li class="nav-section">
+    <div class="nav-section empty" style="font-weight:normal"><a href="<?cs var:toroot?>distribute/users/build-buzz.html">
+          <span class="en">Build Buzz</span>
+        </a>
+    </div>
+  </li>
+  <li class="nav-section">
+    <div class="nav-section empty" style="font-weight:normal"><a href="<?cs var:toroot?>distribute/users/build-community.html">
+          <span class="en">Build Community</span>
+        </a>
+    </div>
+  </li>
+  <li class="nav-section">
+    <div class="nav-section empty" style="font-weight:normal"><a href="<?cs var:toroot?>distribute/users/expand-to-new-markets.html">
+          <span class="en">Expand to New Markets</span>
+        </a>
+    </div>
+  </li>
+
+</ul>
+
+
+<script type="text/javascript">
+<!--
+    buildToggleLists();
+    changeNavLang(getLangPref());
+//-->
+</script>
diff --git a/docs/html/distribute/users/your-listing.jd b/docs/html/distribute/users/your-listing.jd
new file mode 100644
index 0000000..cc72fff
--- /dev/null
+++ b/docs/html/distribute/users/your-listing.jd
@@ -0,0 +1,191 @@
+page.title=Create a Great Listing
+page.metaDescription=Make your listing page compelling and integrate it into your marketing campaigns.
+page.image=/distribute/images/create-listing.jpg
+page.tags="listing, google play, users, growth"
+
+@jd:body
+
+<p>
+  Your Google Play app listings are a vital part of your app marketing, from
+  organic traffic or visits you generate through marketing and promotion.
+  Potential users will quickly move on from a poor listing, so the importance
+  of having a great one can't be ignored.
+</p>
+
+<div class="headerLine">
+  <h1 id="graphics-imagery">
+    Graphics &amp; Imagery Tips
+  </h1>
+
+  <hr>
+</div>
+
+<p>
+  Be sure to supply a variety of high-quality graphic assets to showcase your
+  apps or brand on Google Play search results and your product details pages.
+  These graphic assets are key parts of successful product details pages that
+  attracts and engages users, so consider having a professional produce them
+  for you.
+</p>
+
+<div>
+  <img src="{@docRoot}images/gp-listing-0.jpg" class="border-img">
+</div>
+
+<h3>
+  Icons
+</h3>
+
+<p>
+  For most users, the <a href=
+  "{@docRoot}design/style/iconography.html#launcher">launcher icon</a>
+  (sometimes referred to as the app icon) is the first impression of your app.
+  As higher density screens on both phones and tablets gain popularity, it's
+  important to make sure your launcher icon is crisp and high quality. To do
+  this, make sure you’re including XHDPI (320dpi) and XXHDPI (480dpi) versions
+  of the icon in your apps. Learn more about <a href=
+  "http://android-developers.blogspot.com/2013/07/making-beautiful-android-app-icons.html">
+  Making Beautiful Android App Icons</a> from the <a href=
+  "http://android-developers.blogspot.com/">Android Developers blog</a>.
+</p>
+
+<div>
+  <img src="{@docRoot}images/gp-listing-1.png" class="border-img">
+</div>
+
+<h3>
+  Screenshots and videos
+</h3>
+
+<p>
+  Be sure to showcase how your apps look, their important features, and what
+  makes them different. Showcase any game play, characters, and their
+  personalities. Some developers build special screens to highlight what’s
+  happening in the screenshot, and extra video footage to highlight the brand.
+  Get more details <a href=
+  "{@docRoot}distribute/tools/launch-checklist.html#prepare-graphics">here</a>.
+</p>
+
+<div>
+  <img src="{@docRoot}images/gp-listing-2.jpg">
+</div>
+
+<div class="sidebox-wrapper" style="float:right;">
+  <div class="sidebox">
+    <p>
+      <strong>Tip:</strong> If your app runs on both phones and tablets, be
+      sure to include screenshots from both devices, including both horizontal
+      and portrait aspect ratios.
+    </p>
+  </div>
+</div>
+
+<h3>
+  Featured image
+</h3>
+
+<p>
+  Choosing the right featured image is important, it needs to convey as much
+  about the features of your apps and what makes them special as possible,
+  without being cluttered and confusing. Check out the <a href=
+  "http://android-developers.blogspot.com/">Android Developers blog</a> post
+  for more <a href=
+  "http://android-developers.blogspot.com/2011/10/android-market-featured-image.html">
+  Featured-Image Guidelines</a>.
+</p>
+
+<div class="headerLine clearfloat">
+  <h1 id="localization-tips">
+    Localization Tips
+  </h1>
+
+  <hr>
+</div>
+
+<div class="sidebox-wrapper" style="float:right;">
+  <div class="sidebox">
+    <p>
+      <strong>Tip:</strong> Translate any embedded text, use different imagery
+      or presentation, and match any marketing promotion to the needs of users
+      in other markets. For example: Some eastern markets respond to price
+      points that end in .00 or .05 more than .99.
+    </p>
+  </div>
+</div>
+
+<p>
+  Many developers start in their country of strength, then expand into new
+  markets. To help you market your apps more effectively to a global audience,
+  create <a href=
+  "http://android-developers.blogspot.com/2012/12/localize-your-promotional-graphics-on.html">
+  localized versions of your promotional graphics, screenshots, and videos</a>.
+  When a user visits your product display pages, Google Play will show the
+  localized assets that you’ve provided for that country. Find out more about
+  <a href="{@docRoot}distribute/users/expand-to-new-markets.html">capitalize on
+  the growing international audience</a>.
+</p>
+
+<div style="float:left;">
+  <img src="{@docRoot}images/gp-listing-3.jpg">
+</div>
+
+<div class="headerLine clearfloat">
+  <h1 id="keyword-tips">
+    Keyword Tips
+  </h1>
+
+  <hr>
+</div>
+
+<p>
+  Think carefully about the keywords you use for your apps. Think about words
+  that represent the core feature of your apps. Also consider other words that
+  the user might use to search for your app. For example, if you have a Live
+  Wallpaper app, you may want to include the term ‘background’. This way, users
+  who don’t yet know the terminology can find your app.
+</p>
+
+<div class="headerLine">
+  <h1 id="app-indexing">
+    Sign Up for App Indexing
+  </h1>
+
+  <hr>
+</div>
+
+<p>
+  App Indexing provides deep links from Google searches to your apps. Get more
+  details and a link to the sign up page <a href=
+  "https://developers.google.com/app-indexing/">here</a>.
+</p>
+
+<div class="center-img">
+  <img src="{@docRoot}images/gp-listing-4.jpg">
+</div>
+
+<div class="headerLine">
+  <h1 id="education-app">
+    Education App Tips
+  </h1>
+
+  <hr>
+</div>
+
+<p>
+  If you’ve an educational app for the K-12 market, include it in Google Play
+  for Education. Google Play for Education can help your innovative educational
+  apps gain visibility with the right audiences, without having to knock on
+  school doors. Learn more about <a href=
+  "{@docRoot}distribute/googleplay/edu/about.html">Google Play for
+  Education</a>.
+</p>
+
+<div class="headerLine">
+<h1 id="related-resources">Related Resources</h1><hr>
+</div>
+
+<div class="resource-widget resource-flow-layout col-13"
+  data-query="collection:distribute/users/createagreatlisting"
+  data-sortOrder="-timestamp"
+  data-cardSizes="6x3"
+  data-maxResults="6"></div>
\ No newline at end of file
diff --git a/docs/html/google/play/billing/billing_subscriptions.jd b/docs/html/google/play/billing/billing_subscriptions.jd
index aa25092..d0e6dc5 100644
--- a/docs/html/google/play/billing/billing_subscriptions.jd
+++ b/docs/html/google/play/billing/billing_subscriptions.jd
@@ -1,6 +1,10 @@
-page.title=Subscriptions
+page.title=Google Play In-App Subscriptions
 parent.title=In-app Billing
 parent.link=index.html
+page.metaDescription=Subscriptions let you sell content or features in your app with automated, recurring billing.
+page.image=/images/play_dev.jpg
+page.tags="inapp, iap, billing"
+meta.tags="monetization, inappbilling, subscriptions"
 @jd:body
 
 <div id="qv-wrapper">
diff --git a/docs/html/google/play/billing/billing_testing.jd b/docs/html/google/play/billing/billing_testing.jd
index 9d1964a..df6c657 100644
--- a/docs/html/google/play/billing/billing_testing.jd
+++ b/docs/html/google/play/billing/billing_testing.jd
@@ -367,6 +367,6 @@
 publish your application on Google Play. You can follow the normal steps for <a
 href="{@docRoot}tools/publishing/preparing.html">preparing</a>, <a
 href="{@docRoot}tools/publishing/app-signing.html">signing</a>, and <a
-href="{@docRoot}distribute/googleplay/publish/preparing.html">publishing on Google Play</a>.
+href="{@docRoot}distribute/tools/launch-checklist.html">publishing on Google Play</a>.
 </p>
 
diff --git a/docs/html/google/play/billing/index.jd b/docs/html/google/play/billing/index.jd
index 481a79c..dce20cb 100644
--- a/docs/html/google/play/billing/index.jd
+++ b/docs/html/google/play/billing/index.jd
@@ -1,4 +1,8 @@
 page.title=Google Play In-app Billing
+page.metaDescription=In-app Billing lets you sell digital content as one-time purchases or subscriptions.
+page.image=/images/play_dev.jpg
+meta.tags="monetizing, inappbilling, subscriptions"
+page.tags="inapp, iap, subscriptions"
 @jd:body
 
 <p>In-app Billing is a Google Play service that lets you sell digital content from inside
@@ -40,8 +44,6 @@
 
 <p>To get started, read the documents below or take the <a href="{@docRoot}training/in-app-billing/index.html">Selling 
     In-app Products</a> training class.</p>
-</div>
-</div>
 
 <dl>
   <dt><strong><a href="{@docRoot}google/play/billing/billing_overview.html">Overview</a></strong></dt>
diff --git a/docs/html/google/play/billing/v2/billing_subscriptions.jd b/docs/html/google/play/billing/v2/billing_subscriptions.jd
index 9c86e20..f8051a9 100644
--- a/docs/html/google/play/billing/v2/billing_subscriptions.jd
+++ b/docs/html/google/play/billing/v2/billing_subscriptions.jd
@@ -382,7 +382,7 @@
 startActivity(intent);</pre>
 
 <p>For more information, see 
-  <a href="{@docRoot}distribute/googleplay/promote/linking.html">Linking to Your Products</a>.</p>
+  <a href="{@docRoot}distribute/tools/promote/linking.html">Linking to Your Products</a>.</p>
 
 <h2 id="purchase-state-changes">Recurring Billing, Cancellation, and Changes In Purchase State</h2>
 
diff --git a/docs/html/google/play/expansion-files.jd b/docs/html/google/play/expansion-files.jd
index a21fbc5..e90f8fa 100644
--- a/docs/html/google/play/expansion-files.jd
+++ b/docs/html/google/play/expansion-files.jd
@@ -1,4 +1,6 @@
 page.title=APK Expansion Files
+page.metaDescription=If your app needs more than the 50MB APK max, use free APK expansion files from Google Play.
+page.tags="apk size, apk max, large assets"
 @jd:body
 
 
diff --git a/docs/html/google/play/licensing/adding-licensing.jd b/docs/html/google/play/licensing/adding-licensing.jd
index 93561f6..3bf4c1a 100644
--- a/docs/html/google/play/licensing/adding-licensing.jd
+++ b/docs/html/google/play/licensing/adding-licensing.jd
@@ -646,7 +646,7 @@
 deep-links the user to the application's details page on Google Play, from which the
 use can purchase the application. For more information on how to set up such
 links, see <a
-href="{@docRoot}distribute/googleplay/promote/linking.html">Linking to Your Products</a>. </li>
+href="{@docRoot}distribute/tools/promote/linking.html">Linking to Your Products</a>. </li>
 <li>Display a Toast notification that indicates that the features of the
 application are limited because it is not licensed. </li>
 </ul>
@@ -988,7 +988,7 @@
 publish the application on Google Play. Follow the normal steps to <a
 href="{@docRoot}tools/publishing/preparing.html">prepare</a>, <a
 href="{@docRoot}tools/publishing/app-signing.html">sign</a>, and then <a
-href="{@docRoot}distribute/googleplay/publish/preparing.html">publish the application</a>.
+href="{@docRoot}distribute/tools/launch-checklist.html">publish the application</a>.
 </p>
 
 
diff --git a/docs/html/google/play/licensing/index.jd b/docs/html/google/play/licensing/index.jd
index 6632fc0..a7ae57a 100644
--- a/docs/html/google/play/licensing/index.jd
+++ b/docs/html/google/play/licensing/index.jd
@@ -1,4 +1,7 @@
-page.title=Application Licensing
+page.title=App Licensing
+page.metaDescription=Information on using the licensing feature of Google Play to protect your apps.
+meta.tags="licensing, drm"
+page.image=/assets/images/resource-card-default-android.jpg
 @jd:body
 
 
diff --git a/docs/html/google/play/licensing/setting-up.jd b/docs/html/google/play/licensing/setting-up.jd
index d83f91b..f43e4aba 100644
--- a/docs/html/google/play/licensing/setting-up.jd
+++ b/docs/html/google/play/licensing/setting-up.jd
@@ -42,7 +42,7 @@
 using your Google account and agree to the Google Play terms of service.</p>
 
 <p>For more information, see <a
-href="{@docRoot}distribute/googleplay/publish/register.html">Get Started with Publishing</a>.</p>
+href="{@docRoot}distribute/googleplay/start.html">Get Started with Publishing</a>.</p>
 
 <p>If you already have a publisher account on Google Play, use your
 Developer Console to set up licensing.</p>
diff --git a/docs/html/guide/components/index.jd b/docs/html/guide/components/index.jd
index 37fb7e9..811d015 100644
--- a/docs/html/guide/components/index.jd
+++ b/docs/html/guide/components/index.jd
@@ -1,7 +1,9 @@
 page.title=App Components
 page.landing=true
 page.landing.intro=Android's application framework lets you create rich and innovative apps using a set of reusable components. This section explains how you can build the components that define the building blocks of your app and how to connect them together using intents. 
+page.metaDescription=Android's application framework lets you create rich and innovative apps using a set of reusable components. This section explains how you can build the components that define the building blocks of your app and how to connect them together using intents. 
 page.landing.image=images/develop/app_components.png
+page.image=images/develop/app_components.png
 
 @jd:body
 
diff --git a/docs/html/guide/components/intents-common.jd b/docs/html/guide/components/intents-common.jd
index a0f7ce1..b4813a5 100644
--- a/docs/html/guide/components/intents-common.jd
+++ b/docs/html/guide/components/intents-common.jd
@@ -737,7 +737,7 @@
 <pre>
 public void editContact(Uri contactUri, String email) {
     Intent intent = new Intent(Intent.ACTION_EDIT);
-    intent.setDataAndType(contactUri, Contacts.CONTENT_TYPE);
+    intent.setData(contactUri);
     intent.putExtra(Intents.Insert.EMAIL, email);
     if (intent.resolveActivity(getPackageManager()) != null) {
         startActivity(intent);
diff --git a/docs/html/guide/practices/screens_support.jd b/docs/html/guide/practices/screens_support.jd
index 8c76411..dbe6c1a 100644
--- a/docs/html/guide/practices/screens_support.jd
+++ b/docs/html/guide/practices/screens_support.jd
@@ -1,4 +1,7 @@
 page.title=Supporting Multiple Screens
+page.metaDescription=Nanaging UIs for the best display on multiple screen sizes.
+meta.tags="multiple screens"
+
 @jd:body
 
 <div id="qv-wrapper">
diff --git a/docs/html/guide/topics/manifest/uses-feature-element.jd b/docs/html/guide/topics/manifest/uses-feature-element.jd
index d421591..814396c 100644
--- a/docs/html/guide/topics/manifest/uses-feature-element.jd
+++ b/docs/html/guide/topics/manifest/uses-feature-element.jd
@@ -684,7 +684,7 @@
   <td>The application requires landscape orientation.</td>
   <td rowspan="2">
      <p>For example, if your app requires portrait orientation, you should declare
-<code>&lt;uses-feature android:name="android.hardware.screen.portrait"/></code> so that only devices
+<code>&lt;uses-feature android:name="android.hardware.screen.portrait"/&gt;</code> so that only devices
 that support portrait orientation (whether always or by user choice) can install your app. If your
 application <em>supports</em> both orientations, then you don't need to declare either.</p>
     <p>Both orientations are assumed <em>not required</em>, by default, so your app may be installed
diff --git a/docs/html/guide/topics/resources/index.jd b/docs/html/guide/topics/resources/index.jd
index 386abf5..b85170b 100644
--- a/docs/html/guide/topics/resources/index.jd
+++ b/docs/html/guide/topics/resources/index.jd
@@ -2,6 +2,8 @@
 page.landing=true
 page.landing.intro=It takes more than just code to build a great app. Resources are the additional files and static content that your code uses, such as bitmaps, layout definitions, user interface strings, animation instructions, and more.  
 page.landing.image=images/develop/resources.png
+page.image=/images/develop/resources.png
+page.metaDescription=Developer guide about how to use resources in your Android apps.
 
 @jd:body
 
diff --git a/docs/html/guide/topics/resources/localization.jd b/docs/html/guide/topics/resources/localization.jd
index 7288aeb..e86d4c9 100644
--- a/docs/html/guide/topics/resources/localization.jd
+++ b/docs/html/guide/topics/resources/localization.jd
@@ -25,7 +25,7 @@
 
 <h2>See also</h2>
   <ol>
-    <li><a href="{@docRoot}distribute/googleplay/publish/localizing.html">Localization Checklist</a></li>
+    <li><a href="{@docRoot}distribute/tools/localization-checklist.html">Localization Checklist</a></li>
     <li><a href="{@docRoot}guide/topics/resources/providing-resources.html">Providing Resources</a></li>
     <li><a href="{@docRoot}guide/topics/ui/declaring-layout.html">Layouts</a></li>
     <li><a href="{@docRoot}reference/android/app/Activity.html#ActivityLifecycle">Activity Lifecycle</a></li>
@@ -307,7 +307,7 @@
 <h2 id="checklist">Localization Checklist</h2>
 
 <p>For a complete overview of the process of localizing and distributing an Android application,
-see the <a href="{@docRoot}distribute/googleplay/publish/localizing.html">Localization
+see the <a href="{@docRoot}distribute/tools/localization-checklist.html">Localization
 Checklist</a> document.</p>
 
 <h2 id="strategies">Localization Tips</h2>
diff --git a/docs/html/guide/topics/resources/string-resource.jd b/docs/html/guide/topics/resources/string-resource.jd
index 5a96ba1..e2326ec 100644
--- a/docs/html/guide/topics/resources/string-resource.jd
+++ b/docs/html/guide/topics/resources/string-resource.jd
@@ -20,9 +20,6 @@
 information about styling and formatting strings, see the section about <a
 href="#FormattingAndStyling">Formatting and Styling</a>.</p>
 
-
-
-
 <h2 id="String">String</h2>
 
 <p>A single string that can be referenced from the application or from other resource files (such
@@ -433,7 +430,7 @@
 
 
 
-<h3>Styling with HTML markup</h3>
+<h3 id="StylingWithHTML">Styling with HTML markup</h3>
 
 <p>You can add styling to your strings with HTML markup. For example:</p>
 <pre>
@@ -497,5 +494,107 @@
 CharSequence styledText = Html.fromHtml(text);
 </pre>
 
+<h2 id="StylingWithSpannables">Styling with Spannables</h2>
+<p>
+A {@link android.text.Spannable} is a text object that you can style with
+typeface properties such as color and font weight. You use
+{@link android.text.SpannableStringBuilder} to build
+your text and then apply styles defined in the {@link android.text.style}
+package to the text.
+</p>
 
+<p>You can use the following helper methods to set up much of the work
+of creating spannable text:</p>
 
+<pre style="pretty-print">
+/**
+ * Returns a CharSequence that concatenates the specified array of CharSequence
+ * objects and then applies a list of zero or more tags to the entire range.
+ *
+ * @param content an array of character sequences to apply a style to
+ * @param tags the styled span objects to apply to the content
+ *        such as android.text.style.StyleSpan
+ *
+ */
+private static CharSequence apply(CharSequence[] content, Object... tags) {
+    SpannableStringBuilder text = new SpannableStringBuilder();
+    openTags(text, tags);
+    for (CharSequence item : content) {
+        text.append(item);
+    }
+    closeTags(text, tags);
+    return text;
+}
+
+/**
+ * Iterates over an array of tags and applies them to the beginning of the specified
+ * Spannable object so that future text appended to the text will have the styling
+ * applied to it. Do not call this method directly.
+ */
+private static void openTags(Spannable text, Object[] tags) {
+    for (Object tag : tags) {
+        text.setSpan(tag, 0, 0, Spannable.SPAN_MARK_MARK);
+    }
+}
+
+/**
+ * "Closes" the specified tags on a Spannable by updating the spans to be
+ * endpoint-exclusive so that future text appended to the end will not take
+ * on the same styling. Do not call this method directly.
+ */
+private static void closeTags(Spannable text, Object[] tags) {
+    int len = text.length();
+    for (Object tag : tags) {
+        if (len > 0) {
+            text.setSpan(tag, 0, len, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
+        } else {
+            text.removeSpan(tag);
+        }
+    }
+}
+</pre>
+
+<p>
+The following <code>bold</code>, <code>italic</code>, and <code>color</code>
+methods show you how to call the helper methods to apply
+styles defined in the {@link android.text.style} package. You
+can create similar methods to do other types of text styling.
+</p>
+
+<pre style="pretty-print">
+/**
+ * Returns a CharSequence that applies boldface to the concatenation
+ * of the specified CharSequence objects.
+ */
+public static CharSequence bold(CharSequence... content) {
+    return apply(content, new StyleSpan(Typeface.BOLD));
+}
+
+/**
+ * Returns a CharSequence that applies italics to the concatenation
+ * of the specified CharSequence objects.
+ */
+public static CharSequence italic(CharSequence... content) {
+    return apply(content, new StyleSpan(Typeface.ITALIC));
+}
+
+/**
+ * Returns a CharSequence that applies a foreground color to the
+ * concatenation of the specified CharSequence objects.
+ */
+public static CharSequence color(int color, CharSequence... content) {
+    return apply(content, new ForegroundColorSpan(color));
+}
+</pre>
+
+<p>
+Here's an example of how to chain these methods to create a character sequence
+with different types of styling applied to individual words:
+</p>
+
+<pre style="pretty-print">
+// Create an italic "hello, " a red "world",
+// and bold the entire sequence.
+CharSequence text = bold(italic(res.getString(R.string.hello)),
+    color(Color.RED, res.getString(R.string.world)));
+</pre>
\ No newline at end of file
diff --git a/docs/html/guide/topics/ui/accessibility/index.jd b/docs/html/guide/topics/ui/accessibility/index.jd
index 56efc4c..dcc22d7 100644
--- a/docs/html/guide/topics/ui/accessibility/index.jd
+++ b/docs/html/guide/topics/ui/accessibility/index.jd
@@ -1,5 +1,9 @@
 page.title=Accessibility
 parent.title=User Interface
+page.metaDescription=How to make your apps accessible to users with visual, physical, or other limitations. Robust support will increase your app's user base.
+
+page.tags="accessibility"
+page.image=/design/media/accessibility_contentdesc.png
 parent.link=../index.html
 @jd:body
 
diff --git a/docs/html/guide/topics/ui/notifiers/notifications.jd b/docs/html/guide/topics/ui/notifiers/notifications.jd
index 3b1292e..59c2269 100644
--- a/docs/html/guide/topics/ui/notifiers/notifications.jd
+++ b/docs/html/guide/topics/ui/notifiers/notifications.jd
@@ -16,6 +16,7 @@
       <li><a href="#Required">Required notification contents</a></li>
       <li><a href="#Optional">Optional notification contents and settings</a></li>
       <li><a href="#Actions">Notification actions</a></li>
+      <li><a href="#Priority">Notification priority</a></li>
       <li><a href="#SimpleNotification">Creating a simple notification</a></li>
       <li><a href="#ApplyStyle">Applying a big view style to a notification</a></li>
       <li><a href="#Compatibility">Handling compatibility</a></li>
@@ -290,6 +291,26 @@
     {@link android.support.v4.app.NotificationCompat.Builder}.
 </p>
 <!-- ------------------------------------------------------------------------------------------ -->
+<h3 id="Priority">Notification priority</h3>
+<p>
+    If you wish, you can set the priority of a notification. The priority acts
+    as a hint to the device UI about how the notification should be displayed.
+    To set a notification's priority, call {@link
+    android.support.v4.app.NotificationCompat.Builder#setPriority(int)
+    NotificationCompat.Builder.setPriority()} and pass in one of the {@link
+    android.support.v4.app.NotificationCompat} priority constants. There are
+    five priority levels, ranging from {@link
+    android.support.v4.app.NotificationCompat#PRIORITY_MIN} (-2) to {@link
+    android.support.v4.app.NotificationCompat#PRIORITY_MAX} (2); if not set, the
+    priority defaults to {@link
+    android.support.v4.app.NotificationCompat#PRIORITY_DEFAULT} (0).
+</p>
+<p> For information about setting an appropriate priority level, see "Correctly
+    set and manage notification priority" in the <a
+    href="{@docRoot}design/patterns/notifications.html">Notifications</a> Design
+    guide.
+</p>
+<!-- ------------------------------------------------------------------------------------------ -->
 <h3 id="SimpleNotification">Creating a simple notification</h3>
 <p>
     The following snippet illustrates a simple notification that specifies an activity to open when
diff --git a/docs/html/images/blog.jpg b/docs/html/images/blog.jpg
new file mode 100644
index 0000000..a3ee7d8
--- /dev/null
+++ b/docs/html/images/blog.jpg
Binary files differ
diff --git a/docs/html/images/device-art-ex-crop.jpg b/docs/html/images/device-art-ex-crop.jpg
new file mode 100644
index 0000000..42c769b
--- /dev/null
+++ b/docs/html/images/device-art-ex-crop.jpg
Binary files differ
diff --git a/docs/html/images/gp-about-0.jpg b/docs/html/images/gp-about-0.jpg
new file mode 100644
index 0000000..2dd6a8c
--- /dev/null
+++ b/docs/html/images/gp-about-0.jpg
Binary files differ
diff --git a/docs/html/images/gp-about-listing.jpg b/docs/html/images/gp-about-listing.jpg
new file mode 100644
index 0000000..256c051
--- /dev/null
+++ b/docs/html/images/gp-about-listing.jpg
Binary files differ
diff --git a/docs/html/images/gp-about-picks1.jpg b/docs/html/images/gp-about-picks1.jpg
new file mode 100644
index 0000000..555bd7b
--- /dev/null
+++ b/docs/html/images/gp-about-picks1.jpg
Binary files differ
diff --git a/docs/html/images/gp-about-picks2.jpg b/docs/html/images/gp-about-picks2.jpg
new file mode 100644
index 0000000..ec25e74
--- /dev/null
+++ b/docs/html/images/gp-about-picks2.jpg
Binary files differ
diff --git a/docs/html/images/gp-about-picks3.jpg b/docs/html/images/gp-about-picks3.jpg
new file mode 100644
index 0000000..eb57da9
--- /dev/null
+++ b/docs/html/images/gp-about-picks3.jpg
Binary files differ
diff --git a/docs/html/images/gp-about-top.jpg b/docs/html/images/gp-about-top.jpg
new file mode 100644
index 0000000..01a2744
--- /dev/null
+++ b/docs/html/images/gp-about-top.jpg
Binary files differ
diff --git a/docs/html/images/gp-androidify.png b/docs/html/images/gp-androidify.png
new file mode 100644
index 0000000..122d596
--- /dev/null
+++ b/docs/html/images/gp-androidify.png
Binary files differ
diff --git a/docs/html/images/gp-apps-home.png b/docs/html/images/gp-apps-home.png
deleted file mode 100644
index 851f722..0000000
--- a/docs/html/images/gp-apps-home.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/images/gp-badge-jp.png b/docs/html/images/gp-badge-jp.png
new file mode 100644
index 0000000..00b5d1f
--- /dev/null
+++ b/docs/html/images/gp-badge-jp.png
Binary files differ
diff --git a/docs/html/images/gp-badges-set.png b/docs/html/images/gp-badges-set.png
new file mode 100644
index 0000000..e2e0e94
--- /dev/null
+++ b/docs/html/images/gp-badges-set.png
Binary files differ
diff --git a/docs/html/images/gp-balance.png b/docs/html/images/gp-balance.png
new file mode 100644
index 0000000..7802bcc
--- /dev/null
+++ b/docs/html/images/gp-balance.png
Binary files differ
diff --git a/docs/html/images/gp-build-buzz-yt.png b/docs/html/images/gp-build-buzz-yt.png
new file mode 100644
index 0000000..7901aa5
--- /dev/null
+++ b/docs/html/images/gp-build-buzz-yt.png
Binary files differ
diff --git a/docs/html/images/gp-buzz-1.jpg b/docs/html/images/gp-buzz-1.jpg
new file mode 100644
index 0000000..ce2444b
--- /dev/null
+++ b/docs/html/images/gp-buzz-1.jpg
Binary files differ
diff --git a/docs/html/images/gp-collectibles.png b/docs/html/images/gp-collectibles.png
deleted file mode 100644
index a63cd50..0000000
--- a/docs/html/images/gp-collectibles.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/images/gp-community-0.png b/docs/html/images/gp-community-0.png
new file mode 100644
index 0000000..bb8fde2
--- /dev/null
+++ b/docs/html/images/gp-community-0.png
Binary files differ
diff --git a/docs/html/images/gp-core-quality.png b/docs/html/images/gp-core-quality.png
new file mode 100644
index 0000000..196459f
--- /dev/null
+++ b/docs/html/images/gp-core-quality.png
Binary files differ
diff --git a/docs/html/images/gp-dc-ab.png b/docs/html/images/gp-dc-ab.png
new file mode 100644
index 0000000..0604a1b
--- /dev/null
+++ b/docs/html/images/gp-dc-ab.png
Binary files differ
diff --git a/docs/html/images/gp-dc-inapp.jpg b/docs/html/images/gp-dc-inapp.jpg
new file mode 100644
index 0000000..e830e31
--- /dev/null
+++ b/docs/html/images/gp-dc-inapp.jpg
Binary files differ
diff --git a/docs/html/images/gp-dc-invite.png b/docs/html/images/gp-dc-invite.png
new file mode 100644
index 0000000..403b53d
--- /dev/null
+++ b/docs/html/images/gp-dc-invite.png
Binary files differ
diff --git a/docs/html/images/gp-dc-startscreen.jpg b/docs/html/images/gp-dc-startscreen.jpg
new file mode 100644
index 0000000..afaa91b
--- /dev/null
+++ b/docs/html/images/gp-dc-startscreen.jpg
Binary files differ
diff --git a/docs/html/images/gp-details-pages-magicpiano.png b/docs/html/images/gp-details-pages-magicpiano.png
deleted file mode 100644
index 4bb1962..0000000
--- a/docs/html/images/gp-details-pages-magicpiano.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/images/gp-details-ww.png b/docs/html/images/gp-details-ww.png
deleted file mode 100644
index ccc522c..0000000
--- a/docs/html/images/gp-details-ww.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/images/gp-e-value.png b/docs/html/images/gp-e-value.png
new file mode 100644
index 0000000..86c8f86
--- /dev/null
+++ b/docs/html/images/gp-e-value.png
Binary files differ
diff --git a/docs/html/images/gp-ecom-0.png b/docs/html/images/gp-ecom-0.png
new file mode 100644
index 0000000..22b6040
--- /dev/null
+++ b/docs/html/images/gp-ecom-0.png
Binary files differ
diff --git a/docs/html/images/gp-edu-monetize.png b/docs/html/images/gp-edu-monetize.png
new file mode 100644
index 0000000..6db273c
--- /dev/null
+++ b/docs/html/images/gp-edu-monetize.png
Binary files differ
diff --git a/docs/html/images/gp-edu-optin-console.jpg b/docs/html/images/gp-edu-optin-console.jpg
new file mode 100644
index 0000000..239b966
--- /dev/null
+++ b/docs/html/images/gp-edu-optin-console.jpg
Binary files differ
diff --git a/docs/html/images/gp-edu-quality.png b/docs/html/images/gp-edu-quality.png
new file mode 100644
index 0000000..b103483
--- /dev/null
+++ b/docs/html/images/gp-edu-quality.png
Binary files differ
diff --git a/docs/html/images/gp-engage-0.jpg b/docs/html/images/gp-engage-0.jpg
new file mode 100644
index 0000000..b4f44b5
--- /dev/null
+++ b/docs/html/images/gp-engage-0.jpg
Binary files differ
diff --git a/docs/html/images/gp-engage-5.jpg b/docs/html/images/gp-engage-5.jpg
new file mode 100644
index 0000000..10fa0c2
--- /dev/null
+++ b/docs/html/images/gp-engage-5.jpg
Binary files differ
diff --git a/docs/html/images/gp-engage-6.jpg b/docs/html/images/gp-engage-6.jpg
new file mode 100644
index 0000000..2da09e1
--- /dev/null
+++ b/docs/html/images/gp-engage-6.jpg
Binary files differ
diff --git a/docs/html/images/gp-engage-9.jpg b/docs/html/images/gp-engage-9.jpg
new file mode 100644
index 0000000..46b94f0
--- /dev/null
+++ b/docs/html/images/gp-engage-9.jpg
Binary files differ
diff --git a/docs/html/images/gp-engage-share-plus.png b/docs/html/images/gp-engage-share-plus.png
new file mode 100644
index 0000000..a1aa46e
--- /dev/null
+++ b/docs/html/images/gp-engage-share-plus.png
Binary files differ
diff --git a/docs/html/images/gp-engage-smule.jpg b/docs/html/images/gp-engage-smule.jpg
new file mode 100644
index 0000000..087da79
--- /dev/null
+++ b/docs/html/images/gp-engage-smule.jpg
Binary files differ
diff --git a/docs/html/images/gp-expand-2.jpg b/docs/html/images/gp-expand-2.jpg
new file mode 100644
index 0000000..a7b6916
--- /dev/null
+++ b/docs/html/images/gp-expand-2.jpg
Binary files differ
diff --git a/docs/html/images/gp-expand-4.jpg b/docs/html/images/gp-expand-4.jpg
new file mode 100644
index 0000000..1d5b1a1
--- /dev/null
+++ b/docs/html/images/gp-expand-4.jpg
Binary files differ
diff --git a/docs/html/images/gp-expand-5.jpg b/docs/html/images/gp-expand-5.jpg
new file mode 100644
index 0000000..b2b22643
--- /dev/null
+++ b/docs/html/images/gp-expand-5.jpg
Binary files differ
diff --git a/docs/html/images/gp-freemium-0.jpg b/docs/html/images/gp-freemium-0.jpg
new file mode 100644
index 0000000..767c1f3
--- /dev/null
+++ b/docs/html/images/gp-freemium-0.jpg
Binary files differ
diff --git a/docs/html/images/gp-freemium-1.jpg b/docs/html/images/gp-freemium-1.jpg
new file mode 100644
index 0000000..1e509c5
--- /dev/null
+++ b/docs/html/images/gp-freemium-1.jpg
Binary files differ
diff --git a/docs/html/images/gp-games-home.png b/docs/html/images/gp-games-home.png
deleted file mode 100644
index 81b7f7a..0000000
--- a/docs/html/images/gp-games-home.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/images/gp-growth-downloads.png b/docs/html/images/gp-growth-downloads.png
deleted file mode 100644
index 4a4b194..0000000
--- a/docs/html/images/gp-growth-downloads.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/images/gp-launch-checklist-1.png b/docs/html/images/gp-launch-checklist-1.png
new file mode 100644
index 0000000..069cd69
--- /dev/null
+++ b/docs/html/images/gp-launch-checklist-1.png
Binary files differ
diff --git a/docs/html/images/gp-linking-ex-crop.png b/docs/html/images/gp-linking-ex-crop.png
new file mode 100644
index 0000000..c108651
--- /dev/null
+++ b/docs/html/images/gp-linking-ex-crop.png
Binary files differ
diff --git a/docs/html/images/gp-listing-0.jpg b/docs/html/images/gp-listing-0.jpg
new file mode 100644
index 0000000..a204f9f
--- /dev/null
+++ b/docs/html/images/gp-listing-0.jpg
Binary files differ
diff --git a/docs/html/images/gp-listing-1.png b/docs/html/images/gp-listing-1.png
new file mode 100644
index 0000000..ed15d96
--- /dev/null
+++ b/docs/html/images/gp-listing-1.png
Binary files differ
diff --git a/docs/html/images/gp-listing-2.jpg b/docs/html/images/gp-listing-2.jpg
new file mode 100644
index 0000000..73304f4
--- /dev/null
+++ b/docs/html/images/gp-listing-2.jpg
Binary files differ
diff --git a/docs/html/images/gp-listing-3.jpg b/docs/html/images/gp-listing-3.jpg
new file mode 100644
index 0000000..a4def2e
--- /dev/null
+++ b/docs/html/images/gp-listing-3.jpg
Binary files differ
diff --git a/docs/html/images/gp-listing-4.jpg b/docs/html/images/gp-listing-4.jpg
new file mode 100644
index 0000000..f580f86
--- /dev/null
+++ b/docs/html/images/gp-listing-4.jpg
Binary files differ
diff --git a/docs/html/images/gp-localization-trans-0.png b/docs/html/images/gp-localization-trans-0.png
new file mode 100644
index 0000000..2e7b73e
--- /dev/null
+++ b/docs/html/images/gp-localization-trans-0.png
Binary files differ
diff --git a/docs/html/images/gp-optimize-analytics.png b/docs/html/images/gp-optimize-analytics.png
new file mode 100644
index 0000000..81298d0
--- /dev/null
+++ b/docs/html/images/gp-optimize-analytics.png
Binary files differ
diff --git a/docs/html/images/gp-optimize-speed.png b/docs/html/images/gp-optimize-speed.png
new file mode 100644
index 0000000..6ebb995
--- /dev/null
+++ b/docs/html/images/gp-optimize-speed.png
Binary files differ
diff --git a/docs/html/images/gp-optimize.png b/docs/html/images/gp-optimize.png
new file mode 100644
index 0000000..e8388ea
--- /dev/null
+++ b/docs/html/images/gp-optimize.png
Binary files differ
diff --git a/docs/html/images/gp-optimizing-chat-bubbles.png b/docs/html/images/gp-optimizing-chat-bubbles.png
new file mode 100644
index 0000000..71ac767
--- /dev/null
+++ b/docs/html/images/gp-optimizing-chat-bubbles.png
Binary files differ
diff --git a/docs/html/images/gp-optimizing-image-4.jpg b/docs/html/images/gp-optimizing-image-4.jpg
new file mode 100644
index 0000000..949ca81
--- /dev/null
+++ b/docs/html/images/gp-optimizing-image-4.jpg
Binary files differ
diff --git a/docs/html/images/gp-payments-1.png b/docs/html/images/gp-payments-1.png
new file mode 100644
index 0000000..6eaca93
--- /dev/null
+++ b/docs/html/images/gp-payments-1.png
Binary files differ
diff --git a/docs/html/images/gp-policy-ads-eula-violation.png b/docs/html/images/gp-policy-ads-eula-violation.png
deleted file mode 100644
index 204c320..0000000
--- a/docs/html/images/gp-policy-ads-eula-violation.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/images/gp-policy-ads-impersonate-violation-app-ui.png b/docs/html/images/gp-policy-ads-impersonate-violation-app-ui.png
deleted file mode 100644
index a2a39a9..0000000
--- a/docs/html/images/gp-policy-ads-impersonate-violation-app-ui.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/images/gp-policy-ads-impersonate-violation-sys-warning.png b/docs/html/images/gp-policy-ads-impersonate-violation-sys-warning.png
deleted file mode 100644
index f323b06..0000000
--- a/docs/html/images/gp-policy-ads-impersonate-violation-sys-warning.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/images/gp-policy-ads-impersonate-violation.png b/docs/html/images/gp-policy-ads-impersonate-violation.png
deleted file mode 100644
index 385ae6e..0000000
--- a/docs/html/images/gp-policy-ads-impersonate-violation.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/images/gp-policy-ads-interstitial-violation.png b/docs/html/images/gp-policy-ads-interstitial-violation.png
deleted file mode 100644
index 4871493..0000000
--- a/docs/html/images/gp-policy-ads-interstitial-violation.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/images/gp-policy-ads-maturity-violation.png b/docs/html/images/gp-policy-ads-maturity-violation.png
deleted file mode 100644
index d41870e..0000000
--- a/docs/html/images/gp-policy-ads-maturity-violation.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/images/gp-policy-ads-notif-attr-violation.png b/docs/html/images/gp-policy-ads-notif-attr-violation.png
deleted file mode 100644
index 3d6393b..0000000
--- a/docs/html/images/gp-policy-ads-notif-attr-violation.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/images/gp-policy-ads-notif-attr.png b/docs/html/images/gp-policy-ads-notif-attr.png
deleted file mode 100644
index da39cfb..0000000
--- a/docs/html/images/gp-policy-ads-notif-attr.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/images/gp-policy-ads-paywall-violation.png b/docs/html/images/gp-policy-ads-paywall-violation.png
deleted file mode 100644
index 8bbfd1b..0000000
--- a/docs/html/images/gp-policy-ads-paywall-violation.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/images/gp-policy-ads-paywall.png b/docs/html/images/gp-policy-ads-paywall.png
deleted file mode 100644
index e7b1e19..0000000
--- a/docs/html/images/gp-policy-ads-paywall.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/images/gp-policy-ads-terms.png b/docs/html/images/gp-policy-ads-terms.png
deleted file mode 100644
index dcbdf4a..0000000
--- a/docs/html/images/gp-policy-ads-terms.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/images/gp-policy-ip-copyright-violation.png b/docs/html/images/gp-policy-ip-copyright-violation.png
deleted file mode 100644
index a4e96a8..0000000
--- a/docs/html/images/gp-policy-ip-copyright-violation.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/images/gp-policy-ip-impersonation-violation.png b/docs/html/images/gp-policy-ip-impersonation-violation.png
deleted file mode 100644
index b1d9923..0000000
--- a/docs/html/images/gp-policy-ip-impersonation-violation.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/images/gp-policy-ip-trademark-violation.png b/docs/html/images/gp-policy-ip-trademark-violation.png
deleted file mode 100644
index c05b67b..0000000
--- a/docs/html/images/gp-policy-ip-trademark-violation.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/images/gp-policy-spam-negreview.png b/docs/html/images/gp-policy-spam-negreview.png
deleted file mode 100644
index f68eba3..0000000
--- a/docs/html/images/gp-policy-spam-negreview.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/images/gp-policy-spam-reqrating.png b/docs/html/images/gp-policy-spam-reqrating.png
deleted file mode 100644
index 20e17c1..0000000
--- a/docs/html/images/gp-policy-spam-reqrating.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/images/gp-premium-0.png b/docs/html/images/gp-premium-0.png
new file mode 100644
index 0000000..4bacc25
--- /dev/null
+++ b/docs/html/images/gp-premium-0.png
Binary files differ
diff --git a/docs/html/images/gp-rating-web.png b/docs/html/images/gp-rating-web.png
index 0885826..14582af 100644
--- a/docs/html/images/gp-rating-web.png
+++ b/docs/html/images/gp-rating-web.png
Binary files differ
diff --git a/docs/html/images/gp-sendto.png b/docs/html/images/gp-sendto.png
deleted file mode 100644
index 7409c14..0000000
--- a/docs/html/images/gp-sendto.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/images/gp-start-button.png b/docs/html/images/gp-start-button.png
new file mode 100644
index 0000000..fa3d5e1
--- /dev/null
+++ b/docs/html/images/gp-start-button.png
Binary files differ
diff --git a/docs/html/images/gp-start-wallet-icon.png b/docs/html/images/gp-start-wallet-icon.png
new file mode 100644
index 0000000..3ecbcf6
--- /dev/null
+++ b/docs/html/images/gp-start-wallet-icon.png
Binary files differ
diff --git a/docs/html/images/gp-subs.png b/docs/html/images/gp-subs.png
deleted file mode 100644
index 9b3a7df..0000000
--- a/docs/html/images/gp-subs.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/images/gp-subscription-0.jpg b/docs/html/images/gp-subscription-0.jpg
new file mode 100644
index 0000000..0c4b389
--- /dev/null
+++ b/docs/html/images/gp-subscription-0.jpg
Binary files differ
diff --git a/docs/html/images/gp-tab.png b/docs/html/images/gp-tab.png
deleted file mode 100644
index 4673d21..0000000
--- a/docs/html/images/gp-tab.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/images/gp-tablet-quality-4.jpg b/docs/html/images/gp-tablet-quality-4.jpg
new file mode 100644
index 0000000..33dfcbd
--- /dev/null
+++ b/docs/html/images/gp-tablet-quality-4.jpg
Binary files differ
diff --git a/docs/html/images/gp-tablet-quality-5.jpg b/docs/html/images/gp-tablet-quality-5.jpg
new file mode 100644
index 0000000..668482a
--- /dev/null
+++ b/docs/html/images/gp-tablet-quality-5.jpg
Binary files differ
diff --git a/docs/html/images/gp-tablets-full-feature-set.png b/docs/html/images/gp-tablets-full-feature-set.png
new file mode 100644
index 0000000..fa04082
--- /dev/null
+++ b/docs/html/images/gp-tablets-full-feature-set.png
Binary files differ
diff --git a/docs/html/images/gp-top-new-paid.png b/docs/html/images/gp-top-new-paid.png
deleted file mode 100644
index d98d6ca..0000000
--- a/docs/html/images/gp-top-new-paid.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/images/gp-your-user-0.jpg b/docs/html/images/gp-your-user-0.jpg
new file mode 100644
index 0000000..9286b54
--- /dev/null
+++ b/docs/html/images/gp-your-user-0.jpg
Binary files differ
diff --git a/docs/html/images/gp-your-user-2.jpg b/docs/html/images/gp-your-user-2.jpg
new file mode 100644
index 0000000..0f44e2a
--- /dev/null
+++ b/docs/html/images/gp-your-user-2.jpg
Binary files differ
diff --git a/docs/html/images/gpfe-developer.png b/docs/html/images/gpfe-developer.png
new file mode 100644
index 0000000..4b3251c
--- /dev/null
+++ b/docs/html/images/gpfe-developer.png
Binary files differ
diff --git a/docs/html/images/gpfe-educator.png b/docs/html/images/gpfe-educator.png
new file mode 100644
index 0000000..6e49a7fd
--- /dev/null
+++ b/docs/html/images/gpfe-educator.png
Binary files differ
diff --git a/docs/html/images/gpfe-start-0.jpg b/docs/html/images/gpfe-start-0.jpg
new file mode 100644
index 0000000..e97381d
--- /dev/null
+++ b/docs/html/images/gpfe-start-0.jpg
Binary files differ
diff --git a/docs/html/images/gpp-cat-feature280-photo.png b/docs/html/images/gpp-cat-feature280-photo.png
deleted file mode 100644
index ae2749b..0000000
--- a/docs/html/images/gpp-cat-feature280-photo.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/images/gpp-cat-feature280-puzzle.png b/docs/html/images/gpp-cat-feature280-puzzle.png
deleted file mode 100644
index db203c6..0000000
--- a/docs/html/images/gpp-cat-feature280-puzzle.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/images/gpp-cat-feature280-sports.png b/docs/html/images/gpp-cat-feature280-sports.png
deleted file mode 100644
index dcd70aa..0000000
--- a/docs/html/images/gpp-cat-feature280-sports.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/images/play_dev.jpg b/docs/html/images/play_dev.jpg
new file mode 100644
index 0000000..6aae165
--- /dev/null
+++ b/docs/html/images/play_dev.jpg
Binary files differ
diff --git a/docs/html/images/play_dev.png b/docs/html/images/play_dev_sm.png
similarity index 100%
rename from docs/html/images/play_dev.png
rename to docs/html/images/play_dev_sm.png
Binary files differ
diff --git a/docs/html/images/plus.jpg b/docs/html/images/plus.jpg
new file mode 100644
index 0000000..652aa1a
--- /dev/null
+++ b/docs/html/images/plus.jpg
Binary files differ
diff --git a/docs/html/images/video-Colopl.png b/docs/html/images/video-Colopl.png
deleted file mode 100644
index 0ee88c6..0000000
--- a/docs/html/images/video-Colopl.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/index.jd b/docs/html/index.jd
index 99a469a..a4b0683 100644
--- a/docs/html/index.jd
+++ b/docs/html/index.jd
@@ -39,13 +39,12 @@
                       <script src="//ajax.googleapis.com/ajax/libs/swfobject/2.2/swfobject.js"></script>
                       <div style="box-shadow: 3px 10px 18px 1px #999;width:600px;height:336px">
                         <div id="ytapiplayer">
-                          <a href="http://www.youtube.com/watch?v=i2uvYI6blEE"><img width=600 
-                          src="https://i1.ytimg.com/vi/i2uvYI6blEE/maxresdefault.jpg"></a><!--You need Flash player 8+ and JavaScript enabled to view this video. -->
+                          <a href="http://www.youtube.com/watch?v=WWArLD6nqrk"><img width=600 src="{@docRoot}images/video-kiwi.jpg"></a><!--You need Flash player 8+ and JavaScript enabled to view this video. -->
                         </div>
                         <script type="text/javascript">
                             var params = { allowScriptAccess: "always" };
                             var atts = { id: "ytapiplayer" };
-                            swfobject.embedSWF("//www.youtube.com/v/i2uvYI6blEE?enablejsapi=1&playerapiid=ytplayer&version=3&HD=1;rel=0;showinfo=0;modestbranding;origin=developer.android.com;autohide=1",
+                            swfobject.embedSWF("//www.youtube.com/v/WWArLD6nqrk?enablejsapi=1&playerapiid=ytplayer&version=3&HD=1;rel=0;showinfo=0;modestbranding;origin=developer.android.com;autohide=1",
                               "ytapiplayer", "600", "336", "8", null, null, params, atts);
 
                             // Callback used to pause/resume carousel based on video state
@@ -74,9 +73,10 @@
                       </div>
                     </div>
                     <div class="content-right col-4">
-                    <h1 style="white-space:nowrap;line-height:1.2em;">Developer Story: <br />Box Inc.</h1>
-                    <p>Box is a cloud-based platform and app for users to share business information. See how they got over 5 million downloads by leveraging the flexibility in the Android platform.</p>
-                      <p><a href="{@docRoot}distribute/googleplay/spotlight/index.html" class="button">Watch more videos </a></p>
+                    <h1 style="white-space:nowrap;line-height:1.2em;">Developer Story: <br />Kiwi, Inc.</h1>
+                    <p>Game developer Kiwi has had five titles in the top 25 grossing on Google Play. Hear how Google Play
+                      has helped them double revenue every six months.</p>
+                      <p><a href="{@docRoot}distribute/stories/index.html" class="button">Watch more videos </a></p>
                     </div>
                 </li>
 
diff --git a/docs/html/jd_collections.js b/docs/html/jd_collections.js
new file mode 100644
index 0000000..8a4ac47
--- /dev/null
+++ b/docs/html/jd_collections.js
@@ -0,0 +1,697 @@
+var RESOURCE_COLLECTIONS = {
+  "launch/static": {
+    "title": "",
+    "resources": [
+      "http://www.youtube.com/watch?v=1RIz-cmTQB4",
+      "http://www.youtube.com/watch?v=MVBMWDzyHAI",
+      "http://android-developers.blogspot.com/2013/11/app-translation-service-now-available.html",
+      "http://android-developers.blogspot.com/2013/10/more-visibility-for-tablet-apps-in.html",
+      "http://android-developers.blogspot.com/2013/11/bring-your-apps-into-classroom-with.html",
+      "distribute/essentials/quality/tablets.html",
+      "distribute/users/build-buzz.html",
+      "distribute/monetize/premium.html",
+      "distribute/monetize/freemium.html",
+      "distribute/monetize/ads.html",
+      "distribute/essentials/best-practices/apps.html",
+      "distribute/essentials/best-practices/games.html",
+      "distribute/users/know-your-user.html",
+      "distribute/googleplay/developer-console.html"
+    ]
+  },
+  "distribute/gp/gplanding": {
+    "resources": [
+      "distribute/googleplay/about.html",
+      "distribute/googleplay/start.html",
+      "distribute/googleplay/developer-console.html"
+    ]
+  },
+  "distribute/gp/gpfelanding": {
+    "resources": [
+      "distribute/googleplay/edu/about.html",
+      "distribute/googleplay/edu/start.html",
+      "distribute/googleplay/edu/faq.html"
+    ]
+  },
+  "distribute/essentials": {
+    "resources": [
+      "distribute/essentials/quality/core.html",
+      "distribute/essentials/quality/tablets.html",
+      "distribute/essentials/gpfe-guidelines.html",
+      "distribute/essentials/optimizing-your-app.html",
+      "distribute/essentials/best-practices/apps.html",
+      "distribute/essentials/best-practices/games.html"
+    ]
+  },
+  "distribute/users": {
+    "title": "",
+    "resources": [
+      "distribute/users/know-your-user.html",
+      "distribute/users/your-listing.html",
+      "distribute/users/build-buzz.html",
+      "distribute/users/build-community.html",
+      "distribute/users/expand-to-new-markets.html"
+    ]
+  },
+  "distribute/engagelanding": {
+    "resources": [
+      "distribute/engage/widgets.html",
+      "distribute/engage/notifications.html",
+      "distribute/engage/gcm.html",
+      "distribute/engage/easy-signin.html",
+      "distribute/engage/deep-linking.html",
+      "distribute/engage/game-services.html",
+      "distribute/engage/app-updates.html",
+      "distribute/engage/community.html",
+      "distribute/engage/video.html"
+    ]
+  },
+  "distribute/monetize": {
+    "resources": [
+      "distribute/monetize/premium.html",
+      "distribute/monetize/freemium.html",
+      "distribute/monetize/subscriptions.html",
+      "distribute/monetize/ecommerce.html",
+      "distribute/monetize/ads.html",
+      "distribute/monetize/payments.html"
+    ]
+  },
+  "distribute/tools/checklists": {
+    "title": "",
+    "resources": [
+      "distribute/tools/launch-checklist.html",
+      "distribute/tools/localization-checklist.html"
+    ]
+  },
+  "distribute/tools/promote": {
+    "resources": [
+      "distribute/tools/promote/device-art.html",
+      "distribute/tools/promote/badges.html",
+      "distribute/tools/promote/linking.html"
+    ]
+  },
+  "distribute/tools/support": {
+    "title": "Google Play",
+    "resources": [
+      "https://support.google.com/googleplay/android-developer",
+      "https://support.google.com/googleplay/android-developer/answer/4430948",
+      "support.html"
+    ]
+  },
+  "distribute/tools/news": {
+    "title": "",
+    "resources": [
+      "http://android-developers.blogspot.com/",
+      "https://plus.google.com/+AndroidDevelopers/"
+    ]
+  },
+  "distribute/tools/more": {
+    "title": "Google Play",
+    "resources": [
+      "distribute/tools/promote/brand.html",
+      "distribute/tools/open-distribution.html",
+      "about/dashboards/index.html"
+    ]
+  },
+  "distribute/googleplay": {
+    "title": "Google Play",
+    "resources": [
+      "distribute/googleplay/developer-console.html",
+      "distribute/essentials/best-practices/apps.html",
+      "distribute/tools/launch-checklist.html",
+      "distribute/essentials/best-practices/games.html",
+    ]
+  },
+  "distribute/googleplay/gettingstarted": {
+    "title": "Get Started",
+    "resources": [
+      "distribute/googleplay/developer-console.html",
+      "https://support.google.com/googleplay/android-developer/answer/113468",
+      "https://support.google.com/googleplay/android-developer/answer/138294",
+      "https://support.google.com/googleplay/android-developer"
+    ]
+  },
+  "distribute/googleplay/developerconsole": {
+    "title": "Developer Console",
+    "resources": [
+      "google/play/billing/index.html",
+      "https://support.google.com/googleplay/android-developer/answer/138294"
+    ]
+  },
+  "distribute/googleplay/gpfe/highlight": {
+    "title": "About Google Play for Education",
+    "resources": [
+      "http://youtu.be/vzvpcEffvaE"
+    ]
+  },
+  "distribute/googleplay/gpfe/dev/about": {
+    "title": "About Google Play for Education / Developers",
+    "resources": [
+      "distribute/googleplay/edu/start.html",
+      "distribute/essentials/gpfe-guidelines.html",
+      "distribute/googleplay/edu/faq.html",
+      "distribute/essentials/quality/tablets.html"
+    ]
+  },
+  "distribute/googleplay/gpfe/dev": {
+    "title": "About Google Play for Education / Developers",
+    "resources": [
+      "distribute/googleplay/edu/about.html",
+      "distribute/essentials/gpfe-guidelines.html",
+      "distribute/essentials/quality/tablets.html",
+      "distribute/googleplay/developer-console.html",
+      "http://play.google.com/about/developer-distribution-agreement-addendum.html",
+    ]
+  },
+  "distribute/googleplay/aboutgpfe/educators/about": {
+    "title": "About Google Play for Education / Educators",
+    "resources": [
+      "http://www.google.com/edu/tablets/",
+      "http://www.youtube.com/watch?v=haEmsMo0f3w"
+    ]
+  },
+  "distribute/googleplay/aboutgpfe/educators": {
+    "title": "About Google Play for Education / Educators",
+    "resources": [
+      "http://www.google.com/edu/tablets/",
+      "http://youtu.be/vzvpcEffvaE"
+    ]
+  },
+  "distribute/googleplay/gettingstartedgpfe/educators": {
+    "title": "About Google Play for Education / Educators",
+    "resources": [
+      "http://www.google.com/edu/tablets/",
+      "http://youtu.be/vzvpcEffvaE"
+    ]
+  },
+  "distribute/essentials/eduessentials/developers": {
+    "title": "",
+    "resources": [
+      "distribute/googleplay/developer-console.html",
+      "distribute/googleplay/edu/start.html",
+      "distribute/googleplay/edu/faq.html"
+    ]
+  },
+  "distribute/essentials/eduessentials/educators": {
+    "title": "",
+    "resources": [
+      "http://www.google.com/edu/tablets/",
+      "distribute/essentials/quality/tablets.html",
+    ]
+  },
+  "distribute/essentials/optimizing": {
+    "title": "Optimizing Your App",
+    "resources": [
+      "design/index.html",
+      "training/articles/perf-anr.html",
+      "http://android-developers.blogspot.com/2013/10/improved-app-insight-by-linking-google.html"
+     ]
+  },
+  "distribute/users/knowyouruser": {
+    "title": "",
+    "resources": [
+      "distribute/essentials/optimizing-your-app.html",
+      "http://www.youtube.com/watch?v=RRelFvc6Czo",
+      "distribute/stories/localization.html"
+    ]
+  },
+  "distribute/users/buildbuzz": {
+    "title": "",
+    "resources": [
+      "distribute/tools/promote/badges.html",
+      "distribute/tools/promote/linking.html",
+      "distribute/tools/promote/device-art.html",
+      "http://plus.google.com/+GooglePlay"
+    ]
+  },
+  "distribute/users/createagreatlisting": {
+    "title": "",
+    "resources": [
+      "https://support.google.com/googleplay/android-developer/answer/1078870",
+      "http://android-developers.blogspot.com/2011/10/android-market-featured-image.html",
+      "distribute/tools/launch-checklist.html",
+      "http://android-developers.blogspot.com/2013/07/making-beautiful-android-app-icons.html",
+      "http://android-developers.blogspot.com/2012/12/localize-your-promotional-graphics-on.html",
+      "http://android-developers.blogspot.com/2013/10/making-your-app-content-more-accessible.html"
+    ]
+  },
+  "distribute/users/buildcommunity": {
+    "title": "",
+    "resources": [
+      "distribute/googleplay/developer-console.html",
+      "https://support.google.com/groups/answer/46601",
+      "https://support.google.com/plus/topic/2888488",
+      "http://www.youtube.com/yt/dev/"
+    ]
+  },
+  "distribute/toolsreference/bestpractices/apps": {
+    "title": "",
+    "resources": [
+      "distribute/googleplay/developer-console.html",
+      "http://android-developers.blogspot.com/"
+    ]
+  },
+  "distribute/toolsreference/bestpractices/games": {
+    "title": "",
+    "resources": [
+      "google/play-services/games.html",
+      "http://android-developers.blogspot.com/",
+      "distribute/googleplay/developer-console.html",
+      "http://www.youtube.com/watch?v=1RIz-cmTQB4"
+    ]
+  },
+  "distribute/essentials/corequalityguidelines/visualdesign": {
+    "title": "",
+    "resources": [
+      "design/index.html",
+      "design/patterns/navigation.html",
+      "design/patterns/actionbar.html",
+      "design/style/iconography.html",
+      "design/patterns/notifications.html"
+    ]
+  },
+  "distribute/essentials/corequalityguidelines/functionality": {
+    "title": "",
+    "resources": [
+      "http://android-developers.blogspot.com/2011/11/making-android-games-that-play-nice.html",
+      "guide/components/tasks-and-back-stack.html",
+      "training/basics/activity-lifecycle/recreating.html"
+    ]
+  },
+  "distribute/essentials/core/performance": {
+    "title": "",
+    "resources": [
+      "http://android-developers.blogspot.com/2010/12/new-gingerbread-api-strictmode.html",
+      "training/articles/perf-anr.html",
+      "http://android-developers.blogspot.com/2010/07/multithreading-for-performance.html"
+    ]
+  },
+  "distribute/essentials/core/play": {
+    "title": "",
+    "resources": [
+      "distribute/tools/launch-checklist.html",
+      "http://play.google.com/about/developer-content-policy.html",
+      "https://support.google.com/googleplay/android-developer/answer/188189",
+      "https://support.google.com/googleplay/android-developer/answer/1078870",
+      "http://android-developers.blogspot.com/2011/10/android-market-featured-image.html",
+      "https://support.google.com/googleplay/android-developer/answer/113477"
+    ]
+  },
+  "distribute/essentials/tabletguidelines/optimize": {
+    "title": "",
+    "resources": [
+      "design/style/metrics-grids.html",
+      "design/style/devices-displays.html",
+      "guide/practices/screens_support.html",
+      //"guide/practices/screens_support.html#ConfigurationExamples",
+    ]
+  },
+  "distribute/essentials/tabletguidelines/extrascreen": {
+    "title": "",
+    "resources": [
+      "design/patterns/multi-pane-layouts.html",
+      "training/design-navigation/multiple-sizes.html",
+      "training/multiscreen/index.html",
+    ]
+  },
+  "distribute/essentials/tabletguidelines/assets": {
+    "title": "",
+    "resources": [
+      "design/style/iconography.html",
+      "guide/topics/resources/providing-resources.html",
+      "guide/practices/screens_support.html",
+      "training/basics/supporting-devices/screens.html"
+    ]
+  },
+  "distribute/essentials/tabletguidelines/fonts": {
+    "title": "",
+    "resources": [
+      "design/style/metrics-grids.html",
+      "design/style/typography.html",
+      "guide/practices/screens_support.html",
+      "training/multiscreen/screendensities.html"
+    ]
+  },
+  "distribute/essentials/tabletguidelines/widgets": {
+    "title": "",
+    "resources": [
+      "guide/topics/appwidgets/index.html#MetaData",
+      "guide/topics/appwidgets/index.html",
+      "design/patterns/widgets.html"
+    ]
+  },
+  "distribute/essentials/tabletguidelines/versions": {
+    "title": "",
+    "resources": [
+      "guide/topics/manifest/uses-sdk-element.html#ApiLevels",
+      "guide/topics/manifest/uses-sdk-element.html",
+      "training/basics/supporting-devices/platforms.html"
+    ]
+  },
+  "distribute/essentials/tabletguidelines/hardware": {
+    "title": "",
+    "resources": [
+      "guide/topics/manifest/uses-feature-element.html",
+      "guide/topics/manifest/uses-feature-element.html#testing"
+    ]
+  },
+ "distribute/essentials/tabletguidelines/tabletscreens": {
+    "title": "",
+    "resources": [
+      "guide/practices/screens_support.html#DeclaringScreenSizeSupport",
+      "guide/practices/screens_support.html"
+    ]
+  },
+  "distribute/essentials/tabletguidelines/showcase": {
+    "title": "",
+    "resources": [
+      "distribute/tools/launch-checklist.html",
+      "https://play.google.com/apps/publish/",
+      "distribute/tools/promote/badges.html",
+      "distribute/tools/promote/device-art.html"
+    ]
+  },
+  "distribute/essentials/tabletguidelines/googleplay": {
+    "title": "",
+    "resources": [
+      "http://android-developers.blogspot.com/2013/10/more-visibility-for-tablet-apps-in.html",
+      "google/play/filters.html"
+    ]
+  },
+  "distribute/essentials/tabletguidelines": {
+    "title": "",
+    "resources": [
+      "distribute/essentials/quality/core.html",
+      "http://android-developers.blogspot.com/2013/10/more-visibility-for-tablet-apps-in.html",
+      "distribute/tools/launch-checklist.html",
+      "distribute/tools/promote/device-art.html"
+    ]
+  },
+  "distribute/getusers/notifications": {
+    "title": "",
+    "resources": [
+      "design/patterns/notifications.html",
+      "distribute/engage/gcm.html",
+      "http://play.google.com/about/developer-content-policy.html"
+    ]
+  },
+  "distribute/engage/widgets": {
+    "title": "",
+    "resources": [
+      "design/patterns/widgets.html",
+      "guide/topics/appwidgets/index.html"
+    ]
+  },
+  "distribute/getusers/expandnewmarkets": {
+    "title": "",
+    "resources": [
+      "distribute/tools/localization-checklist.html",
+      "https://support.google.com/googleplay/android-developer/table/3541286",
+      "distribute/stories/localization.html",
+      "distribute/tools/promote/badges.html",
+      "distribute/tools/promote/device-art.html",
+      "http://www.youtube.com/watch?v=SkHHPf3EdzE"
+    ]
+  },
+  "distribute/engage/gcm": {
+    "title": "",
+    "resources": [
+      "google/gcm/index.html",
+      "http://developer.chrome.com/apps/cloudMessagingV2",
+      "http://www.youtube.com/watch?v=y76rjidm8cU"
+    ]
+  },
+  "distribute/engage/googleplaygames": {
+    "title": "",
+    "resources": [
+      "google/play-services/games.html",
+      "distribute/essentials/best-practices/games.html"
+    ]
+  },
+  "distribute/engage/gplus": {
+    "title": "",
+    "resources": [
+      "google/play-services/plus.html",
+      "google/play-services/games.html",
+      "https://developers.google.com/+/mobile/android/share/interactive-post",
+      "https://developers.google.com/+/mobile/android/share/deep-link"
+    ]
+  },
+  "distribute/engage/community": {
+    "title": "",
+    "resources": [
+      "distribute/users/build-community.html",
+      "distribute/engage/video.html"
+    ]
+  },
+  "distribute/engage/deeplinks": {
+    "title": "",
+    "resources": [
+      "distribute/engage/easy-signin.html",
+      "https://developers.google.com/app-indexing/",
+      "https://developers.google.com/+/mobile/android/share/interactive-post"
+    ]
+  },
+  "distribute/engage/appupdates": {
+    "title": "",
+    "resources": [
+      "distribute/essentials/optimizing-your-app.html",
+      "distribute/tools/launch-checklist.html",
+      "distribute/googleplay/developer-console.html",
+      "design/patterns/notifications.html"
+    ]
+  },
+  "distribute/engage/video/more": {
+    "title": "",
+    "resources": [
+      "http://www.youtube.com/yt/dev/",
+      "distribute/essentials/best-practices/games.html",
+      "http://www.youtube.com/watch?v=RRelFvc6Czo"
+    ]
+  },
+  "distribute/engage/community": {
+    "title": "",
+    "resources": [
+      "distribute/users/build-community.html",
+      "distribute/engage/video.html"
+    ]
+  },
+  "distribute/engage/kiwi": {
+    "title": "",
+    "resources": [
+      "http://www.youtube.com/watch?v=WWArLD6nqrk"
+    ]
+  },
+  "distribute/toolsreference/gpfefaq": {
+    "title": "",
+    "resources": [
+      "http://www.google.com/edu/tablets/",
+      "distribute/googleplay/edu/start.html",
+      "http://play.google.com/about/developer-distribution-agreement-addendum.html",
+      "distribute/essentials/quality/core.html",
+      "distribute/essentials/quality/tablets.html"
+    ]
+  },
+  "distribute/toolsreference/localizationchecklist/identifylocales": {
+    "title": "",
+    "resources": [
+      "https://support.google.com/googleplay/android-developer/answer/138294"
+    ]
+  },
+  "distribute/tools/loc/designforloc": {
+    "title": "",
+    "resources": [
+      "http://android-developers.blogspot.com/2013/03/native-rtl-support-in-android-42.html",
+      "guide/topics/resources/string-resource.html#Plurals",
+      "guide/topics/resources/string-resource.html",
+      "reference/java/util/Locale.html"
+    ]
+  },
+  "distribute/toolsreference/localizationchecklist/managestrings": {
+    "title": "",
+    "resources": [
+      "guide/topics/resources/string-resource.html",
+      "design/style/writing.html",
+      "http://en.wikipedia.org/wiki/XLIFF"
+    ]
+  },
+  "distribute/toolsreference/localizationchecklist/translatestrings": {
+    "title": "",
+    "resources": [
+      "distribute/stories/localization.html",
+    ]
+  },
+  "distribute/toolsreference/localizationchecklist/preplaunch": {
+    "title": "",
+    "resources": [
+      "distribute/tools/promote/badges.html",
+      "distribute/tools/promote/device-art.html"
+    ]
+  },
+  "distribute/toolsreference/localizationchecklist/supportlaunch": {
+    "title": "",
+    "resources": [
+      "distribute/tools/launch-checklist.html",
+    ]
+  },
+  "distribute/toolsreference/launchchecklist/understanding": {
+    "title": "",
+    "resources": [
+      "tools/publishing/publishing_overview.html",
+      "tools/publishing/preparing.html"
+    ]
+  },
+  "distribute/toolsreference/launchchecklist/policies": {
+    "title": "",
+    "resources": [
+      "https://support.google.com/googleplay/android-developer/answer/4430948",
+      "https://support.google.com/googleplay/android-developer/topic/2364761",
+      "https://support.google.com/googleplay/android-developer"
+    ]
+  },
+  "distribute/toolsreference/launchchecklist/quality": {
+    "title": "",
+    "resources": [
+      "distribute/essentials/quality/core.html",
+      "distribute/essentials/quality/tablets.html",
+      "distribute/essentials/gpfe-guidelines.html"
+    ]
+  },
+  "distribute/toolsreference/launchchecklist/rating": {
+    "title": "",
+    "resources": [
+      "https://support.google.com/googleplay/android-developer/answer/188189",
+    ]
+  },
+  "distribute/toolsreference/launchchecklist/country": {
+    "title": "",
+    "resources": [
+      "https://support.google.com/googleplay/android-developer/answer/138294"
+    ]
+  },
+  "distribute/toolsreference/launchchecklist/size": {
+    "title": "",
+    "resources": [
+      "google/play/expansion-files.html",
+      "tools/help/proguard.html"
+    ]
+  },
+  "distribute/toolsreference/launchchecklist/platform": {
+    "title": "",
+    "resources": [
+      "guide/practices/screens_support.html",
+      "about/dashboards/index.html",
+      "guide/topics/manifest/uses-sdk-element.html"
+    ]
+  },
+  "distribute/toolsreference/launchchecklist/price": {
+    "title": "",
+    "resources": [
+      "https://support.google.com/googleplay/android-developer/table/3541286",
+    ]
+  },
+  "distribute/toolsreference/launchchecklist/purchasemethod": {
+    "title": "",
+    "resources": [
+      "google/play/billing/index.html",
+      "google/play/billing/billing_subscriptions.html"
+    ]
+  },
+  "distribute/toolsreference/launchchecklist/setprice": {
+    "title": "",
+    "resources": [
+      "https://support.google.com/googleplay/android-developer/answer/1169947",
+      "https://support.google.com/googleplay/android-developer/answer/138412",
+      "https://support.google.com/googleplay/android-developer/answer/112622",
+      "https://support.google.com/googleplay/android-developer/answer/138000"
+    ]
+  },
+  "distribute/toolsreference/launchchecklist/localization": {
+    "title": "",
+    "resources": [
+      "distribute/tools/localization-checklist.html",
+      "guide/topics/resources/localization.html",
+    ]
+  },
+  "distribute/toolsreference/launchchecklist/graphics": {
+    "title": "",
+    "resources": [
+      "https://support.google.com/googleplay/android-developer/answer/1078870",
+      "http://android-developers.blogspot.com/2011/10/android-market-featured-image.html"
+    ]
+  },
+  "distribute/toolsreference/launchchecklist/productdetails": {
+    "title": "",
+    "resources": [
+      "https://support.google.com/googleplay/android-developer/answer/113475",
+      "https://support.google.com/googleplay/android-developer/answer/1078870"
+    ]
+  },
+  "distribute/toolsreference/launchchecklist/badges": {
+    "title": "",
+    "resources": [
+      "distribute/tools/promote/badges.html",
+      "distribute/tools/promote/linking.html"
+    ]
+  },
+  "distribute/toolsreference/launchchecklist/finalchecks": {
+    "title": "",
+    "resources": [
+      "http://play.google.com/about/developer-content-policy.html",
+      "https://support.google.com/googleplay/android-developer/answer/113476",
+      "support.html"
+    ]
+  },
+  "distribute/toolsreference/launchchecklist/afterlaunch": {
+    "title": "",
+    "resources": [
+      "https://support.google.com/googleplay/android-developer/answer/113477",
+      "https://support.google.com/googleplay/android-developer/answer/1153479",
+      "https://support.google.com/payments/answer/2741495",
+      "distribute/essentials/optimizing-your-app.html"
+    ]
+  },
+  "distribute/monetize/premium": {
+    "title": "",
+    "resources": [
+      "google/play/billing/index.html",
+      "https://support.google.com/googleplay/android-developer/answer/4407611"
+    ]
+  },  
+  "distribute/monetize/freemium": {
+    "title": "",
+    "resources": [
+      "google/play/billing/index.html",
+      "https://support.google.com/googleplay/android-developer/answer/4407611"
+    ]
+  },
+  "distribute/monetize/subscriptions": {
+    "title": "",
+    "resources": [
+      "google/play/billing/billing_subscriptions.html",
+      "https://support.google.com/googleplay/android-developer/answer/4407611"
+    ]
+  },
+  "distribute/monetize/ecommerce": {
+    "title": "",
+    "resources": [
+      "https://developers.google.com/wallet/instant-buy/",
+      "https://support.google.com/googleplay/android-developer/answer/4407611"
+    ]
+  },
+  "distribute/monetize/advertising": {
+    "title": "",
+    "resources": [
+      "http://www.google.com/ads/admob/#subid=us-en-et-dac",
+      "http://www.google.com/doubleclick/publishers/small-business/index.html",
+      "http://support.google.com/googleplay/android-developer/topic/2985714",
+      "training/monetization/ads-and-ux.html"
+    ]
+  },
+  "distribute/monetize/paymentmethods": {
+    "title": "",
+    "resources": [
+      "https://play.google.com/about/giftcards/",
+      "https://support.google.com/googleplay/answer/2651410"
+    ]
+  },
+}
diff --git a/docs/html/jd_extras.js b/docs/html/jd_extras.js
new file mode 100644
index 0000000..f26b747b
--- /dev/null
+++ b/docs/html/jd_extras.js
@@ -0,0 +1,1104 @@
+/* Metadata represendations of resources that are outside of the autogenerated
+   local resource lists, or that override local resource representations.
+
+   Resources listed here are referenced from sitemap sections and collections,
+   matched by url string if there is no resource existing in ALL_RESOURCES.
+
+   Currently, these articles can override only the generated resources
+   in DISTRIBUTE_RESOURCES. A representation defined here will not be applied
+   when a collection or section specifies a url that's not in DISTRIBUTE_RESOURCEs.
+   Also
+   So if a section url refers to a static doc that's
+   not in a distribute section, you need to create an item for
+   it in this file. Fix is to compare across
+   ALL_RESOURCES_BY_URL.  */
+
+DISTRIBUTE_RESOURCES = DISTRIBUTE_RESOURCES.concat([
+  {
+    "title":"Developer Registration",
+    "titleFriendly":"",
+    "summary":"Additional information about the registration process.",
+    "url":"https://support.google.com/googleplay/android-developer/answer/113468",
+    "group":"",
+    "keywords": [],
+    "tags": [],
+    "image":"images/play_dev.jpg",
+    "type":"google"
+  },
+  {
+    "title": "Google Play Distribution and Seller Countries",
+    "titleFriendly":"",
+    "summary": "List of countries and territories where you can distribute your apps in Google Play.",
+    "url":"https://support.google.com/googleplay/android-developer/answer/138294",
+    "group":"",
+    "keywords": [],
+    "tags": [],
+    "image":"images/play_dev.jpg",
+    "type":"google"
+  },
+  {
+    "title":"Google Play Content Policies",
+    "titleFriendly":"",
+    "summary":"Details on policies relating to your developer account and app distribution is governed.",
+    "url":"https://support.google.com/googleplay/android-developer/topic/3453577",
+    "group":"",
+    "keywords": [],
+    "tags": ["#developersupport"],
+    "image":"images/play_dev.jpg",
+    "type":"google"
+  },
+  {
+    "lang": "en",
+    "group": "",
+    "tags": ["#developersupport #termsandpolicies"],
+    "url": "https://support.google.com/googleplay/android-developer/answer/4407611",
+    "timestamp": 1194884220000,
+    "image": 'images/play_dev.jpg',
+    "title": "Google Play Terms and Policies",
+    "summary": "Developer terms and policies that apply when you distribute apps in Google Play.",
+    "keywords": [],
+    "type": "distribute",
+    "titleFriendly": ""
+  },
+  {
+    "title":"Google Play Policy Center",
+    "titleFriendly":"",
+    "summary":"A central resource for you to learn about Google Play policies and guidelines.",
+    "url":"https://support.google.com/googleplay/android-developer/answer/4430948",
+    "group":"",
+    "keywords": [],
+    "tags": [],
+    "image":"http://storage.googleapis.com/support-kms-prod/SNP_712EA2784949DDF085C46E3BE7B1DC618A09_4389397_en_v0",
+    "type":"google"
+  },
+  {
+    "title":"Developer Help Center",
+    "titleFriendly":"",
+    "summary":"Complete details on getting started, publishing, troubleshooting, and more.",
+    "url":"https://support.google.com/googleplay/android-developer",
+    "group":"",
+    "keywords": [],
+    "tags": [],
+    "image":"images/play_dev.jpg",
+    "type":"google"
+  },
+  {
+    "title":"Google for Education",
+    "titleFriendly":"",
+    "summary":"Find out more about how Google can support your work with apps and tablets.",
+    "url":"http://www.google.com/edu/tablets/",
+    "group":"",
+    "keywords": [],
+    "tags": [],
+    "image":"distribute/images/gp-edu-apps-image.jpg",
+    "type":"google"
+  },
+  {
+    "title":"Keeping Your App Responsive",
+    "titleFriendly":"",
+    "summary":"This document describes how the Android system determines whether an application is not responding and provides guidelines for ensuring that your application stays responsive.",
+    "url":"training/articles/perf-anr.html",
+    "group":"",
+    "keywords": [],
+    "tags": [],
+    "image":"",
+    "type":"google"
+  },
+  {
+    "title":"Google Play Game Services",
+    "titleFriendly":"",
+    "summary":"Tools to offer a better game experience.",
+    "url":"google/play-services/games.html",
+    "group":"",
+    "keywords": [],
+    "tags": [],
+    "image":"",
+    "type":"google"
+  },
+
+  {
+    "lang": "en",
+    "group": "",
+    "tags": [
+      "versions", "blog", "googleplay"
+    ],
+    "url": "http://android-developers.blogspot.com/",
+    "timestamp": 1004884220000,
+    "image": "images/blog.jpg",
+    "title": "Android Developers Blog",
+    "summary": "Follow the latest news on Android design, development, and distribution.",
+    "keywords": [],
+    "type": "blog",
+    "titleFriendly": ""
+  },
+  {
+    "lang": "en",
+    "group": "",
+    "tags": [],
+    "url": "http://android-developers.blogspot.com/2011/11/making-android-games-that-play-nice.html",
+    "timestamp": 1194884220000,
+    "image": null,
+    "title": "Making Android Apps that Play Nice",
+    "summary": "Audio lifecycle and expected audio behaviors for Android apps.",
+    "keywords": [],
+    "type": "blog",
+    "titleFriendly": ""
+  },
+  {
+    "lang": "en",
+    "group": "",
+    "tags": [],
+    "url": "http://android-developers.blogspot.com/2010/07/multithreading-for-performance.html",
+    "timestamp": 1194884220000,
+    "image": null,
+    "title": "Multithreading for Performance",
+    "summary": "Ways to improve performance through multi-threading.",
+    "keywords": [],
+    "type": "blog",
+    "titleFriendly": ""
+  },
+  {
+    "lang": "en",
+    "group": "",
+    "tags": [],
+    "url": "http://play.google.com/about/developer-content-policy.html",
+    "timestamp": 1194884220000,
+    "image": "images/play_dev.jpg",
+    "title": "Developer Program Policies",
+    "summary": "Guidelines acceptable content in Google Play. Please read and understand the policies before publishing.",
+    "keywords": [],
+    "type": "google",
+    "titleFriendly": ""
+  },
+  {
+    "lang": "en",
+    "group": "",
+    "tags": [],
+    "url": "https://support.google.com/googleplay/android-developer/answer/188189",
+    "timestamp": 1194884220000,
+    "image": "images/play_dev.jpg",
+    "title": "Rating your application content for Google Play",
+    "summary": "How to choose the appropriate content ratings level for your apps.",
+    "keywords": [],
+    "type": "support",
+    "titleFriendly": ""
+  },
+  {
+    "lang": "en",
+    "group": "",
+    "tags": [],
+    "url": "http://android-developers.blogspot.com/2011/10/android-market-featured-image.html",
+    "timestamp": 1194884220000,
+    "image": "images/play_dev.jpg",
+    "title": "Google Play Featured Image Guidelines",
+    "summary": "How to create attractive, effective Featured Images for your apps.",
+    "keywords": [],
+    "type": "support",
+    "titleFriendly": ""
+  },
+{
+    "lang": "en",
+    "group": "",
+    "tags": [],
+    "url": "https://support.google.com/googleplay/android-developer/answer/113477",
+    "timestamp": 1194884220000,
+    "image": "images/play_dev.jpg",
+    "title": "Supporting your users",
+    "summary": "Options for supporting users.",
+    "keywords": [],
+    "type": "support",
+    "titleFriendly": ""
+  },   
+  {
+    "lang": "en",
+    "group": "",
+    "tags": [],
+    "url": "guide/practices/screens_support.html#ConfigurationExamples",
+    "timestamp": 1194884220000,
+    "image": null,
+    "title": "Configuration examples",
+    "summary": "How to declare layouts and other resources for specific screen sizes.",
+    "keywords": [],
+    "type": "design",
+    "titleFriendly": ""
+  },
+  {
+    "lang": "en",
+    "group": "",
+    "tags": [],
+    "url": "training/design-navigation/multiple-sizes.html",
+    "timestamp": 1194884220000,
+    "image": null,
+    "title": "Planning for Multiple Touchscreen Sizes",
+    "summary": "",
+    "keywords": [],
+    "type": "design",
+    "titleFriendly": ""
+  },
+  {
+    "lang": "en",
+    "group": "",
+    "tags": [],
+    "url": "training/multiscreen/index.html",
+    "timestamp": 1194884220000,
+    "image": null,
+    "title": "Designing for Multiple Screens",
+    "summary": "Designing an intuitive, effective navigation for tablets and other devices.",
+    "keywords": [],
+    "type": "design",
+    "titleFriendly": ""
+  },
+  {
+    "lang": "en",
+    "group": "",
+    "tags": [],
+    "url": "guide/topics/resources/providing-resources.html",
+    "timestamp": 1194884220000,
+    "image": null,
+    "title": "Providing Resources",
+    "summary": "Layouts and drawable resources for specific ranges of device screens.",
+    "keywords": [],
+    "type": "design",
+    "titleFriendly": ""
+  },
+  {
+    "lang": "en",
+    "group": "",
+    "tags": [],
+    "url": "training/basics/supporting-devices/screens.html",
+    "timestamp": 1194884220000,
+    "image": null,
+    "title": "Supporting Different Screens",
+    "summary": "Optimizing the user experience for different screen sizes and densities.",
+    "keywords": [],
+    "type": "design",
+    "titleFriendly": ""
+  },
+  {
+    "lang": "en",
+    "group": "",
+    "tags": [],
+    "url": "guide/topics/appwidgets/index.html#MetaData",
+    "timestamp": 1194884220000,
+    "image": null,
+    "title": "Adding the AppWidgetProviderInfo Metadata",
+    "summary": "How to set the height and width dimensions of a widget.",
+    "keywords": [],
+    "type": "design",
+    "titleFriendly": ""
+  },
+  {
+    "lang": "en",
+    "group": "",
+    "tags": [],
+    "url": "guide/topics/manifest/uses-sdk-element.html#ApiLevels",
+    "timestamp": 1194884220000,
+    "image": null,
+    "title": "Android API Levels",
+    "summary": "Introduction to API levels and how they relate to compatibility.",
+    "keywords": [],
+    "type": "guide",
+    "titleFriendly": ""
+  },
+  {
+    "lang": "en",
+    "group": "",
+    "tags": [],
+    "url": "guide/practices/screens_support.html#DeclaringScreenSizeSupport",
+    "timestamp": 1194884220000,
+    "image": null,
+    "title": "Declaring screen size support",
+    "summary": "How to declare support for screen sizes in your app\'s manifest.",
+    "keywords": [],
+    "type": "guide",
+    "titleFriendly": ""
+  },
+  {
+    "lang": "en",
+    "group": "",
+    "tags": [],
+    "url": "guide/topics/manifest/uses-feature-element.html#testing",
+    "timestamp": 1194884220000,
+    "image": null,
+    "title": "Checking for hardware feature requirements",
+    "summary": "Determining an app’s hardware and software requirements.",
+    "keywords": [],
+    "type": "guide",
+    "titleFriendly": ""
+  },
+  {
+    "lang": "en",
+    "group": "",
+    "tags": [],
+    "url": "https://play.google.com/apps/publish/",
+    "timestamp": 1194884220000,
+    "image": null,
+    "title": "Google Play Developer Console",
+    "summary": "The tools console for publishing your app.",
+    "keywords": [],
+    "type": "guide",
+    "titleFriendly": ""
+  },
+  {
+    "lang": "en",
+    "group": "",
+    "tags": [],
+    "url": "http://youtu.be/SkHHPf3EdzE",
+    "timestamp": 1194884220000,
+    "image": "http://i1.ytimg.com/vi/SkHHPf3EdzE/maxresdefault.jpg",
+    "title": "Level Up Your Android Game",
+    "summary": "Learn how to take your game to the next level on Google Play.",
+    "keywords": [],
+    "type": "guide",
+    "titleFriendly": ""
+  },
+  {
+    "lang": "en",
+    "group": "",
+    "tags": [],
+    "url": "https://developers.google.com/+/mobile/android/share/interactive-post",
+    "timestamp": 1194884220000,
+    "image": 'images/google/gps-googleplus.png',
+    "title": "Sharing interactive posts to Google+ from your Android app",
+    "summary": "Interactive posts provide an easy and prominent way to allow users to share your site or app with their friends and invite them to take a specific action.",
+    "keywords": ["Interactive", "Google+"],
+    "type": "guide",
+    "titleFriendly": ""
+  },
+  {
+    "lang": "en",
+    "group": "",
+    "tags": [],
+    "url": "http://play.google.com/about/developer-distribution-agreement.html",
+    "timestamp": 1194884220000,
+    "image": "images/play_dev.jpg",
+    "title": "Developer Distribution Agreement",
+    "summary": "Terms for distributing and selling apps and in-app products in Google Play.",
+    "keywords": [],
+    "type": "guide",
+    "titleFriendly": ""
+  },
+  {
+    "lang": "en",
+    "group": "",
+    "tags": [],
+    "url": "https://support.google.com/googleplay/android-developer/answer/113417",
+    "timestamp": 1194884220000,
+    "image": null,
+    "title": "Inappropriate content in comments and applications",
+    "summary": "More details on what content is appropriate.",
+    "keywords": [],
+    "type": "guide",
+    "titleFriendly": ""
+  },
+  {
+    "lang": "en",
+    "group": "",
+    "tags": [],
+    "url": "https://support.google.com/legal/troubleshooter/1114905",
+    "timestamp": 1194884220000,
+    "image": null,
+    "title": "Removing content from Google",
+    "summary": "Find how how to request the removal of content that infringes on your trademark.",
+    "keywords": [],
+    "type": "guide",
+    "titleFriendly": ""
+  },
+  {
+    "lang": "en",
+    "group": "",
+    "tags": [],
+    "url": "http://play.google.com/about/developer-distribution-agreement-addendum.html",
+    "timestamp": 1194884220000,
+    "image": "images/play_dev.jpg",
+    "title": "Google Play for Education Addendum",
+    "summary": "Review the education-specific requirements.",
+    "keywords": [],
+    "type": "guide",
+    "titleFriendly": ""
+  },
+  {
+    "lang": "en",
+    "group": "",
+    "tags": [],
+    "url": "http://android-developers.blogspot.com/2013/03/native-rtl-support-in-android-42.html",
+    "timestamp": null,
+    "image": null,
+    "title": "Native RTL Support in Android 4.2",
+    "summary": "Blog post that explains how to support RTL in your UI.",
+    "keywords": [],
+    "type": "guide",
+    "titleFriendly": ""
+  },
+  {
+    "lang": "en",
+    "group": "",
+    "tags": [],
+    "url": "guide/topics/resources/string-resource.html#Plurals",
+    "timestamp": 1194884220000,
+    "image": null,
+    "title": "Quantity Strings (Plurals)",
+    "summary": "How to work with string plurals according to rules of grammar in a given locale.",
+    "keywords": [],
+    "type": "guide",
+    "titleFriendly": ""
+  },
+  {
+    "lang": "en",
+    "group": "",
+    "tags": [],
+    "url": "reference/java/util/Locale.html",
+    "timestamp": 1194884220000,
+    "image": null,
+    "title": "Locale",
+    "summary": "Determine what CLDR data or version of the Unicode spec a particular Android platform version uses.",
+    "keywords": [],
+    "type": "guide",
+    "titleFriendly": ""
+  },
+    {
+    "lang": "en",
+    "group": "",
+    "tags": [],
+    "url": "guide/topics/resources/string-resource.html",
+    "timestamp": 1194884220000,
+    "image": null,
+    "title": "String Resources",
+    "summary": "Explains how to use string resources in your UI.",
+    "keywords": [],
+    "type": "guide",
+    "titleFriendly": ""
+  },
+  {
+    "lang": "en",
+    "group": "",
+    "tags": [],
+    "url": "distribute/tools/localization-checklist.html#strings",
+    "timestamp": 1194884220000,
+    "image": null,
+    "title": "Manage strings for localization",
+    "summary": "Guidance on having your strings translation ready.",
+    "keywords": [],
+    "type": "guide",
+    "titleFriendly": ""
+  },
+  {
+    "lang": "en",
+    "group": "",
+    "tags": [],
+    "url": "tools/publishing/publishing_overview.html",
+    "timestamp": 1194884220000,
+    "image": null,
+    "title": "General Publishing Overview",
+    "summary": "Start here for an overview of publishing options for Android apps.",
+    "keywords": [],
+    "type": "guide",
+    "titleFriendly": ""
+  },
+  {
+    "lang": "en",
+    "group": "",
+    "tags": [],
+    "url": "tools/publishing/preparing.html",
+    "timestamp": 1194884220000,
+    "image": null,
+    "title": "Preparing for Release",
+    "summary": "Developer documentation on how to build the signed, release-ready APK. This process is the same for all Android apps.",
+    "keywords": [],
+    "type": "guide",
+    "titleFriendly": ""
+  },
+  {
+    "lang": "en",
+    "group": "",
+    "tags": [],
+    "url": "distribute/googleplay/policies/index.html",
+    "timestamp": 1194884220000,
+    "image": "images/play_dev.jpg",
+    "title": "Google Play Policies and Guidelines",
+    "summary": "An overview of Google Play policies for spam, intellectual property, and ads, with examples of common problems.",
+    "keywords": [],
+    "type": "guide",
+    "titleFriendly": ""
+  },
+  {
+    "lang": "en",
+    "group": "",
+    "tags": [],
+    "url": "https://support.google.com/googleplay/android-developer/topic/2364761",
+    "timestamp": 1194884220000,
+    "image": "images/play_dev.jpg",
+    "title": "Policy and Best Practices",
+    "summary": "Help Center document describing various content policies and processes.",
+    "keywords": [],
+    "type": "distribute",
+    "titleFriendly": ""
+  },
+  {
+    "lang": "en",
+    "group": "",
+    "tags": [],
+    "url": "google/play/expansion-files.html",
+    "timestamp": 1194884220000,
+    "image": null,
+    "title": "APK Expansion Files",
+    "summary": "Developer documentation describing APK Expansion Files and how to support them in your app.",
+    "keywords": [],
+    "type": "guide",
+    "titleFriendly": ""
+  },
+  {
+    "lang": "en",
+    "group": "",
+    "tags": [],
+    "url": "tools/help/proguard.html",
+    "timestamp": 1194884220000,
+    "image": null,
+    "title": "ProGuard",
+    "summary": "Developer documentation describing how to use ProGuard to shrink, optimize, and obfuscate your code prior to release.",
+    "keywords": [],
+    "type": "guide",
+    "titleFriendly": ""
+  },
+  {
+    "title":"Dashboards",
+    "titleFriendly":"",
+    "summary":"This page provides information about the relative number of devices that share a certain characteristic, such as Android version or screen size. This information may help you prioritize efforts for supporting different devices by revealing which devices…",
+    "url":"about/dashboards/index.html",
+    "group":"",
+    "keywords": ["android","dashboard","platforms","versions"],
+    "tags": ["#ecosystem","#versions","#whatsnew"],
+    "image":"http://chart.googleapis.com/chart?chl=GL%201.1%20only%7CGL%202.0%7CGL%203.0&chf=bg%2Cs%2C00000000&chd=t%3A0.1%2C93.5%2C6.4&chco=c4df9b%2C6fad0c&chs=400x250&cht=p",
+    "lang":"en",
+    "type":"about"
+  }, 
+  {
+    "lang": "en",
+    "group": "",
+    "tags": [],
+    "url": "https://developers.google.com/wallet/instant-buy/",
+    "timestamp": 1194884220000,
+    "image": "distribute/images/payment-method.jpg",
+    "title": "Google Wallet Instant Buy APIs",
+    "summary": "Developer documentation describing Instant Buy and how to support it in your apps.",
+    "keywords": [],
+    "type": "guide",
+    "titleFriendly": ""
+  },
+  {
+    "lang": "en",
+    "group": "",
+    "tags": [],
+    "url": "https://support.google.com/googleplay/android-developer/answer/1169947",
+    "timestamp": 1194884220000,
+    "image": "images/play_dev.jpg",
+    "title": "Selling Apps in Multiple Currencies",
+    "summary": "Help Center document describing how pricing works in Google Play.",
+    "keywords": [],
+    "type": "guide",
+    "titleFriendly": ""
+  },
+  {
+    "lang": "en",
+    "group": "",
+    "tags": [],
+    "url": "https://support.google.com/googleplay/android-developer/answer/138412",
+    "timestamp": 1194884220000,
+    "image": "images/play_dev.jpg",
+    "title": "Prices and supported currencies",
+    "summary": "Help Center document listing supported currencies for pricing your apps.",
+    "keywords": [],
+    "type": "guide",
+    "titleFriendly": ""
+  },
+  {
+    "lang": "en",
+    "group": "",
+    "tags": [],
+    "url": "https://support.google.com/googleplay/android-developer/answer/112622",
+    "timestamp": 1194884220000,
+    "image": "images/play_dev.jpg",
+    "title": "Transaction Fees",
+    "summary": "Help Center document describing transaction fees for priced apps and in-app products.",
+    "keywords": [],
+    "type": "guide",
+    "titleFriendly": ""
+  },
+  {
+    "lang": "en",
+    "group": "",
+    "tags": [],
+    "url": "https://support.google.com/googleplay/android-developer/answer/138000",
+    "timestamp": 1194884220000,
+    "image": "images/play_dev.jpg",
+    "title": "Specifying tax rates",
+    "summary": "Help Center document describing how to set tax rates for different countries.",
+    "keywords": [],
+    "type": "guide",
+    "titleFriendly": ""
+  },
+  {
+    "lang": "en",
+    "group": "",
+    "tags": [],
+    "url": "guide/topics/resources/localization.html",
+    "timestamp": 1194884220000,
+    "image": "images/play_dev.jpg",
+    "title": "Localizing with Resources",
+    "summary": "Developer guide to localizing resources in your app.",
+    "keywords": [],
+    "type": "guide",
+    "titleFriendly": ""
+  },
+  {
+    "lang": "en",
+    "group": "",
+    "tags": [],
+    "url": "https://support.google.com/googleplay/android-developer/answer/113475",
+    "timestamp": 1194884220000,
+    "image": "images/play_dev.jpg",
+    "title": "Category types",
+    "summary": "Help Center document listing available categories for apps.",
+    "keywords": [],
+    "type": "guide",
+    "titleFriendly": ""
+  },
+  {
+    "lang": "en",
+    "group": "",
+    "tags": [],
+    "url": "https://support.google.com/googleplay/android-developer/answer/113476",
+    "timestamp": 1194884220000,
+    "image": "images/play_dev.jpg",
+    "title": "Updates",
+    "summary": "Requirements for app updates in Google Play.",
+    "keywords": [],
+    "type": "guide",
+    "titleFriendly": ""
+  },
+  {
+    "lang": "en",
+    "group": "",
+    "tags": [],
+    "url": "https://support.google.com/googleplay/android-developer/answer/1153479",
+    "timestamp": 1194884220000,
+    "image": null,
+    "title": "In-app Billing",
+    "summary": "Help Center document describing how to correctly set up In-app Billing.",
+    "keywords": [],
+    "type": "guide",
+    "titleFriendly": ""
+  },
+  {
+    "lang": "en",
+    "group": "",
+    "tags": [
+      "#gpfe",
+      "#googleplay"
+    ],
+    "url": "http://youtu.be/vzvpcEffvaE",
+    "timestamp": 1383243492000,
+    "image": "http://i1.ytimg.com/vi/vzvpcEffvaE/maxresdefault.jpg",
+    "title": "Introducing Google Play for Education",
+    "summary": "Google Play for Education is a destination where schools can find great, teacher-approved, educational apps and videos on Play Store. Teachers can filter content by subject matter, grade and other criteria. Bulk purchase and instant distribution let educators bring your apps directly to classrooms and schools.",
+    "keywords": [],
+    "type": "youtube",
+    "titleFriendly": ""
+  },
+  {
+    "lang": "en",
+    "group": "",
+    "tags": [
+      "#engagement",
+    ],
+    "url": "http://www.youtube.com/yt/dev/",
+    "timestamp": 1383243492000,
+    "image": "http://www.youtube.com/yt/dev/media/images/yt-dev-home-hero.jpg",
+    "title": "YouTube for Developers",
+    "summary": "The YouTube APIs and Tools enable you to integrate YouTube's video content and functionality into your website, app, or device.",
+    "keywords": [],
+    "type": "youtube",
+    "titleFriendly": ""
+  },
+  {
+    "lang": "en",
+    "group": "",
+    "tags": [
+      "#engagement",
+    ],
+    "url": "https://developers.google.com/app-indexing/",
+    "timestamp": 1383243492000,
+    "image": "https://developers.google.com/app-indexing/images/allthecooks_srp.png",
+    "title": "Sign Up for App Indexing",
+    "summary": "Google is working with app developers and webmasters to index the content of apps and relate them to websites. When relevant, Google Search results on Android will include deep links to apps.",
+    "keywords": [],
+    "type": "guide",
+    "titleFriendly": ""
+  },
+
+  {
+    "lang": "en",
+    "group": "",
+    "tags": [
+      "#gcm",
+    ],
+    "url": "http://www.youtube.com/watch?v=y76rjidm8cU",
+    "timestamp": 1383243492000,
+    "image": "http://1.bp.blogspot.com/-IF-1-1kA0sg/UYwTidxdi3I/AAAAAAAAAEU/ellLeQ-E1vs/s800/google-io-lockup-2.png",
+    "title": "Google Cloud Messaging at I/O 2013",
+    "summary": "Google Cloud Messaging allows your services to efficiently send data to applications on Android devices. See what's new, and learn how to use GCM to make your apps more efficient.",
+    "keywords": ["gcm"],
+    "type": "youtube",
+    "titleFriendly": ""
+  },
+  {
+    "lang": "en",
+    "group": "",
+    "tags": [
+      "#googleplus",
+    ],
+    "url": "https://developers.google.com/+/mobile/android/people",
+    "timestamp": 1383243492000,
+    "image": "images/google/gps-googleplus.png",
+    "title": "Sign Up for App Indexing",
+    "summary": "After you let users sign in with Google, you can access their age range, language, public profile information, and people that they have circled.",
+    "keywords": ["googleplus"],
+    "type": "guide",
+    "titleFriendly": ""
+  },
+  {
+    "lang": "en",
+    "group": "",
+    "tags": [
+      "#gcm",
+    ],
+    "url": "http://developer.chrome.com/apps/cloudMessagingV2",
+    "timestamp": 1383243492000,
+    "image": "images/kk-chromium-icon.png",
+    "title": "Google Cloud Messaging for Chrome",
+    "summary": "Google Cloud Messaging for Chrome (GCM) is a service for signed-in Chrome users that helps developers send message data from servers to their Chrome apps and extensions.",
+    "keywords": ["gcm"],
+    "type": "guide",
+    "titleFriendly": ""
+  },
+
+  {
+    "lang": "en",
+    "group": "",
+    "tags": [
+      "#sdkupdates"
+    ],
+    "url": "http://android-developers.blogspot.com/2013/07/making-beautiful-android-app-icons.html",
+    "timestamp": 1194884220000,
+    "image": null,
+    "title": "Make Beautiful Android App Icons",
+    "summary": "Follow these in-depth launcher icon tips on the Android Developers blog.",
+    "keywords": [],
+    "type": "blog",
+    "titleFriendly": ""
+  },
+     {
+    "lang": "en",
+    "group": "",
+    "tags": [
+      "#sdkupdates"
+    ],
+    "url": "http://android-developers.blogspot.com/2012/12/localize-your-promotional-graphics-on.html",
+    "timestamp": 1194884220000,
+    "image": null,
+    "title": "Localize Your Promotional Graphics",
+    "summary": "Learn how to capitalise on international audiences.",
+    "keywords": [],
+    "type": "blog",
+    "titleFriendly": ""
+  },
+   {
+    "lang": "en",
+    "group": "",
+    "tags": [
+      "#sdkupdates"
+    ],
+    "url": "http://android-developers.blogspot.com/2013/10/making-your-app-content-more-accessible.html",
+    "timestamp": 1194884220000,
+    "image": null,
+    "title": "Make your App Content more Accessible with App Linking",
+    "summary": "About using search and deep linking to get more users.",
+    "keywords": [],
+    "type": "blog",
+    "titleFriendly": ""
+  },
+  {
+    "lang": "en",
+    "group": "",
+    "tags": [],
+    "url": "https://developers.google.com/+/mobile/android/share/interactive-post",
+    "timestamp": 1194884220000,
+    "image": 'images/google/gps-googleplus.png',
+    "title": "Sharing interactive posts to Google+ from your Android app",
+    "summary": "Interactive posts provide an easy and prominent way to allow users to share your site or app with their friends and invite them to take a specific action.",
+    "keywords": ["Interactive", "Google+"],
+    "type": "guide",
+    "titleFriendly": ""
+  },
+  {
+    "lang": "en",
+    "group": "",
+    "tags": [],
+    "url": "https://support.google.com/googleplay/android-developer/answer/2528691",
+    "timestamp": 1194884220000,
+    "image": "images/play_dev.jpg",
+    "title": "How to add multiple user accounts to your Developer Console for testing and more.",
+    "summary": "",
+    "keywords": [],
+    "type": "guide",
+    "titleFriendly": ""
+  },
+  {
+    "lang": "en",
+    "group": "",
+    "tags": [],
+    "url": "https://developers.google.com/+/mobile/android/share/deep-link",
+    "timestamp": 1194884220000,
+    "image": null,
+    "title": "Adding deep linking to Google+ posts shared from your Android app",
+    "summary": "",
+    "keywords": [],
+    "type": "guide",
+    "titleFriendly": ""
+  },
+  {
+    "lang": "en",
+    "group": "",
+    "tags": [],
+    "url": "google/play/licensing/index.html",
+    "timestamp": 1194884220000,
+    "image": null,
+    "title": "Application Licensing",
+    "summary": "Information on the features of Google Play to protect your apps’ licences.",
+    "keywords": [],
+    "type": "guide",
+    "titleFriendly": ""
+  },
+  {
+    "lang": "en",
+    "group": "",
+    "tags": [],
+    "url": "design/style/writing.html",
+    "timestamp": 1194884220000,
+    "image": null,
+    "title": "Writing Style",
+    "summary": "Android Design guidelines for voice and style in your UI.",
+    "keywords": [],
+    "type": "guide",
+    "titleFriendly": ""
+  },
+  {
+    "lang": "en",
+    "group": "",
+    "tags": [],
+    "url": "http://en.wikipedia.org/wiki/XLIFF",
+    "timestamp": 1194884220000,
+    "image": null,
+    "title": "XML Localisation Interchange File Format (XLIFF)",
+    "summary": "Background information on XLIFF.",
+    "keywords": [],
+    "type": "guide",
+    "titleFriendly": ""
+  },
+    {
+    "lang": "en",
+    "group": "",
+    "tags": [],
+    "url": "https://support.google.com/googleplay/android-developer/answer/1078870",
+    "timestamp": 1194884220000,
+    "image": "images/play_dev.jpg",
+    "title": "Graphic Assets for your Application",
+    "summary": "Details about the graphics you can add to your product listing.",
+    "keywords": [],
+    "type": "guide",
+    "titleFriendly": ""
+  },
+  {
+    "lang": "en",
+    "group": "",
+    "tags": [],
+    "url": "https://support.google.com/payments/answer/2741495",
+    "timestamp": null,
+    "image": null,
+    "title": "Issuing Refunds",
+    "summary": "Help Center document describing how to issue refunds.",
+    "keywords": [],
+    "type": "guide",
+    "titleFriendly": ""
+  },
+  {
+    "lang": "en",
+    "group": "",
+    "tags": [],
+    "url": "http://android-developers.blogspot.com/2013/11/bring-your-apps-into-classroom-with.html",
+    "timestamp": null,
+    "image": "distribute/images/gp-edu-apps-image.jpg",
+    "title": "Google play for education",
+    "summary": " ",
+    "keywords": [],
+    "type": "distribute",
+    "titleFriendly": ""
+  },
+  {
+    "lang": "en",
+    "group": "",
+    "tags": ["localization", "pricing", "developer support"],
+    "url": "https://support.google.com/googleplay/android-developer/table/3541286",
+    "timestamp": null,
+    "image": "images/play_dev.jpg",
+    "title": "Supported locations for distributing your apps in Google Play",
+    "summary": "Countries and regions where you can distribute your app in Google Play.",
+    "keywords": [],
+    "type": "distribute",
+    "titleFriendly": ""
+  },
+  {
+    "lang": "en",
+    "group": "",
+    "tags": ["games", "localization", "quality"],
+    "url": "http://www.youtube.com/watch?v=SkHHPf3EdzE",
+    "timestamp": null,
+    "image": "https://developers.google.com/apps/images/io_2013/google-io-logo.png",
+    "title": "Level Up Your Android Game",
+    "summary": "Learn how to take your game to the next level in this Google I/O session.",
+    "keywords": [],
+    "type": "distribute",
+    "titleFriendly": ""
+  },
+  {
+    "lang": "en",
+    "group": "",
+    "tags": ["support"],
+    "url": "https://support.google.com/groups/answer/46601",
+    "timestamp": null,
+    "image": null,
+    "title": "Google Groups",
+    "summary": "Create a group for your community.",
+    "keywords": [],
+    "type": "distribute",
+    "titleFriendly": ""
+  },
+  {
+    "lang": "en",
+    "group": "",
+    "tags": ["support"],
+    "url": "https://support.google.com/plus/topic/2888488",
+    "timestamp": null,
+    "image": null,
+    "title": "Google+ Communities",
+    "summary": "Host a Google+ community for testers or users.",
+    "keywords": [],
+    "type": "distribute",
+    "titleFriendly": ""
+  },
+  {
+    "lang": "en",
+    "group": "",
+    "tags": ["monetize", "ads"],
+    "url": "http://www.google.com/ads/admob/#subid=us-en-et-dac",
+    "timestamp": null,
+    "image": "distribute/images/advertising.png",
+    "title": "AdMob for Android",
+    "summary": "Make money by connecting with over a million Google advertisers all over the world, so your revenue scales with your app.",
+    "keywords": ["ads"],
+    "type": "distribute",
+    "titleFriendly": ""
+  },
+
+  {
+    "lang": "en",
+    "group": "",
+    "tags": ["monetize", "ads"],
+    "url": "http://www.google.com/doubleclick/publishers/small-business/index.html",
+    "timestamp": null,
+    "image": "http://www.google.com/doubleclick/publishers/small-business/images/define_ad.png",
+    "title": "DoubleClick for Publishers",
+    "summary": "A free ad management solution that helps growing publishers sell, schedule, deliver, and measure all of their digital ad inventory.",
+    "keywords": ["ads"],
+    "type": "distribute",
+    "titleFriendly": ""
+  },
+  {
+    "lang": "en",
+    "group": "",
+    "tags": ["monetize", "ads"],
+    "url": "http://support.google.com/googleplay/android-developer/topic/2985714",
+    "timestamp": null,
+    "image": "http://storage.googleapis.com/support-kms-prod/SNP_712EA2784949DDF085C46E3BE7B1DC618A09_4389397_en_v0",
+    "title": "Policy Center: Ads",
+    "summary": "Introduction to ads and system interference policies in Google Play",
+    "keywords": ["ads"],
+    "type": "distribute",
+    "titleFriendly": ""
+  },
+  {
+    "lang": "en",
+    "group": "",
+    "tags": ["monetize", "giftcards"],
+    "url": "https://play.google.com/about/giftcards/",
+    "timestamp": null,
+    "image": "images/gp-balance.png",
+    "title": "Google Play Gift Cards",
+    "summary": "Buy Google Play gift cards online or at a variety of retail stores.",
+    "keywords": ["gift card"],
+    "type": "distribute",
+    "titleFriendly": ""
+  },
+  {
+    "lang": "en",
+    "group": "",
+    "tags": ["monetize", "paymentmethods"],
+    "url": "https://support.google.com/googleplay/answer/2651410",
+    "timestamp": null,
+    "image": "images/play_dev.jpg",
+    "title": "Google Play Accepted Payment Methods",
+    "summary": "Support details on the payment methods supported in Google Play.",
+    "keywords": ["gift card"],
+    "type": "distribute",
+    "titleFriendly": ""
+  },
+  {
+    "lang": "en",
+    "group": "",
+    "tags": ["plus", "social"],
+    "url": "https://plus.google.com/+AndroidDevelopers/",
+    "timestamp": null,
+    "image": "images/plus.jpg",
+    "title": "+Android Developers",
+    "summary": "Sharing news, ideas, and techniques for success.",
+    "keywords": ["+AndroidDevelopers"],
+    "type": "Google+",
+    "titleFriendly": ""
+  },
+  {
+    "lang": "en",
+    "group": "",
+    "tags": ["plus", "social"],
+    "url": "http://plus.google.com/+GooglePlay",
+    "timestamp": null,
+    "image": "https://lh4.googleusercontent.com/-IKezweZlcXI/AAAAAAAAAAI/AAAAAAABOvg/uK8Z0jekVE4/s120-c/photo.jpg",
+    "title": "+Google Play",
+    "summary": "News and discussion about Google Play, apps, and other content in Google+.",
+    "keywords": ["+GooglePlay"],
+    "type": "Google+",
+    "titleFriendly": ""
+  },
+  {
+    "lang": "en",
+    "group": "",
+    "tags": ["support", "android"],
+    "url": "support.html",
+    "timestamp": null,
+    "image": null,
+    "title": "Developer Support",
+    "summary": "Links to community and support resources for Android developers.",
+    "keywords": ["support"],
+    "type": "Google+",
+    "titleFriendly": ""
+  },
+]); 
\ No newline at end of file
diff --git a/docs/html/jd_tag_helpers.js b/docs/html/jd_tag_helpers.js
new file mode 100644
index 0000000..ca01386
--- /dev/null
+++ b/docs/html/jd_tag_helpers.js
@@ -0,0 +1,110 @@
+function mergeArrays() {
+  var arr = arguments[0] || [];
+  for (var i = 1; i < arguments.length; i++) {
+    arr = arr.concat(arguments[i]);
+  }
+  return arr;
+}
+
+var ALL_RESOURCES = mergeArrays(
+  DESIGN_RESOURCES,
+  DISTRIBUTE_RESOURCES,
+  GOOGLE_RESOURCES,
+  GUIDE_RESOURCES,
+  SAMPLES_RESOURCES,
+  TOOLS_RESOURCES,
+  TRAINING_RESOURCES,
+  YOUTUBE_RESOURCES,
+  BLOGGER_RESOURCES
+);
+
+for (var i = 0; i < ALL_RESOURCES.length; i++) {
+  ALL_RESOURCES[i].index = i;
+}
+
+function mergeMaps() {
+  var allRes = {};
+  var offset = 0;
+
+  for (var i = 0; i < arguments.length; i++) {
+    var r = arguments[i];
+    for (var tag in r.map) {
+      allRes[tag] = allRes[tag] || [];
+      allRes[tag] = allRes[tag].concat(r.map[tag].map(function(i){ return ALL_RESOURCES[i + offset]; }));
+    }
+    offset += r.arr.length;
+  }
+
+  return allRes;
+}
+
+function setFromArray(arr) {
+  arr = arr || [];
+  var set = {};
+  for (var i = 0; i < arr.length; i++) {
+    set[arr[i]] = true;
+  }
+  return set;
+}
+
+function buildResourceLookupMap(resourceDict) {
+  var map = {};
+  for (var key in resourceDict) {
+    var dictForKey = {};
+    var srcArr = resourceDict[key];
+    for (var i = 0; i < srcArr.length; i++) {
+      dictForKey[srcArr[i].index] = true;
+    }
+    map[key] = dictForKey;
+  }
+  return map;
+}
+
+// Type lookups
+
+var ALL_RESOURCES_BY_TYPE = {
+  'design': DESIGN_RESOURCES,
+  'distribute': DISTRIBUTE_RESOURCES,
+  'google': GOOGLE_RESOURCES,
+  'guide': GUIDE_RESOURCES,
+  'samples': SAMPLES_RESOURCES,
+  'tools': TOOLS_RESOURCES,
+  'training': TRAINING_RESOURCES,
+  'youtube': YOUTUBE_RESOURCES,
+  'blog': BLOGGER_RESOURCES
+};
+var IS_RESOURCE_OF_TYPE = buildResourceLookupMap(ALL_RESOURCES_BY_TYPE);
+
+// Tag lookups
+
+var ALL_RESOURCES_BY_TAG = mergeMaps(
+  {map:DESIGN_BY_TAG,arr:DESIGN_RESOURCES},
+  {map:DISTRIBUTE_BY_TAG,arr:DISTRIBUTE_RESOURCES},
+  {map:GOOGLE_BY_TAG,arr:GOOGLE_RESOURCES},
+  {map:GUIDE_BY_TAG,arr:GUIDE_RESOURCES},
+  {map:SAMPLES_BY_TAG,arr:SAMPLES_RESOURCES},
+  {map:TOOLS_BY_TAG,arr:TOOLS_RESOURCES},
+  {map:TRAINING_BY_TAG,arr:TRAINING_RESOURCES},
+  {map:YOUTUBE_BY_TAG,arr:YOUTUBE_RESOURCES},
+  {map:BLOGGER_BY_TAG,arr:BLOGGER_RESOURCES}
+);
+var IS_RESOURCE_TAGGED = buildResourceLookupMap(ALL_RESOURCES_BY_TAG);
+
+// URL and language lookups
+
+var ALL_RESOURCES_BY_URL = {};
+var ALL_RESOURCES_BY_LANG = {};
+
+for (var i = 0; i < ALL_RESOURCES.length; i++) {
+  var res = ALL_RESOURCES[i];
+  var lang = res.lang;
+  if (lang) {
+    ALL_RESOURCES_BY_LANG[lang] = ALL_RESOURCES_BY_LANG[lang] || [];
+    ALL_RESOURCES_BY_LANG[lang].push(res);
+  }
+  var url = res.url;
+  if (url) {
+    ALL_RESOURCES_BY_URL[url] = res;
+  }
+}
+var IS_RESOURCE_IN_LANG = buildResourceLookupMap(ALL_RESOURCES_BY_LANG);
\ No newline at end of file
diff --git a/docs/html/legal.jd b/docs/html/legal.jd
index aaa3c39..c6143da 100644
--- a/docs/html/legal.jd
+++ b/docs/html/legal.jd
@@ -1,4 +1,5 @@
 page.title=Legal Notice
+page.type=about
 fullpage=1
 @jd:body
 
@@ -39,7 +40,7 @@
 use of it must be attributed as such.</p>
 
 <p>For more information about Android brands, see the <a
-href="{@docRoot}distribute/googleplay/promote/brand.html">Brand Guidelines</a>.</p>
+href="{@docRoot}distribute/tools/promote/brand.html">Brand Guidelines</a>.</p>
 
 <p>All other trademarks are the property of their respective owners.</p>
 
diff --git a/docs/html/license.jd b/docs/html/license.jd
index b98c912..0f671e2 100644
--- a/docs/html/license.jd
+++ b/docs/html/license.jd
@@ -1,4 +1,5 @@
 page.title=Content License
+page.type=about
 fullpage=1
 excludeFromSuggestions=true
 @jd:body
@@ -68,7 +69,7 @@
 style="margin:0;padding:0 2px;vertical-align:baseline" /> stylized typeface logo) are not included
 in the license.
 Please see <a
-href="{@docRoot}distribute/googleplay/promote/brand.html">Brand Guidelines</a> for
+href="{@docRoot}distribute/tools/promote/brand.html">Brand Guidelines</a> for
 information about this usage. </li>
 
 <li>In some cases, a page may include content, such as an image, that is not 
diff --git a/docs/html/reference/android/preview/support/package-summary.html b/docs/html/reference/android/preview/support/package-summary.html
index d367f87..2f50871 100644
--- a/docs/html/reference/android/preview/support/package-summary.html
+++ b/docs/html/reference/android/preview/support/package-summary.html
@@ -82,13 +82,6 @@
 
 
 
-
-
-
-
-
-
-
 <html>
 <head>
 
@@ -101,13 +94,15 @@
 
 <!-- STYLESHEETS -->
 <link rel="stylesheet"
-href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold" title="roboto">
+href="//fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="//fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
 <link href="/assets/css/default.css" rel="stylesheet" type="text/css">
 
 
 
 <!-- JAVASCRIPT -->
-<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="//www.google.com/jsapi" type="text/javascript"></script>
 <script src="/assets/js/android_3p-bundle.js" type="text/javascript"></script>
 <script type="text/javascript">
   var toRoot = "/";
@@ -131,7 +126,7 @@
 
 
 <body class="gc-documentation 
-  develop">
+  preview">
   <div id="doc-api-level" class="" style="display:none"></div>
   <a name="top"></a>
 
@@ -139,31 +134,30 @@
   
 <a name="top"></a>
 
-    <!-- Header -->
-    <div id="header">
-        <div class="wrap" id="header-wrap">
-          <div class="col-3 logo-wear">
-          <a href="/wear/index.html">
-            <img src="/wear/images/android-wear.png" height="16" alt="Android Wear" />
-          </a>
-          </div>
+<!-- Header -->
+<div id="header-wrapper">
+  <div id="header">
+    <div class="wrap" id="header-wrap">
+      <div class="col_3 logo wear-logo">
+        <a href="/wear/index.html">
+          <img src="/wear/images/android-wear.png" height="16" alt="Android Wear" />
+        </a>
+      </div>
+      <div class="col-8" style="margin:0"><h1 style="margin:1px 0 0 20px;padding:0;line-height:16px;
+color:#666;font-weight:100;font-size:24px;">Developer Preview</h1></div>
 
-
-	<div class="col-8" style="margin:0"><h1 style="margin:1px 0 0 20px;padding:0;line-height:16px;
-  color:#666;font-weight:100;font-size:24px;">Developer Preview</h1></div>
-            
-
-          <!-- New Search -->
-          <div class="menu-container">
-            <div class="moremenu">
-	        <div id="more-btn"></div>
-	    </div>
+      
+      
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
   <div class="morehover" id="moremenu">
     <div class="top"></div>
     <div class="mid">
       <div class="header">Links</div>
       <ul>
-        <li><a href="https://play.google.com/apps/publish/">Google Play Developer Console</a></li>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
         <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
         <li><a href="/about/index.html">About Android</a></li>
       </ul>
@@ -173,16 +167,32 @@
         <li class="active"><a>Android Developers</a></li>
         <li><a href="http://source.android.com">Android Open Source Project</a></li>
       </ul>
-      
-      
-      
-      
 
-
+      
+      
+        <div class="header">Language</div>
+          <div id="language" class="locales">
+            <select name="language" onChange="changeLangPref(this.value, true)">
+                <option value="en">English</option>
+                <option value="es">Español</option>
+                <option value="ja">日本語</option>
+                <option value="ko">한국어</option>
+                <option value="ru">Русский</option>
+                <option value="zh-cn">中文 (中国)</option>
+                <option value="zh-tw">中文 (台灣)</option>
+            </select>
+          </div>
+        <script type="text/javascript">
+          <!--
+          loadLangPref();
+            //-->
+        </script>
+      
+      
       <br class="clearfix" />
-    </div><!-- end mid -->
+    </div><!-- end 'mid' -->
     <div class="bottom"></div>
-  </div><!-- end morehover -->
+  </div><!-- end 'moremenu' -->
 
   <div class="search" id="search-container">
     <div class="search-inner">
@@ -190,16 +200,16 @@
       <div class="left"></div>
       <form onsubmit="return submit_search()">
         <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
-onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
-onkeydown="return search_changed(event, true, '/')" 
-onkeyup="return search_changed(event, false, '/')" />
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '/')"
+          onkeyup="return search_changed(event, false, '/')" />
       </form>
       <div class="right"></div>
-        <a class="close hide">close</a>
-        <div class="left"></div>
-        <div class="right"></div>
-    </div>
-  </div><!--  end search -->
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
 
   <div class="search_filtered_wrapper reference">
     <div class="suggest-card reference no-display">
@@ -228,30 +238,37 @@
       <ul class="search_filtered">
       </ul>
     </div>
-  </div><!-- end search_filtered_wrapper -->
-
   </div>
-  <!-- end menu_container -->
+</div><!-- end menu-container (search and menu widget) -->
 
 
-        </div><!-- end header-wrap -->
-    </div>
-    <!-- /Header -->
+    </div><!-- end header-wrap -->
+  </div><!-- /Header -->
 
 
   <div id="searchResults" class="wrap" style="display:none;">
           <h2 id="searchTitle">Results</h2>
           <div id="leftSearchControl" class="search-control">Loading...</div>
   </div>
+</div> <!--end header-wrapper -->
+
+<div id="sticky-header">
+  <div>
+    <a class="logo" href="#top"></a>
+    <a class="top" href="#top"></a>
+    <ul class="breadcrumb">
+      
+      <li class="current">Preview Notifications Reference</li>
+    </ul>
+  </div>
+</div>
 
   
 
-  
 
   <div class="wrap clearfix" id="body-content">
     <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
       <div id="devdoc-nav" class="scroll-pane">
-<a class="totop" href="#top" data-g-event="left-nav-top">to top</a>
 
 <ul id="nav">
 
@@ -328,7 +345,7 @@
 
 </ul>
 
-        
+
 
       </div>
     </div> <!-- end side-nav -->
@@ -362,12 +379,6 @@
 
 
 
-
-  
-
-
-
-
     <h2>android.preview.support.v4.app</h2>
     <div class="jd-sumtable">
     
@@ -418,14 +429,6 @@
   
 
 
-
-
-
-
-
-
-
-
   
 
 
diff --git a/docs/html/reference/android/preview/support/v4/app/NotificationManagerCompat.html b/docs/html/reference/android/preview/support/v4/app/NotificationManagerCompat.html
index 6375d9a..8322ab2 100644
--- a/docs/html/reference/android/preview/support/v4/app/NotificationManagerCompat.html
+++ b/docs/html/reference/android/preview/support/v4/app/NotificationManagerCompat.html
@@ -82,13 +82,6 @@
 
 
 
-
-
-
-
-
-
-
 <html>
 <head>
 
@@ -101,13 +94,15 @@
 
 <!-- STYLESHEETS -->
 <link rel="stylesheet"
-href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold" title="roboto">
+href="//fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="//fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
 <link href="/assets/css/default.css" rel="stylesheet" type="text/css">
 
 
 
 <!-- JAVASCRIPT -->
-<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="//www.google.com/jsapi" type="text/javascript"></script>
 <script src="/assets/js/android_3p-bundle.js" type="text/javascript"></script>
 <script type="text/javascript">
   var toRoot = "/";
@@ -130,7 +125,7 @@
 </head>
 
 <body class="gc-documentation 
-  develop" itemscope itemtype="http://schema.org/Article">
+  preview" itemscope itemtype="http://schema.org/Article">
   <div id="doc-api-level" class="" style="display:none"></div>
   <a name="top"></a>
 
@@ -138,31 +133,30 @@
   
 <a name="top"></a>
 
-    <!-- Header -->
-    <div id="header">
-        <div class="wrap" id="header-wrap">
-          <div class="col-3 logo-wear">
-          <a href="/wear/index.html">
-            <img src="/wear/images/android-wear.png" height="16" alt="Android Wear" />
-          </a>
-          </div>
+<!-- Header -->
+<div id="header-wrapper">
+  <div id="header">
+    <div class="wrap" id="header-wrap">
+      <div class="col_3 logo wear-logo">
+        <a href="/wear/index.html">
+          <img src="/wear/images/android-wear.png" height="16" alt="Android Wear" />
+        </a>
+      </div>
+      <div class="col-8" style="margin:0"><h1 style="margin:1px 0 0 20px;padding:0;line-height:16px;
+color:#666;font-weight:100;font-size:24px;">Developer Preview</h1></div>
 
-
-	<div class="col-8" style="margin:0"><h1 style="margin:1px 0 0 20px;padding:0;line-height:16px;
-  color:#666;font-weight:100;font-size:24px;">Developer Preview</h1></div>
-            
-
-          <!-- New Search -->
-          <div class="menu-container">
-            <div class="moremenu">
-	        <div id="more-btn"></div>
-	    </div>
+      
+      
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
   <div class="morehover" id="moremenu">
     <div class="top"></div>
     <div class="mid">
       <div class="header">Links</div>
       <ul>
-        <li><a href="https://play.google.com/apps/publish/">Google Play Developer Console</a></li>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
         <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
         <li><a href="/about/index.html">About Android</a></li>
       </ul>
@@ -172,16 +166,32 @@
         <li class="active"><a>Android Developers</a></li>
         <li><a href="http://source.android.com">Android Open Source Project</a></li>
       </ul>
-      
-      
-      
-      
 
-
+      
+      
+        <div class="header">Language</div>
+          <div id="language" class="locales">
+            <select name="language" onChange="changeLangPref(this.value, true)">
+                <option value="en">English</option>
+                <option value="es">Español</option>
+                <option value="ja">日本語</option>
+                <option value="ko">한국어</option>
+                <option value="ru">Русский</option>
+                <option value="zh-cn">中文 (中国)</option>
+                <option value="zh-tw">中文 (台灣)</option>
+            </select>
+          </div>
+        <script type="text/javascript">
+          <!--
+          loadLangPref();
+            //-->
+        </script>
+      
+      
       <br class="clearfix" />
-    </div><!-- end mid -->
+    </div><!-- end 'mid' -->
     <div class="bottom"></div>
-  </div><!-- end morehover -->
+  </div><!-- end 'moremenu' -->
 
   <div class="search" id="search-container">
     <div class="search-inner">
@@ -189,16 +199,16 @@
       <div class="left"></div>
       <form onsubmit="return submit_search()">
         <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
-onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
-onkeydown="return search_changed(event, true, '/')" 
-onkeyup="return search_changed(event, false, '/')" />
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '/')"
+          onkeyup="return search_changed(event, false, '/')" />
       </form>
       <div class="right"></div>
-        <a class="close hide">close</a>
-        <div class="left"></div>
-        <div class="right"></div>
-    </div>
-  </div><!--  end search -->
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
 
   <div class="search_filtered_wrapper reference">
     <div class="suggest-card reference no-display">
@@ -227,30 +237,37 @@
       <ul class="search_filtered">
       </ul>
     </div>
-  </div><!-- end search_filtered_wrapper -->
-
   </div>
-  <!-- end menu_container -->
+</div><!-- end menu-container (search and menu widget) -->
 
 
-        </div><!-- end header-wrap -->
-    </div>
-    <!-- /Header -->
+    </div><!-- end header-wrap -->
+  </div><!-- /Header -->
 
 
   <div id="searchResults" class="wrap" style="display:none;">
           <h2 id="searchTitle">Results</h2>
           <div id="leftSearchControl" class="search-control">Loading...</div>
   </div>
+</div> <!--end header-wrapper -->
+
+<div id="sticky-header">
+  <div>
+    <a class="logo" href="#top"></a>
+    <a class="top" href="#top"></a>
+    <ul class="breadcrumb">
+      
+      <li class="current">NotificationManagerCompat</li>
+    </ul>
+  </div>
+</div>
 
   
 
-  
 
   <div class="wrap clearfix" id="body-content">
     <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
       <div id="devdoc-nav" class="scroll-pane">
-<a class="totop" href="#top" data-g-event="left-nav-top">to top</a>
 
 <ul id="nav">
 
@@ -327,7 +344,7 @@
 
 </ul>
 
-        
+
 
       </div>
     </div> <!-- end side-nav -->
@@ -340,6 +357,7 @@
 
 
 
+
 <div class="col-12"  id="doc-col">
 
 <div id="api-info-block">
diff --git a/docs/html/reference/android/preview/support/wearable/notifications/RemoteInput.Builder.html b/docs/html/reference/android/preview/support/wearable/notifications/RemoteInput.Builder.html
index 6fbf8b6..77807e4 100644
--- a/docs/html/reference/android/preview/support/wearable/notifications/RemoteInput.Builder.html
+++ b/docs/html/reference/android/preview/support/wearable/notifications/RemoteInput.Builder.html
@@ -82,13 +82,6 @@
 
 
 
-
-
-
-
-
-
-
 <html>
 <head>
 
@@ -101,13 +94,15 @@
 
 <!-- STYLESHEETS -->
 <link rel="stylesheet"
-href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold" title="roboto">
+href="//fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="//fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
 <link href="/assets/css/default.css" rel="stylesheet" type="text/css">
 
 
 
 <!-- JAVASCRIPT -->
-<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="//www.google.com/jsapi" type="text/javascript"></script>
 <script src="/assets/js/android_3p-bundle.js" type="text/javascript"></script>
 <script type="text/javascript">
   var toRoot = "/";
@@ -130,7 +125,7 @@
 </head>
 
 <body class="gc-documentation 
-  develop" itemscope itemtype="http://schema.org/Article">
+  preview" itemscope itemtype="http://schema.org/Article">
   <div id="doc-api-level" class="" style="display:none"></div>
   <a name="top"></a>
 
@@ -138,31 +133,30 @@
   
 <a name="top"></a>
 
-    <!-- Header -->
-    <div id="header">
-        <div class="wrap" id="header-wrap">
-          <div class="col-3 logo-wear">
-          <a href="/wear/index.html">
-            <img src="/wear/images/android-wear.png" height="16" alt="Android Wear" />
-          </a>
-          </div>
+<!-- Header -->
+<div id="header-wrapper">
+  <div id="header">
+    <div class="wrap" id="header-wrap">
+      <div class="col_3 logo wear-logo">
+        <a href="/wear/index.html">
+          <img src="/wear/images/android-wear.png" height="16" alt="Android Wear" />
+        </a>
+      </div>
+      <div class="col-8" style="margin:0"><h1 style="margin:1px 0 0 20px;padding:0;line-height:16px;
+color:#666;font-weight:100;font-size:24px;">Developer Preview</h1></div>
 
-
-	<div class="col-8" style="margin:0"><h1 style="margin:1px 0 0 20px;padding:0;line-height:16px;
-  color:#666;font-weight:100;font-size:24px;">Developer Preview</h1></div>
-            
-
-          <!-- New Search -->
-          <div class="menu-container">
-            <div class="moremenu">
-	        <div id="more-btn"></div>
-	    </div>
+      
+      
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
   <div class="morehover" id="moremenu">
     <div class="top"></div>
     <div class="mid">
       <div class="header">Links</div>
       <ul>
-        <li><a href="https://play.google.com/apps/publish/">Google Play Developer Console</a></li>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
         <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
         <li><a href="/about/index.html">About Android</a></li>
       </ul>
@@ -172,16 +166,32 @@
         <li class="active"><a>Android Developers</a></li>
         <li><a href="http://source.android.com">Android Open Source Project</a></li>
       </ul>
-      
-      
-      
-      
 
-
+      
+      
+        <div class="header">Language</div>
+          <div id="language" class="locales">
+            <select name="language" onChange="changeLangPref(this.value, true)">
+                <option value="en">English</option>
+                <option value="es">Español</option>
+                <option value="ja">日本語</option>
+                <option value="ko">한국어</option>
+                <option value="ru">Русский</option>
+                <option value="zh-cn">中文 (中国)</option>
+                <option value="zh-tw">中文 (台灣)</option>
+            </select>
+          </div>
+        <script type="text/javascript">
+          <!--
+          loadLangPref();
+            //-->
+        </script>
+      
+      
       <br class="clearfix" />
-    </div><!-- end mid -->
+    </div><!-- end 'mid' -->
     <div class="bottom"></div>
-  </div><!-- end morehover -->
+  </div><!-- end 'moremenu' -->
 
   <div class="search" id="search-container">
     <div class="search-inner">
@@ -189,16 +199,16 @@
       <div class="left"></div>
       <form onsubmit="return submit_search()">
         <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
-onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
-onkeydown="return search_changed(event, true, '/')" 
-onkeyup="return search_changed(event, false, '/')" />
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '/')"
+          onkeyup="return search_changed(event, false, '/')" />
       </form>
       <div class="right"></div>
-        <a class="close hide">close</a>
-        <div class="left"></div>
-        <div class="right"></div>
-    </div>
-  </div><!--  end search -->
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
 
   <div class="search_filtered_wrapper reference">
     <div class="suggest-card reference no-display">
@@ -227,30 +237,37 @@
       <ul class="search_filtered">
       </ul>
     </div>
-  </div><!-- end search_filtered_wrapper -->
-
   </div>
-  <!-- end menu_container -->
+</div><!-- end menu-container (search and menu widget) -->
 
 
-        </div><!-- end header-wrap -->
-    </div>
-    <!-- /Header -->
+    </div><!-- end header-wrap -->
+  </div><!-- /Header -->
 
 
   <div id="searchResults" class="wrap" style="display:none;">
           <h2 id="searchTitle">Results</h2>
           <div id="leftSearchControl" class="search-control">Loading...</div>
   </div>
+</div> <!--end header-wrapper -->
+
+<div id="sticky-header">
+  <div>
+    <a class="logo" href="#top"></a>
+    <a class="top" href="#top"></a>
+    <ul class="breadcrumb">
+      
+      <li class="current">RemoteInput.Builder</li>
+    </ul>
+  </div>
+</div>
 
   
 
-  
 
   <div class="wrap clearfix" id="body-content">
     <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
       <div id="devdoc-nav" class="scroll-pane">
-<a class="totop" href="#top" data-g-event="left-nav-top">to top</a>
 
 <ul id="nav">
 
@@ -327,7 +344,7 @@
 
 </ul>
 
-        
+
 
       </div>
     </div> <!-- end side-nav -->
@@ -340,6 +357,7 @@
 
 
 
+
 <div class="col-12"  id="doc-col">
 
 <div id="api-info-block">
diff --git a/docs/html/reference/android/preview/support/wearable/notifications/RemoteInput.html b/docs/html/reference/android/preview/support/wearable/notifications/RemoteInput.html
index 0e1cebe..43fd36e 100644
--- a/docs/html/reference/android/preview/support/wearable/notifications/RemoteInput.html
+++ b/docs/html/reference/android/preview/support/wearable/notifications/RemoteInput.html
@@ -82,13 +82,6 @@
 
 
 
-
-
-
-
-
-
-
 <html>
 <head>
 
@@ -101,13 +94,15 @@
 
 <!-- STYLESHEETS -->
 <link rel="stylesheet"
-href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold" title="roboto">
+href="//fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="//fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
 <link href="/assets/css/default.css" rel="stylesheet" type="text/css">
 
 
 
 <!-- JAVASCRIPT -->
-<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="//www.google.com/jsapi" type="text/javascript"></script>
 <script src="/assets/js/android_3p-bundle.js" type="text/javascript"></script>
 <script type="text/javascript">
   var toRoot = "/";
@@ -130,7 +125,7 @@
 </head>
 
 <body class="gc-documentation 
-  develop" itemscope itemtype="http://schema.org/Article">
+  preview" itemscope itemtype="http://schema.org/Article">
   <div id="doc-api-level" class="" style="display:none"></div>
   <a name="top"></a>
 
@@ -138,31 +133,30 @@
   
 <a name="top"></a>
 
-    <!-- Header -->
-    <div id="header">
-        <div class="wrap" id="header-wrap">
-          <div class="col-3 logo-wear">
-          <a href="/wear/index.html">
-            <img src="/wear/images/android-wear.png" height="16" alt="Android Wear" />
-          </a>
-          </div>
+<!-- Header -->
+<div id="header-wrapper">
+  <div id="header">
+    <div class="wrap" id="header-wrap">
+      <div class="col_3 logo wear-logo">
+        <a href="/wear/index.html">
+          <img src="/wear/images/android-wear.png" height="16" alt="Android Wear" />
+        </a>
+      </div>
+      <div class="col-8" style="margin:0"><h1 style="margin:1px 0 0 20px;padding:0;line-height:16px;
+color:#666;font-weight:100;font-size:24px;">Developer Preview</h1></div>
 
-
-	<div class="col-8" style="margin:0"><h1 style="margin:1px 0 0 20px;padding:0;line-height:16px;
-  color:#666;font-weight:100;font-size:24px;">Developer Preview</h1></div>
-            
-
-          <!-- New Search -->
-          <div class="menu-container">
-            <div class="moremenu">
-	        <div id="more-btn"></div>
-	    </div>
+      
+      
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
   <div class="morehover" id="moremenu">
     <div class="top"></div>
     <div class="mid">
       <div class="header">Links</div>
       <ul>
-        <li><a href="https://play.google.com/apps/publish/">Google Play Developer Console</a></li>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
         <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
         <li><a href="/about/index.html">About Android</a></li>
       </ul>
@@ -172,16 +166,32 @@
         <li class="active"><a>Android Developers</a></li>
         <li><a href="http://source.android.com">Android Open Source Project</a></li>
       </ul>
-      
-      
-      
-      
 
-
+      
+      
+        <div class="header">Language</div>
+          <div id="language" class="locales">
+            <select name="language" onChange="changeLangPref(this.value, true)">
+                <option value="en">English</option>
+                <option value="es">Español</option>
+                <option value="ja">日本語</option>
+                <option value="ko">한국어</option>
+                <option value="ru">Русский</option>
+                <option value="zh-cn">中文 (中国)</option>
+                <option value="zh-tw">中文 (台灣)</option>
+            </select>
+          </div>
+        <script type="text/javascript">
+          <!--
+          loadLangPref();
+            //-->
+        </script>
+      
+      
       <br class="clearfix" />
-    </div><!-- end mid -->
+    </div><!-- end 'mid' -->
     <div class="bottom"></div>
-  </div><!-- end morehover -->
+  </div><!-- end 'moremenu' -->
 
   <div class="search" id="search-container">
     <div class="search-inner">
@@ -189,16 +199,16 @@
       <div class="left"></div>
       <form onsubmit="return submit_search()">
         <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
-onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
-onkeydown="return search_changed(event, true, '/')" 
-onkeyup="return search_changed(event, false, '/')" />
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '/')"
+          onkeyup="return search_changed(event, false, '/')" />
       </form>
       <div class="right"></div>
-        <a class="close hide">close</a>
-        <div class="left"></div>
-        <div class="right"></div>
-    </div>
-  </div><!--  end search -->
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
 
   <div class="search_filtered_wrapper reference">
     <div class="suggest-card reference no-display">
@@ -227,30 +237,37 @@
       <ul class="search_filtered">
       </ul>
     </div>
-  </div><!-- end search_filtered_wrapper -->
-
   </div>
-  <!-- end menu_container -->
+</div><!-- end menu-container (search and menu widget) -->
 
 
-        </div><!-- end header-wrap -->
-    </div>
-    <!-- /Header -->
+    </div><!-- end header-wrap -->
+  </div><!-- /Header -->
 
 
   <div id="searchResults" class="wrap" style="display:none;">
           <h2 id="searchTitle">Results</h2>
           <div id="leftSearchControl" class="search-control">Loading...</div>
   </div>
+</div> <!--end header-wrapper -->
+
+<div id="sticky-header">
+  <div>
+    <a class="logo" href="#top"></a>
+    <a class="top" href="#top"></a>
+    <ul class="breadcrumb">
+      
+      <li class="current">RemoteInput</li>
+    </ul>
+  </div>
+</div>
 
   
 
-  
 
   <div class="wrap clearfix" id="body-content">
     <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
       <div id="devdoc-nav" class="scroll-pane">
-<a class="totop" href="#top" data-g-event="left-nav-top">to top</a>
 
 <ul id="nav">
 
@@ -327,7 +344,7 @@
 
 </ul>
 
-        
+
 
       </div>
     </div> <!-- end side-nav -->
@@ -340,6 +357,7 @@
 
 
 
+
 <div class="col-12"  id="doc-col">
 
 <div id="api-info-block">
diff --git a/docs/html/reference/android/preview/support/wearable/notifications/WearableNotifications.Action.Builder.html b/docs/html/reference/android/preview/support/wearable/notifications/WearableNotifications.Action.Builder.html
index f27d406..9592e27 100644
--- a/docs/html/reference/android/preview/support/wearable/notifications/WearableNotifications.Action.Builder.html
+++ b/docs/html/reference/android/preview/support/wearable/notifications/WearableNotifications.Action.Builder.html
@@ -82,13 +82,6 @@
 
 
 
-
-
-
-
-
-
-
 <html>
 <head>
 
@@ -101,13 +94,15 @@
 
 <!-- STYLESHEETS -->
 <link rel="stylesheet"
-href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold" title="roboto">
+href="//fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="//fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
 <link href="/assets/css/default.css" rel="stylesheet" type="text/css">
 
 
 
 <!-- JAVASCRIPT -->
-<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="//www.google.com/jsapi" type="text/javascript"></script>
 <script src="/assets/js/android_3p-bundle.js" type="text/javascript"></script>
 <script type="text/javascript">
   var toRoot = "/";
@@ -130,7 +125,7 @@
 </head>
 
 <body class="gc-documentation 
-  develop" itemscope itemtype="http://schema.org/Article">
+  preview" itemscope itemtype="http://schema.org/Article">
   <div id="doc-api-level" class="" style="display:none"></div>
   <a name="top"></a>
 
@@ -138,31 +133,30 @@
   
 <a name="top"></a>
 
-    <!-- Header -->
-    <div id="header">
-        <div class="wrap" id="header-wrap">
-          <div class="col-3 logo-wear">
-          <a href="/wear/index.html">
-            <img src="/wear/images/android-wear.png" height="16" alt="Android Wear" />
-          </a>
-          </div>
+<!-- Header -->
+<div id="header-wrapper">
+  <div id="header">
+    <div class="wrap" id="header-wrap">
+      <div class="col_3 logo wear-logo">
+        <a href="/wear/index.html">
+          <img src="/wear/images/android-wear.png" height="16" alt="Android Wear" />
+        </a>
+      </div>
+      <div class="col-8" style="margin:0"><h1 style="margin:1px 0 0 20px;padding:0;line-height:16px;
+color:#666;font-weight:100;font-size:24px;">Developer Preview</h1></div>
 
-
-	<div class="col-8" style="margin:0"><h1 style="margin:1px 0 0 20px;padding:0;line-height:16px;
-  color:#666;font-weight:100;font-size:24px;">Developer Preview</h1></div>
-            
-
-          <!-- New Search -->
-          <div class="menu-container">
-            <div class="moremenu">
-	        <div id="more-btn"></div>
-	    </div>
+      
+      
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
   <div class="morehover" id="moremenu">
     <div class="top"></div>
     <div class="mid">
       <div class="header">Links</div>
       <ul>
-        <li><a href="https://play.google.com/apps/publish/">Google Play Developer Console</a></li>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
         <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
         <li><a href="/about/index.html">About Android</a></li>
       </ul>
@@ -172,16 +166,32 @@
         <li class="active"><a>Android Developers</a></li>
         <li><a href="http://source.android.com">Android Open Source Project</a></li>
       </ul>
-      
-      
-      
-      
 
-
+      
+      
+        <div class="header">Language</div>
+          <div id="language" class="locales">
+            <select name="language" onChange="changeLangPref(this.value, true)">
+                <option value="en">English</option>
+                <option value="es">Español</option>
+                <option value="ja">日本語</option>
+                <option value="ko">한국어</option>
+                <option value="ru">Русский</option>
+                <option value="zh-cn">中文 (中国)</option>
+                <option value="zh-tw">中文 (台灣)</option>
+            </select>
+          </div>
+        <script type="text/javascript">
+          <!--
+          loadLangPref();
+            //-->
+        </script>
+      
+      
       <br class="clearfix" />
-    </div><!-- end mid -->
+    </div><!-- end 'mid' -->
     <div class="bottom"></div>
-  </div><!-- end morehover -->
+  </div><!-- end 'moremenu' -->
 
   <div class="search" id="search-container">
     <div class="search-inner">
@@ -189,16 +199,16 @@
       <div class="left"></div>
       <form onsubmit="return submit_search()">
         <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
-onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
-onkeydown="return search_changed(event, true, '/')" 
-onkeyup="return search_changed(event, false, '/')" />
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '/')"
+          onkeyup="return search_changed(event, false, '/')" />
       </form>
       <div class="right"></div>
-        <a class="close hide">close</a>
-        <div class="left"></div>
-        <div class="right"></div>
-    </div>
-  </div><!--  end search -->
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
 
   <div class="search_filtered_wrapper reference">
     <div class="suggest-card reference no-display">
@@ -227,30 +237,37 @@
       <ul class="search_filtered">
       </ul>
     </div>
-  </div><!-- end search_filtered_wrapper -->
-
   </div>
-  <!-- end menu_container -->
+</div><!-- end menu-container (search and menu widget) -->
 
 
-        </div><!-- end header-wrap -->
-    </div>
-    <!-- /Header -->
+    </div><!-- end header-wrap -->
+  </div><!-- /Header -->
 
 
   <div id="searchResults" class="wrap" style="display:none;">
           <h2 id="searchTitle">Results</h2>
           <div id="leftSearchControl" class="search-control">Loading...</div>
   </div>
+</div> <!--end header-wrapper -->
+
+<div id="sticky-header">
+  <div>
+    <a class="logo" href="#top"></a>
+    <a class="top" href="#top"></a>
+    <ul class="breadcrumb">
+      
+      <li class="current">WearableNotifications.Action.Builder</li>
+    </ul>
+  </div>
+</div>
 
   
 
-  
 
   <div class="wrap clearfix" id="body-content">
     <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
       <div id="devdoc-nav" class="scroll-pane">
-<a class="totop" href="#top" data-g-event="left-nav-top">to top</a>
 
 <ul id="nav">
 
@@ -327,7 +344,7 @@
 
 </ul>
 
-        
+
 
       </div>
     </div> <!-- end side-nav -->
@@ -340,6 +357,7 @@
 
 
 
+
 <div class="col-12"  id="doc-col">
 
 <div id="api-info-block">
diff --git a/docs/html/reference/android/preview/support/wearable/notifications/WearableNotifications.Action.html b/docs/html/reference/android/preview/support/wearable/notifications/WearableNotifications.Action.html
index ff9c904..8073fa8 100644
--- a/docs/html/reference/android/preview/support/wearable/notifications/WearableNotifications.Action.html
+++ b/docs/html/reference/android/preview/support/wearable/notifications/WearableNotifications.Action.html
@@ -82,13 +82,6 @@
 
 
 
-
-
-
-
-
-
-
 <html>
 <head>
 
@@ -101,13 +94,15 @@
 
 <!-- STYLESHEETS -->
 <link rel="stylesheet"
-href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold" title="roboto">
+href="//fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="//fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
 <link href="/assets/css/default.css" rel="stylesheet" type="text/css">
 
 
 
 <!-- JAVASCRIPT -->
-<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="//www.google.com/jsapi" type="text/javascript"></script>
 <script src="/assets/js/android_3p-bundle.js" type="text/javascript"></script>
 <script type="text/javascript">
   var toRoot = "/";
@@ -130,7 +125,7 @@
 </head>
 
 <body class="gc-documentation 
-  develop" itemscope itemtype="http://schema.org/Article">
+  preview" itemscope itemtype="http://schema.org/Article">
   <div id="doc-api-level" class="" style="display:none"></div>
   <a name="top"></a>
 
@@ -138,31 +133,30 @@
   
 <a name="top"></a>
 
-    <!-- Header -->
-    <div id="header">
-        <div class="wrap" id="header-wrap">
-          <div class="col-3 logo-wear">
-          <a href="/wear/index.html">
-            <img src="/wear/images/android-wear.png" height="16" alt="Android Wear" />
-          </a>
-          </div>
+<!-- Header -->
+<div id="header-wrapper">
+  <div id="header">
+    <div class="wrap" id="header-wrap">
+      <div class="col_3 logo wear-logo">
+        <a href="/wear/index.html">
+          <img src="/wear/images/android-wear.png" height="16" alt="Android Wear" />
+        </a>
+      </div>
+      <div class="col-8" style="margin:0"><h1 style="margin:1px 0 0 20px;padding:0;line-height:16px;
+color:#666;font-weight:100;font-size:24px;">Developer Preview</h1></div>
 
-
-	<div class="col-8" style="margin:0"><h1 style="margin:1px 0 0 20px;padding:0;line-height:16px;
-  color:#666;font-weight:100;font-size:24px;">Developer Preview</h1></div>
-            
-
-          <!-- New Search -->
-          <div class="menu-container">
-            <div class="moremenu">
-	        <div id="more-btn"></div>
-	    </div>
+      
+      
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
   <div class="morehover" id="moremenu">
     <div class="top"></div>
     <div class="mid">
       <div class="header">Links</div>
       <ul>
-        <li><a href="https://play.google.com/apps/publish/">Google Play Developer Console</a></li>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
         <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
         <li><a href="/about/index.html">About Android</a></li>
       </ul>
@@ -172,16 +166,32 @@
         <li class="active"><a>Android Developers</a></li>
         <li><a href="http://source.android.com">Android Open Source Project</a></li>
       </ul>
-      
-      
-      
-      
 
-
+      
+      
+        <div class="header">Language</div>
+          <div id="language" class="locales">
+            <select name="language" onChange="changeLangPref(this.value, true)">
+                <option value="en">English</option>
+                <option value="es">Español</option>
+                <option value="ja">日本語</option>
+                <option value="ko">한국어</option>
+                <option value="ru">Русский</option>
+                <option value="zh-cn">中文 (中国)</option>
+                <option value="zh-tw">中文 (台灣)</option>
+            </select>
+          </div>
+        <script type="text/javascript">
+          <!--
+          loadLangPref();
+            //-->
+        </script>
+      
+      
       <br class="clearfix" />
-    </div><!-- end mid -->
+    </div><!-- end 'mid' -->
     <div class="bottom"></div>
-  </div><!-- end morehover -->
+  </div><!-- end 'moremenu' -->
 
   <div class="search" id="search-container">
     <div class="search-inner">
@@ -189,16 +199,16 @@
       <div class="left"></div>
       <form onsubmit="return submit_search()">
         <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
-onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
-onkeydown="return search_changed(event, true, '/')" 
-onkeyup="return search_changed(event, false, '/')" />
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '/')"
+          onkeyup="return search_changed(event, false, '/')" />
       </form>
       <div class="right"></div>
-        <a class="close hide">close</a>
-        <div class="left"></div>
-        <div class="right"></div>
-    </div>
-  </div><!--  end search -->
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
 
   <div class="search_filtered_wrapper reference">
     <div class="suggest-card reference no-display">
@@ -227,30 +237,37 @@
       <ul class="search_filtered">
       </ul>
     </div>
-  </div><!-- end search_filtered_wrapper -->
-
   </div>
-  <!-- end menu_container -->
+</div><!-- end menu-container (search and menu widget) -->
 
 
-        </div><!-- end header-wrap -->
-    </div>
-    <!-- /Header -->
+    </div><!-- end header-wrap -->
+  </div><!-- /Header -->
 
 
   <div id="searchResults" class="wrap" style="display:none;">
           <h2 id="searchTitle">Results</h2>
           <div id="leftSearchControl" class="search-control">Loading...</div>
   </div>
+</div> <!--end header-wrapper -->
+
+<div id="sticky-header">
+  <div>
+    <a class="logo" href="#top"></a>
+    <a class="top" href="#top"></a>
+    <ul class="breadcrumb">
+      
+      <li class="current">WearableNotifications.Action</li>
+    </ul>
+  </div>
+</div>
 
   
 
-  
 
   <div class="wrap clearfix" id="body-content">
     <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
       <div id="devdoc-nav" class="scroll-pane">
-<a class="totop" href="#top" data-g-event="left-nav-top">to top</a>
 
 <ul id="nav">
 
@@ -327,7 +344,7 @@
 
 </ul>
 
-        
+
 
       </div>
     </div> <!-- end side-nav -->
@@ -340,6 +357,7 @@
 
 
 
+
 <div class="col-12"  id="doc-col">
 
 <div id="api-info-block">
diff --git a/docs/html/reference/android/preview/support/wearable/notifications/WearableNotifications.Builder.html b/docs/html/reference/android/preview/support/wearable/notifications/WearableNotifications.Builder.html
index d6ec260..15d3303 100644
--- a/docs/html/reference/android/preview/support/wearable/notifications/WearableNotifications.Builder.html
+++ b/docs/html/reference/android/preview/support/wearable/notifications/WearableNotifications.Builder.html
@@ -82,13 +82,6 @@
 
 
 
-
-
-
-
-
-
-
 <html>
 <head>
 
@@ -101,13 +94,15 @@
 
 <!-- STYLESHEETS -->
 <link rel="stylesheet"
-href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold" title="roboto">
+href="//fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="//fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
 <link href="/assets/css/default.css" rel="stylesheet" type="text/css">
 
 
 
 <!-- JAVASCRIPT -->
-<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="//www.google.com/jsapi" type="text/javascript"></script>
 <script src="/assets/js/android_3p-bundle.js" type="text/javascript"></script>
 <script type="text/javascript">
   var toRoot = "/";
@@ -130,7 +125,7 @@
 </head>
 
 <body class="gc-documentation 
-  develop" itemscope itemtype="http://schema.org/Article">
+  preview" itemscope itemtype="http://schema.org/Article">
   <div id="doc-api-level" class="" style="display:none"></div>
   <a name="top"></a>
 
@@ -138,31 +133,30 @@
   
 <a name="top"></a>
 
-    <!-- Header -->
-    <div id="header">
-        <div class="wrap" id="header-wrap">
-          <div class="col-3 logo-wear">
-          <a href="/wear/index.html">
-            <img src="/wear/images/android-wear.png" height="16" alt="Android Wear" />
-          </a>
-          </div>
+<!-- Header -->
+<div id="header-wrapper">
+  <div id="header">
+    <div class="wrap" id="header-wrap">
+      <div class="col_3 logo wear-logo">
+        <a href="/wear/index.html">
+          <img src="/wear/images/android-wear.png" height="16" alt="Android Wear" />
+        </a>
+      </div>
+      <div class="col-8" style="margin:0"><h1 style="margin:1px 0 0 20px;padding:0;line-height:16px;
+color:#666;font-weight:100;font-size:24px;">Developer Preview</h1></div>
 
-
-	<div class="col-8" style="margin:0"><h1 style="margin:1px 0 0 20px;padding:0;line-height:16px;
-  color:#666;font-weight:100;font-size:24px;">Developer Preview</h1></div>
-            
-
-          <!-- New Search -->
-          <div class="menu-container">
-            <div class="moremenu">
-	        <div id="more-btn"></div>
-	    </div>
+      
+      
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
   <div class="morehover" id="moremenu">
     <div class="top"></div>
     <div class="mid">
       <div class="header">Links</div>
       <ul>
-        <li><a href="https://play.google.com/apps/publish/">Google Play Developer Console</a></li>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
         <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
         <li><a href="/about/index.html">About Android</a></li>
       </ul>
@@ -172,16 +166,32 @@
         <li class="active"><a>Android Developers</a></li>
         <li><a href="http://source.android.com">Android Open Source Project</a></li>
       </ul>
-      
-      
-      
-      
 
-
+      
+      
+        <div class="header">Language</div>
+          <div id="language" class="locales">
+            <select name="language" onChange="changeLangPref(this.value, true)">
+                <option value="en">English</option>
+                <option value="es">Español</option>
+                <option value="ja">日本語</option>
+                <option value="ko">한국어</option>
+                <option value="ru">Русский</option>
+                <option value="zh-cn">中文 (中国)</option>
+                <option value="zh-tw">中文 (台灣)</option>
+            </select>
+          </div>
+        <script type="text/javascript">
+          <!--
+          loadLangPref();
+            //-->
+        </script>
+      
+      
       <br class="clearfix" />
-    </div><!-- end mid -->
+    </div><!-- end 'mid' -->
     <div class="bottom"></div>
-  </div><!-- end morehover -->
+  </div><!-- end 'moremenu' -->
 
   <div class="search" id="search-container">
     <div class="search-inner">
@@ -189,16 +199,16 @@
       <div class="left"></div>
       <form onsubmit="return submit_search()">
         <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
-onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
-onkeydown="return search_changed(event, true, '/')" 
-onkeyup="return search_changed(event, false, '/')" />
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '/')"
+          onkeyup="return search_changed(event, false, '/')" />
       </form>
       <div class="right"></div>
-        <a class="close hide">close</a>
-        <div class="left"></div>
-        <div class="right"></div>
-    </div>
-  </div><!--  end search -->
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
 
   <div class="search_filtered_wrapper reference">
     <div class="suggest-card reference no-display">
@@ -227,30 +237,37 @@
       <ul class="search_filtered">
       </ul>
     </div>
-  </div><!-- end search_filtered_wrapper -->
-
   </div>
-  <!-- end menu_container -->
+</div><!-- end menu-container (search and menu widget) -->
 
 
-        </div><!-- end header-wrap -->
-    </div>
-    <!-- /Header -->
+    </div><!-- end header-wrap -->
+  </div><!-- /Header -->
 
 
   <div id="searchResults" class="wrap" style="display:none;">
           <h2 id="searchTitle">Results</h2>
           <div id="leftSearchControl" class="search-control">Loading...</div>
   </div>
+</div> <!--end header-wrapper -->
+
+<div id="sticky-header">
+  <div>
+    <a class="logo" href="#top"></a>
+    <a class="top" href="#top"></a>
+    <ul class="breadcrumb">
+      
+      <li class="current">WearableNotifications.Builder</li>
+    </ul>
+  </div>
+</div>
 
   
 
-  
 
   <div class="wrap clearfix" id="body-content">
     <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
       <div id="devdoc-nav" class="scroll-pane">
-<a class="totop" href="#top" data-g-event="left-nav-top">to top</a>
 
 <ul id="nav">
 
@@ -327,7 +344,7 @@
 
 </ul>
 
-        
+
 
       </div>
     </div> <!-- end side-nav -->
@@ -340,6 +357,7 @@
 
 
 
+
 <div class="col-12"  id="doc-col">
 
 <div id="api-info-block">
diff --git a/docs/html/reference/android/preview/support/wearable/notifications/WearableNotifications.html b/docs/html/reference/android/preview/support/wearable/notifications/WearableNotifications.html
index e03e16e..c9948b8 100644
--- a/docs/html/reference/android/preview/support/wearable/notifications/WearableNotifications.html
+++ b/docs/html/reference/android/preview/support/wearable/notifications/WearableNotifications.html
@@ -82,13 +82,6 @@
 
 
 
-
-
-
-
-
-
-
 <html>
 <head>
 
@@ -101,13 +94,15 @@
 
 <!-- STYLESHEETS -->
 <link rel="stylesheet"
-href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold" title="roboto">
+href="//fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="//fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
 <link href="/assets/css/default.css" rel="stylesheet" type="text/css">
 
 
 
 <!-- JAVASCRIPT -->
-<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="//www.google.com/jsapi" type="text/javascript"></script>
 <script src="/assets/js/android_3p-bundle.js" type="text/javascript"></script>
 <script type="text/javascript">
   var toRoot = "/";
@@ -130,7 +125,7 @@
 </head>
 
 <body class="gc-documentation 
-  develop" itemscope itemtype="http://schema.org/Article">
+  preview" itemscope itemtype="http://schema.org/Article">
   <div id="doc-api-level" class="" style="display:none"></div>
   <a name="top"></a>
 
@@ -138,31 +133,30 @@
   
 <a name="top"></a>
 
-    <!-- Header -->
-    <div id="header">
-        <div class="wrap" id="header-wrap">
-          <div class="col-3 logo-wear">
-          <a href="/wear/index.html">
-            <img src="/wear/images/android-wear.png" height="16" alt="Android Wear" />
-          </a>
-          </div>
+<!-- Header -->
+<div id="header-wrapper">
+  <div id="header">
+    <div class="wrap" id="header-wrap">
+      <div class="col_3 logo wear-logo">
+        <a href="/wear/index.html">
+          <img src="/wear/images/android-wear.png" height="16" alt="Android Wear" />
+        </a>
+      </div>
+      <div class="col-8" style="margin:0"><h1 style="margin:1px 0 0 20px;padding:0;line-height:16px;
+color:#666;font-weight:100;font-size:24px;">Developer Preview</h1></div>
 
-
-	<div class="col-8" style="margin:0"><h1 style="margin:1px 0 0 20px;padding:0;line-height:16px;
-  color:#666;font-weight:100;font-size:24px;">Developer Preview</h1></div>
-            
-
-          <!-- New Search -->
-          <div class="menu-container">
-            <div class="moremenu">
-	        <div id="more-btn"></div>
-	    </div>
+      
+      
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
   <div class="morehover" id="moremenu">
     <div class="top"></div>
     <div class="mid">
       <div class="header">Links</div>
       <ul>
-        <li><a href="https://play.google.com/apps/publish/">Google Play Developer Console</a></li>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
         <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
         <li><a href="/about/index.html">About Android</a></li>
       </ul>
@@ -172,16 +166,32 @@
         <li class="active"><a>Android Developers</a></li>
         <li><a href="http://source.android.com">Android Open Source Project</a></li>
       </ul>
-      
-      
-      
-      
 
-
+      
+      
+        <div class="header">Language</div>
+          <div id="language" class="locales">
+            <select name="language" onChange="changeLangPref(this.value, true)">
+                <option value="en">English</option>
+                <option value="es">Español</option>
+                <option value="ja">日本語</option>
+                <option value="ko">한국어</option>
+                <option value="ru">Русский</option>
+                <option value="zh-cn">中文 (中国)</option>
+                <option value="zh-tw">中文 (台灣)</option>
+            </select>
+          </div>
+        <script type="text/javascript">
+          <!--
+          loadLangPref();
+            //-->
+        </script>
+      
+      
       <br class="clearfix" />
-    </div><!-- end mid -->
+    </div><!-- end 'mid' -->
     <div class="bottom"></div>
-  </div><!-- end morehover -->
+  </div><!-- end 'moremenu' -->
 
   <div class="search" id="search-container">
     <div class="search-inner">
@@ -189,16 +199,16 @@
       <div class="left"></div>
       <form onsubmit="return submit_search()">
         <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
-onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
-onkeydown="return search_changed(event, true, '/')" 
-onkeyup="return search_changed(event, false, '/')" />
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '/')"
+          onkeyup="return search_changed(event, false, '/')" />
       </form>
       <div class="right"></div>
-        <a class="close hide">close</a>
-        <div class="left"></div>
-        <div class="right"></div>
-    </div>
-  </div><!--  end search -->
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
 
   <div class="search_filtered_wrapper reference">
     <div class="suggest-card reference no-display">
@@ -227,30 +237,37 @@
       <ul class="search_filtered">
       </ul>
     </div>
-  </div><!-- end search_filtered_wrapper -->
-
   </div>
-  <!-- end menu_container -->
+</div><!-- end menu-container (search and menu widget) -->
 
 
-        </div><!-- end header-wrap -->
-    </div>
-    <!-- /Header -->
+    </div><!-- end header-wrap -->
+  </div><!-- /Header -->
 
 
   <div id="searchResults" class="wrap" style="display:none;">
           <h2 id="searchTitle">Results</h2>
           <div id="leftSearchControl" class="search-control">Loading...</div>
   </div>
+</div> <!--end header-wrapper -->
+
+<div id="sticky-header">
+  <div>
+    <a class="logo" href="#top"></a>
+    <a class="top" href="#top"></a>
+    <ul class="breadcrumb">
+      
+      <li class="current">WearableNotifications</li>
+    </ul>
+  </div>
+</div>
 
   
 
-  
 
   <div class="wrap clearfix" id="body-content">
     <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
       <div id="devdoc-nav" class="scroll-pane">
-<a class="totop" href="#top" data-g-event="left-nav-top">to top</a>
 
 <ul id="nav">
 
@@ -327,7 +344,7 @@
 
 </ul>
 
-        
+
 
       </div>
     </div> <!-- end side-nav -->
@@ -340,6 +357,7 @@
 
 
 
+
 <div class="col-12"  id="doc-col">
 
 <div id="api-info-block">
diff --git a/docs/html/sdk/installing/installing-adt.jd b/docs/html/sdk/installing/installing-adt.jd
index e12dfd8..7bf366c 100644
--- a/docs/html/sdk/installing/installing-adt.jd
+++ b/docs/html/sdk/installing/installing-adt.jd
@@ -75,7 +75,7 @@
 <div class="sidebox-wrapper">
 <div class="sidebox">
 <h2>App Translations in Google Play</h2>
-<p>Google Play <a href="{@docRoot}distribute/googleplay/publish/localizing.html#gp-trans">App
+<p>Google Play <a href="{@docRoot}distribute/tools/localization-checklist.html#gp-trans">App 
 Translation Service</a> is available in the Developer Console to help you
 localize your app for a global user base. You can browse qualified vendors, get
 estimates, upload strings for translation, and then import the translations directly
@@ -99,7 +99,7 @@
 localization works instantly.</p>
 
 <p>For more information about translation services in Google Play, see <a
-href="{@docRoot}distribute/googleplay/publish/localizing.html#gp-trans">Purchase
+href="{@docRoot}distribute/tools/localization-checklist.html#gp-trans">Purchase
 professional translations through the Developer Console</a>.</p>
 
 <p>To install the ADT Translation Manager Plugin follow these steps:</p>
@@ -129,7 +129,7 @@
 <ul>
 <li>The full ADT Plugin must be installed in your Eclipse environment before you install the ADT Translation Manager Plugin.</li>
 <li>ADT Translation Manager Plugin is designed for use with the translation services offered through the Google Play Developer Console. It is not designed for general purpose import/export of strings. </li>
-<li>To use the plugin, you must <a href="{@docRoot}distribute/googleplay/publish/register.html">set up a Developer Console account</a>. </li>
+<li>To use the plugin, you must <a href="{@docRoot}distribute/googleplay/start.html">set up a Developer Console account</a>. </li>
 <li>Currently, translation services are available through the Developer Console only as part of a pilot program. To use the plugin, you must first sign up for the pilot program by visiting the Developer Console.</li>
 <li>If you downloaded ADT as part of the SDK ADT bundle, you may encounter an error when attempting to download the ADT Translation Manager Plugin from the remote repository. In that case, open the <strong>Install New
 Software</strong>, uncheck "Contact all update sites during install to find required software" at the bottom and try again. </li>
diff --git a/docs/html/sitemap.txt b/docs/html/sitemap.txt
index 9bff5d4..cd87d1c 100644
--- a/docs/html/sitemap.txt
+++ b/docs/html/sitemap.txt
@@ -17,8 +17,8 @@
 http://developer.android.com/google/index.html
 http://developer.android.com/distribute/googleplay/publish/index.html
 http://developer.android.com/distribute/googleplay/promote/index.html
-http://developer.android.com/distribute/googleplay/quality/index.html
-http://developer.android.com/distribute/googleplay/spotlight/index.html
+http://developer.android.com/distribute/essentials/quality/index.html
+http://developer.android.com/distribute/stories/index.html
 http://developer.android.com/distribute/open.html
 http://developer.android.com/about/versions/jelly-bean.html
 http://developer.android.com/support.html
@@ -64,9 +64,9 @@
 http://developer.android.com/design/building-blocks/dialogs.html
 http://developer.android.com/design/building-blocks/pickers.html
 http://developer.android.com/google/play-services/maps.html
-http://developer.android.com/distribute/googleplay/quality/tablet.html
-http://developer.android.com/distribute/googleplay/spotlight/tablets.html
-http://developer.android.com/distribute/googleplay/quality/core.html
+http://developer.android.com/distribute/essentials/quality/tablet.html
+http://developer.android.com/distribute/stories/tablets.html
+http://developer.android.com/distribute/essentials/quality/core.html
 http://developer.android.com/guide/topics/ui/notifiers/notifications.html
 http://developer.android.com/guide/topics/ui/dialogs.html
 http://developer.android.com/downloads/design/Android_Design_Downloads_20120823.zip
@@ -173,13 +173,13 @@
 http://developer.android.com/distribute/googleplay/about/visibility.html
 http://developer.android.com/distribute/googleplay/about/monetizing.html
 http://developer.android.com/distribute/googleplay/about/distribution.html
-http://developer.android.com/distribute/googleplay/publish/register.html
+http://developer.android.com/distribute/googleplay/start.html
 http://developer.android.com/distribute/googleplay/publish/console.html
-http://developer.android.com/distribute/googleplay/publish/preparing.html
-http://developer.android.com/distribute/googleplay/promote/linking.html
+http://developer.android.com/distribute/tools/launch-checklist.html
+http://developer.android.com/distribute/tools/promote/linking.html
 http://developer.android.com/distribute/googleplay/promote/badges.html
 http://developer.android.com/distribute/promote/device-art.html
-http://developer.android.com/distribute/googleplay/promote/brand.html
+http://developer.android.com/distribute/tools/promote/brand.html
 http://developer.android.com/distribute/googleplay/strategies/app-quality.html
 http://developer.android.com/google/play/billing/index.html
 http://developer.android.com/google/play/licensing/index.html
diff --git a/docs/html/support.jd b/docs/html/support.jd
index 63bed30..4271eee 100644
--- a/docs/html/support.jd
+++ b/docs/html/support.jd
@@ -1,6 +1,8 @@
 page.title=Developer Support
+page.type=about
 fullpage=1
-excludeFromSuggestions=true
+page.metaDescription=Resources available to help you report and resolve issues while you are developing apps for Android.
+page.image=/images/android-support-card.png
 @jd:body
 
 <div class="wrap" style="width:940px;">
diff --git a/docs/html/tools/device.jd b/docs/html/tools/device.jd
index ccd5903..e9caa44 100644
--- a/docs/html/tools/device.jd
+++ b/docs/html/tools/device.jd
@@ -192,6 +192,10 @@
     <td><code>12d1</code></td>
   </tr>
   <tr>
+    <td>Intel</td>
+    <td><code>8087</code></td>
+  </tr>
+  <tr>
     <td>K-Touch</td>
     <td><code>24e3</code></td>
   </tr>
diff --git a/docs/html/tools/publishing/preparing.jd b/docs/html/tools/publishing/preparing.jd
index 413b56e..7192aa8 100644
--- a/docs/html/tools/publishing/preparing.jd
+++ b/docs/html/tools/publishing/preparing.jd
@@ -22,7 +22,7 @@
     <ol>
       <li><a href="{@docRoot}tools/publishing/publishing_overview.html">Publishing Overview</a></li>
       <li><a href="{@docRoot}tools/publishing/app-signing.html">Signing Your Applications</a></li>
-      <li><a href="{@docRoot}distribute/googleplay/publish/preparing.html">Launch Checklist for Google Play</a></li>
+      <li><a href="{@docRoot}distribute/tools/launch-checklist.html">Launch Checklist for Google Play</a></li>
     </ol>
   </div>
 </div>
@@ -44,7 +44,7 @@
 <p>This document summarizes the main tasks you need to perform to prepare your application for
 release. The tasks that are described in this document apply to all Android applications regardless
 how they are released or distributed to users. If you are releasing your application through Google
-Play, you should also read <a href="{@docRoot}distribute/googleplay/publish/preparing.html">Publishing
+Play, you should also read <a href="{@docRoot}distribute/tools/launch-checklist.html">Publishing
 Checklist for Google Play</a> to be sure your release-ready application satisfies all Google Play
 requirements.</p>
 
@@ -353,7 +353,7 @@
 behaves correctly, you can release your application to users. For more information, see
 <a href="{@docRoot}tools/publishing/publishing_overview.html#publishing-release">Releasing Your
 Application to Users</a>. If you are publishing your application on Google Play, see
-<a href="{@docRoot}distribute/googleplay/publish/preparing.html">Launch Checklist
+<a href="{@docRoot}distribute/tools/launch-checklist.html">Launch Checklist
 for Google Play</a>.</p>
 
 
diff --git a/docs/html/tools/publishing/publishing_overview.jd b/docs/html/tools/publishing/publishing_overview.jd
index ea01e20..c4b3bdf 100644
--- a/docs/html/tools/publishing/publishing_overview.jd
+++ b/docs/html/tools/publishing/publishing_overview.jd
@@ -16,7 +16,7 @@
   </ol>
   <h2>See also</h2>
   <ol>
-    <li><a href="{@docRoot}distribute/googleplay/publish/preparing.html">Publishing on Google Play</a></li>
+    <li><a href="{@docRoot}distribute/tools/launch-checklist.html">Publishing on Google Play</a></li>
   </ol>
 </div>
 </div>
@@ -35,7 +35,7 @@
   </li>
 </ul>
 
-<p>Usually, you release your application through an application marketplace, such as <a href="{@docRoot}distribute/index.html">Google Play</a>.
+<p>Usually, you release your application through an application marketplace, such as <a href="{@docRoot}distribute/googleplay/index.html">Google Play</a>.
 However, you can also release applications by sending them directly to users or by letting users
 download them from your own website.</p>
 
@@ -157,7 +157,7 @@
   </li>
 </ul>
 
-<p>For information complete information, see <a href="{@docRoot}distribute/index.html">Google Play</a>.</p>
+<p>For information complete information, see <a href="{@docRoot}distribute/googleplay/index.html">Google Play</a>.</p>
 
 
 <h3 id="publishing-email">Releasing your application through email</h3>
diff --git a/docs/html/tools/publishing/versioning.jd b/docs/html/tools/publishing/versioning.jd
index a1cfb30..6d3ec2f 100644
--- a/docs/html/tools/publishing/versioning.jd
+++ b/docs/html/tools/publishing/versioning.jd
@@ -25,7 +25,7 @@
 
 <ol>
 <li><a href="{@docRoot}tools/publishing/preparing.html">Preparing to Publish Your Application</a></li>
-<li><a href="{@docRoot}distribute/googleplay/publish/preparing.html">Launch Checklist for Google Play</a></li>
+<li><a href="{@docRoot}distribute/tools/launch-checklist.html">Launch Checklist for Google Play</a></li>
 <li><a href="{@docRoot}guide/topics/manifest/manifest-intro.html">The AndroidManifest.xml File</a></li>
 </ol>
 
diff --git a/docs/html/tools/revisions/build-tools.jd b/docs/html/tools/revisions/build-tools.jd
index c3c83ef..d8abab0 100644
--- a/docs/html/tools/revisions/build-tools.jd
+++ b/docs/html/tools/revisions/build-tools.jd
@@ -77,6 +77,26 @@
 <div class="toggle-content opened">
   <p><a href="#" onclick="return toggleContent(this)">
     <img src="{@docRoot}assets/images/triangle-opened.png" class="toggle-content-img"
+      alt=""/>Build Tools, Revision 19.1.0</a> <em>(May 2014)</em>
+  </p>
+  <div class="toggle-content-toggleme">
+
+    <dl>
+      <dt>General Notes:</dt>
+      <dd>
+        <ul>
+          <li>Added <code>zipalign</code> to the Build Tools.</li>
+          <li>Modified <code>aapt</code> to ignore XML files that fail to compile.</li>
+        </ul>
+      </dd>
+    </dl>
+
+  </div>
+</div>
+
+<div class="toggle-content closed">
+  <p><a href="#" onclick="return toggleContent(this)">
+    <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-content-img"
       alt=""/>Build Tools, Revision 19.0.3</a> <em>(March 2014)</em>
   </p>
   <div class="toggle-content-toggleme">
diff --git a/docs/html/tools/sdk/ndk/index.jd b/docs/html/tools/sdk/ndk/index.jd
index a22dc90..0ac1881 100644
--- a/docs/html/tools/sdk/ndk/index.jd
+++ b/docs/html/tools/sdk/ndk/index.jd
@@ -245,8 +245,8 @@
   but it always increases your app complexity. In general, you should only use the NDK
   if it is essential to your app&mdash;never because you simply prefer to program in C/C++.</p>
 
-  <p>Typical good candidates for the NDK are self-contained, CPU-intensive operations that don't
-  allocate much memory, such as signal processing, physics simulation, and so on. When examining
+  <p>Typical good candidates for the NDK are CPU-intensive workloads such as game engines,
+  signal processing, physics simulation, and so on. When examining
   whether or not you should develop in native code, think about your requirements and see if the
   Android framework APIs provide the functionality that you need.</p>
 
diff --git a/docs/html/training/basics/intents/sending.jd b/docs/html/training/basics/intents/sending.jd
index 30dc95a..2a4dae7 100644
--- a/docs/html/training/basics/intents/sending.jd
+++ b/docs/html/training/basics/intents/sending.jd
@@ -166,7 +166,7 @@
 starts in case you need to disable the feature that uses the intent before the user attempts to use
 it. If you know of a specific app that can handle the intent, you can also provide a link for the
 user to download the app (see how to <a
-href="{@docRoot}distribute/googleplay/promote/linking.html">link to your product on Google
+href="{@docRoot}distribute/tools/promote/linking.html">link to your product on Google
 Play</a>).</p>
 
 
diff --git a/docs/html/training/basics/supporting-devices/languages.jd b/docs/html/training/basics/supporting-devices/languages.jd
index 130848e..057103a 100644
--- a/docs/html/training/basics/supporting-devices/languages.jd
+++ b/docs/html/training/basics/supporting-devices/languages.jd
@@ -19,7 +19,7 @@
     </ol>
     <h2>You should also read</h2>
     <ul>
-    <li><a href="{@docRoot}distribute/googleplay/publish/localizing.html">Localization Checklist</a></li>
+    <li><a href="{@docRoot}distribute/tools/localization-checklist.html">Localization Checklist</a></li>
       <li><a href="{@docRoot}guide/topics/resources/localization.html">Localization with Resources</a></li>
     </ul>
   </div>
diff --git a/docs/html/training/basics/supporting-devices/platforms.jd b/docs/html/training/basics/supporting-devices/platforms.jd
index c38101a..60aaf6a 100644
--- a/docs/html/training/basics/supporting-devices/platforms.jd
+++ b/docs/html/training/basics/supporting-devices/platforms.jd
@@ -1,4 +1,5 @@
 page.title=Supporting Different Platform Versions
+page.metaDescription=Training on how to declare support for minimum and target API levels.
 parent.title=Supporting Different Devices
 parent.link=index.html
 
diff --git a/docs/html/training/design-navigation/multiple-sizes.jd b/docs/html/training/design-navigation/multiple-sizes.jd
index 26a5828..a0ce103 100644
--- a/docs/html/training/design-navigation/multiple-sizes.jd
+++ b/docs/html/training/design-navigation/multiple-sizes.jd
@@ -8,6 +8,10 @@
 next.title=Providing Descendant and Lateral Navigation
 next.link=descendant-lateral.html
 
+meta.tags="multiple screens"
+page.metaDescription=Designing an intuitive, effective navigation for tablets and other devices.
+page.image=/images/training/app-navigation-multiple-sizes-strategy-stack.png
+
 @jd:body
 
 <div id="tb-wrapper">
diff --git a/docs/html/training/multiscreen/index.jd b/docs/html/training/multiscreen/index.jd
index 2d34b28..8eff246 100644
--- a/docs/html/training/multiscreen/index.jd
+++ b/docs/html/training/multiscreen/index.jd
@@ -1,5 +1,6 @@
 page.title=Designing for Multiple Screens
 page.tags="tablet","tv","fragments","support"
+page.metaDescription=Training on how to add intuitive, effective navigation for tablets and other devices.
 
 trainingnavtop=true
 startpage=true
diff --git a/docs/html/training/multiscreen/screendensities.jd b/docs/html/training/multiscreen/screendensities.jd
index 7d6ff44..7817830 100644
--- a/docs/html/training/multiscreen/screendensities.jd
+++ b/docs/html/training/multiscreen/screendensities.jd
@@ -1,4 +1,7 @@
 page.title=Supporting Different Densities
+page.metaDescription=Providing sets of layouts and drawable resources for specific ranges of device screens.
+meta.tags="multiple screens"
+
 parent.title=Designing for Multiple Screens
 parent.link=index.html
 
diff --git a/docs/html/wear/images/notif_summary_framed.png b/docs/html/wear/images/notif_summary_framed.png
new file mode 100644
index 0000000..17b1703
--- /dev/null
+++ b/docs/html/wear/images/notif_summary_framed.png
Binary files differ
diff --git a/docs/html/wear/notifications/stacks.jd b/docs/html/wear/notifications/stacks.jd
index 7f955f6..a2d34ce 100644
--- a/docs/html/wear/notifications/stacks.jd
+++ b/docs/html/wear/notifications/stacks.jd
@@ -2,8 +2,8 @@
 
 @jd:body
 
-<img src="{@docRoot}wear/images/11_bundles_B.png" height="200" width="169" style="float:right;margin:0 0 20px 40px" />
-<img src="{@docRoot}wear/images/11_bundles_A.png" height="200" width="169" style="float:right;margin:0 0 20px 40px" />
+<img src="{@docRoot}wear/images/11_bundles_B.png" height="200" width="169" style="float:right;margin:0 0 20px 40px" alt="" />
+<img src="{@docRoot}wear/images/11_bundles_A.png" height="200" width="169" style="float:right;margin:0 0 20px 40px" alt="" />
 
 <p>When creating notifications for a handheld device, you should always aggregate similar
 notifications into a single summary notification. For example, if your app creates notifications
@@ -29,20 +29,44 @@
 
 <p>To create a stack, call <a
 href="{@docRoot}reference/android/preview/support/wearable/notifications/WearableNotifications.Builder.html#setGroup(java.lang.String, int)">
-<code>setGroup()</code></a> for each notification you want in the stack, passing the same
-group key. For example:</p>
+<code>setGroup()</code></a> for each notification you want in the stack and specify a
+group key. Then call <a href="{@docRoot}reference/android/preview/support/v4/app/NotificationManagerCompat.html#notify(int, android.app.Notification)"><code>notify()</code></a> to send it to the wearable.</p>
 
 <pre style="clear:right">
 final static String GROUP_KEY_EMAILS = "group_key_emails";
 
+// Build the notification and pass this builder to WearableNotifications.Builder
 NotificationCompat.Builder builder = new NotificationCompat.Builder(mContext)
-         .setContentTitle("New mail from " + sender)
-         .setContentText(subject)
+         .setContentTitle("New mail from " + sender1)
+         .setContentText(subject1)
          .setSmallIcon(R.drawable.new_mail);
 
-Notification notif = new WearableNotifications.Builder(builder)
+Notification notif1 = new WearableNotifications.Builder(builder)
          .setGroup(GROUP_KEY_EMAILS)
          .build();
+
+// Issue the notification
+NotificationManagerCompat notificationManager =
+        NotificationManagerCompat.from(this);
+notificationManager.notify(notificationId1, notif);
+</pre>
+
+<p>Later on, when you create another notification, specify
+the same group key. When you call <a href="{@docRoot}reference/android/preview/support/v4/app/NotificationManagerCompat.html#notify(int, android.app.Notification)"><code>notify()</code></a>, this notification appears
+in the same stack as the previous notification, instead of as a new card:</p>
+
+<pre style="clear:right">
+builder = new NotificationCompat.Builder(mContext)
+         .setContentTitle("New mail from " + sender2)
+         .setContentText(subject2)
+         .setSmallIcon(R.drawable.new_mail);
+
+// Use the same group as the previous notification
+Notification notif2 = new WearableNotifications.Builder(builder)
+         .setGroup(GROUP_KEY_EMAILS)
+         .build();
+
+notificationManager.notify(notificationId2, notif);
 </pre>
 
 <p>By default, notifications appear in the order in which you added them, with the most recent
@@ -54,19 +78,55 @@
 
 <h2 id="AddSummary">Add a Summary Notification</h2>
 
+<img src="{@docRoot}wear/images/notif_summary_framed.png" height="242" width="330" style="float:right;margin:0 0 20px 40px" alt="" />
+
 <p>It's important that you still provide a summary notification that appears on handheld devices.
 So in addition to adding each unique notification to the same stack group, also add a summary
 notification, but set its order position to be <a
 href="{@docRoot}reference/android/preview/support/wearable/notifications/WearableNotifications.html#GROUP_ORDER_SUMMARY"><code>GROUP_ORDER_SUMMARY</code></a>.</p>
 
-<pre>
-Notification summaryNotification = new WearableNotifications.Builder(builder)
-         .setGroup(GROUP_KEY_EMAILS, WearableNotifications.GROUP_ORDER_SUMMARY)
-         .build();
+<p>This notification does not appear in your stack of notifications on the wearable, but
+appears as the only notification on the handheld device.</p>
+
+<pre style="clear:right">
+Bitmap largeIcon = BitmapFactory.decodeResource(getResources(),
+        R.drawable.ic_large_icon);
+
+builder = new NotificationCompat.Builder(this)
+        .setSmallIcon(R.drawable.ic_small_icon)
+        .setLargeIcon(largeIcon);
+
+// Use the same group key and pass this builder to InboxStyle notification
+WearableNotifications.Builder wearableBuilder = new WearableNotifications
+        .Builder(builder)
+        .setGroup(GROUP_KEY_EMAILS,
+                WearableNotifications.GROUP_ORDER_SUMMARY);
+
+// Build the final notification to show on the handset
+Notification summaryNotification = new NotificationCompat.InboxStyle(
+        wearableBuilder.getCompatBuilder())
+        .addLine("Alex Faaborg   Check this out")
+        .addLine("Jeff Chang   Launch Party")
+        .setBigContentTitle("2 new messages")
+        .setSummaryText("johndoe@gmail.com")
+        .build();
+
+notificationManager.notify(notificationId3, summaryNotification);
 </pre>
 
-<p>This notification will not appear in your stack of notifications on the wearable, but
-appears as the only notification on the handheld device.
+<p>
+This notification uses {@link android.support.v4.app.NotificationCompat.InboxStyle},
+which gives you an easy way to create notifications for email or messaging apps.
+You can use this style, another one defined in {@link android.support.v4.app.NotificationCompat},
+or no style for the summary notification.
+</p>
 
+<p class="note"><b>Tip:</b>
+To style the text like in the example screenshot, see
+<a href="{@docRoot}guide/topics/resources/string-resource.html#StylingWithHTML">Styling
+with HTML markup</a> and
+<a href="{@docRoot}guide/topics/resources/string-resource.html#StylingWithSpannables">Styling
+with Spannables</a>.
+</p>
 </body>
-</html>
+</html>
\ No newline at end of file
