Socket.IO and Realtime Applications with Guillermo Rauch


“Events provide a very nice organization over persistent connections and that’s why we chose them. We think they’re also a very fundamental way of thinking about systems.” enables realtime bidirectional communication. But what does “realtime” actually mean? Today’s guest is Guillermo Rauch, the creator of Socket.IO, a widely used technology for client server communication. We discuss the nature of real-time apps like Uber and Google Docs, and talk about the API and usage of Socket.IO.


  • What is your definition of the term “realtime” and why do you disagree with the way it’s been applied to web applications?
  • Is realtime more dependent on the user’s perception of speed, rather than the application’s actual performance?
  • How did you arrive at the conclusion that the server should push data to clients as the central source of truth?
  • What are some typical problems developers encounter when they’re dealing with connectivity issues?
  • What are the important consequences of TCP that we should keep in mind as we are building real-time applications?
  • How does Socket.IO work?
  • What are the challenges to maintaining a persistent client-server connection, and how does Socket.IO achieve this?


Software Daily

Software Daily

Subscribe to Software Daily, a curated newsletter featuring the best and newest from the software engineering community.