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 – 444 kb)

uncompressed

(full documentation – 360 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 license
September 13th, 2009

Since the earliest versions, Ajax IM has always had an awkward "modified BSD license" which included an unusual no-sale clause. That clause has finally been removed, as I would like to encourage greater participation in the project. Ajax IM is now under your standard BSD License.

In that same vein, a new repository with the latest Ajax IM version (3.41) has been created on Google Code. This should allow contributions to be submitted more readily and for a bug list, wiki (and more) to be created.

View More Posts »

license

ajax im is licensed under a standard 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.