We just launched
<http://blog.evernote.com/2008/10/01/evernote-launches-api/> public
access to our service APIs, which are based on Thrift binary protocol
over HTTP/HTTPS. We use Thrift to define our interoperable data model
(via Thrift structs) and RPC calls (via Thrift services), and then we
compile client stubs for all of our relevant client platforms (C++ for
Win32 and WinMobile, Obj-C for Mac & iPhone, server-side Java, etc.).
http://www.evernote.com/about/developer/api
That page has links to an overview document (which discusses a bit about
our usage of Thrift) and a ZIP file that contains our .thrift IDL files
plus generated sources and pre-compiled libraries for a few languages,
plus generated Javadoc HTML files that incorporate the inline
documentation from the .thrift files.
I thought I'd pass this along in case it gave any useful ideas to anyone
else on this list. We've been using Thrift as an Internet client-server
transport since February, and are now approaching half a million
registered users. We also have a few early integrations with services
that are hitting us from Java and PHP based web services.
We think that the decision to use Thrift has worked out pretty well for
us. Thanks again to the Facebook folks for making it available!
Dave