We get a lot of great guests on theCube, but one of our most popular segments was with Ryan Dahl, the creator of Node, who tells us in his own words how his creation first came about. His story begins about seven years ago, when he saw a demo on Flickr, he believes, where one could post an image and would see the progress bar going and people were blown away.
“You would think the web browser is sending a file…” he said.
“The way that these progress bars is as you’re uploading a file, you reach around on the side and ask the server, ‘how much have I uploaded?’ and the server responds, ‘okay 3 percent, 5 percent’ and so this way the user can kind of see how the progress bar is going.”
Handling multiple requests at once was difficult during that time, Dahl explains, because someone uploading a particular file that could be going on for several minutes at the same time and you have this extra request coming in that needs a response concurrently.
“Turns out, a lot of the frameworks were designed in a way that they made the assumption a request — response is something that happens instantaneously and that your entire web development experience should be abstracted as a function. You get a request, you return a response. That is the extent of your context.”
“Node was originally born out of this problem — how can you handle two things at the same time? Non-blocking sockets is one way. Node is more or less the idea, or exploring the idea: what if everything was non-blocking? What if you never waited for any IO to happen?”
As the interview closed, Dahl proudly said, “I think one thing we do very well with Node is integrate other people into the community. We’re very open about what we’re working on and trying to bring people into the project.”
See Part 1 of Dahl’s captivating segment below: