diff --git a/samples/Spinner/_index.html b/samples/Spinner/_index.html
index 2e50d9d..babe099 100644
--- a/samples/Spinner/_index.html
+++ b/samples/Spinner/_index.html
@@ -1,22 +1,21 @@
 <p>
-This sample is the application under test for the
-<a href="../../../resources/tutorials/testing/activity_test.html">Activity
-  Testing Tutorial</a>. It contains a single Activity that displays a
-Spinner widget backed by an array of strings containing the names of the planets
-in the Solar System. When an entry is selected from the Spinner, the entry is
-displayed in a text box.
+This sample is a simple application that serves as an application under test
+for the <a href="../SpinnerTest/index.html">SpinnerTest</a> test application example.
 </p>
 <p>
-An important part of this application is state management. When the application
-is first run, the spinner widget displays a default selection of
-&quot;Earth&quot;. Thereafter, the application saves a selection as soon as it
+This application illustrates basic state management across the Android application life cycle,
+mainly for the purpose of highlighting common patterns of Activity testing. When the application
+is first run, the spinner widget displays a default selection of &quot;Earth&quot;.
+Thereafter, the application saves a selection as soon as it
 is made. The application remembers the selection from invocation to invocation, even
 if the device reboots.
 </p>
 <p>
-For more information about this application, see the Activity Testing Tutorial.
-The test application for this application is in the <a
-  href="../SpinnerTest/index.html">SpinnerTest</a> sample application.
+The test application <a href="../SpinnerTest/index.html">SpinnerTest</a>
+shows you how to set up tests to monitor and prevent code regressions in the
+management of state across invocations and power cycles.
 </p>
-
-<img alt="The Spinner application" src="../images/testing/spinner_main_screen.png" />
+<p>
+For more information about this application, see the
+<a href="../../../resources/tutorials/testing/activity_test.html">Activity Testing</a> tutorial.
+</p>
diff --git a/samples/SpinnerTest/AndroidManifest.xml b/samples/SpinnerTest/AndroidManifest.xml
index e151d6e..99830f8 100644
--- a/samples/SpinnerTest/AndroidManifest.xml
+++ b/samples/SpinnerTest/AndroidManifest.xml
@@ -26,6 +26,7 @@
           package="com.android.example.spinner.test"
           android:versionCode="1"
           android:versionName="1.0">
+    <uses-sdk android:minSdkVersion="3" />
     <application  android:label="@string/app_name">
         <!--
             this package needs to link against the android.test library,
diff --git a/samples/SpinnerTest/_index.html b/samples/SpinnerTest/_index.html
index 7a176fd..64e319a 100644
--- a/samples/SpinnerTest/_index.html
+++ b/samples/SpinnerTest/_index.html
@@ -1,9 +1,52 @@
 <p>
-This sample is the test application for the 
-<a href="../../../resources/tutorials/testing/activity_test.html">Activity
-  Testing Tutorial</a>. Refer to the tutorial text for a full explanation
-of this sample code.
+    This sample is the test application for the
+    <a href="../../../resources/tutorials/testing/activity_test.html">Activity
+    Testing</a> tutorial. It tests the <a href="../Spinner/index.html">Spinner</a> example
+    application.
 </p>
 <p>
-  This application does not have an Android GUI.
+    The test application uses the
+<a href="../../../reference/android/test/ActivityInstrumentationTestCase2.html"><code>ActivityInstrumentationTestCase2</code></a>
+    test case class,
+    which extends both <a href="../../../reference/android/app/Instrumentation">Android instrumentation</a> and the JUnit
+<a href="../../../reference/junit/framework/TestCase.html"><code>TestCase</code></a>
+    class. The test runner is <a href="../../../reference/android/test/InstrumentationTestRunner.html"><code>InstrumentationTestRunner</code></a>.
 </p>
+<p>
+    The application shows how to set up a test application project,
+    how to create the <a href="AndroidManifest.html"><code>AndroidManifest.xml</code></a>
+    file for a test application, and how to set up a test case class for a test fixture. The
+    test case class, <a href="src/com/android/example/spinner/test/SpinnerActivityTest.html"><code>SpinnerActivityTest</code></a>,
+    contains tests that demonstrate the following Android test patterns:
+</p>
+    <ul>
+        <li>
+            Test setup: The <code>setUp()</code> method re-initializes the state of the application under test
+            before each test is run.
+        </li>
+        <li>
+            Initial conditions: The <code>testPreconditions()</code> method demonstrates how to
+            test that the application under test is properly initialized prior to running the
+            test fixture.
+        </li>
+        <li>
+            UI interaction: The <code>testSpinnerUI()</code> method demonstrates how to send keystrokes
+            to the activity under test and then test the result.
+        </li>
+        <li>
+            Application control using instrumentation: The <code>testStateDestroy()</code> and <code>testStatePause()</code>
+            methods demonstrate how to use instrumentation to trigger stages in the lifecycle of the activity under test.
+        </li>
+    </ul>
+<p>
+    The <a href="AndroidManifest.html">manifest</a> declares an <code>&lt;instrumentation&gt;</code> element
+    that links the test application with the application under test. Specifically, the
+    element's <code>android:name</code> attribute specifies <code>InstrumentationTestRunner</code> as the
+    instrumentation to use. The <code>android:targetPackage</code> attribute specifies
+    <code>com.android.example.spinner</code> as the name of the Android package that contains the
+    application under test.
+</p>
+<img alt="The initial user interface for the Spinner sample application" style="height:230px;"
+     src="../images/SpinnerTest1.png"/>
+<img alt="The JUnit view in Eclipse with ADT, showing a successful test run of SpinnerTest" style="height:230px;"
+     src="../images/SpinnerTest2.png"/>
diff --git a/samples/SpinnerTest/src/com/android/example/spinner/test/SpinnerActivityTest.java b/samples/SpinnerTest/src/com/android/example/spinner/test/SpinnerActivityTest.java
index 4c23317..1cfe32a 100644
--- a/samples/SpinnerTest/src/com/android/example/spinner/test/SpinnerActivityTest.java
+++ b/samples/SpinnerTest/src/com/android/example/spinner/test/SpinnerActivityTest.java
@@ -26,15 +26,13 @@
 import android.widget.SpinnerAdapter;
 import android.widget.TextView;
 
-/**
+/*
  * Tests the example application Spinner. Uses the instrumentation test class
- * {@link ActivityInstrumentationTestCase2} as its base class. The tests include
- * <ol>
- *  <li>test initial conditions</li>
- *  <li>test the UI</li>
- *  <li>state management - preserving state after the app is shut down and restarted, preserving
- *    state after the app is hidden (paused) and re-displayed (resumed)</li>
- * </ol>
+ * ActivityInstrumentationTestCase2 as its base class. The tests include
+ *   - test initial conditions
+ *   - test the UI
+ *   - state management - preserving state after the app is shut down and restarted, preserving
+ *     state after the app is hidden (paused) and re-displayed (resumed)
  *
  * Demonstrates the use of JUnit setUp() and assert() methods.
  */
@@ -91,7 +89,7 @@
 
     private SpinnerAdapter mPlanetData;
 
-    /**
+    /*
      * Constructor for the test class. Required by Android test classes. The constructor
      * must call the super constructor, providing the Android package name of the app under test
      * and the Java class name of the activity in that application that handles the MAIN intent.
@@ -101,7 +99,7 @@
         super("com.android.example.spinner", SpinnerActivity.class);
     }
 
-    /**
+    /*
      * Sets up the test environment before each test.
      * @see android.test.ActivityInstrumentationTestCase2#setUp()
      */
@@ -140,7 +138,7 @@
 
     }
 
-    /**
+    /*
      * Tests the initial values of key objects in the app under test, to ensure the initial
      * conditions make sense. If one of these is not initialized correctly, then subsequent
      * tests are suspect and should be ignored.
