Per P0 reqs add launch points + make download obvious. Also misc copy edits.
BUG=none
R= [email protected], [email protected], [email protected]
TEST=none
NOTRY=true
(documentation only change)
Priority list copied here for reference:
P1 But written by different engineers, very uneven quality and voice.
P2 Some documentation could be expanded.
P0 The ramp-in for new users could be improved.
P0 The landing page isn't "cool", it doesn't make developers want to jump in and use it.
Could we have a more github-like thing that gets people started quickly?
Could we have a narrative intro?
We just bought the pna.cl domain, we should use it!
P3 We think it's pretty important to keep the deep-dive in there (e.g. sandbox internals, bitcode reference).
Review URL: https://codereview.chromium.org/476793002
Cr-Commit-Position: refs/heads/master@{#291696}
diff --git a/native_client_sdk/doc_generated/overview.html b/native_client_sdk/doc_generated/overview.html
index b9d48dbc..7886ddc 100644
--- a/native_client_sdk/doc_generated/overview.html
+++ b/native_client_sdk/doc_generated/overview.html
@@ -42,50 +42,44 @@
<h2 id="why-use-native-client">Why use Native Client?</h2>
<p>Native Client open-source technology is designed to run compiled code
securely inside a browser at near-native speeds. Native Client puts web
-applications on the same playing field as traditional (locally-run)
-software—it provides the means to fully harness the client’s computational
-resources for applications such as 3D games, multimedia editors, CAD modeling,
+applications on the same playing field as desktop software—it provides the
+means to fully harness the client’s computational resources for applications
+such as 3D games, multimedia editors, CAD modeling,
client-side data analytics, and interactive simulations.
Native Client also aims to give C and C++ (and eventually other languages) the
same level of portability and safety that JavaScript provides on the web today.</p>
-<p>Here are a few of the key benefits that Native Client offers:</p>
+<p>Important benefits of Native Client include:</p>
<ul class="small-gap">
-<li><strong>Graphics, audio, and much more:</strong> Run native code modules that render 2D
+<li><strong>Graphics, audio, and much more:</strong> Running native code modules that render 2D
and 3D graphics, play audio, respond to mouse and keyboard events, run on
multiple threads, and access memory directly—all without requiring
the user to install a plugin.</li>
-<li><strong>Portability:</strong> Write your applications once and you’ll be able to run them
-across operating systems (Windows, Linux, Mac, and Chrome OS) and CPU
-architectures (x86 and ARM).</li>
-<li><strong>Easy migration path to the web:</strong> Many developers and companies have years
-of work invested in existing desktop applications. Native Client makes the
-transition from the desktop to a web application significantly easier because
-it supports C and C++.</li>
-<li><strong>Security:</strong> Native Client uses a double sandbox model designed to protect
-the user’s system from malicious or buggy applications. This model offers the
-safety of traditional web applications without sacrificing performance and
+<li><strong>Portability:</strong> Writing your applications once and running them on operating
+systems (Windows, Linux, Mac, and Chrome OS) and CPU architectures (x86 and
+ARM).</li>
+<li><strong>Easy migration path to the web:</strong> Leveraging years of work in existing
+desktop applications. Native Client makes the transition from the desktop to a
+web application significantly easier because it supports C and C++.</li>
+<li><strong>Security:</strong> Protecting the user’s system from malicious or buggy
+applications through Native Client’s double sandbox model. This model offers
+the safety of traditional web applications without sacrificing performance and
without requiring users to install a plugin.</li>
-<li><strong>Performance:</strong> Native Client allows web applications to run at speeds
-comparable to desktop applications (within 5-15% of native speed).
-Native Client also allows applications to harness all available CPU cores via
-a threading API; this enables demanding applications such as console-quality
-games to run inside the browser.</li>
+<li><strong>Performance:</strong> Running at speeds comparable to desktop applications (within
+5-15% of native speed). Native Client also allows applications to harness all
+available CPU cores via a threading API; this enables demanding applications
+such as console-quality games to run inside the browser.</li>
</ul>
<h2 id="common-use-cases">Common use cases</h2>
<p>Typical use cases for Native Client include the following:</p>
<ul class="small-gap">
<li><strong>Existing software components:</strong> With support for C and C++, Native
-Client enables you to reuse existing software modules in
-web applications—you don’t need to rewrite and debug code
-that’s already proven to work well.</li>
+Client lets you to reuse existing software modules in web applications. You
+don’t need to rewrite and debug code that already works.</li>
<li><strong>Legacy desktop applications:</strong> Native Client provides a smooth migration
path from desktop applications to the web. You can port and recompile existing
code for the computation engine of your application directly to Native Client,
-and need repurpose only the user interface and event handling portions to the
-new browser platform. Native Client allows you to embed existing functionality
-directly into the browser. At the same time, your application can take
-advantage of things the browser does well: handling user interaction and
-processing events, based on the latest developments in HTML5.</li>
+and need rebuild only the user interface and event handling portions for the
+browser.</li>
<li><strong>Heavy computation in enterprise applications:</strong> Native Client can handle the
number crunching required by large-scale enterprise applications. To ensure
protection of user data, Native Client enables you to build complex
@@ -103,15 +97,14 @@
<li><strong>Any application that requires acceleration</strong>: Native Client fits seamlessly
into web applications—it’s up to you to decide to what extent to use it.
Use of Native Client covers the full spectrum from complete applications to
-small optimized routines that accelerate vital parts of web apps.</li>
+small optimized routines that accelerate vital parts of web applications.</li>
</ul>
<h2 id="how-native-client-works"><span id="link-how-nacl-works"></span>How Native Client works</h2>
-<p>Native Client is an umbrella name for a set of interrelated software components
-that work together to provide a way to develop C/C++ applications and run them
-securely on the web.</p>
+<p>Native Client is an umbrella name for a set of related software components that
+provide a way to develop C/C++ applications and run them securely on the web.</p>
<p>At a high level, Native Client consists of:</p>
<ul class="small-gap">
-<li><strong>Toolchains</strong>: collections of development tools (compilers, linkers, etc.)
+<li><strong>Toolchains</strong>: Collections of development tools (compilers, linkers, etc.)
that transform C/C++ code to Native Client modules.</li>
<li><strong>Runtime components</strong>: components embedded in the browser or other
host platforms that allow execution of Native Client modules
@@ -123,9 +116,9 @@
(PNaCl, pronounced “pinnacle”). Developers use the PNaCl toolchain
to produce a single, portable (<strong>pexe</strong>) module. At runtime, a translator
built into the browser translates the pexe into native code for the
-relevant client architecture.</p>
-<p>The right side of the diagram shows how to use traditional (non-portable)
-Native Client. Developers use a nacl-gcc based toolchain to produce multiple
+relevant client architecture. Translation occurs before any code is executed.</p>
+<p>The right side of the diagram shows how to use (non-portable) Native Client.
+Developers use a nacl-gcc based toolchain to produce multiple
architecture-dependent (<strong>nexe</strong>) modules, which are packaged into an
application. At runtime, the browser decides which nexe to load based
on the architecture of the client machine.</p>