Thoughts on live chat 
Filed under

update

 

Jabber Server and Idle Improvement

I pushed out some code tonight that replaces the previous idle monitoring, and improves monitoring for the few occasions when Gtalk does not tell us that a user has logged off.

Included in this push should be some improvements to the caching of various parts of Hab.la live chat, which should primarily make it easier to signup for hab.la when you go through the wizard out of order.

The whole team attended TECH cocktails Ann Arbor last Friday, I am sure we’ll have an update for you soon about that. There are a bunch of exciting things going on here. We’ll keep you posted.

Filed under  //   chat   idle   jabber   live   update  
Posted by Olark 

Comments [0]

New Javascript Released

We pushed a minor release of the javascript today. The primary improvement, is better handling for links clicked on in the hab.la window, and URL’s sent to visitors on the site using the push! URL command.

We also have been listening to your feedback, and removed the ‘feedback’ link from the Hab.la window.

Filed under  //   javascript   update  
Posted by Olark 

Comments [0]

Hab.la Move In Progress

Most of our users should notice that no one is appearing online on their sites. Don’t worry, the move is almost complete, everything, but Jabber is live on the new VDS deployment.

More on all this soon. -Ben


kill -TERM 1971 && nohup /usr/local/sbin/haproxy \
-f /etc/haproxy/jabber_habla.cfg -p \
/var/run/haproxy_jabber.pid

And we are out.

The great thing about having HAproxy as the first thing incoming traffic hits is that I can very easily redirect all incoming traffic to a remote machine (in this case the new VDS), without having to worry about waiting for people’s DNS to update.

Filed under  //   update  
Posted by Olark 

Comments [0]

SWIG + LibPurple == Goodness

So I spent this weekend redoing the multi-protocol server (read MSN / AOL support) using SWIG and libpurple, and some twisted python code that I got from Eric (our new partner in this endeavor).

All I can say, is that very shortly I’ll be able to add MSN, AOL, ICQ, QQ, and Yahoo support to Hab.la. Let’s call it in a week I should have it decently tested to be at least as stable as the old multiprotocol support.

Eric’s been hacking on redoing the RPC server in Erlang. George has been working on an interface for you to upgrade plans, and Roland’s been hacking on a new Dashboard to help you manage your Hab.la account.

All in all things are moving, albeit a little slower than I’d wish.

In other news, the previous MSN/AOL support was definitely the reason we were so unstable for a few weeks. Turning it off a week or so ago completely stopped the crash problems, and we’ve been rock solid since.

Filed under  //   libpurple   swig   update  
Posted by Olark 

Comments [0]

New Javascript Released

I pushed out the latest version of the Hab.la JavaScript tonight. (I actually have been slowing rolling it out over the past few hours, but it is completely deployed now)

Before we do any deploy we test the JavaScript with IE6, IE7, Firefox, Safari, and Opera. It’s funny how you need to make simple tweaks for each browser and so the Javascript will compress correctly. Funny in that so much time is essentially wasted because Microsoft didn’t listen to W3C standards.

The new JavaScript should be completely backwards compatible with the old setup. Please let us know if you did a lot of customization on Hab.la, and your customizations no longer work.

The most interesting aspect of the new JavaScript is it’s support for dynamically loading themes and plugins, and the ability for Hab.la users to customize their Hab.la windows without having to write JavaScript. (We will be rolling out a control panel for managing these features soon).

In any case the transition should be relatively transparent for most users. We will be adding documentation on the new features this week.

Filed under  //   api   javascript   livehelp   new   release   theme   update  
Posted by Olark 

Comments [0]

It's been too long

So it’s been way to long since my last post on Hab.la. However, we haven’t been resting on our laurels.

Here’s what’s on the plate:

Things I am working on (Ben):

  • New Theme API
  • Dynamically loaded plugins
  • Easier variable selection

Roland’s things:

  • Hab.la for Libraries
  • New Hab.la Themes

Kevin’s Things

  • Clustered Hab.la Backend for better reliability
  • Moving Hab.la to Amazon EC2

These features will be released really soon, over the next week. I hate talking about features that don’t exist, but it’s been a while sense a post.

We’ve also hired an intern for the summer – more on that soon.

Filed under  //   features   update  
Posted by Olark 

Comments [0]

Update successful

As far as I can tell the new tweaks to the Jabber Server and RPC server have been successfully pushed out.

Most of the tweaks are small backend changes that make it so we can speed up some of the operations in the RPC server to handle all the traffic we are dealing with.

Filed under  //   update  
Posted by Olark 

Comments [0]

Bug with International Characters Really Fixed

Ok, I admit we did inadequate testing on the last internationalization bugfix. We fixed sending international characters from the operator to the website client, but not the other way around. Hab.la should now fully support any character that you can encode in UTF-8. We have not tested it with UTF-16, because I am unaware of jabber clients that support UTF-16 encoding, please let me know if you need UTF-16 encoding (i.e. if the current release of Hab.la does not work for your browser/language/charset).

I also made some tweaks to the Javascript to make it smarter about the way it reconnects to the server when we are deploying new versions of our software. I.e. it is currently very easy to update the RPC server, without needing the javascript clients to reload their webpages etc.

In other news, I have begun to implement a WIKI for Hab.la’s API documentation, so maybe they’ll be some API docs coming soon :-)

Filed under  //   8   internationalization   javascript   rpcserver   update   utf  
Posted by Olark 

Comments [0]

Bug with International Characters Fixed

Hey guys, I thought this bug fix warranted a blog post. So as a few of you have noticed, using some clients the webuser was getting kicked off whenever the operator used a non-ascii character. The webusers were able to use non-ASCII characters fine, but the operators were being restricted to ASCII.

This problem is at least partially fixed (in that I am unable to reproduce it), but there may still be issues. Essentially our logging system was setup in a way that didn’t support logging messages containing international characters – so whenever the system stopped to log a harmless error message, it was crashing the chat session.

I’ve implemented a good first pass of a fix, but I have a feeling there are a few race conditions that could still occur. In any case, I’d consider it completely beta worthy :-)

-Ben

Filed under  //   backend   bugfix   jabber   rpcserver   update  
Posted by Olark 

Comments [0]

Many updates

Whew! The weekend is over, and that means I managed to get what I was trying to get done, done. Of course, as is typical for my updates they are mostly back-end related, and therefore not too exciting for most of our users.

Here’s what’s new: better concurrent user support. We are limiting the number of concurrent active users on a site to 5 for free accounts to keep the load down. An active user is a visitor on your site that has changed pages or navigated to another page on your site in the last 45 minutes. After 45 minutes of inactivity (i.e. someone left a page open) the active user becomes a passive user, freeing up space for a new active user. However, all a passive user has to do to chat with you is to send you a message, and they will transition back to being active. (this is kind of confusing – but, helps us insure your buddylist isn’t filled up with users who have left your site open for hours)

Short explanation: You will now be able to focus more on recent visitors to your site, and people you are chatting with, rather than letting idle users fill up your available users.

Next tweak, various improvements in the network code. This is most useful for mobile users, Hab.la will now let you lose connectivity and continue chatting without having to reload a page.

Many bug fixes on the backend including additional error checking, and more seamless error recovery. These fixes will also improve our ability to scale Hab.la and keep it stable in the future.

Filed under  //   backend   javascript   update  
Posted by Olark 

Comments [0]