A new practical write-up about message encoding in the goTenna network, which I helped to fact-check, is now live on Sybip’s excellent goTenna wiki. Have a look, it’s a fun exercise to try, even with your own messages.
Also, if anyone knows (and can say) what the hell TLV 4 is, please give a shout.
Thanks @goTennaUser_24176, it’s not a generic concept that I was asking about, but a specific TLV element (of the regular type, byte-byte-bytes) found in some messages, with type=4 and length usually 3, which serves no obvious purpose but may cause delivery problems if not included.
In theory, an optimal encoding of GPS location can fit in 32 bytes:
8+8 lon/lat as floats,
2 altitude,
8 GID,
4 timestamp,
2 metadata (precision, flags etc)
In practice, the goTenna app uses something like 65-70 bytes because it redundantly includes the text “[full name of the sender]'s last shared location” in every location packet (instead of just the GID). Also, the goTenna app uses TLV formatting in location packets, which introduces its own overhead.
As far as I remember, emergency messages sent from app contain a location object.