diff --git a/docs/html/guide/developing/tools/index.jd b/docs/html/guide/developing/tools/index.jd
index 91b430f..6e9fde1 100644
--- a/docs/html/guide/developing/tools/index.jd
+++ b/docs/html/guide/developing/tools/index.jd
@@ -32,6 +32,11 @@
         of the current display with a pixel grid, so you can get your layout just right.
     </dd>
 
+ <dt><a href="layoutopt.html">layoutopt</a></dt>
+    <dd>This tool lets you quickly analyze your application's layouts for
+efficiency.
+    </dd>
+
 	  <dt><a href="draw9patch.html">Draw 9-patch</a></dt>
 	    <dd>The Draw 9-patch tool allows you to easily create a 
 	    {@link android.graphics.NinePatch} graphic using a WYSIWYG editor. It also previews stretched 
diff --git a/docs/html/guide/developing/tools/layoutopt.jd b/docs/html/guide/developing/tools/layoutopt.jd
new file mode 100644
index 0000000..72a110d
--- /dev/null
+++ b/docs/html/guide/developing/tools/layoutopt.jd
@@ -0,0 +1,62 @@
+page.title=layoutopt
+@jd:body
+
+<p><code>layoutopt</code> is a command-line tool that helps you optimize the
+layouts and layout hierarchies of your applications. You can run it against your
+layout files or resource directories to quickly check for inefficiencies or
+other types of problems that could be affecting the performance of your
+application. </p>
+
+<p>To run the tool, open a terminal and launch <code>layoutopt
+&lt;resources&gt;</code> from your SDK <code>tools/</code> directory. In the
+command, supply a list of uncompiled resource xml files or directories that you
+want to analyze. </p>
+
+<p>When run, the tool loads the specified XML files and analyzes their layout
+structures and hierarchies according to a set of predefined rules. If it detects
+issues, it outputs information about the issues, giving filename, line numbers,
+description of issue, and for some types of issues a suggested resolution. </p>
+
+<p>Here's an example of the output:</p>
+
+<pre>$ layoutopt samples/
+samples/compound.xml
+   7:23 The root-level &lt;FrameLayout/&gt; can be replaced with &lt;merge/&gt;
+   11:21 This LinearLayout layout or its FrameLayout parent is useless
+samples/simple.xml
+   7:7 The root-level &lt;FrameLayout/&gt; can be replaced with &lt;merge/&gt;
+samples/too_deep.xml
+   -1:-1 This layout has too many nested layouts: 13 levels, it should have &lt= 10!
+   20:81 This LinearLayout layout or its LinearLayout parent is useless
+   24:79 This LinearLayout layout or its LinearLayout parent is useless
+   28:77 This LinearLayout layout or its LinearLayout parent is useless
+   32:75 This LinearLayout layout or its LinearLayout parent is useless
+   36:73 This LinearLayout layout or its LinearLayout parent is useless
+   40:71 This LinearLayout layout or its LinearLayout parent is useless
+   44:69 This LinearLayout layout or its LinearLayout parent is useless
+   48:67 This LinearLayout layout or its LinearLayout parent is useless
+   52:65 This LinearLayout layout or its LinearLayout parent is useless
+   56:63 This LinearLayout layout or its LinearLayout parent is useless
+samples/too_many.xml
+   7:413 The root-level &lt;FrameLayout/&gt; can be replaced with &lt;merge/&gt;
+   -1:-1 This layout has too many views: 81 views, it should have &lt= 80!
+samples/useless.xml
+   7:19 The root-level &lt;FrameLayout/&gt; can be replaced with &lt;merge/&gt;
+   11:17 This LinearLayout layout or its FrameLayout parent is useless</pre>
+
+<p>The <code>layoutopt</code> tool is available in SDK Tools, Revision 3 or
+later. If you do not have SDK Tools 3 or later installed in your SDK, you can
+download it from the Android SDK repository site using the Android SDK and AVD
+Manager. For information, see <a
+href="{@docRoot}sdk/adding-components.html">Adding SDK Components</a>.</p>
+
+<h3>Usage</h3>
+
+<p>To run <code>layoutopt</code> against a given list of layout resources:</p>
+
+<pre>layoutopt &lt;list of xml files or directories></pre>
+
+<p>For example:</p>
+
+<pre>$ layoutopt res/layout-land</pre>
+<pre>$ layoutopt res/layout/main.xml res/layout-land/main.xml</pre>
diff --git a/docs/html/guide/guide_toc.cs b/docs/html/guide/guide_toc.cs
index e2acc4f..5215202 100644
--- a/docs/html/guide/guide_toc.cs
+++ b/docs/html/guide/guide_toc.cs
@@ -255,6 +255,7 @@
       		<li><a href="<?cs var:toroot ?>guide/developing/tools/draw9patch.html">Draw 9-Patch</a></li>
       		<li><a href="<?cs var:toroot ?>guide/developing/tools/emulator.html">Emulator</a></li>
       		<li><a href="<?cs var:toroot ?>guide/developing/tools/hierarchy-viewer.html">Hierarchy Viewer</a></li>
+      		<li><a href="<?cs var:toroot ?>guide/developing/tools/layoutopt.html">layoutopt</a></li>
       		<li><a href="<?cs var:toroot ?>guide/developing/tools/othertools.html#mksdcard">mksdcard</a></li>
       		<li><a href="<?cs var:toroot ?>guide/developing/tools/monkey.html">Monkey</a></li>
       		<li><a href="<?cs var:toroot ?>guide/developing/tools/adb.html#sqlite">sqlite3</a></li>
diff --git a/docs/html/guide/topics/ui/declaring-layout.jd b/docs/html/guide/topics/ui/declaring-layout.jd
index 7ef22a6..80ad7b8 100644
--- a/docs/html/guide/topics/ui/declaring-layout.jd
+++ b/docs/html/guide/topics/ui/declaring-layout.jd
@@ -25,6 +25,7 @@
     <li><a href="#SizePaddingMargin">Size, Padding and Margins</a></li>
     <li><a href="#example">Example Layout</a></li>
   </ol>
+
 </div>
 </div>
 
@@ -41,14 +42,17 @@
 <p>The Android framework gives you the flexibility to use either or both of these methods for declaring and managing your application's UI. For example, you could declare your application's default layouts in XML, including the screen elements that will appear in them and their properties. You could then add code in your application that would modify the state of the screen objects, including those declared in XML, at run time. </p>
 
 <div class="sidebox">
-  <p>The <a href="{@docRoot}guide/developing/tools/adt.html">Android Development Tools</a> 
-  (ADT) plugin for Eclipse offers a layout preview of your XML &mdash; 
-  with the XML file opened, select the <strong>Layout</strong> tab.</p>
-  <p>You should also try the 
+  <ul>
+  <li>The <a href="{@docRoot}sdk/eclipse-adt.html">ADT
+  Plugin for Eclipse</a> offers a layout preview of your XML &mdash; 
+  with the XML file opened, select the <strong>Layout</strong> tab.</li>
+  <li>You should also try the 
   <a href="{@docRoot}guide/developing/tools/hierarchy-viewer.html">Hierarchy Viewer</a> tool, 
   for debugging layouts &mdash; it reveals layout property values, 
   draws wireframes with padding/margin indicators, and full rendered views while 
-  you debug on the emulator or device.</p>
+  you debug on the emulator or device.</li>
+  <li>The <a href="{@docRoot}guide/developing/tools/layoutopt.html">layoutopt</a> tool lets
+  you quickly analyze your layouts and hierarchies for inefficiencies or other problems.</li>
 </div>
 
 <p>The advantage to declaring your UI in XML is that it enables you to better separate the presentation of your application from the code that controls its behavior. Your UI descriptions are external to your application code, which means that you can modify or adapt it without having to modify your source code and recompile. For example, you can create XML layouts for different screen orientations, different device screen sizes, and different languages. Additionally, declaring the layout in XML makes it easier to visualize the structure of your UI, so it's easier to debug problems. As such, this document focuses on teaching you how to declare your layout in XML. If you're
diff --git a/docs/html/guide/tutorials/localization/index.jd b/docs/html/guide/tutorials/localization/index.jd
index eeade34..8a60814 100755
--- a/docs/html/guide/tutorials/localization/index.jd
+++ b/docs/html/guide/tutorials/localization/index.jd
@@ -539,8 +539,10 @@
 <p><img src="{@docRoot}images/hello_l10n/using_custom_locale.png" alt="using custom locale"
 width="512" height="299" style="margin-left:15px"></p>
 
-<p>For a list of supported locales in a specific Android platform, see the 
-associated notes in the "SDK" tab, under "Downloadable SDK Components."</p>
+<p>For a list of locales available on different versions of the Android platform,
+refer to the platform notes documents, listed under "Downloadable SDK Components"
+in the "SDK" tab. For example, <a 
+href="{@docRoot}sdk/android-2.0.html#locs">Android 2.0 locales</a>.</p>
 
 <p>Run the application for each of the expected locales, plus one unexpected
 locale. Here are some of the results you should see:</p>
diff --git a/docs/html/sdk/RELEASENOTES.jd b/docs/html/sdk/RELEASENOTES.jd
index 552b699..bca89f6 100644
--- a/docs/html/sdk/RELEASENOTES.jd
+++ b/docs/html/sdk/RELEASENOTES.jd
@@ -2,10 +2,10 @@
 @jd:body
 
 <p>This document provides version-specific information about Android SDK
-releases. For the latest known issues, please ensure that you're viewing this
+releases. <!--For the latest known issues, please ensure that you're viewing this
 page at <a
 href="http://developer.android.com/sdk/RELEASENOTES.html">http://developer.
-android.com/sdk/RELEASENOTES.html</a>.</p>
+android.com/sdk/RELEASENOTES.html</a>.--></p>
 
 <h2 id="multiversion_r1">Android SDK</h2>
 
@@ -27,15 +27,16 @@
 </ul>
 
 <p>Note that if you are currently using the Android 1.6 SDK, you do not
-necessarily need to install the new SDK, since your existing SDK incudes the
-Android SDK and AVD Manager tool. To develop against Android 2.0, for example,
-you could just download the Android 2.0 platform into your existing SDK. </p>
+necessarily need to install the new SDK, since your existing SDK already
+includes the Android SDK and AVD Manager tool. To develop against Android 2.0,
+for example, you could just download the Android 2.0 platform into your existing
+SDK. </p>
 
-<p>Release notes for Android platforms that are downloadable into the SDK are
+<p>Release notes for Android platforms and other SDK components are
 now available from the "SDK" tab, under "Downloadable SDK Components."</p>
 
 <ul>
-<li>Release notes for the Android 2.0 platform are in the <a
+<li>Notes for the Android 2.0 platform are in the <a
 href="{@docRoot}sdk/android-2.0.html">Android 2.0, Release 1</a> document. </li>
 <li>You can find information about tools changes in the <a
 href="{@docRoot}sdk/tools-notes.html">SDK Tools Notes</a> and <a
@@ -44,8 +45,8 @@
 
 <p>To get started with the SDK, review the Quick Start summary on the <a
 href="{@docRoot}sdk/index.html">Android SDK download page</a> or read <a
-href="{@docRoot}sdk/installing.html">Installing the SDK</a> for more
-information. </p>
+href="{@docRoot}sdk/installing.html">Installing the SDK</a> for detailed
+installation instructions. </p>
 
 
 <h2 id="1.6_r1">Android 1.6 SDK, Release 1</h2>
diff --git a/docs/html/sdk/adt_download.jd b/docs/html/sdk/adt_download.jd
index 3eb6831..6ce7634 100644
--- a/docs/html/sdk/adt_download.jd
+++ b/docs/html/sdk/adt_download.jd
@@ -1,21 +1,18 @@
-page.title=Download the ADT Plugin Zip File
+page.title=Download the ADT Zip File
 @jd:body
 
-<p>
-If you are unable to download the ADT plugin through <a
-href="{@docRoot}guide/developing/tools/adt.html#installingplugin">setting up a remote
+<p>If you are unable to download the ADT plugin through <a
+href="{@docRoot}sdk/eclipse-adt.html#installing">setting up a remote
 update site</a> in Eclipse, you can download the ADT zip file and install it 
-from your computer (archived site) instead. 
-</p>
-<p>
-If you use this approach, in order to update the plugin, you will need to 
+from your computer (archived site) instead. </p>
+
+<p>If you use this approach, in order to update the plugin, you will need to 
 download the latest version from this page, uninstall the old version from 
 Eclipse, then install the new version. For more details on the procedure, 
-see Troubleshooting ADT Installation in the 
-<a href="{@docRoot}guide/developing/tools/adt.html#troubleshooting"> installation 
-page</a>.
-</p>
-<p>
+see <a 
+href="{@docRoot}sdk/eclipse-adt.html#troubleshooting">Troubleshooting
+ADT Installation</a>.</p>
+
 <table class="download">
   <tr>
     <th><nobr>ADT Version</nobr></th>
@@ -24,43 +21,50 @@
     <th>Md5 Checksum</th>
     <th>Notes</th>
   </tr>
-
+  <tr>
+     <td>0.9.4</td>
+     <td><a href="http://dl-ssl.google.com/android/ADT-0.9.4.zip">ADT-0.9.4.zip</a></td>
+     <td><nobr>{@adtZipBytes} bytes</nobr></td>
+     <td>{@adtZipChecksum}</td>
+     <td>Requires SDK Tools, Revision 3 <em><nobr>October 2009</nobr></em></td>
+  </tr>
   <tr>
      <td>0.9.3</td>
      <td><a href="http://dl-ssl.google.com/android/ADT-0.9.3.zip">ADT-0.9.3.zip</a></td>
-     <td><nobr>bytes</nobr></td>
-     <td><nobr></nobr></td>
-     <td><nobr>Required for users of Android 1.6 SDK (and later releases). Updated from 0.9.1. <em><nobr>September 2009</nobr></em></td>
-  </tr>
-  <tr class="alt-color">
-     <td>0.9.1</td>
-     <td><a href="http://dl-ssl.google.com/android/ADT-0.9.1.zip">ADT-0.9.1.zip</a></td>
-     <td><nobr>2916093 bytes</nobr></td>
-     <td><nobr>e7b2ab40414ac98</nobr></td>
-     <td><nobr>Required for users of Android 1.5 SDK. Updated from 0.9.0. <em><nobr>6 May 2009</nobr></em></td>
-  </tr>
-  <tr>
-     <td>0.8.0</td>
-     <td><a href="http://dl-ssl.google.com/android/ADT-0.8.0.zip">ADT-0.8.0.zip</a></td>
-     <td colspan="2"><nobr>&nbsp;</nobr></td>
-     <td><nobr>Required for users of Android 1.0/1.1 SDKs. <em><nobr>23 Sep 2008</nobr></em></td>
+     <td><nobr>3252487 bytes</nobr></td>
+     <td>c296488ac35772667c0f49e822156979</td>
+     <td>Required for users of Android 1.6 SDK only . Updated from 0.9.1. <em><nobr>September 2009</nobr></em></td>
   </tr>
 </table>
 
 
 <h4>Obsolete Versions of ADT</h4>
 
-<p>The table below lists older versions of the ADT Plugin that are no longer supported. If you are developing applications that are intended to be deployable to Android-powered devices, make sure that you upgrade to the most current SDK release available and use the most current version of the ADT Plugin, as listed in the section above.</p>
+<p>The table below lists older versions of the ADT Plugin that are no longer
+supported. If you are developing applications that are intended to be deployable
+to Android-powered devices, make sure that you upgrade to the most current SDK
+release available and use the most current version of the ADT Plugin, as listed
+in the section above.</p>
 
-<p>If you are not sure what version of ADT is installed in your Eclipse environment, open Eclipse and from the main menu select <strong>Help</strong> &gt; <strong>About Eclipse</strong> &gt; <strong>Features Details</strong>. Locate "com.android.ide.eclipse.adt" in the
-Feature ID column and look at its version number.</p>
+<p>If you are not sure what version of ADT is installed in your Eclipse
+environment, open Eclipse and from the main menu select <strong>Help</strong>
+&gt; <strong>About Eclipse</strong> &gt; <strong>Features Details</strong>.
+Locate "com.android.ide.eclipse.adt" in the Feature ID column and look at its
+version number.</p>
 
 <table>
   <tr>
     <th><nobr>ADT Version</nobr></th>
     <th>Notes</th>
   </tr>
-
+  <tr>
+     <td>0.9.1</td>
+     <td>Required for users of Android 1.5 SDK. Updated from 0.9.0. <em><nobr>6 May 2009</nobr></em></td>
+  </tr>
+  <tr>
+     <td>0.8.0</td>
+     <td>Required for users of Android 1.0/1.1 SDKs. <em><nobr>23 Sep 2008</nobr></em></td>
+  </tr>
   <tr>
      <td>0.7.1</td>
      <td>Required for users of the Android 0.9 SDK beta. <em><nobr>18 Aug 2008</nobr></em></td>
diff --git a/docs/html/sdk/android-2.0.jd b/docs/html/sdk/android-2.0.jd
index 57283e5..9dadf8b 100644
--- a/docs/html/sdk/android-2.0.jd
+++ b/docs/html/sdk/android-2.0.jd
@@ -205,6 +205,7 @@
 <p>For more information about how to use API Level, see the <a
 href="{@docRoot}guide/appendix/api-levels.html">API Levels</a> document. </p>
 
+
 <h3 id="api-changes">API changes summary</h3>
 
 <h4>Bluetooth</h4>
@@ -263,6 +264,62 @@
 <li>New Intent APIs that broadcast the docking state of the device and allow applications to launch special activities when the device is placed in a desktop or car dock.</li>
 </ul>
 
+<h4>Key events executed on key-up</h4>
+
+<p>Android 2.0 is designed to run on devices that use virtual keys for HOME,
+MENU, BACK, and SEARCH, rather than physical keys. To support the best user
+experience on those devices, the Android platform now executes these buttons at
+key-up, for a key-down/key-up pair, rather than key-down. This helps prevent 
+accidental button events and lets the user press the button area and then drag 
+out of it without generating an event. </p>
+
+<p>This change in behavior should only affect your application if it is
+intercepting button events and taking an action on key-down, rather than on
+key-up. Especially if your application is intercepting the BACK key, you should
+make sure that your application is handling the key events properly. </p>
+
+<p>In general, intercepting the BACK key in an application is not recommended,
+however, if your application is doing so and it invokes some action on
+key-down, rather than key-up, you should modify your code. </p>
+
+<p>If your application will use APIs introduced in Android 2.0 (API Level 5), 
+you can take advantage of new APIs for managing key-event pairs:</p>
+
+<ul>
+<li>If you are intercepting the BACK key in an activity or dialog, just
+implement the new {@link android.app.Activity#onBackPressed()} method. </li>
+<li>If you are intercepting the BACK key in a view, you should track the key
+event on key-down (through the new {@link android.view.KeyEvent#startTracking}
+method), then invoke the action at key up. Here's a pattern you can use:</li>
+
+<pre>    public boolean onKeyDown(int keyCode, KeyEvent event) {
+        if (keyCode == KeyEvent.KEYCODE_BACK
+                && event.getRepeatCount() == 0) {
+            event.startTracking();
+            return true;
+        }
+        return super.onKeyDown(keyCode, event);
+    }
+
+    public boolean onKeyUp(int keyCode, KeyEvent event) {
+        if (keyCode == KeyEvent.KEYCODE_BACK && event.isTracking()
+                && !event.isCanceled()) {
+            // *** DO ACTION HERE ***
+            return true;
+        }
+        return super.onKeyUp(keyCode, event);
+    }</pre>
+
+</ul>
+
+<p>If you want to update a legacy application so that its handling of the BACK
+key works properly for both Android 2.0 and older platform versions, you 
+can use an approach similar to that shown above. Your code can catch the
+target button event on key-down, set a flag to track the key event, and 
+then also catch the event on key-up, executing the desired action if the tracking 
+flag is set. You'll also want to watch for focus changes and clear the tracking 
+flag when gaining/losing focus.</p>
+
 <h3 id="api-diff">API differences report</h3>
 
 <p>For a detailed view of API changes in Android {@sdkPlatformVersion} (API Level {@sdkPlatformApiLevel}), as compared to 
diff --git a/docs/html/sdk/eclipse-adt.jd b/docs/html/sdk/eclipse-adt.jd
index 84d37e0..7d9efdb 100644
--- a/docs/html/sdk/eclipse-adt.jd
+++ b/docs/html/sdk/eclipse-adt.jd
@@ -1,4 +1,4 @@
-page.title=Installing and Updating the ADT Plugin
+page.title=Installing and Updating ADT
 sdk.preview=0
 
 @jd:body
@@ -23,21 +23,23 @@
 
 <p>Android offers a custom plugin for the Eclipse IDE, called Android
 Development Tools (ADT), that is designed to give you a powerful,
-integrated environment in which to build Android applications. It
-extends the capabilites of Eclipse to let you quickly set up new Android
+integrated environment in which to build Android applications. </p>
+
+<p>ADT extends the capabilites of Eclipse to let you quickly set up new Android
 projects, create an application UI, add components based on the Android
-Framework API, debug your applications using the Android SDK tools, and even export
-signed (or unsigned) APKs in order to distribute your application.</p>
+Framework API, debug your applications using the Android SDK tools, and even
+export signed (or unsigned) APKs in order to distribute your application.</p>
 
 <p>In general, using Eclipse with ADT is a highly recommended approach to
-Android development and is the fastest way to get started.
+Android development and is the fastest way to get started. If you use Eclipse,
+the ADT plugin gives you an incredible boost in developing Android
+applications.</p>
 
-<p>To install and update the ADT Plugin, you can take advantage of the Eclipse 
-remote update feature. By setting up a remote update site, you can 
-easily download, install, and check for ADT updates. Alternatively, you 
-can download the latest ADT to your development
-computer as a local site archive. The sections below provide nstructions 
-for both methods.</p>
+<p>To install and update the ADT Plugin, you can take advantage of the Eclipse
+remote update feature. By setting up a remote update site, you can easily
+download, install, and check for ADT updates. Alternatively, you can download
+the latest ADT to your development computer as a local site archive. The
+sections below provide instructions for both methods.</p>
 
 
 <h2 id="preparing">Prepare for Installation</h2>
diff --git a/docs/html/sdk/index.jd b/docs/html/sdk/index.jd
index 8b918e4..f467492 100644
--- a/docs/html/sdk/index.jd
+++ b/docs/html/sdk/index.jd
@@ -3,70 +3,87 @@
 sdk.version=2.0
 sdk.date=October 2009
 
-sdk.win_download=android-sdk-windows_r1.zip
-sdk.win_bytes=
-sdk.win_checksum=
+sdk.win_download=android-sdk_r3-windows.zip
+sdk.win_bytes=23070805
+sdk.win_checksum=bd7b57d5df37bd55ea101e76b24260a8
 
-sdk.mac_download=android-sdk-mac_x86_r1.zip
-sdk.mac_bytes=
-sdk.mac_checksum=
+sdk.mac_download=android-sdk_r3-mac.zip
+sdk.mac_bytes=19653431
+sdk.mac_checksum=f6674bf45e5e36811eea7e584f0c1d67
 
-sdk.linux_download=android-sdk-linux_x86_r1.tgz
-sdk.linux_bytes=
-sdk.linux_checksum=
+sdk.linux_download=android-sdk_r3-linux.tgz
+sdk.linux_bytes=15986291
+sdk.linux_checksum=3e1534e7fc15d154ff81616f0dc1545c
 
 @jd:body
 
-<p>For important information about this SDK release, please review the
-<a href="{@docRoot}sdk/RELEASENOTES.html">Release Notes</a>.</p>
 
-<div class="special">
-<p>The Android SDK has changed! If you've worked with the Android SDK before, you will notice several important differences:</p>
+<h2 id="quickstart">Quick Start</h2>
 
-<ul>
-<li style="margin-top:.5em">The SDK downloadable package includes <em>only</em> the latest version of the Android SDK Tools.</li>
-<li>Once you've installed the SDK, you now use the Android SDK and AVD Manager to download all of the SDK components that you need, such as Android platforms, SDK add-ons, tools, and documentation. </li>
-<li>The new approach is modular &mdash; you can install only the components you need and update any or all components without affecting your development environment.</li>
-<li>In short, once you've installed the new SDK, you will not need to download an SDK package again. Instead, you will use the Android SDK and AVD Manager to keep your development environment up-to-date. </li>
-</ul>
-
-<p>If you are currently using the Android 1.6 SDK, you do not need to install the new SDK, since your existing SDK incudes the Android SDK and AVD Manager tool. To develop against Android 2.0, for example, you could just download the updated SDK Tools (Revision 3) and the Android 2.0 platform into your existing SDK. </p>
-</div>
-
-<h2>Quick Start</h2>
-
-<p class="xnote">The steps below provide an overview of how to get started with the Android SDK. For detailed instructions, start with the <a href="{@docRoot}sdk/installing.html">Installing</a> guide. </p>
+<p>The steps below provide an overview of how to get started with the Android
+SDK. For detailed instructions, start with the <a
+href="{@docRoot}sdk/installing.html">Installing</a> guide. </p>
 
 <p><strong>0. Prepare your development computer</strong></p>
 
-<p>Read the <a href="{@docRoot}sdk/requirements.html">System Requirements</a> document and make sure that your development computer meets the hardware and software requirements for the Android SDK. Install any additional software needed before downloading the Android SDK. In particular, if you plan to develop Android applications in the Eclipse IDE using the ADT Plugin (see below), make sure that you have the correct version of Eclipse installed. 
+<p>Read the <a href="{@docRoot}sdk/requirements.html">System Requirements</a>
+document and make sure that your development computer meets the hardware and
+software requirements for the Android SDK. Install any additional software
+needed before downloading the Android SDK. In particular, if you plan to develop
+Android applications in the Eclipse IDE using the ADT Plugin (see below), make
+sure that you have the correct version of Eclipse installed. 
 
 <p><strong>1. Download and install the SDK starter package</strong></p>
 
-<p>Select a starter package from the table at the top of this page and download it to your development computer. To install the SDK, simply unpack the starter package to a safe location and then add the location to your PATH. </p>
+<p>Select a starter package from the table at the top of this page and download
+it to your development computer. To install the SDK, simply unpack the starter
+package to a safe location and then add the location to your PATH. </p>
 
 <p><strong>2. Install the ADT Plugin for Eclipse</strong></p>
 
-<p>If you are developing in Eclipse, set up a remote update site and install the Android Development Tools (ADT) plugin.</p>
-
-<p>For detailed instructions, see <a href="{@docRoot}sdk/eclipse-adt.html">Installing and Updating ADT</a>.</p>
+<p>If you are developing in Eclipse, set up a remote update site and install the
+Android Development Tools (ADT) plugin. For detailed instructions, see <a
+href="{@docRoot}sdk/eclipse-adt.html">Installing and Updating ADT</a>.</p>
 
 <p><strong>3. Add Android platforms to your SDK</strong></p>
 
-<p>Use the Android SDK and AVD Manager, included in the SDK starter package, to add one or more Android platforms (for example, Android 1.6 or Android 2.0) to your SDK. In most cases, you will want to download multiple platforms, so that you can build your application on the lowest version you want to support, but test against higher versions that you intend the application to run on. Information about each platform is available at left, under "Downloadable SDK Components."</p>
+<p>Use the Android SDK and AVD Manager, included in the SDK starter package, to
+add one or more Android platforms (for example, Android 1.6 or Android 2.0) to
+your SDK. In most cases, you will want to download multiple platforms, so that
+you can build your application on the lowest version you want to support, but
+test against higher versions that you intend the application to run on.
+Information about each platform is available at left, under "Downloadable SDK
+Components."</p>
 
-<p>For more information about how to add platforms and other SDK components, see <a href="{@docRoot}sdk/adding-components.html">Adding SDK Components</a>.</p>
+<p>To launch the Android SDK and AVD Manager on Windows, execute <code>SDK
+Setup.exe</code>, at the root of the SDK directory. On Mac OS X or Linux,
+execute the <code>android</code> tool in the <code>&lt;sdk&gt;/tools/</code>
+folder. For more information about how to add platforms and other components,
+see <a href="{@docRoot}sdk/adding-components.html">Adding SDK Components</a>.
+</p>
 
 <p><strong>4. Get the latest documentation</strong></p>
 
-<p>If you develop while offline, use the Android SDK and AVD Manager to download the latest documentation package. The documentation covers all versions of the API and lets you filter out those versions that your application won't support. Once installed, the documentation is also available to you directly from the Eclipse IDE. </p>
+<p>If you develop while offline, use the Android SDK and AVD Manager to download
+the latest documentation package. The documentation covers all versions of the
+API and lets you filter out those versions that your application won't support.
+Once installed, the documentation is also available to you directly from the
+Eclipse IDE. </p>
 
 <p><strong>5. Download other SDK components</strong></p>
 
-<p>You can use the Android SDK and AVD Manager to download other SDK components, such as the SDK add-ons. An SDK add-on provides a development environment for an Android external library or a customized Android system image. For example, the Google APIs Add-On lets you develop an application that takes advantage of the Google Maps external library. </p>
+<p>You can use the Android SDK and AVD Manager to download other SDK components,
+such as the SDK add-ons. An SDK add-on provides a development environment for an
+Android external library or a customized Android system image. For example, the
+Google APIs Add-On lets you develop an application that takes advantage of the
+Google Maps external library. </p>
 
 <p><strong>6. Get started with an application project</strong></p>
 
-<p>Once you've set up your SDK, the next step is to start a new application project or move existing applications into the new SDK.</p>
+<p>Once you've set up your SDK, the next step is to start a new application
+project or move existing applications into the new SDK.</p>
 
-<p>If you are new to Android, you can use the <a href="{@docRoot}guide/tutorials/hello-world.html">Hello World</a> tutorial to get started quickly. Welcome!</p>
\ No newline at end of file
+<p>If you are new to Android, you can use the <a
+href="{@docRoot}guide/tutorials/hello-world.html">Hello World</a> tutorial to
+get started quickly. <a href="{@docRoot}sdk/installing.html#NextSteps">Next
+Steps</a> offers other suggestions of how to begin. Welcome!</p>
diff --git a/docs/html/sdk/installing.jd b/docs/html/sdk/installing.jd
index 3a44cda..66c6bdc 100644
--- a/docs/html/sdk/installing.jd
+++ b/docs/html/sdk/installing.jd
@@ -36,10 +36,10 @@
 <h4>Updating?</h4>
 
 <p>If you are currently using the Android 1.6 SDK, you do not necessarily need
-to install the new SDK, since your existing SDK incudes the Android SDK and AVD
-Manager tool. To develop against the new Android 2.0 platform, for example, you
-could just download the updated SDK Tools (Revision 3) and the Android 2.0 
-platform into your existing SDK.</p>
+to install the new SDK, since your existing SDK already includes the Android SDK
+and AVD Manager tool. To develop against the new Android 2.0 platform, for
+example, you could just download the updated SDK Tools (Revision 3) and the
+Android 2.0 platform into your existing SDK.</p>
 
 <p>If you are using Android 1.5 SDK or older, you should install the new SDK as
 described in this document and move your application projects to the new
@@ -125,14 +125,34 @@
 install Eclipse or ADT, instead, you can directly use the SDK tools to build and
 debug your application.</p>
 
+
 <h2 id="components">Add Android Platforms and Other Components</h2>
 
-<p>Once you've downloaded and installed the SDK, you need to install SDK
-components in it. The SDK starter package includes a tool called Android SDK and
-AVD Manager that helps you see what SDK components are available and then install 
-them into your SDK environment. The <a 
-href="{@docRoot}sdk/adding-components.html">Adding SDK Components</a> document 
-provides step-by-step instructions.</p>
+<div class="sidebox-wrapper">
+<div class="sidebox">
+<p>The <strong>Android SDK and AVD Manager</strong> tool is pre-installed in
+your SDK. Using the tool is a key part of performing the initial setup of your
+SDK, as well as keeping it up-to-date with the latest platforms, tools, and
+other components. </p>
+
+<p style="margin-top:.75em;">For full instructions on how to use the tool, see 
+<a href="/sdk/adding-components.html#installingComponents">Adding SDK
+Components</a>.</p> 
+</div>
+</div>
+
+<p>The Android SDK uses a modular structure that separates the major parts of
+the SDK &mdash; platforms, add-ons, tools, and the API documentation &mdash;
+into a set of separately installable components. The SDK components are
+available to you for individual download, as needed, from the Android SDK
+repository site. </p>
+
+<p>The Android SDK starter package includes only a single component: the latest
+version of the SDK Tools. Included in that component is a tool called <em>Android
+SDK and AVD Manager</em> that you can use to download other components from the SDK
+repository site. The tool provides a graphical UI that lets you browse the
+repository, select new or updated components for download, and then install them
+in your SDK. </p>
 
 <p>There are several types of SDK components available:</p>
 
@@ -163,17 +183,22 @@
 </li>
 </ul>
 
-<p>To develop any application, even if you are following the <a
+<p>To develop <em>any</em> Android application, even if you are following the <a
 href="{@docRoot}guide/tutorials/hello-world.html">Hello World</a> tutorial, you
 <strong>must download at least one Android platform</strong> into your SDK.
-Typically, you will want to download multiple platforms, including the version
-that you want to develop against and all other higher platforms. By downloading
-multiple platforms, you can test the forward-compatibility of your application
-by running it on different platforms in the Android emulator. </p>
+Typically, you will want to download multiple platforms, so that you can build
+your application on the lowest version you want to support, but test against
+higher versions that you intend the application to run on. You can test your
+applications on different platforms by running in an 
+Android Virtual Device (AVD) on the Android emulator. </p>
 
-<p>For more information about adding components and additional repository sites,
-see the <a href="{@docRoot}sdk/adding-components.html">Adding SDK Components</a>.
-</p>
+<p>For step-by-step instructions on how to use the Android SDK and AVD Manager
+to add components, see the <a href="{@docRoot}sdk/adding-components.html">Adding
+SDK Components</a> document. </p>
+
+<p>For release notes and other detailed information about individual SDK 
+components, see the documents listed under "Downloadable SDK Components" in 
+the navigation at left.</p>
 
 
 <h2 id="sdkContents">Explore the SDK</h2>
diff --git a/docs/html/sdk/sdk_toc.cs b/docs/html/sdk/sdk_toc.cs
index 8b55aad..900b067 100644
--- a/docs/html/sdk/sdk_toc.cs
+++ b/docs/html/sdk/sdk_toc.cs
@@ -101,7 +101,10 @@
       <span style="display:none" class="zh-CN"></span>
       <span style="display:none" class="zh-TW"></span></a>
       </li>
-      <li><a href="<?cs var:toroot ?>sdk/adt-notes.html">ADT <?cs var:adt.zip.version ?> Notes</span></a>
+      </ul>
+      <ul>
+      <li><a href="<?cs var:toroot ?>sdk/adt-notes.html">ADT <?cs var:adt.zip.version ?> 
+          <span class="new">new!</span></span></a>
       </li>
     </ul>
   </li>
diff --git a/docs/html/sdk/tools-notes.jd b/docs/html/sdk/tools-notes.jd
index abb9c96..b8337b0 100644
--- a/docs/html/sdk/tools-notes.jd
+++ b/docs/html/sdk/tools-notes.jd
@@ -5,15 +5,16 @@
 includes the complete set of development and debugging tools for the Android
 SDK.</p>
 
+<p>This document provides version-specific information about SDK Tools
+releases. To keep up-to-date on new releases, make sure that you view this page
+at <a
+href="http://developer.android.com/sdk/tools-notes.html">http://developer.
+android.com/sdk/tools-notes.html</a>.</p>
+
 <p>To install SDK Tools in your SDK environment (and replace the
 existing tools), use the Android SDK and AVD Manager. For more information, see
 <a href="{@docRoot}sdk/adding-components.html">Adding SDK Components</a>. </p>
 
-<p>This document provides version-specific information about SDK Tools
-releases. To keep up to date on new releases, make sure that you view this page
-at <a
-href="http://developer.android.com/sdk/tools-notes.html">http://developer.
-android.com/sdk/tools-notes.html</a>.</p>
 
 <h2 id="3">SDK Tools, Revision 3</h2>
 
@@ -57,6 +58,13 @@
 between SDK add-ons and platforms.</li>
 </ul>
 
+<h3>Layoutopt, a new tool for optimizing layouts</h3>
 
-
+<p>The SDK Tools 3 package includes <code>layoutopt</code>, a new command-line 
+tool that helps you optimize your layout hierarchies. When run against your 
+layout files, the tool analyzes their hierarchies and notifies you of 
+inefficiencies and other potential issues. The tool also provides simple 
+solutions for the issues it finds. For usage, see <a 
+href="{@docRoot}guide/developing/tools/layoutopt.html">layoutopt</a>.
+</p>
 
