Self-Describing Data

When I have to display data on a page, I like to follow the age-old storytelling advice of “show, don’t tell.” That is to say, rather than “tell” you about the data you’re viewing, I’ll simply “show” it you. It’s up to you to read between the lines, draw conclusions, and pick up what I’m throwing down.

I also like to remove everything that isn’t totally necessary; often times it’s the metadata—the data about the data—that isn’t always necessary to show on your page.

An example of unnecessary metadata is when you’re showing the labels of the properties of an object whereby the property type can be deduced from its value. This clutters things even worse when there are many object instances on the page.

Let’s say that we’re dealing with various objects of different types. I’m going to give you the value of some properties and you tell me what properties might be. Take a wild guess:
Joseph Doe
742 Evergreen Terrace
36°59′56.3″N 109°02′42.6″W
(415) 555-3458
71° F
December 7, 1941
215 lbs.

I should hope that you determined these to be the following:

IP Address127.0.0.1
A Person’s NameJoseph Doe
Street Address742 Evergreen Terrace
Longitude & Latitude36°59′56.3″N 109°02′42.6″W
Social Security Number339-23-2303
Phone Number(415) 555-3458
Temperature71° F
DateDecember 7, 1941
Weight215 lbs.

Now, not everyone would be able to recognize an IP address but I’d wager if you can’t recognize an IP address you probably don’t know what one is anyways. The only downside of not including the label is that you have no way of learning what you don’t know. You can’t go and Google “what is an IP address”.

It is also interesting to note that a lot of the numerical data is only recognizable due to its formatting, whether it uses hyphens, spaces, degrees, periods, primes, parentheses or units of measurement. Without these cues it would be much more difficult to distinguish what the numerical data represents. You could even think of this formatting as a label too; it’s just lighter weight.

Numbers with only space or hyphen formatting can be pretty ambiguous. I would argue that a social security number looks very similar to a phone number or any other type of number for that matter and would therefore require an explicit label.

In the case of temperature and weight, it’s the units of measurement that inform what the data measures. I don’t need to tell you that lbs. are for weight and degrees Fahrenheit measures temperature. Or—if I do—perhaps you’re not educated enough to be using the application.

Given that some data, along with its formatting, supplies the reader with enough context to distinguish what type of property it is, consider leaving it off your pages in order to free up space and tell a better story.

Written 10 March 2015