Chat using Node.js
Hardly a day goes by where a buddy of mine and I do not chat over an instant messaging program. Years ago it was over AIM, then we moved on to Trillian. Today we converse on HipChat, but later it could be something else. While I am mostly satisfied with the quality of HipChat, my friend is not and has talked about us creating our own chat program to possibly license once we have something worth selling. He originally created a simple AJAX driven chat site that worked, but not well enough to our aspirations. Enter Node.js.
Node.js is “an event-driven, non-blocking I/O model that makes it lightweight and efficient, perfect for data-intensive real-time applications that run across distributed devices.” In a nutshell, when there is an event, you know virtually immediately. In the case of the chat app, it could be someone logging in, sending a message, or changing their nickname. There are still things I have to learn about Node.js, so I cannot say that what we have created trumps all other chat services, but it has potential. We are, however, happy with what we were able to create in a matter of hours, almost all of which was spent adding polish to the functionality once a proof of concept was created. The proof of concept took my friend about 15 minutes to create, which really shows how quick, easy and efficient writing your own Node.js application can be.
While the chat program lacks key features, such as authentication, personal IMs, attachments and a chat history, we will probably add functionality like this in the near future. For now, have a look and enjoy!