powered by Jive Software

Status of Documentation in Smack Jingle

I’m using Smack 4.3.4 and I have checked latest alpha3 of 4.4.0 and I see the state of documentation is really not good. No comments on classes, and no demo. Many forum posts dates 10-13 years back and the recent don’t provide a good jump start. Checked the sources and I see there is old Jingle and new one. I cannot find what’s really the difference between the two.

Old version have a demo (Link is found here) but am not sure if it is relevant and how much does it refelect current reality is niot documented

So where do one start, when in need of using Jingle, apart from reading the XEP-0166?

So tried to read the sources and could not make sense of it. No where to add listeners for incoming session, no any comment, just nothing! It feels like hitting a concrete wall trying to figure out how jingle work. Definitely not how smart library like smack should be.

I understand that it is someone volunteering his time and resources on it. I really value that and am thankful that such people exists and it really makes difference, but it is well frustrating to not even put a high level comment on how to use classes (something akin set listeners on connection with class X then listen for incoming request for class Y finally call Z to close the session)

Old session is well documented and class names and methods are self documentinf, plus great example in JingleManager says it all. Looking at sources of new Jingle extension it looks like things are better organized and simplified, but honestly without any comment nothing makes sense.

Didn’t wanted to blame anyone, but wanted to air my frustration after days and hours of trying to do something that should be simple and straight forward. Hope things gets better in this.

Cheers!

Smack’s Jingle code is in a bad shape indeed and could use some love. First thing to do would probably be to understand and document the code to make it more understandable and then see if there are things that need to be added or redone from scratch.

I don’t think there are any recent projects that work on improved jingle support in Smack.
There was this PR which reworked most of the Jingle code, but never got merged.

Contributions are welcome :slight_smile:

1 Like

I see.
I think the problem might partly be because there is no any documentation to Jump start user. That will indeed prevent people from using it and share back their improvement. I suggest someone knowledgeable put together simple documentation. That will then be improved upon by users.

For file transfer, I find HttpFileUpload working just fine (with eJabberd) so would not mind using that. Jingle would have been a winner in WebRTC Signalling!

@Paul_Schaub, do you have idea if current implementation of Jingle can indeed setup a session and exchange data?

Well, very basic functionality like InBand bytestream and Socks5 transports are available.

How I understand the current implementation is that it is meant as basic building blocks that can be used in a higher level use case like file transfer. However, there is a lot of work required to wire things together, so it won’t be as straight forward as simply doing JingleManager.createSession().sendFile().

However, I also don’t have an exact overview over the implementation so I cannot tell you what steps are required to wire things together.

2 Likes

Seems like creating mu custom extensions is the only way now.
Thanks for your comments.