GSOC 2014: Implementation of XEP-0280 Message Carbons

136 views
Skip to first unread message

SHAMBHU PRASAD

unread,
Feb 26, 2014, 6:41:55 AM2/26/14
to beam-co...@googlegroups.com
Hi,
I am a fourth year undergraduate student of Indian Institute of Technology, Kharagpur (IIT Kgp). I am a Computer Science Major.
I have had a great experience with xmpp and used ejabberd server to develop a chat based android app for a start-up. This topic has been in my interest since then and I would like to go deeper and develop some modules for the server now. This particular project caught my eye since I saw this need through g-talk messenger specially. My app was supposed to be like whatsapp so there will be just one client thus there I didnt have any problem but this is already handled by facebook so they must have tweaked/added module in ejabberd server they use.

So where shall I start?
Thank You

SHAMBHU PRASAD

unread,
Feb 27, 2014, 1:49:42 AM2/27/14
to beam-co...@googlegroups.com
Is there no active mentor for MongooseIM projects or am I at the wrong forum?

Mickaël Rémond

unread,
Feb 27, 2014, 3:32:16 AM2/27/14
to SHAMBHU PRASAD, beam-co...@googlegroups.com
Hello,

Please submit a proposal for ejabberd community edition. We have a few core developers mentoring.  

Best regards,

-- 
Mickaël Rémond

Stefan Strigler

unread,
Feb 27, 2014, 6:59:34 AM2/27/14
to SHAMBHU PRASAD, beam-co...@googlegroups.com
Sorry, when replying I did so only in private. Just sending this email now to let everyone know we're already in contact and talking.

SHAMBHU PRASAD

unread,
Mar 4, 2014, 12:22:23 PM3/4/14
to Stefan Strigler, beam-co...@googlegroups.com
Hi,

I started reading the tutorial and have covered major parts like Variables, Modules, Functions, Recursions, Data types etc. I have also started getting my hands dirty with small and simple modules. However, any documentation on start of MongooseIM and its functionality in deep would have helped me understand how any module is called from the server. Which module is actually listening to any packets received etc. These are some basic questions that are running in my mind when I try to go through any of your source file. Please help me. Also guide me to correct path if I am falling off the chain for this specific project.

Thank you.
--
Regards,

Shambhu Prasad
4th Year Undergraduate Student
Dept Computer Science
IIT Kharagpur

Contact No. 9800160757

Stefan Strigler

unread,
Mar 5, 2014, 11:15:54 AM3/5/14
to SHAMBHU PRASAD, Stefan Strigler, beam-co...@googlegroups.com
Hi Shambu,

On 04.03.2014, at 18:22, SHAMBHU PRASAD <shambhu...@gmail.com> wrote:

> I started reading the tutorial and have covered major parts like Variables, Modules, Functions, Recursions, Data types etc. I have also started getting my hands dirty with small and simple modules. However, any documentation on start of MongooseIM and its functionality in deep would have helped me understand how any module is called from the server. Which module is actually listening to any packets received etc. These are some basic questions that are running in my mind when I try to go through any of your source file. Please help me. Also guide me to correct path if I am falling off the chain for this specific project.

You're sure not falling off the chain, I rather feel that you're maybe a bit too far ahead already. As to my understanding the time right now is more like to discuss the ideas proposed, probably less on a technical level. To get an understanding what the objective actually is about and if it makes sense after all.

Nevertheless, in order to familiarize yourself more with the topic you could

* Familiarize yourself with XMPP, make sure you've understood the basic principles it is built upon. Use it on a private level, install clients, compare them, write your own simple client (maybe a bot?)
* Install your own server
* Read all documentation available on ejabberd (MongooseIM is still very similar in many regards):
+ http://www.process-one.net/docs/ejabberd/guide_en.html
+ http://www.process-one.net/en/wiki/ejabberd_module_development/
+ https://www.process-one.net/en/wiki/ejabberd_events_and_hooks/ (as you've been asking about hooks)
+ http://www.process-one.net/docs/ejabberd/devdoc/trunk/
+ http://www.ejabberd.im/development
* Use competitive products (skype et al) and compare what they are doing in comparable situations (message archive, keeping clients in same state)

Regards,
Steve

Stefan Strigler

unread,
Mar 12, 2014, 6:38:09 AM3/12/14
to SHAMBHU PRASAD, beam-co...@googlegroups.com
Hey, hi!

Yes, I guess it's about time to submit proposals. I don't think it's necessary to review them beforehand as they still can be changed after submission. I tried to find the old ones but couldn't. Seems like they are not available publicly anymore.

.Steve


2014-03-11 23:23 GMT+01:00 SHAMBHU PRASAD <shambhu...@gmail.com>:
Hello,

As per your suggestions, I went through all the documentations. Checked on skype, line, fb, gmail etc which all support this protocol.
I also went through xep-0280 protocol page. Is there something more I should do or shall I start with a proposal? Also will you please review my proposal before I submit it? Shall I add my code too in my proposal? Can I get any of your old (last year) successful proposals for hints?

Thank You,
Shambhu


On Wed, Mar 5, 2014 at 10:18 PM, SHAMBHU PRASAD <shambhu...@gmail.com> wrote:
Thank you Sir.

I will definitely follow these guidelines and keep you posted. 
As I already told you, I have already made an android client with asmack and before that I had tested it with smack library by creating a simple desktop client. I have used ejabberd server, (even now installed on my system).
I will explore more on the competitive products on technical aspects as I have already used them as a user alot (whatsapp, g talk, line, wechat, fb, skype) during my experience while developing the android client.
Whatsapp doesnot allow more than one clients at a time. They close the previous client once a user logs in with a different phone.
Gmail (web browser client) has implemented message carbon but it is not there for G-Talk client.
Fb supports message carbons for all its mobile and web clients.
I will explore more clients and will let you know my findings.

I am yet to go through with the exact protocols for XEP-0280 on xmpp.org and will go though it asap now.

Thank you for directing me. I will go though all these docs and will start preparing a proposal and will show it once its in a good state.

I was thinking of making some small changes into some server modules and try understanding the code with practical results and creating any simple module which would lets say intercept and send a greeting (reply) to all messages sent via the server to the originator to get a little more comfortable with the project. Is that far ahead or shall I show you some code.
Also, please tell me if you would like to see my previous code. I will make it available for you.

Thank You.

--
Regards,

Shambhu Prasad
4th Year Undergraduate Student
Dept Computer Science
IIT Kharagpur

Contact No. 9800160757

SHAMBHU PRASAD

unread,
Mar 11, 2014, 6:23:57 PM3/11/14
to Stefan Strigler, beam-co...@googlegroups.com
Hello,

As per your suggestions, I went through all the documentations. Checked on skype, line, fb, gmail etc which all support this protocol.
I also went through xep-0280 protocol page. Is there something more I should do or shall I start with a proposal? Also will you please review my proposal before I submit it? Shall I add my code too in my proposal? Can I get any of your old (last year) successful proposals for hints?

Thank You,
Shambhu
On Wed, Mar 5, 2014 at 10:18 PM, SHAMBHU PRASAD <shambhu...@gmail.com> wrote:
Thank you Sir.

I will definitely follow these guidelines and keep you posted. 
As I already told you, I have already made an android client with asmack and before that I had tested it with smack library by creating a simple desktop client. I have used ejabberd server, (even now installed on my system).
I will explore more on the competitive products on technical aspects as I have already used them as a user alot (whatsapp, g talk, line, wechat, fb, skype) during my experience while developing the android client.
Whatsapp doesnot allow more than one clients at a time. They close the previous client once a user logs in with a different phone.
Gmail (web browser client) has implemented message carbon but it is not there for G-Talk client.
Fb supports message carbons for all its mobile and web clients.
I will explore more clients and will let you know my findings.

I am yet to go through with the exact protocols for XEP-0280 on xmpp.org and will go though it asap now.

Thank you for directing me. I will go though all these docs and will start preparing a proposal and will show it once its in a good state.

I was thinking of making some small changes into some server modules and try understanding the code with practical results and creating any simple module which would lets say intercept and send a greeting (reply) to all messages sent via the server to the originator to get a little more comfortable with the project. Is that far ahead or shall I show you some code.
Also, please tell me if you would like to see my previous code. I will make it available for you.

Thank You.

--
Regards,

Shambhu Prasad
4th Year Undergraduate Student
Dept Computer Science
IIT Kharagpur

Contact No. 9800160757
Reply all
Reply to author
Forward
0 new messages