Presenting The Hablator “Rose” (0.5) Chat Script

For the last few months, I have been preparing The Hablator “Rose” 0.5 for a release.  That release is finally here!  This release is significant because it is the first time I have added features that innovate instead of ones that just copy other chat scripts.  Of course, it still maintains its low server and client side requirements, and easy installation.  Lets take a look at some of the newest features The Hablator has to offer.

My personal favorite feature, and the feature that was the most difficult to add, is translation support.  If you live in the United States and you have friends in China, Russia, and Portugal, you can all log into The Hablator and see the chat messages displayed in your native language.  It relies on Google Translate to perform the translations, so a massive number of languages are available.  In addition to translating just the chat text, the user interface will be displayed in whatever language the user requests.  Since human translations are much better than automated ones, it is possible to create translation files for the user interface.  The Hablator will look for a user interface language file before going to Google Translate.

Another major feature is the addition of “topics”.  During chat sessions, especially larger ones, groups of people will start talking about different things.  In many current chat rooms, this is solved by prefixing the message with the username of the person they are replying to.  This is okay, but has many disadvantages.  First of all, it can get kind of annoying to map out the usernames.  If you enter the chat room while people are having a discussion like this, you will have no idea what is going going.  In many cases, certain people don’t care at all about what is being discussed in one discussion, but has to sort through all of the messages anyway in order to find what he/she is looking for.  “Topics” solve all of these problems.  When somebody is posting a message, they simply click a radio button indicating what topic they are discussing.  Moderators can create and delete topics on the fly.  Each topic is displayed in its own color, so that users can see at a glance exactly what is most relevant to them.  Each topic can also be hidden dynamically, so if some people are not interested in hearing about a certain topic at any one moment, they don’t have to.

Compatibility mode is another major feature.  Very few chat scripts can claim to support every browser.  The Hablator now contains a compatibility mode which allows any browser, from the javascript-lacking Elinks to the feature-filled Firefox 3.5, to chat with others on The Hablator.  Due to the fact that javascript probably isn’t supported when compatibility mode is used, many features had to be removed.  It is still a great way, though, to communicate with your geeky friends that insist on living from a command line.

A bunch of usability improvements have been made as well.  Most importantly, all history is scrollable.  I made a serious mistake last time by only allowing 10 history lines to be shown at the same time.  Now, just like previous versions, all history will be scrollable again.  This version requires less bandwidth, and it has a much more efficient update method, resulting in a faster update.  There is an optional notification displayed when someone posts a new message.  This notification is unobtrusive.  It either blinks or scrolls in the taskbar, an equivalent notification to what a desktop application may do.  The messages are now formatted in a way that is easier to scan.  The new swear words filter is not only easier to set up, but it also makes filtered swear words look nicer.  In addition, you can finally tell exactly who is typing a message, because each user now has his/her own typing light.

One question you probably still have is, “Why, Max, is the codename ‘Rose’?  The other code names, sounded so much tougher.”  Well, I’ll tell you. One of the major features, as you already know, is translations.  The Rosetta Stone has turned into a symbol of multilingualism in modern culture.  If you want to insist on a “tough” name, just remember “Rosie the Riveter“.  The previous code-names have been: ‘Stone’, ‘Bronze’, and ‘Iron’.  They are all named after different ages in human history.  I didn’t plan them very well, mainly because I expected “Iron” to be my last release.  I ran out of ages!  I could have named it “The Hablator 0.5 Neo-classic”, but that might have sounded strange.  Instead, I decided to get off the “ages” system.  I wanted to choose a name that still had some connection, yet one that could still be interpreted as completely irrelevant (or at least for those well-versed in Shakespeare):

What’s in a name? That which we call a rose
By any other name would smell as sweet.

Another question some may have is, “So, why is it called the “0.5 release” if it is stable?”  Version numbering, especially in software projects that do not need specific names for advertising reasons, do not need big numbers.  Ubuntu names its releases by the release date, Linux (the kernel) keeps its version number on 2.6.x, and Firefox just kind of chooses a number.  I just go up 0.1 for every major release.  Any maintenance releases will increase the version number by 0.01.

There are a bunch of other goodies that I didn’t talk about.  If you made it this far, you might as well take another couple minutes to try the demo.  Also, make sure to check out the home page.  I hope you enjoy using it as much as I enjoyed developing it!

Published in: on June 28, 2009 at 7:27 pm  Comments (16)  
Tags: , ,


  1. Where’s your version control for this thing?

  2. The author of this script is too lazy to do things he hasn’t needed yet.

  3. I could not find the upload, where a user can upload file. What I see is download with no link to anywhere. So I do I make this to function.

  4. I am a little clueless how to add downloads/uploads? Also I was able to change the link “The Hablator” in the older version but am not sure how I did it last time and how I would do it again >.<

    I will continue to look at it and play around but I must admit I am very impressed for how simple it is yet how considerably powerful it is 🙂

    • Create a moderator password through the admin interface. Then, when you login as a user, use the show more options link and enter the moderator password. If you typed the password correctly, you will see new administration panes through which you can do this stuff.

      • Thank you I figured a few things out already lol 🙂 I prefer to look through the files and folders rather than use the administrator pages >.< I know it`s harder that way but I am just getting into php and html etc and just prefer it that way 😀

        Not sure how I upload files to it though?

      • Nevermind I figured it out already hehehe, I used your way and found the upload thing lol

  5. Ok I managed to add a few gif images for the smileys and it all seems to work BUT the gif images I add do not do their “movement”? Such as the one smiley is supposed to turn and present flowers but the gif doesn`t turn?

  6. Strict Standards: Declaration of LikeWhereClause::testRow() should be compatible with that of WhereClause::testRow() in C:\xampp\htdocs\testregpage\ANARCHYCHAT\lib\flatfile.php on line 565

    Notice: Undefined index: lang in C:\xampp\htdocs\testregpage\ANARCHYCHAT\language.php on line 6

    Notice: Undefined index: 13 in C:\xampp\htdocs\testregpage\ANARCHYCHAT\ffabstraction.php on line 332

    Notice: Constant language_logout already defined in C:\xampp\htdocs\testregpage\ANARCHYCHAT\languages\en.php on line 27

    Notice: Constant language_new_message already defined in C:\xampp\htdocs\testregpage\ANARCHYCHAT\languages\en.php on line 36

    Notice: A session had already been started – ignoring session_start() in C:\xampp\htdocs\testregpage\ANARCHYCHAT\index.php on line 19

    Notice: Undefined index: nameofperson in C:\xampp\htdocs\testregpage\ANARCHYCHAT\index.php on line 24

    Notice: Undefined index: logout in C:\xampp\htdocs\testregpage\ANARCHYCHAT\index.php on line 63

  7. Hi there, just was aware of your weblog through Google, and found that it’s truly informative. I am gonna be careful for brussels. I will appreciate for those who proceed this in future. A lot of folks can be benefited from your writing. Cheers!

  8. By far the most usual dilemmas developed became a paint job departed poor a couple of years immediately after it was subsequently executed. A good number of projects happen to be the best policy. Subpar things had been, unbalanced preparation had been completed or even the painters easily didn’t employ the particular painting beneath appropriate conditions.
    paint zoom consumer reviews

  9. Very nice and complete script .

    I want to know is it possible to have the movement of chat downward instead of upward.

    How can I allow normal user to upload files – instead of moderator.

    Your help is requested.

  10. Deprecated: Function eregi() is deprecated in /home/fallenx1/public_html/lib/browser_detection.php on line 83

    Deprecated: Function ereg_replace() is deprecated in /home/fallenx1/public_html/lib/browser_detection.php on line 245

    Deprecated: Function eregi() is deprecated in /home/fallenx1/public_html/lib/browser_detection.php on line 250

  11. And also the translator isn’t working for me.

  12. […] some features not found in any other chat scripts (I am aware of)! If you do not want to read the blog post I wrote, the most notable non-standard chat features […]

  13. Is anyone around that’s still using this? It has so much potential. Is the script author still active and around?

    I’d love to get together polishing this up with someone if anyone is interested.

    Contact me at Twitter @NE1UP!

Comments are closed.

%d bloggers like this: