I am interested in putting a chatting functionality as part of an application.
What I am interested in:
MSN
account or any other client
account he may have, same way he would use MSN Messenger
or Tor client
etc I googled and found that there are some Java MSN libraries available and also some other libraries that support IM e.g. SMACK
for JABBER
etc (not sure what that is) but I am not sure if the latter could be used for option 2
I mention.
My preference on 2
is because I assume that this way a user could do chat no matter where he is while in other solution I assume that some network infrastructure e.g. with routable IPs etc would be required. Am I wrong here?
Does anyone have expererience with Java IM libraries? Are for example any issues e.g. with different MSN versions or something?(Don't know if the protocol has been changing often to matter for me).
What would be the best path/option for my requirements?
I would go with a Jabber based approach. Jabber (also called XMPP) is an open protocol with lots of implementations and supports connecting to other IM services via transports. That way you would not have to deal with changes to the Windows Live protocols. You can rely on the open source community to provide that functionality for you.
Edit: It seems, that Windows Live even allows native XMPP access.
If you like, you can always set up your own Jabber server to provide a tighter integration with existing user accounts. In that case you wouldn't need to write the whole server.