Webmasters Chat Considerations

First draft published June 27 2015

This page is for adults only – specifically geared towards web masters, bloggers, web site owners who are over 18. Candid cussing, and unfiltered rants warning.

Fielded some questions from another web master about some of the chat rooms suggestions I had made in a forum related to wordpress and buddypress. As that forums has certain limitations, I decided to jot down a few thoughts on integrating chat rooms in a web site for those who are considering that. One of the questions was “can you show some examples of these chat systems that have been deployed in the ways described” – so I will show some examples, and add some extra thoughts designers and webmasters may want to consider when looking at the various chat scripts to try or buy.

In order to show off some of the examples asked about in this case, I am going to highlight and link to some adult web sites.

Some links on this page are NSFW if your work forbids you from surfing sex sites.

From a discussion about integrating a chat system with wordpress or buddypress, I made three suggestions, here are some examples and details as requested.

123flashchat

A robust and powerful system. Looks modern, lots of options in the admin backend to make the system run in different ways. Main drawback for our users is that only the admin can create rooms – basic users can not “create their own rooms”. Customizing beyond the basic skins is not possible either.

Does have an html5 embed version which works with mobile devices. One lesson learned the hard way though – if you enable the html5 version I think it defaults to allow regular users who accrue enough “points” to auto-matically gain some moderator privileges, and your regular users will be able to kick other users from the system using the mobile app. I found a setting in the backend to prevent the points system thing – but never received and support answers on fixing this while still allowing some of the points functions.

There are some wordpress and buddypress integration packages for the 123 flashchat system. Support is sometimes great, sometimes there is a language / communication barrier, and sometimes no reply at all. I am pretty sure that some of my email ISPs block all emails from them – so it’s best to use the support ticket system and not depend on getting an email when (And if) they do reply.

Customization is kind of an option for some things if you can pay for it and communicate properly. Over the years they have adapted a few of my suggestions, however some things like user created rooms they have not come out with.

Unfortunately I also have some concerns about the future of this company, as they are in Hong Kong (I believe) – and there are many changes coming to the area with mainland China taking it over, and I am not sure they will be able to continue to provide what we need if it becomes ultra conservative or whatever.

I have had some great experiences with 123flashchat peeps many times, and enjoyed chatting back and forth with one of the former employees with yahoo messenger back in the day.

There is an option when you install this big script on your server to connect it to your sql database, or use an “embedded derby database” that ships with the product. I assume they include this for the rare server that does not have sql available, however I chose to use the derby database option to lighten the load on our apache server – which handles a boat load of myswl requests from the few wordpress sites we host on the server. More about the sql issue and chat programs below.

Quick Chat

This is a great little script, available free in the wp-repo. I give major props to the guy who created this, as he included a bunch of options that are truly needed with a chat program.

We tried many other chat plugins for wordpress, even some of the premium options from places like wpmudev – all of them had major issues from our limited testing. Quick chat however has been able to run and remain stable, even on servers where we host a dozen wordpress sites that are all hammering sql requests on the server – the quick chat has run just fine. We use this on some not-so-busy wordpress sites even on a shared hosting server environment – and it still runs fine.

There is an option within the quick-chat that we do not use – the options to have the chat available in a widget – which means you could keep a chat option open all around your web site pages – something that would give you a more “facebook like” chat system for your buddypress site – however cool that would be, I’m not sure a standard web server will handle this kind of thing with wordpress if your site actually got busy. More on the sql server issues below.

I tried contacting the creator of quick-chat some time ago and offered to pay for some customizations – I never heard a word back from him. Maybe he was busy with work or school and had no time, maybe that situation has changed since then. However I prefer professional software where support is not less than a day away, and a script that can be enhanced one way or another. So the lack of response from the quick chat developer made me realize that it will likely not be the best thing for the future.

av-chat dot net – nusoft’s av chat system

This is another robust premium chat rooms system. There are many customization options, although you need to be prepared to open up a file in a text editor and edit some of the config options if you really want to mod this your way – out of the box the options are decent as they are anyhow.

Nusoft has a couple of different chat rooms systems and some other cool scripts – some may not require the extra media server like the main av-chat system does, but for our use we went for the full premium version of the av-chat system, and setup a dedicated server to handle the “media server part” – So we have one hosting account that handles the main web site and a second server just for the red5 (free media serving program) to run. I am pretty sure you could run the media server thing with a basic vps hosting account just fine. I like to prepare for getting really busy, not all web sites will need to add chat server for a long time, and if you had some down time to swap over to dedicated, most web sites would not suffer much during that transition.

These guys handled the install of both portions of the system for us great. When it came time to upgrade we had a couple of hiccups as we had made some custom changes to the media server config files – but no big deal as I always make a backup of the original files, and the ones that I mod. The documentation from these guys is thorough, and even when updates come out they doc every about the changes well.

Support has been top notch with these guys, and paying for extended support or upgrades is a slightly different method than some places work – but it’s totally worth it, and not very expensive.

We were able to integrate the av-chat system with a buddypress site, their wordpress / buddypress integration plugin has some excellent options for giving or limiting abilities to various user levels. The system will pull in the avatar that people have set with their buddypress profile into the chat room as well.

We made our own custom smileys and included them with this setup.

Nice to have that option, not all systems make that possible, or when they are not easy or affordable (imho – looking at your 123flash – 😉

I am looking forward to some other enhancements with this system, I have some great ideas to push this system even further to perhaps send and receive notifications to the wp-admin bar / buddypress inbox notifications and such. I think this will be much easier when BP gets it’s REST API thing going strong, I saw something today that mentioned that is slated for August of 2015 (? I think ?)

This system also has a mobile enhanced client that will launch and work with most mobile devices. I like that nusoft is keeping up with the latest technologies and they have created some wp plugins as well. Currently this is my favorite chat rooms system, and the fact that it integrates so well and with so many options for wordpress and buddypress is awesome.

Of this one has options for video and audio chat, and it’s possible to do some basic encryption, and many other things with this system.

Other Chat scripts

I have tried dozens, no… scores of other chat scripts. Lots of free ones, and a bunch of premium ones I paid for. I will say that every one of them failed. Failed bad.

Some failed to work at all. Some failed to have any kind of modern look or customization options. Some hand security holes that were exploited in no time, some had flaws that were not obvious until days after they launched publicly.

With a few scripts I spent money and a good amount of time getting them installed, doing custom modding, and a bit of learning – only to find they choked completely when it came to real world application.

In some cases we went back and forth with support, we paid for enhancements, we upgraded servers, all kinds of BS – only to find that quite simply most of the chat programs are not well made for dealing with more than a few chatters at a time. We had some show promise, with a few people using them – enjoyed great features, then more people joined in – things started to slow. Messages started not getting sent, systems just crashed. So many scripts and so much time – just to find that most when you get to 20 users chatting at once fail.

The biggest problem – SQL / MySQL

I think most chat scripts fail when they rely on mysql as a data connector. It’s not always the script writers fault. Sometimes things work great on a software development server – yet the real world is much hairier.

Heck even our vbulletin script chokes sometimes (because of too many sql requests on our web server) , and vbulletin is just doing static posts – not real-time chat back and forth.

This is what I have seen with standard apache servers and MySql with wordpress… sometimes it gets hammered. There are many things you can do to limit this a bit – but if you have a standard apache server setup and a wordpress site on it (especially if you run a few wordpress sites on the same server, and throw in a forums script) – these things sometimes get slammed – it could be a “good bot” like a search engine spider indexing all your pages, it could be a not-so-bad (but not really useful) bot(s) – like ones from majestic and hrefs that hammer your site(s) with requests. It might be some shady bots sucking down your pages as fast as they can (and ignoring your robots.txt rules) – looking at you XXXXX fuckers. (name withheld to avoid that drama)

If you get more than one of those sucking down pages that all make several MySql requests to display each page – that can suck. Now add on to that that most of our WP sites are getting slammed with these fucking brute force admin login attempts, and probed for vulnerable themes and plugins. If you have the plugin limit login attempts (and change it’s default settings!) – you will have an idea what I am talking about. Also take a look at your raw access logs – you’ll start the see the immense amount of requests made to your WP installs.

Just about every one of these requests causes server load on your mysql – shared server, VPS, dedicated server – whatever you have is going to maxing out sql sometimes. Add a chat program with 100 people sending messages back and forth at the same time.. well things are going to fail.

You can do some crafty things to limit the sql requests – block access to your wp-login with htpassw – nifty, major savings on your server / sql requests – not a great option if you have BP or user accounts where other people need to register / login to your WP site though. You can use cacheing plugins – you can start to look up the ip blocks of all these bots trying to get into your system (I spent three months last year doing nothing but that – not fun) – turn off comments on your posts and pages – even if you prevent spam from showing publicly with akistmet, captcha, no approvals – the spam comments are eating your server (snd sql) resources like candy requesting pages and adding comments – you can do all kinds of stuff.

However, I think that a solid chat program needs to be based on something other than mysql. If it is based on sql – setup a separate server just for your chat sql. I have been trying to get some people to work with me to custom mod some chat scripts to use nosql – mongo – any other database system – so when things get tough on the web server, the chat program is not at risk.

Other Random Thoughts

Considering a cheap chat script? Yeah, nice to find cheap clone out there and run a slick chat program for under a $100 isn’t it! Well, if you find one that can be hardcore security audited let me know. I could try to tell you how bad it sucks when you find out some a-holes have hacked your chat system. There is a guy.. well let’s just say it can suck real bad when your chat script gets hacked, and you have no support to talk to about fixing it. It’s bad enough when some troll just does some basic stuff like change the name of your rooms to something.. well beyond NSFW, it really sucks when people use your chat room to pull location info and stalk / harass and hack other users that visit your chat (been there, dealt with that – some ISPs and countries really suck when it comes to…) – anyway, if you are going to have a chat system that is on a public facing web site – there are many issues and responsibilities that may came at you when you least expect it.

Have a backup plan. Have a couple of backup plans. That is what we do, because it’s needed.

I have not tested every single program out there. I am not going to name all the ones that I think suck bad (I can’t remember them all anyway, and those old files are on systems that I have not used in a long time) – There are a few out there I would of enjoyed trying out, but could not find myself spending the $800 or more on scripts that I was interested in, however found the answers to support questions before the sale to make me cringe at the thought of what kind of support could be expected after the sale.

My experiences may be different than what is currently going on. Just because I had majo fails with proXXXXXXXXX does not mean that you will. Some of these places may have updated their programs since I tried them. Some of the people I dealt with may no longer be at the places that I currently like or do not like at the moment. So don’t take my suggestions as the written in stone last word on any of this.

I am also looking at some systems that I had not seen before that work in slightly different ways. I may post an update about those in the future – and may not.

I am looking at integrating some other systems, and looking for other webmasters and programmers who are interested in making new chat systems, or new connections with other systems that are already out there. If you have suggestions for what would make chat better, let me know! If you have skills to help mod up a new system and want to work together on a project, let me know. If you can do security audits, or just help hammer and test a new deployment of other chat systems – let me know.

I want to make chat better for the world, and am now sharing some of my insights with other web masters. For a long time I just kept these things as secret as possible, and was always worried about competition. These days I realize that competition is good, in fact it’s great. The people of the world need many chat systems and options, there will never be a “one and only chat system that is perfect for everyone” – and there will never be a single portal that runs things in a way that is conducive to everyone, making all the people happy all the time. We are all different and our chat communities should reflect that – it’s good for everyone to have options and find what works best for them.

One more thing – privacy people.

It’s frickin important, it’s completely botched by just about everyone right now. From the small web site operator to the largest corporations, chat privacy sucks. There are so many issues, it’s going to take another page (or two, maybe twelve) to get into that. People realize that running a chat system may expose your users to some stalking, privacy invading, and much more creepy shit like ransomware, hacking, and much worse. We really need to work on masking IPs with our chat systems, and prevent people from easily exploiting others who use our systems. We need to educate our users about links they click can void their privacy, install malware, and in some cases just using the freaking chat room can expose you to all this and more. I’ll never forget the first time I chatted with someone and 5 minutes into the conversation they asked me how the weather was here (my city name) today – there are a lot of educated people out there that know how to check http and other traffic connections to see things that do not show up on the screen. We need to fix this. It’s find if your grandma could get your IP addy when using firefox hello – it’s not fine when someone who wants to take advantage of others can use your system to easily hurt other people.

Oh – turn off gravatrs on your wp site – they can be used to unmask people from what I read recently.

Add a plugin to your wordpress site to remove the stupid google fonts integration. If you need custom fonts for your admin menus – you can self host / install these on your site and no longer give up your visitor’s info to the big and worry about that service not being available one day.

And the fucking integrated emoji with WP 4.2 – I’ve seen a plugin to stop it from auto-loading thrid party assets on every page of your site, and a different plugin to allow you self host your own custom smileys. Hopefully others will continue to expand these options.

If you use any kind of share buttons – self host them – don’t use one of those shady, user privacy sacrificing add this / to any crap. Get the 2-click share buttons plugin or something.

Webmasters/Bloggers

– I hope you find this info helpful, if you do send me a note – link to one of my sites and say we are cool. Or just close your eyes and send positive success energy my way. I’d appreciate it.

Part of me says keep all this info secret – let others learn at their own expense. Part of me wonders why I just shared 3000 words of wisdom paid for with money, sweat, and tears. Part of me could not stop from sharing all this and more.

Have a similar experience? Something different? Something missed? Let me know in the comments below – or send a private message via the contact form at global advanced.