Channel
Interviewed Person
Guillermo Rauch
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