Socket.IO and Realtime Applications with Guillermo Rauch

over 7 years agoFebruary 28, 2018
47:34
34 views
1 likes
S

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

Group by:

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

94 segments (grouped from 431 original)6807 words~34 min readGrouped by 30s intervals

Video Details

Duration
47:34
Published
February 28, 2018
Channel
Software Engineering Daily
Language
ENGLISH
Views
34
Likes
1

Related Videos