ajax im

If you like this script and would like to support further and continued development, please feel free to donate:
$

download 3.41

compressed

(yui compressed – 324 kb)

uncompressed

(full documentation – 347 kb)

what is it?

ajax im ("asynchronous javascript and xml instant messenger") is a browser-based instant messaging client. It uses AJAX to create a near real-time IM environment that can be used in conjunction with community, intranet, and social websites. No refreshing of the page is ever needed for this "web application" to work, as everything is updated in real-time via JavaScript.

demonstration

Launch the demo here. Demo accounts are usernames "test", and "test[1 to 4]". Password is "test". You can also create your own account on the demo.

updates

Updates in version 3.41:

Updates in version 3.4:

Updates in version 3.3:

language packs

language size updated
Spanish 3 kb 05/02/2008
German 3 kb 09/14/2008
Brazilian Portuguese 3 kb 05/02/2008
Portugal Portuguese 3 kb 09/14/2008
Dutch 3 kb 05/02/2008
Simplified Chinese 3 kb 05/02/2008
Traditional Chinese 3 kb 09/14/2008
Vietnamese 3 kb 05/02/2008
Russian 3 kb 05/02/2008
Italian 3 kb 05/02/2008
Persian (Farsi) 3 kb 05/02/2008
French 3 kb 05/02/2008
Japanese 3 kb 05/02/2008
Korean 3 kb 05/02/2008
Turkish 3 kb 05/02/2008
Arabic 3 kb 09/16/2008
Bulgarian 3 kb 09/16/2008

previous versions

version size released
ajax im 3.4 (full) 315 kb 05/08
ajax im 3.4 (compressed) 296 kb 05/08
ajax im 3.3 284 kb 03/08
ajax im 3.22 273 kb 01/08
ajax im 3.21 273 kb 12/07
ajax im 3.2 276 kb 12/07
ajax im 3.1 297 kb 02/07
ajax im 3.0 297 kb 11/06
ajax im 2.53 199 kb 10/06
ajax im 2.52 199 kb 10/06
ajax im 2.51 200 kb 10/06
ajax im 2.5 199 kb 10/06
ajax im 2.02 125 kb 08/06
ajax im 2.01 125 kb 08/06
ajax im 2.0 124 kb 08/06
ajax im 1.0 53 kb 10/05

news

New! Support Forum And Reason For No Updates
March 10th, 2009
So as you can see, there haven't been any updates to Ajax IM in a while. I've been getting a lot of questions regarding whether or not the Ajax IM project is "dead" or when I will "have the next update out."

The reason that there hasn't been an update in a while is because I'm actively working on VisTrac, which should be out within a few months, and haven't had any time to update Ajax IM. Once VisTrac is launched, hopefully I will be able to find some time and finally update Ajax IM.

If you think you have a lot of time and a fair amount of PHP experience (3+ years), feel free to send me an email with some examples of work you've done in the past, and what you would like to contribute to Ajax IM.

On another note: I've setup a forum for Ajax IM, where you can post bug reports (the bug report software is broken), feature requests, and other questions/comments about the script. If you have a question about the software, please check the forum first to see if someone else has had the same issue.

- Josh
View More Posts »

license

ajax im is licensed under a modified BSD license.

bugs? features? questions?

Find a bug? Want to request a feature? Question about Ajax IM? Post it on the forums!

how it works

The XMLHTTPRequest object allows HTTP requests to be sent to the server and get input back from the server. There are two parts to the client-server interaction through this object:

  1. The client "pings" the server (a PHP script) for new messages. The server in turn queries a database for any messages for the client, and returns them as JSON. The XMLHTTPRequest object passes this JSON text be parsed by the rest of the JavaScript.
  2. The client sends data to the server (a PHP script), such as a new message to another user. This data is then processed by the server ("cleaning" the data of any thing invalid) and put into the database, which is later "pinged" by another client.

why?

Why not? This system has many useful purposes in many environments, as was it an interesting script to code and assemble. Some example applications could be:

And many others...

contact

If you would like to contact me for any reason, I am available via email at twist@unwieldy.net.