> Free skype replacement
It loses messages and it can't handle sending messages to offline contacts. Hardly a Skype alternative (with their history sync). I think it'd be more correct to say that it tries to be a skype alternative, rather than claim it is one at the time.
It also handles using many clients/devices poorly. There's no standard way to share the private key between clients, which is most annoying as it is critical functionality I'd have expected to have been designed and implemented from the start, before there being a bunch of clients available.
On the bright side... at the very least it delivers on the privacy promise, with pubkeys as addresses and all communications being end-to-end encrypted with forward secrecy, rather than encryption and authentication being an optional thing.
Alternatively, there's:
By ex-XMPP developers. It is a way more greedy project but works as a transport layer; a chat protocol on top of it would have to be designed. There's one already but it's just a proof of concept, so that solution is still early stages too :/.
I wonder why there isn't any encryption for iOS. Is it because TextSecure was developed for Android? I'd like to see WhatsApp use Telehash instead. Bonus: the guys developing Telehash were responsible for Jabber/xmpp as well.
There's a much larger example here: http://telehash.org/proto.html
$ cat x.json {"_to":"1.2.3.4:5678","_line":63546230,"profile_image_url": "http://a3.twimg.com/profile_images/852841481/Untitled_3_normal.jpg","created_at": "Sat, 08 May 2010 21:46:23 +0000","from_user": "pelchiie","metadata": {"result_type": "recent"},"to_user_id": null,"text": "twitter is dead today.","id": 13630378882,"from_user_id": 12621761,"geo": null,"iso_language_code": "en","source": "<a href="http://twitter.com/">web</a>"} $ cat x.json | gzip | wc -c 309 $ cat x.json | wc -c 425
Easy 25% there.
Still, you're right, gzip doesn't save you much on <100 byte bodies. Using a proper binary protocol would, though. Shipping ints and IPs around in ascii is pretty verbose. Not to mention these hex hashes all over the place. It takes 2 hex bytes to represent a single byte worth of actual data.
All this ~100% overhead from shipping stuff around in ASCII comes with a cost.