Monday November 18 2013 • posted by RJ

Faster reconnects, bandwidth savings

Websocket Compression

We’ve enabled websocket compression in our mobile apps, and for browsers that support the x-webkit-deflate-frame extension (currently Chrome and Safari).

This gives a bandwidth saving of around 50-75% vs no compression, and speeds up the initial loading of the website and apps because there is less data to fetch.

Fast Resume

Typically, when you refresh the web app or restart a mobile app, we send you the full list of all your channels, networks, PMs etc. as well as some message logs for each conversation.

From today, we now have a fast-resume mode: if your client is disconnected, but still has state, reconnecting will just send you the handful of messages you’ve missed, instead of the full list of channels again.

For example, if you have the website or mobile apps open, and your internet connection cuts out for a few minutes, it will resume the connection almost instantly.

This will work provided your client still has state. In the browser, this means you haven’t refreshed the page (you let it auto-retry, or clicked “Reconnect” without refreshing). In the mobile apps, as long as the app is still running in the background, it will have a chance to use fast-resume.

Great if you have patchy wifi or poor reception.

Here’s the pertinent section on Reconnecting the Stream from our API docs.