views:

381

answers:

2

Hi,

I want to implement a web-based IM service on the lines Meebo. Might sound ambitious but that adds to the fun of it.

My research suggests XMPP would be a good protocol for the IM since it can talk to proprietary protocols as well. Am I right? What else would I need to complete this?

Could Google App Engine(GAE) fit in to this project? Can GAE be used to create and host the whole service? That would simplify matters significantly.Also,GAE does support XMPP.

I know what I want to make, need to know the best way to make it.

Thanks!

Suvir

A: 

GAE has an XMPP API that lets your app send and receive XMPP messages. The real sticking point with making a real time chat app using only GAE is that you can't push updates to the client. So your client would have to continually poll the server to see if there were any new messages. One way around this is to operate a comet server outside of GAE to forward the pushes to the client.

wikipedia page on comet techniques

Peter Recore
Comments apreciated. I am wondering, suppose we take GAE out of the picture and use an XMPP library for Javascript like JsJaC or Strophe...wouldnt they suffice for a web-based real-time chat service??
Suvir
A: 

Google App Engine allows you to use stateless HTTP requests and XMPP, but not TCP sockets. Thus you're limited to any IM services which use the former.

For an example of using the XMPP service, see Using the XMPP service:

For our example app, we're going to write the Amazing Crowd Guru. The Amazing Crowd Guru is a veritable oracle, who can answer any question you might pose it over XMPP. Writing an omniscient computer program is no small task, but thanks to a little behind-the-scenes trickery, we're going to get our users to do all the work of answering questions for us.

a paid nerd