@@ -162,7 +162,7 @@ sitemap:
diff --git a/docs/appendix/glossary/smart-machine.md b/docs/appendix/glossary/smart-machine.md
new file mode 100644
index 0000000000..669df49af7
--- /dev/null
+++ b/docs/appendix/glossary/smart-machine.md
@@ -0,0 +1,10 @@
+---
+title: Smart Machine
+id: smart-machine
+full_link:
+short_description: A machine or device that lives in the real world and has some ability to perceive the world (with a sensor, for example) and perform actions like operating a motor.
+aka:
+---
+
+A machine or device that lives in the real world and has some ability to perceive the world (with a sensor, for example) and perform actions like operating a motor.
+The machine might also interact with other systems, with the cloud, or with users.
diff --git a/docs/program/_index.md b/docs/program/_index.md
index c1ff586094..3fb1f90fe1 100644
--- a/docs/program/_index.md
+++ b/docs/program/_index.md
@@ -1,13 +1,13 @@
---
-title: "Program a Robot"
-linkTitle: "Program Robots"
-childTitleEndOverwrite: "Program Robots"
-description: "Use the SDK of your preferred language to write code to control your robots."
+title: "Program a Smart Machine"
+linkTitle: "Program Machines"
+childTitleEndOverwrite: "Program Machines"
+description: "Use the SDK of your preferred language to write code to control your smart machines."
weight: 45
no_list: true
type: docs
image: "/general/code.png"
-imageAlt: "Program a Robot"
+imageAlt: "Program a smart machine"
images: ["/general/code.png"]
aliases:
- "product-overviews/sdk-as-client"
@@ -17,12 +17,12 @@ aliases:
Viam offers software development kits (SDKs) in popular languages which
-- Broker connection, authentication, and encryption for communication with robots running `viam-server` using {{< glossary_tooltip term_id="webrtc" >}}
+- Broker connection, authentication, and encryption for communication with {{< glossary_tooltip term_id="smart-machine" text="smart machines">}} running `viam-server` using {{< glossary_tooltip term_id="webrtc" >}}
- Enable you to interface with robot [gRPC APIs](https://github.com/viamrobotics/api) in a way that is idiomatic to that programming language
![Diagram showing how a client connects to a robot with Viam. Diagram shows a client as a computer sending commands to a robot. Robot 1 then communicates with other robotic parts over gRPC and WebRTC and communicating that information back to the client.](/program/sdks/robot-client.png)
-Use the SDK of your preferred language to write code to control your robots.
+Use the SDK of your preferred language to write code to control your smart machine.
Viam currently offers SDKs for the following languages:
diff --git a/docs/try-viam/_index.md b/docs/try-viam/_index.md
index 6be7fe96cc..30cf5f1ad0 100644
--- a/docs/try-viam/_index.md
+++ b/docs/try-viam/_index.md
@@ -14,7 +14,7 @@ aliases:
- "/getting-started/try-viam/"
---
-Viam is a general robotics platform that can run on any hardware.
+Viam is a general {{< glossary_tooltip term_id="smart-machine" text="smart machine">}} platform that can run on any hardware.
The easiest way to try Viam is to [rent and remotely configure and control a Viam Rover](https://app.viam.com/try) located on-site at Viam in New York:
diff --git a/docs/viam/_index.md b/docs/viam/_index.md
index 3b8ae38623..51a2acc5e6 100644
--- a/docs/viam/_index.md
+++ b/docs/viam/_index.md
@@ -1,7 +1,7 @@
---
title: "Viam in 3 minutes"
linkTitle: "Viam in 3 minutes"
-description: "Viam is a complete software platform for robots which provides modular robot components and services for vision, motion, SLAM, ML, and data management."
+description: "Viam is a complete software platform for smart machines which provides modular components and services for vision, motion, SLAM, ML, and data management."
weight: 10
no_list: true
type: docs
@@ -14,54 +14,54 @@ imageAlt: "/general/understand.png"
images: ["/general/understand.png"]
---
-Viam is a complete software platform that supports every step of your robot development lifecycle.
+Viam is a complete software platform that supports every step of your {{< glossary_tooltip term_id="smart-machine" text="smart machine">}} development lifecycle.
-## Plan your robot
+## Plan your smart machine
-When using Viam, this is what you'll need to know to plan your robot:
+When using Viam, this is what you'll need to know to plan your smart machine:
-
+
- **Hardware**:
-Many {{< glossary_tooltip term_id="component" text="robotic components">}} are natively supported by the Viam platform.
+Many {{< glossary_tooltip term_id="component" text="components">}} are natively supported by the Viam platform.
You will not need to write a single line of code to integrate them, and swapping out component models will not require code changes.
- **Functionality**:
You can make use of computer vision, motion planning, SLAM, data management, machine learning, and more by configuring Viam's built-in {{< glossary_tooltip term_id="service" text="services">}}.
- **Architecture**:
-You can build simple robots or multi-part robots that use secure communication channels across local networks and the cloud, all of which can be managed with a uniform API.
-- **Extensibility**: If you need additional functionality, you can leverage community contributed and modular resources to [extend](/extend/) Viam from the [Viam registry](/extend/modular-resources/).
+You can build simple smart machines or multi-part smart machines that use secure communication channels across local networks and the cloud, all of which can be managed with a uniform API.
+- **Extensibility**: If you need additional functionality, you can leverage community contributed and modular resources to [extend](/extend/) Viam from [the Viam registry](/extend/modular-resources/).
Join the [**Viam community**](https://discord.gg/viam) to collaborate during planning and beyond.
## Get started
-A *robot* in Viam consists of at least one computer, typically a [single-board computer](/installation/), running `viam-server` and communicating with any hardware connected to it by signaling through digital data pins.
+A *smart machine* in Viam consists of at least one computer, typically a [single-board computer](/installation/), running `viam-server` and communicating with any hardware connected to it by signaling through digital data pins.
Viam supports devices running **any** 64-bit Linux OS or macOS.
{{< imgproc src="/viam/board-viam-server.png" alt="A diagram of a single-board computer running viam-server." resize="270x" class="alignleft" style="max-width:270px" >}}
-The Viam platform provides a user interface for connecting to and managing robots, the [Viam app](https://app.viam.com/).
+The Viam platform provides a user interface for connecting to and managing smart machines, the [Viam app](https://app.viam.com/).
-To use the Viam platform with your robot, log in to [the app](https://app.viam.com/), create a new robot, and [install](/installation/) the [`viam-server`](https://github.com/viamrobotics/rdk) binary which:
+To use the Viam platform with your smart machine, log in to [the app](https://app.viam.com/), create a new robot, and [install](/installation/) the [`viam-server`](https://github.com/viamrobotics/rdk) binary which:
-- Creates, configures, and maintains the robot.
+- Creates, configures, and maintains the smart machine.
- Securely handles all communications.
- Runs drivers, custom code, and any other software.
- Accepts API requests.
- Runs services like computer vision, data synchronization, and motion planning.
{{% alert title="Info" color="info" %}}
-Everything Viam runs on your robot is [open-source](https://github.com/viamrobotics).
+Everything Viam runs on your smart machine is [open-source](https://github.com/viamrobotics).
{{% /alert %}}
-## Configure your robot
+## Configure your smart machine
Robots can be small and simple or very complex.
-A robot can be a single-board computer with a single sensor or LED wired to it, or a robot can consist of multiple computers with many physical components connected, acting as one unit.
+A smart machine can be a single-board computer with a single sensor or LED wired to it, or a smart machine can consist of multiple computers with many physical components connected, acting as one unit.
The term {{% glossary_tooltip term_id="component" text="*component*" %}} describes a piece of hardware that a computer controls, like an arm or a motor.
-For each component that makes up your robot:
+For each component that makes up your smart machine:
{{< imgproc src="/viam/test_components.png" alt="Multiple components being tested in the Viam app." resize="320x" style="max-width:320px" class="alignright" >}}
@@ -71,32 +71,32 @@ For each component that makes up your robot:
2. Test it with the visual [control tab](/manage/fleet/robots/#control).
3. See any problems with in-app [logs](/manage/fleet/robots/#logs), review or roll back configuration [history](/manage/fleet/robots/#history).
-After configuring your robot's hardware, you can configure [high level functionality](/services/) the same way:
+After configuring your smart machine's hardware, you can configure [high level functionality](/services/) the same way:
-- **Data Management** enables you to capture and sync data from one or more robots, and use that data for machine learning and beyond.
-- **Fleet management** enables you to configure, control, debug, and manage entire fleets of robots.
-- **Motion planning** enables your robot to plan and move itself.
-- **Vision** enables your robot to intelligently see and interpret the world around it.
-- **Simultaneous Localization And Mapping (SLAM)** enables your robot to map its surroundings and find its position on a map.
+- **Data Management** enables you to capture and sync data from one or more smart machine, and use that data for machine learning and beyond.
+- **Fleet management** enables you to configure, control, debug, and manage entire fleets of smart machines.
+- **Motion planning** enables your smart machine to plan and move itself.
+- **Vision** enables your smart machine to intelligently see and interpret the world around it.
+- **Simultaneous Localization And Mapping (SLAM)** enables your smart machine to map its surroundings and find its position on a map.
{{< imgproc src="/viam/robot-components.png" alt="Robot components" resize="600x" class="aligncenter" >}}
-## Control your robot
+## Control your smart machine
-
+
-The Viam platform provides a consistent programming interface for all robots, allowing you to [control your robots](/program/apis/) with code in the **language of your choice**.
+The Viam platform provides a consistent programming interface for all smart machines, allowing you to [control your smart machines](/program/apis/) with code in the **language of your choice**.
Viam currently has SDKs for [Go](https://pkg.go.dev/go.viam.com/rdk), [Python](https://python.viam.dev/), and [TypeScript](https://ts.viam.dev/).
Additional SDKs are coming soon, including Rust, Java, C++, and Flutter.
TLS certificates provided by [app.viam.com](https://app.viam.com) ensure that all communication is authenticated and encrypted.
-Viam uses {{< glossary_tooltip term_id="webrtc" >}} to create secure peer-to-peer paths between robots and clients for fast, low-latency communication.
-The Viam cloud does not receive any command or control information regarding your robots, ensuring low latency, robustness, and privacy.
-With WebRTC established, Viam uses {{< glossary_tooltip term_id="grpc" text="gRPC" >}} so you can program your robot in many common programming languages.
+Viam uses {{< glossary_tooltip term_id="webrtc" >}} to create secure peer-to-peer paths between smart machines and clients for fast, low-latency communication.
+The Viam cloud does not receive any command or control information regarding your smart machines, ensuring low latency, robustness, and privacy.
+With WebRTC established, Viam uses {{< glossary_tooltip term_id="grpc" text="gRPC" >}} so you can program your smart machines in many common programming languages.
-This provides flexibility and security whether you are building tight control loops for autonomous mobile robots, event-based triggers for IoT devices, or custom web-based robot management interfaces.
+This provides flexibility and security whether you are building tight control loops for autonomous mobile smart machines, event-based triggers for IoT devices, or custom web-based smart machine management interfaces.
There are four categories of APIs:
@@ -109,44 +109,44 @@ You can see the Viam API specification on [GitHub](https://github.com/viamroboti
### Network flexibility
-Your robot does not need to be connected to the cloud.
+Your smart machine does not need to be connected to the cloud.
-The `viam-server` software resides on your robot alongside your configurations, your code, and appropriate services.
-In scenarios without cloud connectivity, you can still connect your robot to a local area network (LAN), or to any relevant devices (such as a gamepad).
+The `viam-server` software resides on your smart machine alongside your configurations, your code, and appropriate services.
+In scenarios without cloud connectivity, you can still connect your smart machine to a local area network (LAN), or to any relevant devices (such as a gamepad).
It all depends on your use case and configuration.
- All APIs work locally or in the cloud
- Data is cached locally and synced when possible
- Configuration is cached
-When your robot is connected (to either LAN or WAN), `viam-server` can act as both a client and a server.
+When your smart machine is connected (to either LAN or WAN), `viam-server` can act as both a client and a server.
In other words, each instance can request resources, as well as provide them.
This allows for tremendous flexibility in terms of your architecture design.
## Scale
-With robots in production, Viam provides [fleet management capabilities](/manage/fleet/) to help you scale.
+With smart machines in production, Viam provides [fleet management capabilities](/manage/fleet/) to help you scale.
With it you can:
- Manage permissions within your organization and locations.
- Manage software across your fleet, including deployment of code and machine learning models.
-- Keep your robot configuration and capabilities up-to-date.
+- Keep your smart machine configuration and capabilities up-to-date.
## Extensibility
-You can also extend Viam to support additional hardware components or software services by deploying a module from the [Viam registry](https://app.viam.com/registry) to your robot.
+You can also extend Viam to support additional hardware components or software services by deploying a module from the [Viam registry](https://app.viam.com/registry) to your smart machine.
-The Viam registry allows hardware and software engineers to collaborate on their robotics projects by writing and sharing custom modules with each other.
-You can add a module from the Viam registry directly from your robot's **Configuration** tab in [the Viam app](https://app.viam.com/), using the **+ Create component** button.
+The Viam registry allows hardware and software engineers to collaborate on their smart machine projects by writing and sharing custom modules with each other.
+You can add a module from the Viam registry directly from your smart machine's **Configuration** tab in [the Viam app](https://app.viam.com/), using the **+ Create component** button.
You can also [upload your own module to the Viam registry](/extend/modular-resources/upload/).
See [Modular resources](/extend/modular-resources/) for more information.
## Next steps
-Start by borrowing one of our robots.
+Start by borrowing one of our rovers.
Use [Try Viam](/try-viam/).
-If you already have your own robot, [set up `viam-server`](/installation/) and learn how Viam helps you prototype and scale.
+If you already have your own smart machine, [set up `viam-server`](/installation/) and learn how Viam helps you prototype and scale.
For more inspiration, check out our [tutorials](/tutorials/) or visit our community on [Discord](https://discord.gg/viam) to get help or workshop ideas with others!