Twitter has developed and open sourced CocoaSPDY, a SPDY framework for OS X (Cocoa) and iOS (Cocoa Touch) based on the implementation they previously contributed to Netty, updating in the same time their iOS application to use SPDY instead of plain HTTP. Twitter has noticed up to 30% decrease in communication latency, the improvement being more noticeable when an “user’s network conditions get worse.“
Twitter also emphasizes SPDY’s other benefits: multiplexing requests – the ability to send consecutive requests and receiving out-of-order responses in a single TCP session, pushing messages from the server to the client and compressing both the request and response headers.
One can include the SPDY framework into an project, using either the source code or the ARM or x86/64 binaries, and can make use of it in an application by simply enabling it with either of the following lines, no other code changes being necessary:
SPDYURLConnectionProtocol registerOrigin:@https://api.twitter.com:443];
configuration.protocolClasses = @[[SPDYURLSessionProtocol class]];
Server Push and Discretionary/Deferrable Request Scheduling are not working yet, Twitter planning to implement these features in the future.
SPDY was initially developed by Mike Belshe and extensively used by Google in Chrome across many of their services. Currently, SPDY represents the foundation of ongoing work on standardizing HTTP 2.0.