Sunday, December 30, 2012

Messaging for Mobile Apps (XMPP)

I've been looking around for a solution to messaging between devices since I'd like to experiment with creating a lite version of a game (Avatar) that I worked on in college as a learning experience. More about that at another time.

http://en.wikipedia.org/wiki/Avatar_(video_game)

XMPP (Jabber) looks interesting. What's really attractive is that I may design the App with no server-side component with just message handling on the Internet. It's different since Avatar in college depended on shared memory (common) and only used a message queue for a portion of the game.

Here's video that got me started (Hulu developers):

Building Asynchronous Communication Layer w XMPP, Ruby, Javascript
by Andrew Carter and Steve Jang
http://www.youtube.com/watch?v=3ZynQ04BuN8

And an interesting article:

http://wiki.secondlife.com/wiki/Message_Queue_Evaluation_Notes

And a JavaScript library to experiment with:

http://strophe.im/strophejs/

Jabber server to experiment with:

http://www.ejabberd.im/

http://www.jabber.org

I've been working through the XMPP Professional Programming with JavaScript and jQuery book. (Jack Moffitt's Blogbook site, book forum, and Github with code.)

A very valuable link to know about relates to CORS and cross-domain security issues:

http://metajack.im/2010/01/19/crossdomain-ajax-for-xmpp-http-binding-made-easy/

And root article on CORS:

https://developer.mozilla.org/en-US/docs/HTTP/Access_control_CORS?redirectlocale=en-US&redirectslug=HTTP_access_control

Another interesting link -- covers configuration issues related to cross-domain:

Build a web-based notification tool with XMPP
https://www.ibm.com/developerworks/xml/tutorials/x-realtimeXMPPtut/

Covered in the book -- more reading some day on the theory behind Google Docs multiple editors of a document:

http://en.wikipedia.org/wiki/Operational_transformation


No comments: