[guardian-dev] OTRDATA API for otr4j

Hans-Christoph Steiner hans at guardianproject.info
Thu Feb 5 17:55:42 EST 2015


Chris Ballinger and I just chatted about this some more, he showed me his
OTRKit interface:
https://github.com/ChatSecure/OTRKit/blob/otrdata/OTRKit/OTRData/OTRDataHandler.h

He also pointed me towards this ChatSecure class, where the meat of OTRDATA is:
https://github.com/guardianproject/ChatSecureAndroid/blob/master/src/info/guardianproject/otr/OtrDataHandler.java

I like Chris' approach with a very simple API for sending and receiving files.
 We can start with that for now, and see where it goes from there.  I'd like
to support streams, for example, that have a footer with the size and hash,
rather than a header.  Then when someone starts recording a push-to-talk
message, the OFFER can go out immediately, and the other side can immediately
reply with a GET and start getting the audio stream and play it as it comes
in.  With the current file-based API, the voice file won't even be OFFERed
until it is complete.

.hc

Hans-Christoph Steiner:
> 
> Since we have OTRDATA working in ChatSecure, I'm taking this opportunity to
> think about what the OTRDATA API should look like in otr4j.  I would like to
> make it as simple and as standardized as possible so that it will be easy to
> add to apps.
> 
> I think I finally have a grasp on the whole OTRDATA stack.  Right now, a lot
> of the OTRDATA API in ChatSecure is in the ChatSecure code. ChatSecure's otr4j
> is just providing the very lowest level of support, providing ChatSecure with
> the raw TLVs.  I think this API should not expose TLVs at all.  I'm currently
> thinking otr4j should provide a dead simple interface for sending/receiving files.
> 
> Since it is structured like HTTP GET/PUT, perhaps we should model Apache's
> HTTP Client API, and have classes for GET and PUT.
> 
> .hc
> 

-- 
PGP fingerprint: 5E61 C878 0F86 295C E17D  8677 9F0F E587 374B BE81
https://pgp.mit.edu/pks/lookup?op=vindex&search=0x9F0FE587374BBE81


More information about the guardian-dev mailing list