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.”
Socket.io 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?