We’re going to use the Node.JS web framework express to this end. The first goal is to set up a simple HTML webpage that serves out a form and a list of messages. Whenever you write a chat message, the idea is that the server will get it and push it to all other connected clients. This means that the server can push messages to clients. Sockets have traditionally been the solution around which most real-time chat systems are architected, providing a bi-directional communication channel between a client and a server. It involves polling the server for changes, keeping track of timestamps, and it’s a lot slower than it should be. Writing a chat application with popular web applications stacks like LAMP (PHP) has normally been very hard. It requires almost no basic prior knowledge of Node.JS or Socket.IO, so it’s ideal for users of all knowledge levels. In this guide we’ll create a basic chat application.