Understanding Data Usage

Hi there!

What you’re seeing are the TCP/IP headers involved in sending a packet of data over the Internet.

The number of bytes listed next to each message, are (confusingly, we admit) not representative of the amount of the overhead bytes it takes to transmit data packets over a network, they just show the size of your data payload. You’re correct that this isn’t particularly useful information - we’ll soon be phasing out that column.

Ideally, we would be providing the total number of bytes, including TCP/IP overhead, that it takes to transmit each data message (we’re working on it!). However, at this time, the overall data usage for a sim is calculated independently from the messages as they show up in the Hologram cloud.

Here’s another post that goes into a little more detail about network overhead, and some differences between TCP and UDP transport protocols: SerialCloud.print data usage - #10 by phogan
Long story short, you can generally expect somewhere around 300-500 bytes of default TCP/IP overhead with each message.

Depending on your application and data needs, as well as hardware/software capability - there are a few strategies that can be used to try and reduce data overhead. The main recommendation for TCP (assuming your application permits) is to send fewer messages overall, and aggregate the data from several messages into a single send.

Obviously this strategy won’t always work for everyone’s application. We’d love to hear what kind of project you’re working on, hardware/libraries you’re using, how much data you expect to use - hopefully we can help get your costs down!