← All articles
$ cat articles/iot-mobile-dashboard-data.md

Is that sensor reading still live? Designing an honest IoT dashboard

How a mobile IoT dashboard can distinguish fresh readings, stale data, and confirmed device commands so users know what is actually happening.

IoTMobile AppsUXData

Picture a mobile dashboard showing a room temperature of 24°C. It looks clear. But when was that value measured?

If the sensor stopped reporting twenty minutes ago, the number might still be useful as history. Presenting it as a live reading tells a different story.

For an IoT app, I’d treat freshness as part of the data itself. The interface should help someone understand what the system knows right now and what it last knew earlier.

Agree on what counts as fresh

A sensor that reports every few seconds and one that reports every hour need different expectations. There isn’t a single timeout that makes sense for every connected product.

Consider a hypothetical room-monitoring app. The team might agree that readings normally arrive once a minute and should be marked stale after three missed reporting intervals. Those are example requirements, not recommended settings for every sensor.

Now the screen has a rule it can explain: show the value, its unit, and when it was last updated. Once the agreed window expires, keep the previous reading visible but label it as old.

Ask what the timestamp actually means

Was the reading measured at that time, received by the server, or downloaded by the phone? Those moments can differ.

The device and backend teams need to define the timestamps before the UI earns a “Live” badge. If the device clock isn’t reliable, the app shouldn’t quietly treat it as an authoritative measurement time.

A useful data contract might include a device identifier, value, unit, measurement time when available, and server receipt time. The exact fields depend on the product. The important part is agreeing on their meaning.

Separate the phone’s connection from the sensor’s connection

A phone can reach the backend while a sensor is offline. A sensor can keep reporting while the phone has lost internet access.

One green dot labelled “Connected” cannot explain both situations well. For this example, I would show a device update status next to the reading and a separate message when the app cannot refresh its data.

If the phone opens cached information, make that visible. A useful message might be “Showing the last received reading. Unable to refresh.” Don’t replace the reading with zero, because zero could be a real measurement.

A tap isn’t proof that a device changed

Suppose the same app lets someone change the sensor’s reporting interval. The interface needs to distinguish the requested setting from the confirmed setting.

Here’s a product-level state sketch, not a protocol specification:

Current interval: 60 seconds
Requested interval: 120 seconds
Status: Waiting for device confirmation

The backend accepting a request may only mean that it queued the command. Agree on what evidence allows the app to say the device applied it.

If confirmation doesn’t arrive, show that the outcome is unknown. Before automatically retrying, decide how the system will recognize duplicate requests and whether repeating the operation is safe for that device.

Test a dashboard that has stopped receiving data

A useful review session includes more than watching numbers change. I’d ask the team to stop the example sensor, disconnect the phone, and delay a command confirmation separately.

For each case, check whether a person can answer three questions: How old is this information? Did my request finish? What can I do next?

Also test an older reading arriving after a newer one. Agree whether it belongs in history or should update the main display. Arrival order alone may not match measurement order.

These details give the interface meaning. A dashboard earns trust when its labels match the evidence available to the system.

For the broader mobile experience during connection loss, read what should happen when an app goes offline. If the device isn’t connected yet, start with the first-use IoT setup journey.

More articles

Let's talk