Reading the desktop app.
Nine screens, and what each one is actually telling you. Every figure here comes from measurements the service took on your machine — nothing is estimated, and where a number cannot honestly be produced the app says so instead of drawing a zero.
Overview
The screen you open the app to see. It answers three questions in order: who you are paying, what the line is good for right now, and the figures behind that verdict.
- Your network — the provider’s name, their AS number and the country that AS is registered in. That country is the network’s registration, not where you are; a Kenyan subscriber on a network registered elsewhere is an ordinary arrangement.
- Mean rating — the average of the calls, gaming and streaming ratings, with the number of windows it was computed across. Speed is deliberately not in it.
- Responsiveness — a separate 0–100 score folded from the latency, jitter and loss tiles beside it. Two different scores on one screen is deliberate: one is what the line is good for, the other is how fast it answers.
- The tiles — latency, jitter, loss and voice MOS, each with a sparkline of its last hour so you can tell “bad” from “normal for this line”.
A loss tile reading 0/120 with a hatched background is not a failure — the hatch means the sample is below the 300-probe floor, so a rate is being withheld while the counts are shown.
What we’re seeing
A plain-language reading of the current evidence, with the counts that produced it — for example gateway loss against internet loss, which is the difference between a problem inside your home and one beyond it. It is labelled observations, not a verdict: the full diagnosis with evidence for and against lives under Diagnose.
The Day map
Twenty-four hours as a grid, one cell per minute, shaded against this line’s own day.
- Stronger colour is slower — relative to your normal, never an absolute scale. A satellite link is not painted permanently red for being satellite.
- An empty cell is a hole, not a good minute. The machine was off or asleep. Absence is shown as absence.
- Loss draws its own mark on top of the shade, because a quick minute that dropped packets is not a good minute.
What to look for: vertical banding. A column that darkens every evening is congestion at peak, which is a provisioning conversation. Scattered dark cells with no pattern are usually your own Wi-Fi.
What changed
A list of the moments worth explaining — stretches where loss appeared or latency ran at twice the day’s own typical value — each with its exact counts and time range. This is the section to quote in a support ticket, because every line in it is a specific claim with a timestamp.
Link Matrix
Your connection scored at five levels, ordered by blast radius — how much of your experience each one can ruin. It answers “which part of the chain is weak?” rather than producing a single number that hides the answer.
A level below its floor is stated as absent, and the overall score reweights around it. This matters: one perfect stream with three levels unmeasured reads as 100, not as a lower score padded with invented zeros. Absence is reported in words.
Live Path
The route to a host, hop by hop, updating as it measures — with every individual probe listed beside it as it happens.
The value is the classification per hop, not the raw percentages. A hop marked cosmetic is a router deprioritising Helix’s questions while forwarding your traffic perfectly; a hop marked propagating is real loss that everything downstream inherits. Only the first propagating hop is named as the culprit.
What this is not: it captures no packets and inspects no traffic. It measures the path, not what you send over it.
Workbench
Type a host and investigate it directly: a path walk, a name and service check, and a comparison of your resolver against two independent references.
A refused connection is a good sign and is painted neutrally rather than as an error. It means the packet arrived and the host answered — the network worked. Only “no answer at all” is a finding.
Diagnose
The full twelve-stage diagnosis, from your network adapter to the far end, producing a verdict.
Read the counter-evidence. Every verdict renders what supports it and what argues against it, both always visible. A diagnosis engine that cannot populate the second column is not shipped here. If you are taking this to a support desk, the contradicting column is what stops the conversation ending at “your test is wrong”.
The result saves locally as a report you can keep, upload to your account, or attach to a ticket.
Usage
Which applications used the network and how much, with the addresses they talked to, plus a live throughput chart.
This is measured locally and stays on your machine unless you choose otherwise. It answers “what was saturating the line at 9pm?” — frequently the real explanation for a call that broke up.
System
What the service knows about itself: version, uptime, the targets in its plan, sync state. It is assembled from the answers the service already gives, so it cannot disagree with the rest of the app.
When a figure is missing
A blank where a number should be is a deliberate statement, not a bug. Across every screen the rules are the same:
- A loss rate is withheld below 300 probes; the counts are shown instead.
- A progress bar is only determinate when something real is being counted — otherwise it is hatched rather than animated to look busy.
- Not measured is never drawn as zero, and never as a soft “OK”. It carries its own mark and its own word.
Terms defined in the glossary. For the console side, see reading your account online.