diff --git a/src/source/life-of-a-bug.jd b/src/source/life-of-a-bug.jd
index 6f3b2c3..21995d5 100644
--- a/src/source/life-of-a-bug.jd
+++ b/src/source/life-of-a-bug.jd
@@ -23,26 +23,35 @@
     </ol>
   </div>
 </div>
-<p>The Android Open Source project maintains a public issue tracker where you
-can report bugs and request features for the Android software stack. (For
-details on this issue tracker, please see the <a href="report-bugs.html">Reporting Bugs</a> page).
+<p>The Android Open Source Project maintains a public issue tracker where you
+can report bugs and request features for the core Android software stack.
+(For details on this issue tracker, please see the
+<a href="report-bugs.html">Reporting Bugs</a> page).
 Reporting bugs is great (thank you!), but what happens to a bug report once
 you file it? This page describes the Life of a Bug.</p>
+
 <p>*Please note: the Android Open Source Project (AOSP) issue tracker is
-intended only for bugs and feature requests related to the Android software
-stack. Because many users find their way here looking for the Google apps for
-Android (such as Gmail and so on), we have components set up for their
-convenience. However, these apps are not part of Android, and any issues
-reported on these components are not guaranteed to to receive attention.
-Most notably, to report issues related to Google Play, you should visit the
-<a href="https://support.google.com/googleplay/">Google Play Support Forum</a>.</p>
+intended only for bugs and feature requests related to the core Android
+software stack, and is a technical tool for the Open Source community.</p>
+
+<p>This is not a customer support forum.
+You can find support for Nexus devices on
+<a href="http://support.google.com/nexus">Google's Nexus support site</a>.
+Support for other devices is provided by the device manufacturers or by the
+carriers selling those devices.</p>
+
+<p>Support for Google applications is through
+<a href="http://support.google.com/">Google's support site</a>. Support
+for 3rd-party applications is with each application's developer, e.g.
+through the contact information provided on Google Play.</p>
+
 <p>Here's the life of a bug, in a nutshell:</p>
 <ol>
 <li>
 <p>A bug is filed, and has the state "New".</p>
 </li>
 <li>
-<p>An AOSP contributor periodically reviews and triages bugs. Bugs are
+<p>An AOSP maintainer periodically reviews and triages bugs. Bugs are
 triaged into one of four "buckets": New, Open, No-Action, or Resolved.</p>
 </li>
 <li>
@@ -63,7 +72,7 @@
 <ul>
 <li>
 <p><em>New:</em>
-    The bug report has not yet been triaged (that is, reviewed by an AOSP contributor.)</p>
+    The bug report has not yet been triaged (that is, reviewed by an AOSP maintainer.)</p>
 </li>
 <li>
 <p><em>NeedsInfo:</em>
@@ -82,18 +91,7 @@
 <p><em>Unassigned:</em>
     The bug report has been recognized as an adequately
 detailed report of a legitimate issue, but has not yet been assigned to an
-AOSP contributor to be fixed. Typically, bugs in this state are considered low
-priority, at least insofar that if they were high priority, they'd be assigned
-to a contributor.</p>
-</li>
-<li>
-<p><em>Reviewed:</em>
-    Like <em>Unassigned</em>, but the issue
-represented is being tracked in a separate bug database. For example, the bug
-might have been reported via an internal bug-tracking system,
-which is considered the "master" copy. (For instance, Google maintains one
-such private issue tracker, intended primarily for bugs which contain
-sensitive information which can't be revealed publicly.)</p>
+AOSP contributor to be fixed.</p>
 </li>
 <li>
 <p><em>Assigned:</em>
@@ -102,14 +100,15 @@
 </li>
 </ul>
 <p>Typically, a given bug will start in <em>Unassigned</em>, where it
-will remain until it is associated with a specific upcoming release, at which
-point it will enter <em>Reviewed</em> or <em>Assigned</em>. However,
+will remain until someone intends to resolve it, at which
+point it will enter <em>Assigned</em>. However,
 note that this isn't a guarantee, and it's not uncommon for bugs to go from
 <em>Unassigned</em> to one of the Resolved states.</p>
 <p>In general, if a bug is in one of these Open states, the AOSP team has
-recognized it as a legitimate issue and will fix it according to the product
-priorities and milestones. However, it's impossible to guarantee a fix in time 
-for any particular release.</p>
+recognized it as a legitimate issue, and a high-quality contribution fixing
+that bug is likely to get accepted. However, it's impossible to guarantee a
+fix in time for any particular release.</p>
+
 <h2 id="no-action-issues">No-Action Issues</h2>
 <p>This bucket contains bugs that have for one reason or another been
 determined to not require any action.</p>
@@ -120,10 +119,9 @@
 regrettably, do not want.</p>
 </li>
 <li>
-<p><em>Question:</em>
-    Someone mistook the issue tracker for a help forum.
-(This is not as uncommon as you might think: many users whose native language
-isn't English misunderstand the site and make this mistake.)</p>
+<p><em>Duplicate:</em>
+    There was already an identical report in the issue tracker. Any actual
+action will be reported on that report.</p>
 </li>
 <li>
 <p><em>Unreproducible:</em>
@@ -133,40 +131,58 @@
 that the bug was fixed in a later release.</p>
 </li>
 <li>
+<p><em>Obsolete:</em>
+    Similar to <em>Unreproducible,</em> but with a reasonable certainty
+that the bug did exist in the reported version but was already fixed in
+a later release.</p>
+</li>
+<li>
 <p><em>WorkingAsIntended:</em>
-    An AOSP contributor has determined that the
+    An AOSP maintainer has determined that the
 behavior described isn't a bug, but is the intended behavior. This state is
 also commonly referred to as "WAI".</p>
 </li>
 <li>
 <p><em>Declined:</em>
     This is like <em>WorkingAsIntended</em>, except
-typically used for feature requests instead of bugs.  That is, an AOSP
-contributor has determined that the request is not going to be implemented in
+typically used for feature requests instead of bugs. That is, an AOSP
+maintainer has determined that the request is not going to be implemented in
 Android.</p>
 </li>
+<li>
+<p><em>NotEnoughInformation:</em>
+    The report didn't have enough information to be able to take any action.</p>
+</li>
+<li>
+<p><em>UserError:</em>
+    The report was the result of a user making a mistake while using Android,
+e.g. typing a wrong password and therefore not being able to connect to a
+server.</p>
+</li>
+<li>
+<p><em>WrongForum:</em>
+    The report cannot be handled in AOSP, typically because it is related
+to a customized device or to an external application.</p>
+</li>
+<li>
+<p><em>Question:</em>
+    Someone mistook the issue tracker for a help forum.</p>
+</li>
 </ul>
 <h2 id="resolved-issues">Resolved Issues</h2>
 <p>This bucket contains bugs that have had action taken, and are now
 considered resolved.</p>
 <ul>
 <li>
-<p><em>FutureRelease:</em>
-    This bug has been fixed (or feature implemented) in
-a source tree, but has not yet been included in a formal Android
-platform release. (Note that this may also include fixes that exist in a
-private source tree that has not yet been contributed to a public
-tree.)</p>
-</li>
-<li>
 <p><em>Released:</em>
-    This bug has been fixed, and is included in a formal
-Android platform release. When this state is set, we try to also set a
+    This bug has been fixed, and is included in a formal release.
+When this state is set, we try to also set a
 property indicating which release it was fixed in.</p>
 </li>
 <li>
-<p><em>Duplicate:</em>
-    This bug is a duplicate of another, existing bug report.</p>
+<p><em>FutureRelease:</em>
+    This bug has been fixed (or feature implemented) in
+a source tree, but has not yet been included in a formal release.</p>
 </li>
 </ul>
 <h1 id="other-stuff">Other Stuff</h1>
@@ -176,14 +192,3 @@
 states in a formal progression. We do try to keep the system up to date, but
 we tend to do so in periodic "bug sweeps" where we review the database and
 make updates.</p>
-<p>Since the AOSP is essentially constantly evolving, we do make tweaks to
-the list of bug states and the lifecycle described above.  When we do this,
-however, we'll be sure to update this page as well.</p>
-<p>Finally, you should be aware that for a variety of reasons, there are
-actually multiple issue trackers for Android-related issues. The 
-<a href="https://code.google.com/p/android/issues/list">Google Code Project Hosting Issue Tracker</a>
-is the <em>only</em> official public issue tracker; however,
-Google also maintains a private issue tracker, own, as do most OEMs. We try to
-keep the public issue tracker in sync with private issue trackers
-wherever possible, but in cases where confidential information and security
-issues are involved, this isn't always possible.</p>
\ No newline at end of file
diff --git a/src/source/report-bugs.jd b/src/source/report-bugs.jd
index 9b85b08..0a0ffbb 100644
--- a/src/source/report-bugs.jd
+++ b/src/source/report-bugs.jd
@@ -35,7 +35,11 @@
 <p>Here's how to report non-security bugs:</p>
 <ul>
 <li>
-<p><a href="https://code.google.com/p/android/issues/advsearch">Search for your bug</a> to see if anyone has already reported it.</p>
+<p><a href="https://code.google.com/p/android/issues/advsearch">Search for
+your bug</a> to see if anyone has already reported it. Don't forget to
+search for all issues, not just open ones, as your issue might already
+have been reported and closed. To help find the most popular results,
+sort the result by number of stars.</p>
 </li>
 <li>
 <p>If you find your issue and it's important to you, star it! That's how we know which bugs are most important to fix.</p>
@@ -55,6 +59,15 @@
 </ul>
 </li>
 </ul>
+<p>Keep in mind that an issue tracker is not a user support forum. It is a list
+of pending technical tasks, along with information relevant for those tasks,
+and information about progress on those tasks including which ones might
+get worked on in the short term.</p>
+<p>This issue tracker is narrowly focused on the Android Open Source Project.
+Issues with retail devices need to be reported through those devices' support
+channels, especially for devices other than Nexus. Issues with applications
+that aren't part of AOSP need to be reported with those applications'
+developers; that is also the case for Google applications.</p>
 <p>Please note that we can't guarantee that any particular bug can be fixed in
 any particular release. To see what happens to your bug once you report it,
 read <a href="life-of-a-bug.html">Life of a Bug</a>.</p>
@@ -149,4 +162,4 @@
         at
 org.eclipse.debug.internal.ui.model.elements.ElementContentProvider$3.run(ElementContentProvider.java:200)
         at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
-</pre>
\ No newline at end of file
+</pre>
