Smack: Add support for XMPP Serverless Messaging (XEP-174)

Hello,

I was browsing through projects and ideas on google melange and I found that particular idea, which I find interesting. I’m new to xmpp and smack, however I found it really interesting and useful, I’m planning a small project which will be based on xmpp and support of serverless messaging would be really helpful for me in future, that’s the reason why I decided to try to work on this through gsoc.

The reason I’m writing here, is that I would like to ask, what knowledge I need to accomplish this task. I have read the description of idea, I have average knowledge of Java, and also have some experience with android application development, however I have no previous programming experiences with xmpp or mDNS. I think I would be capable of learning how to work with these, but I would like to hear from you, that it is possible to do so. It would be best to hear from the mentor of this idea, maybe get some direct contact on you.

Hi, and thanks for your interest on the project.

If you’d like to apply for this project I suggest you first become familiar with Smack. Browse and explore the source, run “gradle javadocAll” to generate and view the javadoc. Have a look at `documentation/'. Have a look at Guidelines for Smack Developers and Contributors · igniterealtime/Smack Wiki · GitHub .

however I have no previous programming experiences with xmpp or mDNS.
It’s not the programming experiences that matters, but you should be willing to read into those topics and get a grasp how the technologies work. Good starting points are

  • Extensible Messaging and Presence Protocol (XMPP): Core
  • Extensible Messaging and Presence Protocol (XMPP): Instant Messaging and Presence
  • XEP-0174: Serverless Messaging
    Of course no one expects you to become an expert within a few weeks. But it’s expected that you study the technologies the GSOC project idea is about.

I think I would be capable of learning how to work with these
That’s the spirit.

It would be best to hear from the mentor of this idea, maybe get some direct contact on you.
Simply join the IRC channel Smack on freenode. While it it’s not required, it would be a great communication plus if you are able to establish a permantent presence in the channel (for example by using a BNC), so that you can read the backlog.

Once you have joined the channel, I can give you a teaser task to get started becoming familiar with Smack (incl. getting to know me and the community). Hope to see you there.