Socket.IO and Realtime Applications with Guillermo Rauch
Software Engineering Daily
Channel
Interviewed Person
Guillermo Rauch
Description
Visit our website https://softwaredaily.com “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. Questions 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? Links Google Acquires Writely Etherpad 7 Principles of Rich Web Applications Pure UI Socket.IO Guillermo’s page The Future of Real-Time with Guillermo Rauch Micro Sponsors Wealthfront is the automated investment service that manages your investments online. Check out wealthfront.com/sedaily to get your first $15,000 managed for free, as a listener of Software Engineering Daily. Digital Ocean is the simplest cloud hosting provider. Use promo code SEDAILY for $10 in free credit.
Transcript
socket IO enables real-time bi-directional communication but what does real-time actually mean today's guest is guillermo rauch the creator of socket IO a widely used technology for client-server communication we discussed the nature of real-time apps like uber and Google Docs and we talked about the API and the usage of socket IO but before we get to our conversation with Guillermo we'll hear from a sponsor that keeps software engineering daily moving in real-time thanks for listening
engineers love automation and wealthfront automates your investing as a software engineer there are certain processes that you want to execute no matter what like integration tests during a build you wouldn't execute integration tests manually you would use a continuous integration tool like code ship or Jenkins to automate your integration tests wealthfront is a tool to automate investing just like a
continuous integration tool runs your tests automatically wealthfront can reinvest your dividends automatically and perform tax loss harvesting automatically to get your first $15,000 managed by wealthfront for free go to wealthfront comm slash SE daily and get started with wealth fronts layer of automation on top of your portfolio well friend comm slash se daily check it out it would support software engineering daily and you will get $15,000 managed
for free if you sign up automate your investing get back to the things that you can't automate like reading code [Music] socket IO enables real-time bi-directional event based communication guillermo rauch is the creator of socket IO Guillermo welcome to software engineering daily thank you Jeff
happy to be here web applications often get described as quote real time and this can mean a variety of things including just an empty buzz word you have said that we don't have a unanimous definition for that term real-time what is your own definition the traditional definition in terms of engineering is you divide systems into soft real-time systems and hard real-time systems however when it comes to the web people
have used the term real-time to mean a variety of things in the context of web applications in particular it's been tricky to define it so a lot of times applications have been called real-time when perhaps they update their data maybe every 20 seconds every 30 seconds as a matter of fact the original Google Docs that came through an acquisition
that Google made of a product called rightly I believe I think it is to update their data every 30 seconds and it did successfully achieve a certain level of real-time Nisour concurrency between the participants much better perhaps and you know emailing copies of Word documents as attachments but then later on a product called etherpad came and and I remember in their faq they said they were really real-time I would
like emphasis on really and they claim that they updated their data very frequently like perhaps between one and five seconds so over time as I was developing this ways of making it easier to create the systems that send data from servers browser and browser to server I realized that the definition that made the most sense was one that incorporated two things your application has to be able to self update which means there
Video Details
- Duration
- 47:34
- Published
- February 28, 2018
- Channel
- Software Engineering Daily
- Language
- ENGLISH
- Views
- 34
- Likes
- 1
Related Videos

Next for Next.js: See the powerful new features - Tim Neutkens
React Conferences by GitNation
Interviewed: Tim Neutkens

Next js 15 with Jimmy Lai and Tim Neutkens
Software Engineering Daily
Interviewed: Tim Neutkens

Google JavaScript with Malte Ubl
Software Engineering Daily
Interviewed: Malte Ubl

Becoming an AI engineering company
code.talks (ehem. Developer Conference)
Interviewed: Malte Ubl