Sweating the small details

June 30, 2022

Oxford Languages defines the verb design as:

decide upon the look and functioning of (a building, garment, or other object), by making a detailed drawing of it.

To design, therefore, is not only producing a good-looking picture: the drawing process must be oriented towards figuring out how something is supposed to work.

Connhex Control

A few months ago, we started to re-build from scratch Connhex Control.

You can think of Connhex in its simplest form as a big bucket that automatically stores data: it doesn’t have a user interface on purpose. But while you’re using Connhex to build your own data collection solution, it could be handy to have a debugging interface.

That’s what Connhex Control is all about: it’s a device management tool to inspect all the messages that are flowing through Connhex.

We will be sharing additional details about it as we start to release new features. For now, just take a look at this screenshot:

Connhex Control screenshot
Ok, there are no messages. But why?

This is a card inside the device detail page. It shows the last messages sent from a device connected to Connhex. If at least one message has been sent, then no problem: we’ll just display that one. But what about the first time a user sees that screen? What if there are no messages?

The basic solution

The default approach is to present an empty component, with a telling message: No data. This is a simple solution, because it is a static one: every component that is supposed to contain something, but does not, can just show this message.

But there are better ways to do it.

A more thoughtful approach

Ok, there are no messages. But why? Two cases immediately come to mind:

  • a device has just been created through Connhex Control
  • there’s an issue with a device that is not able to send messages

Either way, that’s exactly when someone may need support with sending messages from a device to a Connhex instance! So what are you going to do about it?

Just put exhaustive documentation right there.

See that Open the docs link? That will open this page in a new tab. Don’t just open your documentation website, do so at the right page and section.

Is it boring and simple? Yes, it is. But that’s effective too.

So this is how we think design should be treated:

decide upon the functioning of something

and make sure it’s an effective problem-solver.