Improved communication

We’ve been doing some backend work in two areas recently.

1. Scaling. We’ve grown by something like 300% in the last 12 months, and we need to provision for even faster growth in 2010. We’ve expanded from having a single backend for Widgets, to having 4 backend servers. This allows us to grow, and also gives us failover, and an easy way to update backends without having to kick everyone off. If you run a network, you do not need to modify anything. All widget backends use the same IP address for outgoing IRC connections.

2. Network communications. We want to ensure that the Mibbit client is the fastest it can be, and provides the best experience for users. We also want to ensure it’s optimized in terms of bandwidth usage. This means looking for new technologies, and new improvements we can make.

We’ve just updated the backends, and here’s the main changes you’ll find:

  • WebSocket support – WebSocket is a system that allows a bidirectional tcp connection between browser and server. Mibbit can use this in place of Comet, in order to cut bandwidth and provide a faster experience for users. WebSocket is currently supported in latest Chrome dev channel. If you haven’t tried it yet, Chrome is an awesome webbrowser, especially for webapps like Mibbit.
  • Compression – For those not using WebSockets, we’re now able to compress data sent out to clients from the server. This once again means far less bandwidth, and a faster experience.
  • Lag monitorĀ lag- You may have noticed on the latest main client, it shows the current lag between your browser and the mibbit server. It does this by sending a ping every 5 minutes and measuring the time to get a pong. You can also click it to request a lag check. Note that this is only between you and the Mibbit server, not to any IRC networks. We plan to implement some lag features for IRC later on. The lag is also logged on the Mibbit server in order for us to improve the user experience. For example if we find that lag from browsers in the UK is high, we may setup a UK backend.

Once again, thanks for your understanding when we do have to restart a backend, we’re nearing a time now where we can do complete rolling updates and not have to kick anyone off.

It’s a real privilege to work on something that is used by so many people, and we really do appreciate your use of Mibbit. If you have any thoughts, ideas or gripes, please do feel free to catch me on

Happy holidays Mibbitians! :D

Behind the scenes progress

We’re doing quite a lot of upgrades to the backend servers that keep Mibbit running. This will mean far better scalability/failover/etc going forward.

It also means that we’re now able to update backends without having to kick everyone off for most updates. There’s still the odd situation which calls for a restart, but these are getting rarer. We’ll try to warn of any scheduled downtime.

We’re still growing at a great rate – the last week was the busiest week ever on Mibbit (A regular occurrence), so we need to make sure we can support all the users adequately.

One of the other cool things we’re rolling out is some compression enhancements which should make Mibbit that little bit faster, and reduce bandwidth usage.

We’re just starting to map out a major revamp to the main client, so stay tuned for details of that in the new year :)

Thanks once again for all your feedback, feature ideas, and for helping Mibbit along. It really is great to be part of such a friendly community.