Status messages
Status messages are the headlines and errors your deployment card shows the customer. These practices apply to every Deployment UX option that shows status in your product: a Deploy button and your own setup screen.
Example UI /Second retry
Document processing
Settings · Deploy in your cloud
Setting up in your AWS account
Resources
Compute3Setting up
- Compute clustercomputeCreating
Could not read the security group for the machines. Retrying automatically.
Error details
CLOUD_PLATFORM_ERROR: Could not read the security group for the machines: AWS reported it missing.
- API serverapiWaiting
Waiting for Compute cluster.
- Event processoreventsRunning
Data1Running
- Uploads bucketuploadsRunning
Secrets and keys2Running
- Service credentialscredentialsRunning
- Application secretssecretsRunning
Networking and access3Running
- Networkdefault-networkRunning
- Management identitymanagementRunning
- Service account (application)application-saRunning
Name the cloud and the customer's role ("your AWS admin"), not Alien. Your customer bought your product.
Words to use
| Situation | Use | Avoid |
|---|---|---|
| Waiting for initial setup | "Finish the setup in AWS." | "Deploying…" |
| Setting up | "Setting up in your AWS account." | "45% complete" |
| Repeated retry | "Could not read the security group. Retrying automatically." | "Failed" |
| Failed, customer fix | "Ask your AWS admin to raise the vCPU quota for us-east-1." | "Something went wrong." |
| Running, not tested | "Deployed. Run a connection test." | "Live" |
| Stale heartbeat | "We can't confirm the current state." | "Down", "Offline" |
| Blocked update | "Version 13 needs your AWS admin. Version 12 keeps running." | "Update failed" |
| Removed | "Removed from Document processing." | "Nothing left in your account" |
Say "set up" or "deploy" for what the admin does. Never show internal steps or IDs in the headline.
Errors
Show the cloud's real error, under the resource it belongs to, with the fix.
- Hide the first retry.
retryAttemptis1: nothing in the main view. Keep it in a details view and your logs. - Show repeated retries inline.
retryAttemptis2or more: the error under its resource, with "Retrying automatically." - Show a stop at once. A status that ends in
-failed: the error, with what to do. - Pass every error to automation. Hide it only for humans. APIs and agents get every error from the first failure.
Errors and retries has the fields and the responses.
Accessibility
- Text, not color alone. Every badge and dot has a word next to it.
- Announce changes once. Put the status headline in an
aria-live="polite"region, and update it only when the state changes, not on each poll. - Keep focus. Don't move focus when a poll updates the page.
- Readable times. Render relative times in a
<time datetime="…">element with the full time on hover. - Reduced motion. Swap spinners for a static icon when
prefers-reduced-motionis set.
Test it
- Read every headline aloud with a screen reader while the page polls. It announces each state change once.
- Replay a retry. Return the same
errorwithretryAttempt1, then 2. The main view stays quiet on 1 and shows one inline message on 2.
Next
- Who acts next: name the actor in every state
- Links and branding: checks before your first customer
Who acts next
Make every deployment state say who must act next, your customer's admin, Alien, or your team, and hand off to the admin when it's their turn.
Links and branding
Checks before your first customer opens a setup link: link expiry and limits, a branded portal and CLI, sizes, networks, and removal.