Compressed SMS (and other text messages)

Andreas Kostyrka andreas at
Wed Mar 21 21:40:30 CET 2007

* Mikko Rauhala <mjrauhal at> [070321 01:40]:
> 'lo
> Didn't appear in the wiki, so I figured I'd throw it out there first:
> compressed SMS for when a persistent TLS-encrypted and -compressed
> Jabber connection just isn't there (eg. if it would be too expensive in
> a particular locale), but you need to send "long" text messages. With
> SMS, every 140 bytes costs loads of money. (Yes, it's 140 bytes, people;
> 160 characters in 7-bit charsets.)
> So. We can't very well send a compression dictionary along with each
> SMS. Instead, we'll start producing one upon sending the first SMS to
> another Moko user (might be necessary to mark Moko peers manually, or is
> there a way to identify them?). The recipient produces the same.

Bigger problem: Users that switch SIM cards. E.g. I tend to switch my
Austrian and German SIM cards, and the "roaming" SIM card lands in a
simple and trivial SonyEricsson mobile.

No way to know if a Moko user is still a Moko user. :(

So at least you would need an automatic expiration, plus probably a
system that would automatically upload/download moko-ness information.


*) Provide a central server, where everyone can submit hashes + time
values. (Security aspect: How do we make sure that I cannot submit for
a different user? Sending SMS for verification might prove expensive
:( )

*) Now, everytime you've got sensible connectivity, iterate through
all of your contacts, and ask for the hash of the phone number, which
would give you the mokoness expiration timestamp.

This way all mokos could keep in touch, and people that switch phones
more often would be able to tune it.


> The next message between the two will be compressed with the compression
> dictionary previously generated. The new data will deterministically
> modify the compression dictionary on both ends. These are cyclically
> numbered and several previous versions will be stored in case the
> parties get out of sync.
> Optional: Allow compression dictionary to be generated from a set of
> messages, and be transferred to another phone as a baseline (presumably
> when better connectivity is available). Or even as a final frozen
> dictionary, which would avoid possible races and other sync problems.
> Aside: Encrypt SMSs, either with a shared secret or a one-time pad
> similarly pre-copied between phones.
> That's it for tonight. Probably not very essential, but it's a thought.
> -- 
> Mikko Rauhala   - mjr at     - <URL:>
> Transhumanist   - WTA member     - <URL:>
> Singularitarian - SIAI supporter - <URL:>
> _______________________________________________
> OpenMoko community mailing list
> community at

More information about the community mailing list