What can we do with Jabber? IRC replacement?

Can Jabber be used like an IRC chat room?

I am wondering if running a Jabber server on a domain will allow my website to show who is in a chat room.

Is there javascript Jabber clients for Anonymous chat room use?

If it all requires registered email addresses for each user, then this might not be useful to me.

I doubt so.

You can create a free subdomain and try Jabber on the subdomain. Since it is on subdomain, it won’t affect your main domain.

Save [color=#CC0000]$97[/color] (max discount) with [color=#CC0000]97CRAZY[/color] Save [color=#CC0000]$82[/color] get lifetime domain with [color=#CC0000]82CRAZY[/color] Sign Up NOW

Uh, what specifically are you looking for? Jabber does support creating chat rooms and the persisting of them.

Jabber PHP libraries exist so at the very least you could use them to query for the participants in a room

A brief search turned up http://jwchat.sourceforge.net/
Probably more out there.

Registering on your Jabber server does not require an email address be created corresponding to the Jabber account.

I’m sure someone has more definitive answers to all this. My answers are based on research, not experience! :slight_smile:

Free unique IP and $67 off with promo code [color=#CC0000]LENSMANFREEIP67[/color] or use [color=#CC0000]LENSMAN97[/color] for $97 off. Click Here

I’d still need a way web users can visit a persistent chat room through a browser without neededing to create accounts.

Best way is to use an ajax based chat like:
PHP Free Chat

Save [color=#CC0000]$97[/color] on Dreamhost plans by using promo code: [color=#CC0000]SRVR97[/color]

Or just use a Java applet for connecting to an existing IRC server: Freenode, et al.

Very little to do with either emus or farmers!

I think that creating an account is very “lightweight” - all you need is the userid and password.

Are you trying to do something like a support chat room for your site where someone visiting can just click and enter their username to get into the “support” room? So you’re really looking for something where the chat user is created on startup and entry into the chat room and deleted after you leave?

Free unique IP and $67 off with promo code [color=#CC0000]LENSMANFREEIP67[/color] or use [color=#CC0000]LENSMAN97[/color] for $97 off. Click Here

To answer the basic question - what can be done with Jabber…

With your own account you can do basic instant messenger-type stuff. It uses the same protocol as Google Talk, so you can communicate directly with that, and it supports various transport agents that allow you to connect from your Jabber client to other instant messenger networks. (The login information for these networks is stored on the Jabber server, as is your buddy list, so it’s available any time you connect…)

Now, you’re also interested in using Jabber as an anonymous chat room kind of deal… I am quite interested in this as well (I even submitted a “suggestion” about it - which got promptly shot down) and so I’ve done a bit of research into the problem.

The first thing you need is a Jabber client that can be embedded into a web page. Lensman suggested JWchat (QX, I check you to nineteen places) - it’s a great little program but the thing is it can’t connect to a Jabber server using the regular Jabber protocol - it has to do so through either HTTP Binding or HTTP Polling. Of the two HTTP Binding is vastly preferable as it puts far less load on the HTTP server and offers much better response time in the client.

Dreamhost uses an old Jabber server which supports neither mechanism directly… and if you were to try running a proxy Dreamhost’s process nanny would kill it. So until they change their Jabber server to support HTTP Binding, any strictly Javascript-based Jabber clients are out.

There are other options - Java-based clients are out there, these are capable of connecting via the regular Jabber port and protocol… I’d suggest looking at Jeti - it’s probably the best of the ones I’ve tried… There’s also Flash-based clients but I haven’t seen any that actually work (maybe I haven’t looked hard enough…)

Now, to the other part of your problem - you, like me, want to have some kind of software solution that allows you to use a Jabber Multi User Chat (MUC) room as a kind of impromptu-chat on your website - something a visitor can just click on, type in a name, and chat with whoever’s there… This has some advantages over AJAX-based chats: anything AJAX has to poll the server in order to get its updates, and that puts a burden on the server as well as a lot of lag into the chatroom. Working with the Jabber protocol (through mechanisms other than HTTP-polling!) means that you have a TCP connection to the Jabber server that stays open - and you receive data over that connection immediately upon something happening in the chat room… Plus you can use your own Jabber clients rather than being tied into just one client, which is nice…

There’s a software package called MUCkl - a Javascript program, based on jwchat, which is intended -specifically- for this kind of use. But without HTTP Binding it’s not much of an option… I think jeti can also be configured for this kind of behavior - in lieu of HTTP Binding it’s probably the way to go…

But then you have the problem of how people log in to the Jabber server to join the chat room… You can create Jabber accounts for each user (which is nice since it gives you a firmer idea of who is who) and to create a Jabber account for someone you do NOT have to simultaneously grant them anything else (not an e-mail account, not panel access, nothing)… But, unfortunately, Dreamhost only allows Jabber account creation through the panel interface. You can’t do it in PHP code, you can’t do it via the Jabber protocol…

So, another option would be to create a Jabber account specifically for these “anonymous” chatroom users, and use just that one account for everybody who wants to join the chat. This works, but it has some more problems of its own which unfortunately can’t be addressed due to limitations in Dreamhost…

First, assume that anybody who joins the chat will have access to the username and password of this “anonymous chatter” account - there’s no way to avoid that with Javascript clients and even with JETI there’s a fair chance they could get that information… Under normal circumstances, access to that account would allow them to connect with clients other than your “web chat” client, change their Jabber password, or just generally do things other than join that multi-user chat…

The way to avoid that would be with better controls and limitations applied to this special account - controls that you would normally have if you were running the Jabber server yourself, but which unfortunately Dreamhost doesn’t provide. (You can tell the Jabber server to restrict an account in various ways, especially with one of the better Jabber server packages… But those controls aren’t in the panel.) This is tough - I want to use the Jabber service as a way to extend access to a multi-user chat to my users - but I don’t want people using my website as their general-purpose instant-messenger host…

So unfortunately at present your options are fairly limited. You can use Jabber for your own instant messaging, and you can host Jabber MUC chat rooms - but unless you manually create chat accounts for the users who want to participate, then your users have to get Jabber accounts elsewhere and connect to your chatroom that way… And for whatever reason, Google Talk’s web client doesn’t seem to support MUC chat rooms, so it’s not as simple as telling people to go get an account there… And if you do extend Jabber accounts to people, there’s no way to restrict what people can do with 'em…

Jabber is good stuff, though, apart from instant messaging and chatrooms, it’s also a generally-extensible protocol and so there’s a lot you can do with it.

If you want to do more with Jabber, then go to the Dreamhost Panel, go to suggestions, and vote for the Jabber-related stuff - the jwchat one and “Use Wildfire, ejabberd, or Jabber XCP instead of jabberd.” are the ones that would probably be most helpful to the kind of usage you and I are interested in…

Just stumbled on these EXCELLENT notes. They’re dated but still of value. Thanks.