 These people in the community, they're dedicated to node, you know, they're dedicated in their free time to node, and you know, they're dedicated enough to take a day off from work and go and do this other consulting thing if it's going to help people do better with node. What sort of clients would you expect to have? I mean are you thinking large enterprises or startups? So I can tell you like the kind of approaches we had so far. We already have like five to ten emails of companies that are really serious about getting our services. And they're dramatically different to be surprising. For instance, we had talks with people that are trying to port the Facebook application that they run on PHP because they think that the streaming model is going to really help them deliver more music in real time. Or we have a large blogging network from Chile that might be interested in talking to us and actually migrate their things to node and they want to know that they can do it right, that it actually works, that they can get our expertise to actually know. So does this work and how do we do it? How do we pull it off? So we think that enterprise will be more interested in this, so maybe telcos or energy, but we're at this point not sure, but those are the kind of companies that are right now reaching out to us. Companies that want to migrate to node and they recognize that there is this gap and they're like, okay, you're leveraging the gap that I was really afraid of. Please come here and help me do this. Your team can help us. We've had a few people already make a comment like, this is exactly what we need actually. And I think we are going to stretch the scale between startups and enterprise, I think. I think we're going to get a few big customers that really want us to go in and do a training for like 30 people so that they can all learn node. And then we're also going to get a lot of startups that really need architecture help or early code reviews so that they're not doing things that just aren't kind of best practices. But I think that the key difference here between our services and what you might hire a traditional consulting services for and what we wouldn't fit into that is you need to have a development team of your own. We're providing services that invest in your team. We're not providing the team for you. We're not writing the code for you. So a lot of traditional consulting services go to people who have a great idea for a product or they might have a great design or they might have great content, but they don't have any developers and so they hire a consultant for them to do that and that's not what we're going to do at all. Do you have any precedent for this type of firm, like with any other language? I mean it seems like a pretty novel idea. Not a lot of other languages but I think some of the services that we provide are a fraction of what other consulting services have done in the past. Particularly smaller consulting companies that tend to be involved in really early technologies. Like Boaz Sender is a very good friend of mine at Boku who runs a very successful consulting firm and they're doing everything from WebGL, HTML5 games to phenomenal stuff with Backbone and they were one of the first people to do stuff with Node and with Couch and they really like to invest in really new technologies and take really exciting contracts. And they take longer term contracts, that's their business, but every once in a while they will do a training or they will just go in and do one day of onsite something for somebody because they get that opportunity but they can't really specialize in it or only do it because they want to employ those people full time and they want to take on that other work. And it's a lot of work to negotiate with companies who want to pay you to come in for a day and having a lot of overhead in that negotiation and that billing process to do it hundreds of times a month or possibly is just not what they want to do. Boaz definitely does not want to spend all this time doing accounting work. So a thing like you're right that this is a novelty but it's a novelty in the sense that the community is running this. It is not necessarily a novelty in enterprise. If you look at enterprises that sell very well to enterprise markets but because they are in such tip top of the enterprise there's not a lot of developers that know how to do that kind of technology. Well those kind of companies, software companies normally provide professional services that look a lot like these to get people ramped up so that exists a lot in the industry. It's just that normally there's like a big company that actually owns the technology that does these kind of things and here you have kind of the inverted ways like the community, the actual experts are scattered across different companies and the companies just agree that it's in everyone's benefit to actually go and still help the customer succeed even though it's a technology that is still emerging. You mentioned one of the things that you would be able to help people out with or avoiding common pitfalls. What are some of the pitfalls or scenarios that you've seen a lot? I mean certain things that you think would be really obvious by using the API a lot, really simple things. Like when I create a new API that takes a callback it needs to have the standard callback parameter, one error and one success result callback. And a lot of people, you know, they still won't use those in their own code. Like they'll use them constantly when they're using libraries but then when they write their own code in their own API they'll just, they'll never give it an argument or they'll pass it and know when there's an error. And that's a really, really bad pattern to try and do. You can't mix and match that very well with the core API. You end up swallowing errors when you don't mean to. And, you know, most importantly you're not able to use a lot of the value that's being created on top of Node in the user community because you're not following the same patterns. A lot of other patterns that you see is that people end up rewriting things because they just didn't know about a library that's out there. A lot of, I think, a lot of our early advisory stuff is going to be telling people about D-Node or telling people about Socket.io and how you can integrate that with Redis and do distributed real-time stuff. A lot of people just aren't comfortable enough knowing that these things exist and end up trying to go and rewrite them when there's a really good one that's really battle-tested and being used across a bunch of companies in production that they just don't know about because it hasn't been big enough for their people to see it yet. Okay. Did you have anything out of it? Yeah, there's also companies that want to be more involved in the community because they feel like it's safer for them if they're heavily involved in the community and they understand what's going on. And they feel like this kind of skill will complement what they have. They feel like they can do it, but they feel like it would be good if they had an entry point to the community where they feel really safe. For instance, if they're doing a private NPM store, if they can talk to Isaac, well, Isaac can actually listen to them and help them not only set that up, but he can only maybe reason about something that is missing on NPM that would allow people to have more private registries. So they can get that engagement point that they need in the community because these are open-source modules. So they can hook up to open-source modules that they couldn't ever do because they were just open-source and some handle on the internet. Now they can meet this person and talk with them. So that's also something that people are, or at least they told me that it looks very interesting about the NodeFirm. Yeah, and we also hope that eventually a lot of this, the feedback that we get by doing, by having these new relationships with new startups and enterprises, we want to feed that information back into the community. I run a bunch of meetups and we're going to keep doing even more. I run a conference for Node. Knowing what problems people are running into the most is going to be the best content to have at events like meetups and conferences and stuff like that, so that we can start to spread this knowledge more. One of the goals of the firm is that eventually any company that we work with won't have to use our services. And hopefully in the future you won't even need services like this because the community will be so grown and involved that you can hire really good people and that everybody's connected. Okay, so Node's been around for, it seems like three years now about, and this is the afternoon or the second day of this event. So there's certain things that you've probably heard a lot over and over again by now. So I'm kind of wondering, what do you guys, what common misperceptions are you guys tired of hearing about? What errors are there in the community that you would like to maybe set people straight? Wow, so much. I think like one of the biggest things that I've heard over and over again is the event model. It's all about the event model and I really think that most of the people that are talking about that are thinking about the event model from a different language. Because we have these asynchronous IO patterns in Node, but when you're in Node, when you sort of internalize the Node way of doing things, the way that you think about the problem is actually like all IO is in callbacks. And all events are actually, when you call and that's like a blocking and memory operation and all the listeners have to do something right now and then you're going to move on and do something else. And so events in Node actually are this thing that's not entirely asynchronous. Like yes, when I add a listener to it it's going to happen sometime in the future, but calling that event is actually not deferred until later and doesn't enter into the event loop. Now I'm trying to think about a lot of other things that I have problems with and I should probably not get into too many of them. Yeah, I mean like I think what I'm excited about is that people start focusing on problems that Node can solve really well. Network problems that have like high traffic and that can really help companies like do businesses that they can't. I've already heard stories about companies that are trying, they have huge Java stacks and they just can't deliver as much information as they need to because of the impedance of all these huge frameworks. And Node is just such a lean way of getting your network programs to deliver so much information. I'm super excited about that. So sometimes I don't get very excited when people go like and are doing something that, for instance, is very CPU intensive or is just very huge case that you should just use a patches to serve static files because it's already there and it's very solid or engine X so that's kind of it. I think that the only other thing that I would bring up is that because the focus of the conference is on getting a lot of people in the business world and the venture capital world comfortable with Node and understanding Node, knowing about Node, all the focus is on core and sort of like what Node offers in core and as a technology and how that changes things. But there's an order of magnitude more value being created right now on top of Node in the module community and things like we have the best package manager that I've ever used across any language or platform before and people haven't really mentioned it that much. This is like one of the reasons why I've heard people come to Node is because this package manager is so nice and NPM is just amazing. NPM has enabled us to build all these other great new modules like Soccadio, Express, like D-Node. They solve all these amazing problems and we haven't spent a lot of time talking about that to Summit. Well, we have to take a break now but thanks a lot for your time guys. Thank you. Good luck with the Node Frame. Yeah, thanks. Hi, I'm Clint Finley with SiliconANGLE. We're here live on theCUBE which is our streaming broadcast internet TV show. We cover all the latest and greatest in technology today. We're in San Francisco at the first Node Summit which is dedicated to Node.js which is an emerging development platform. I'm joined today by Arnaud Kazimier. He's the founder of Observit. Arnaud, can you tell us a little bit about Observit? Observit is a real-time analytics service that's not analyzing your website but your users. So you actually insert one line of code in your page and you can see the users' mouse everywhere on your page and you see the clicks and scroll down the page and you see it reflected on your own browser. So it's just like watching over the shoulder of your user. And so would you compile a lot of statistics from this or is this just you record a lot of the interactions? How does the end user who's analyzing the traffic, how do they use it? We're sending all the events to our backend and then you can replay it. It's like a separate session or it gets aggregated as heatmaps. Okay. And so you were one of the winners of Node Knockout, the most recent Node.js development competition. Which categories did you win in? We won overall, solo and utility. So you developed the original one solo all on your own? And solo. Okay. What's your background before starting this project? I'm originally a designer and then I moved from designing to the front end and then when Node started getting extraction I moved to Node. So you're solving a sort of problem that you would face then as a web developer wanting to know how people are interacting with sites and applications. Yeah, how they're doing on a site and what is working and what is not working. And how users are converting on a website as well. How do you use Node.js in this? Our complete services runs on Node.js. We're using Socket.io for the real-time connection between the user and our server. And we're using Node.Canvas to generate heatmaps. And we're using the queue service from LearnBoost to process all the information in real-time. Is this something that the end user has to opt into or is this something that it just starts getting recorded? It just starts getting recorded. So you have to put a little privacy notes in your page that the user might be monitoring. And so this is all done in JavaScript so there's nothing that the end user has to even download. There's one line of coding in your page. How old does it perform then? Does it slow the site down? It doesn't slow down the site because we're using WebSockets to send over the information. But of course we have a little performance in it because you have to download one access script on your page. Well, what about on the users? You won't feel any latency when you're moving around on a page. Will it increase the CPU usage or anything like that? No, not a bit. Maybe like one, two percent. It's not noticeable. Where are you going with this application now? I know you're part of the Node competition here. Are you looking for funding? Do you have funding? We're definitely looking for funding. We're currently bootstrapping the application. We're hoping to build it out as a complete service. And by looking for investors, we can just push out the public release sooner. What's the business model going to look like? Will this be sort of a premium service that people can have an entry level tier? Yeah, we have an entry level that's like 100 recordings and then you have to pay for a monthly fee. What's on your roadmap for the development? Do you have any longer term vision for what else you want to do? We definitely want to continue aggregating the data and getting more useful data out of it. Where users are dropping, so you don't have to follow one session to find out, but just aggregate a few of possible interesting sessions for you. And we want to go mobile. That's the new hot thing, so following touches and emulating that as well. Okay, so I want to go back a little bit to your background because you said you started out as a designer and then you started doing front-end development and now you're doing back-end development with Node. How hard were each of those transitions? From designing to front-end was quite easy because I just always wanted to have my design pixel perfect. So you just have to do it yourself if you want the pixel perfect web pages. And then, yeah, Node came and I just want to move on, keep on learning and which is a smooth transition from front-end to back-end. It's just the same language everywhere, which makes it really easy to work with. Is the whole callback model is that hard to learn? I don't think so. It's just something to get used to, but once you know how it works and what kind of issues you're going to run into, like these funky call stack trees with nested callbacks everywhere, if you just know how to avoid it, it's just simple. As you were developing, observe it, did you run into any big stumbling blocks with Node or did everything just work pretty seamlessly? The only problem that we had was with hosting that they're not all supporting web sockets. So that's something we were bumping against because the WebSocket spec kept changing and changing and not every hosting company can keep updating their stack to support the current WebSockets. Right, and not all browsers. Well, all the major browsers supporting WebSockets now, I know Mozilla took it out for a while, but they put it back in. The Opera is supporting it now. Opera is supporting it, Chrome, Safari. Has the development of its stabilized end of the spec? The spec is finalized, so that's great news. But there are always some issues with cross-browser support, even with WebSockets. There are bugs everywhere, so you just got to be aware of those issues. That seems more like it's more of a front-end issue rather than a Node.js issue. Not a front-end issue, but just a part of it in general. But you also make sure that your back-end of Node is up-to-date with all the different WebSocket protocols. Of course, we've got really old versions of Safari. This is using, like, the RAV75 and the newer one using the latest WebSocket specifications, and you want to support them all to have a great browser support range. Okay. Well, that's all the questions I have. Is there anything else you wanted to let our viewers know about? No, they can sign up for a beta on beta.observe.it. And we're rolling out beta next week, slowly. Great. Well, good luck with the beta. Yeah, thanks. We're going to take a break. The Cube is this conceptual box, if you will, and we bring people inside of the Cube and then we share ideas, but those ideas don't stay inside the Cube. We explode that idea. We allow that idea to grow and grow, and it does. So we really try to own the whole enterprise technology space. I mean, that's what we're all about. We take analysis, we take publishing, we take news, and we take live TV, and we combine it together in a product and share that with our community. No one's doing what we're doing. What we're doing, in my opinion, is the future of media, the future of television, the future of the Internet. Video is an amazing, powerful product. So we work in what John and I talk about as a data model. People always say to us, well, how do you guys make money? We sell knowledge. We sell information. We sell data. So the problem that we are, that we identified is about what we call big, fast, total data. Anybody can analyze a gigabyte of data. If you do a thousand gigabytes, that's a terabyte of data. You take a thousand terabytes, that's a petabyte of data. A thousand petabytes, that's a zeta byte of data. So you are talking big data, lots and lots of data, and can you analyze it in real time as it comes in, right? The Cube is like we call ESPN of tech, because we want to cover technology like ESPN covers sports. John has a great vision for what's going to happen next in tech. And so John is sort of that alter ego of mine that lets me see the future with us. Michael Sean Wright, Mark Hopkins, you know, we've got Kim here today. We've got a team of people on our news desk run by Kristin Nicole. So she has a team that help feed us the news of the day, what's happening, the analysis. We have a team of analysts. They feed us information about what's happening. And then really importantly, we have a community, a big community of many hundreds of contributors. We love technology, we love the innovation, and that's what we do. We want to create a great user experience. And in order to do that properly, you've got to really, really prepare. The Cube for the past year that we've been in operation has been very, very successful. And you know, companies do pay us to come here. I think the companies who bring us in with the Cube get two things. They get a third-party independent resource to provide knowledge to their audience who are seeking it, this demand for the product. And also complements their existing media. We're here at an event and the company has their own TV organization, and they have to pay a premium for that. So we complement that by offering a objective, organic, third-party, independent analysis of the event. That's why the top executives come in here. The Cube is a comfortable place. It's a place where people feel happy and are happy to share their knowledge with the world. And we're happy to be ambassadors of that knowledge transfer. My entire career has been really built on relationships and talking to people and extracting knowledge from people, largely in a belly-to-belly private forum. What the Cube does is it explodes that to a huge audience. I mean, we've reached millions with the Cube, and it's real time, it's live TV, so you've got to be quick on your feet, but you learn very fast, and then you iterate from that learning. So John and I play off of that, and we're constantly trying to up our game. I'm Clint Finley with Silicon Angle. We're here live on the Cube at Node Summit in San Francisco. This is the first Node Summit. It's dedicated to the new development language, or development platform, Node.js, which uses JavaScript as a server-side programming language. I'm joined today by Tim Caswell. He's the community manager at Cloud9 IDE, and before that, he was involved with porting Node.js to WebOS, HP's mobile operating system, and he's been involved with Node, the Node community since the earliest days. He also runs a website called How to Node, which has various tutorials on Node.js, and he's really active at Cloud9 and evangelizing Node and helping people learn about Node. Tim, we just start off with you talking a little bit about what attracted you to Node in the first place and why you got so excited about it. Okay. So at the time, I was working in just a PHP Web development job. We had to support IE6 and old version of PHP, and as a developer, that was rather painful to me. So in my free time, I'd go home and just experiment with new technologies. And V8 had just come out, and I thought it was a cool technology for JavaScript, so I was looking for someone doing V8 on the server, and I looked right on Google, and I found this project called V8 CGI, and there were a few others, and basically they were all trying to take the same model that Python and Ruby does and do it in JavaScript on the server, and I'm like, it's not very interesting, and they were kind of buggy and they weren't really supported, and then I came across Ryan's website, Node.js.org, and there he had this radically different event model where it's non-blocking IO just like the browser has, and I'm like, no, that's something different, that's something cool, and so I started using it, and it actually worked, more or less, and back in this day, Node's API changed almost daily, but it was really fun, and so I just got hooked on it, and I started writing module support because it didn't have anything. I needed a database, and at the time I was using Postgres, so I implemented the Postgres protocol in JavaScript so Node could talk to the database, and just went from there over the years. I've just been using it ever since. So one of the things you built was how to Node, which runs on your own blogging engine that you wrote in Node.js, and you open-sourced that on GitHub, and it uses Git as its backend or as its database. Correct. So how to Node is just, basically it takes a Git repo, and there's an article, there's a folder called articles, there's a folder called authors, and they're written and marked down. It assumes a certain structure, and then whenever a web request comes in, it will figure out which SHA, because you can put the Git SHA in the URL, and so you can read an article at any version of history, and it will render as HTML. So it's actually not that different from how GitHub itself works when you're just browsing a project, except it's rendered like a blog. And then the comments and everything else is just used in external service, and so the Node engine is just rendering HTML. And what's the name of that platform? So that's the wheat engine. Wheat engine. Is anyone else using that yet? Yeah, it's been used. I've seen about five or six different blogs use it. I recognize it, because they usually don't change my CSS style, and I'm like, I recognize that theme. And I never meant for wheat to be a program for other people to use. I just open sourced it because I figured, well, it might be useful to someone, but now people use it. That seems to be a pretty common story with Node.js stuff. So the main thing I really wanted to talk to you about though is what your advice is for developers who want to learn Node.js, because as we just talked earlier about Rogers and new jobs from the Node firm, which you're also involved in, and there's a big shortage of Node talent, so how can people who want to learn Node get up to speed? So if you want to learn Node, I think a very good place to start is you need to understand what Node is good for and what Node is not good for. A lot of people come to know with misconceptions about what it's used for, and it's just not good. And over the years, the one thing that I've discovered is that people new to Node often don't know JavaScript as well as they thought they did. In the browser, like the other experienced developers who've done front-end development, maybe for years and years, and they're really good at it. But in the browser, there is very little actual asynchronous work. You have a mouse event, you react to that. You may go do some Ajax, give it a callback and get the results, but that's it. In the browser, you don't want to make an Ajax, and then depending on that, do another Ajax, and then just have like 10 nested Ajax calls because the performance would be terrible, because the latency in each of those calls can be like 500 milliseconds. So in the browser, there's very little of this nested asynchronous function pattern, and so people don't learn how to do that and they discover that well, before there was FSread file, to open a file, you had to first do FSopen, give it a callback, that would give you the file descriptor, and then you had to call FSread, give it an offset, give it the file descriptor, give it a buffer, and it was like one-to-one with the CAPI, and you'd have this little recursive loop here and these nested callbacks here, and it was like 100 lines of code just to read a file. And people have a really hard time to be able to use the Node API. So I would highly recommend having a firm understanding of closures and callbacks, the run to completion model, the way that single threaded event loops work, because the Node API itself is actually pretty simple. It's a very small API, it's very to the point, and it's easy to understand. That's not usually the hard issue. And then once your team has a good firm understanding of these parts of JavaScript, you can get a lot further. How well do you need to know JavaScript before you start learning Node? I mean, you can start learning right away. It's just... Without any previous JavaScript experience? Right. I've taught a lot of people who have come to JavaScript because of Node, and sometimes they're easier to teach because they don't have preconceived notions. Luckily, Node's JavaScript model isn't that different from the browser, so it's not too bad. What resources would you point people to get started? So, there's good books on JavaScript. I have a lot of JavaScript articles on how to Node. I like Marion's book The Big Yellow One, Eloquent JavaScript. It teaches ECMAScript 3, which is the elder JavaScript, but it teaches the cores and the principles. That's a really good one for people who don't know JavaScript at all. I love that book. It's a good book. The online version of it has the interactive tutorials. Yeah, it covers computer science in general and not just JavaScript. Right. It introduces a lot of concepts. Somebody is an absolute beginner. My favorite part of that book is actually in the intro. He has this paragraph that talks about what is programming. What was the code? He says the art of programming is taming complexity. This is extra true when you're dealing with the Node program because of the asynchronous nature of having and callback continuations everywhere. Your biggest problem in scaling a Node program is not performance. Your biggest problem is keeping your code complexity sane and bug-free. That really is the art of programming. I'm glad that he teaches that. Here's the syntax of JavaScript. This is what a function does. We have to take a break here pretty soon. It's howtonode.com Howtonode.org Howtonode.org and cloud9.com The cloud9 one is nodebits.org Okay, well, thanks a lot for your content. Hi, Alex Williams here of Silicon Angle here at the Node Summit. We're once again covering events like no one else. We're the leaders in this space without a doubt. Anyway, here with Paul Freeman of Streetlight Data Hello. Paul, how are you doing today? It's a good day for startups. Let's start off with Node. Tell me about the JS. Tell me how you're using it. First of all, tell us a little bit about your company. Streetlight Data is a service company. We're focused on information about where, when, why and how are people moving throughout the real world. If you compare the information that companies have about what's going on their website, who's visiting, what they're looking at, where their mouse is information about what's going on in the online world. But in the real world, Starbucks could never tell you who's driving by in front of their store, who's walking in versus who's not walking in on any given day. So, that's essentially the core of what you do. That's exactly what we do. We sell information about where and when and why are people going on the real roadways in the real world. Who's driving past the store at different times of day? Where are cars breaking down? Where should services be provisioned? Where should businesses be located? So, how do you use Node.js? We don't right now, actually. On the front end then? On the front end, so our front end is entirely written in JavaScript. EXTJS is the stack that we've built on. We're using, we're really leveraging a lot of good open source geospatial technologies. The Geo server from the open Geo folks has just been doing yeoman's work for us. Talent for doing bulk data movement and data integration has been fantastic. And the core back ends that we've been using are Postgres with the PostGIS extensions and the big data stack from cloud era for really handling the heavy lifting. Okay, so what do you find unique about this event? I mean, you are talking about real-time data and much of what we're hearing from the people speaking here is about real-time data and uses for Node.js to help with that. Yeah, and the real-time component is definitely a big one for us. We have a mobile component that is streaming back real-time geospatial tracks of where people are driving and as well as performance information. Are you taking that hard right turn? Are you driving like a madman or driving like somebody's grandmother? That's streaming in in real-time and being fed into right now an array of PostGIS geospatial databases which are then in sort of periodic, you know, we don't need to give Starbucks an up-to-date count of who drove by at that instant. They really need to know, you know, on average who's coming by that location so they can do a better job of site selection and planning. Use bulk data movement via talent to populate the big data stack of Hadoop. Talent and Cloud Era were two of our big data start-ups to watch this year. Very much so. I think Gartner got it right on talent. I actually did an evaluation of all the different open-source ETL tools and if I was going to pay for it, I'd go for Informatica but in the world of lower-cost open-source talent beats everybody else's hands down. Why? The completeness, the robustness of their technology, the extensibility of their technology, the breadth of the adapter support they provide out of the box. The connectors? The connectors exactly. And with their version 5 the depth of the Hadoop and Hive support on big data is really superior. Well good. So you use talent for that bulk data. Yes. What is that bulk data? So the bulk is the data after it's been sort of geospatially processed and normalized out of those Postgres databases, those PostGIS databases where inside there we're taking all this noisy dirty GPS data streaming off the mobile phones and cleaning it up to really see what road are you driving on, how fast are you driving. And that's the bulk data that we're pushing into a Hive data warehouse to do our larger analytics to enable people to say, okay, in this neighborhood how safe are people driving or where are women going shopping at 2 in the afternoon and on what roads are they driving. So okay, so you're using so that's where the Hadoop integration comes into play. Exactly just processing those millions upon millions of records of where and why people are driving is doing sort of classic data warehouse big data analytics. But you're using cloud error? We're leaning towards cloud error right now evaluated them against data stacks and are leaning towards cloud error. Why? I'd say robustness completeness of the solution and I think they're just a little further further along. I like the failure sort of failure mode and sort of greater reliability of data stacks but I think cloud error has got the edge and with their relational integration via the Oracle partnership and others I think it's better suited for us. What about other big data storage options out there? There's more distributed storage options available now. Yep, evaluated the one that's being spun out of Lexus Nexus right now. They've got a large storage option. Right, HPCC. Exactly HPCC, looked at that. A little too proprietary, a little sort of too closed of an environment is what we saw. But they've opened it up. They have but it's still early. We got one of the earlier evaluation copies last year of that. It's a question of will that gain traction? Will it catch on and will the ecosystem grow for that? Where the generic Hadoop stack is definitely being embraced by the big data vendors. I'd hate to be sitting in terror data shoes today. Well, I'd like to get to that but there's other distributed storage options like Red Hat Cluster and you could use Red Hat Cluster and they're going to be integrating that into OpenShift as well. Yep, yep. For us it really, we like the high sort of pseudo relational layer on top of it. We're not looking for a pure tag value type of a store which a lot of the stacks have been focused on because we want to do sort of real classic data warehouse data mark type queries where we're doing aggregated calculations on the data. There's also a lot more sort of knowledge out there for sort of SQL and SQL like support in terms of code generation, in terms of JDBC integration and front end connectivity. So trying to stay as sort of relational like as we can. So you guys really explore this. We only have a few minutes left. Let's end it just on where you guys are going with the company and how you're going to really adapt to that geospatial element that really is part of the data that you're collecting. It's core to our business because we need to know where people are, what road you're driving on, what the weather was at that point in time and at that point in space and the other external factors so that not only is time an important dimension but location is a critical dimension for us and we found that there's the open source in academic community support for that is just fantastic but it hasn't percolated its way up into the big data stacks yet so we're still relying on the relational databases to do that geospatial processing. That's tough. To take, I mean as soon as somebody supports over to Hadoop and or Hive some really good GIS support we'll be all over that. There's an opportunity there. Well thank you very much Paul for taking some time to talk with us. No thank you. Paul Friedman of Streetlight Data Chief Technology Officer I'm Alex Williams with Silicon Angle we'll be right back from the Node Summit. I'm Alex Williams with Silicon Angle where we are the leader in tech event coverage and here today with John Sheehan and I see a friend of ours off to the side, Stephen O'Grady. Can you come on and join us? So Stephen is going to join us. Well known analyst in the community with Redbunk. They are famous for being extremely focused on developers. I don't know if you guys have met before. Hey John, nice to meet you. So why don't we just talk about what you guys did, some of the impressions you get from this event. You guys both were on stage today over the past two days. So John why don't we start with you. Any impressions of Node.js maturity? What you're seeing of Node? What gets you excited about where this is going? Or maybe not. I think on the maturity level I think we've reached the point where it's not only technically mature but also sort of the ecosystem is starting to mature around it in a way that it's no longer maybe a detriment or hard to find people to work on Node. So there's plenty of developers there's plenty of service providers that have other resources other than just a good solid technology that are really starting to take Node to the next level and help it thrive. I think that's been the most impressive thing that I've seen is just all of the surrounding ecosystem type things. Steven? Yeah, I mean certainly I would agree. One of the interesting sort of phenomenon we observed over the last year we started writing about Node I want to say in 2009, maybe 2010. So the sort of ascent has been sort of rapid in that timeframe that's been popular and I would certainly agree that it's hitting mainstream status. In the sense that we see real sort of big established businesses like a Microsoft is a Platinum sponsor here. So that's sort of indicative of the traction that the platform has. The interesting thing is that certainly over the last year as I said one of the phenomenon that we've observed is Node sort of hitting that sort of quote unquote trough of disillusionment. In the sense that there were a couple articles that came out one of them being sort of Node causes cancer and all these sorts of sort of negative backlash type pieces. This process usually takes a lot longer. It usually takes multiple years to sort of come in and to reach that trough? To reach it but also to go through it. And so they're going through it? I think you could sort of argue to what extent they're through it or not but certainly from our perspective we haven't seen quite that same coverage. So I would make the argument that we may in fact have spit back out the other side. And have already sort of traversed that trough of disillusionment which if that ends up proving true it has to be one of the sort of quickest time that's ever happened. Well I mean everything about Node is happening quicker than most other frameworks in history. The release has come faster platform as a service has sprung up faster. Everything around it is probably moving faster than anything I think I've ever seen. So would you see that in your data that the ecosystem in general is growing as fast as Node? Where is Node growing faster than the rest of the ecosystem? So our internal metrics at Red Monkey we measure sort of traction on our content. We look at a variety of different sources. You know get up stack overflow variety different developer communities. Node basically crushes really any of the other technologies that we cover. And this is really I have to go back and actually look but I think it's over an 18 month period it's still occupying three of the top five spots in terms of our internal metrics. So it's always performed very well. The interesting thing is that it's not just Node and I mentioned this when I was on stage yesterday that if you go and look at the number of modules that have been created and add-ins that have been created around the platform in a very short span of time community traction and support for the platform is really just remarkable. What are the other two? You said it's in the top three. Oh, three of the top five. That's a good question. I honestly don't know. I have to go. I mean a lot of it depends on are we looking at 18 months are we looking at a six month slice you know because if I remember right I think in 2010 at least one if not two of the other two were associated with the Oracle and Google lawsuit around Java. It was very much top of mind for a lot of developers that we speak with and so on. But again it just really looks at it depends heavily on which precise time frame we're taking a look at. Well the world we is in strange and mysterious ways doesn't it and Twilio has adopted Node.js We don't use it internally but we have adopted it through your developer community. Right through the ecosystem. We're trying to support it as well as anything else that we support. We love HTTP in all forms and Node is the current hotness when it comes to HTTP. So we want to make sure that we have all of the resources there that we can to provide Node developers the same class experience as everyone else. How do you see it as the current hotness? It's really sprung up in our support requests or what we see at hackathons with what people are building with. A lot of people will start new projects these days and use Node. It's as common as anything else. Our unofficial community contributed helper library has as many GitHub watchers as our Python library does. The Python library has been around for a couple years now and it's matured and the Node one has sprung up just about a year ago I think. It's really just taken off. We see it in all sorts of different areas where we're starting to have to make sure that we have the knowledge on our end to make sure that we support the people that want to use it. It's interesting. You think about GitHub and everything is just faster though to some extent isn't it? You can just do things so much faster than you ever could before. It seems like that Node.js has that combination effect where the skill sets you still need good skill sets but there is a much lower barrier to entry. Isn't there? Are you finding that? Very entry. I don't... It's JavaScript people who know how to draw a script. One of the things to me about Node is the fact that there are a variety of frameworks that are associated with languages. We've all heard of things like Rails and Django and all these other language frameworks that are very popular, Spring for Java. The interesting thing to me about Node is that it is really fundamentally a different approach in terms of pushing an asynchronous model just a different way of doing things. I think in terms of making it easy to use one of the things that it attempts to solve and really for certain workloads this isn't across the board but it attempts to sort of ease the pain of trying to build applications at scale for data driven workloads, bit driven workloads and so on but essentially trying to take problems of concurrency out of the equation. Well, the problems of concurrency seem to be one of the issues. Concurrency we were just talking with Theo of he has a big consulting firm who does the search conference. And he was talking about the issues that is one of the issues with Node.js is concurrency because you can't run into trouble a little bit. Yeah, it's just as I said it takes a different approach it's single-threaded by nature in other words that's the sort of model that it prescribes, that's the model that it basically implements as part of the framework. As I mentioned before it's very appropriate for certain workloads it's less appropriate for other workloads and it just depends on what are you trying to do? I think for a certain class of workload it definitely lowers the barrier because it makes it easier. I mean along those same lines one of the things that Node really excels at is that you don't need to have some separate skill, some corresponding skill to go with it. For instance, you want to get started in PHP you have to configure Apache and get that setup. You can't just start with PHP and run it standalone yet in the next version they're going to embed a web server. But the fact that Node is a web server or can be a web server they put an entire working example and once you download it you just do that and you're running it. You don't need a separate configuration like that. I think that makes it really easy for people to tinker with and toy with and we've found, especially with our API which is also easy to tinker with and toy with that that's a really strong catalyst for people building bigger and better things that aren't tinkering toying that the lower it is and the less ceremony there is to get started the more likely people will build a lot of things and that one of those ideas will take off really well. Well we've all been to these startup contests and you can get pretty cynical about them because the company is there could be pretty bad, right? But the companies here have actually been pretty impressive I don't know what you guys think about it but I've seen some companies up there that are doing some things that are actually really pretty cool. Yeah, I totally agree. Any favorites? I wouldn't necessarily say they're favorites I think two of the ones that interest me is that I just saw our geek list and mark over and primarily because one of the things that, being a developer focused firm one of the things that we sort of deal with certainly analyze and comment on and so on is it difficult for identifying resources or it's really difficult to hire and hiring is, it doesn't matter how big your company is, how many people you have dedicated to it, it's a tremendously difficult process. So a lot of companies are turning to things like GitHub to try to do it more quantitatively because at the end of the day, a resume is not terribly useful for assessing programmer skill so having these resources like a geek list or in this case a mark over for the design side of the crowd those are going to be interesting I think yes, they're useful to the people that use them but from my perspective as an analyst they're going to be just as useful for how do I sort of more quickly identify resources that I might want to work with or hire Markover was pretty impressive, I mean we don't really see many tools like that that are meant for the design community and did you catch the bit that some of the people just tweeted this that's a senior in college that girl who presented I don't know that she goes to Notre Dame or something that's great, good for her Markover is on the precipice of what seems to be a lot of people are working on the next generation of real-time collaboration and she had the Skype window overlaid next to the annotation for the video in the audio chat but it doesn't really make sense for that to be separate that should be in every application every app should be empowered to build real-time communication into the apps and that's what we're trying to tackle and she really illustrated how powerful that was that we were going to collaborate and we were going to zoom in on these 10 pixels and talk about it over video and we want to enable another generation of apps to do that and I think we're really just on the front doorstep of things like Node and things like Twilio enabling those types of apps to be even more powerful and it had kind of a sense of an activity stream integrated into it as well which is just very easy to look at very easy to be able to look at the designs themselves well I think we're getting pretty close to our time here so I want to thank you guys both for spending a few minutes just chatting about Node.js and we'll talk to you guys soon alright thanks Alex cheers alright well we're here live at Node Summit I'm Alex Williams at Silicon Angle we'll be right back okay we're back live in San Francisco, California for Node Summit the event where Node.js is front and center the first Node Summit is an inaugural conference I'm John Furrier the founder of Silicon Angle Alex Williams from Silicon Angle guest Glenn Loheed welcome to theCUBE so you're working on some pretty exciting stuff around DevOps we just launched today our new vertical publication called DevOps Angle where we're going to be doing in-depth coverage of DevOps and as was pointed out earlier OpsDev depending upon where you come from so you have an interesting development around automation it's a big area you know configuration management automation making all that stuff work healing networks are out there and you got all the issues around provisioning and deploying big hot button give us kind of the state of the union around the marketplace and what you're developing well for us we tend to integrate with the technologies that are in that space so like the puppet the chef the end stratus guys really our specialty is more in the monitoring side so really we integrate well with those guys because what we're doing is we're providing the visibility into the server and some of the application services to be able to trigger those automation programs but one question I have is about your tools and such and looking at IT today and IT today you know is not the people are not trained really for this new environment as much yeah where's the disconnect where are you starting to see some you know some abilities for you know for this for this new adoption to really take off well I think the thing is that where we've seen is that and for us the hardest sell for our product is sort of the server admin guys that are over the age of 35 because they're so used to products like cacti and Nagios from a monitoring perspective so it's hard for them to really get over that hump that oh there's something new that can automate this stuff for me right but we've seen sort of all the younger guys being able to adopt this stuff very quickly and partially because they don't have the sort of decades of experience within that server environment and as the infrastructure as a service has come forward more and more and more running a server is really getting easier so you know the ability for those guys to dig into that server is necessary so that's really where those experience came from from those older guys is that you know they actually had to get there they actually had to go down to the rack and start pulling through this stuff right so that's where we you know for us that's where we see the opportunity is being able to provide much easier solutions for these guys so like you're saying John dev ops and ops dev right yeah I mean like the older guys trying to say hey what the heck is this we've got systems guys and we heard from Theo who's ops bringing up the devil's advocate side of it is that you know ops and systems you can't they don't they aren't supposed to break no code breaks code says buzz and they kind of you know iterate you know developers developer developers and iterate iterate iterate but you know you're running systems all day long you know this there's a little conflict there so you know that's where automation really makes sense right so how do you make things more reliable in that dynamic environment of integration and management I think the thing is is that you know that's where you know companies like us and those guys from like chef and puppet and stratus can really help right is that we can provide all of that opportunity to make those things happen for them right whereas then they can really focus on the application itself let's talk about your product so tell the folks out there what you guys do and what you make and specifically just tell them what the product is then we can talk about some of the use cases so what we do is we're a hosted monitoring service so we look at the machine level the OS as well as the application services layers and we pull all that data back process it create some derivative metrics start to visualize it for these individuals and then you can put all of your alerts on it and be able to be monitoring very quickly and so for us what we do in our specialty really is is that we have a single line install so it's a W get or curl command and what that does is that gets embedded into stuff like puppet and chef and stratus and allows you to be able to spin these things up and then be monitoring and that's really our specialty be able to be monitoring those instances from within 45 seconds of them being spun out so that's really and who's buying this thing right now who's using it were you at in terms of this the company okay so we've just you know we've just sort of launched publicly we've gotten a bunch of partners with us including joint that we you know we're partnering with the push our product out there the base of our product and a lot of the development came from a bunch of social game developers so those guys really have that issue where it's like we got to spin this stuff up and spin it down because we're dealing with sort of that dinner hour crunch on their game so really they don't need those 50 servers the whole time but during you know a specific time when people come home and start playing that game come up from school partially so they get crunched and but they really want to be able to monitor the same time be able to be pulling the statistics back off of those servers but using traditional solution stuff that was built in the 90s like Nagios was first released was 1999 so those technologies don't work in those environments and so that's really where we see our opportunities to fit in and innovate in that area so tell me about the fit with tell me a little bit more about the fit with Puppet and Chef and Instratus can you explain that so simply like the thing about Puppet and Chef and Instratus those guys are automation so really what they're looking at is making it really easy for you to deploy your network be able to manage those things be able to put updates and push updates through to those guys so what we do is that we've got the simple one line that can be part of like the recipe with Chef or part of your configuration with Puppet and it's that simple to get monitoring whereas before you know monitoring was tons of configuration setting up your processing server we take care of all of that okay so it's all taken care of and and again who are the who are like the core audience you're trying to reach right now I would say for us the easiest cell tends to be on the dev op and not necessarily the op dev I would say so the thing is is that those the guys that are traditional hardcore assistant men operator type guys they're a little bit harder sell because they're used to very traditional technologies in this way we saw a lot of a lot of greatness come out of with Amazon obviously the whole history of Amazon is you know pretty pretty significant you saw right scale come out with that front end made it easier and then now as we move into the cloud with other simply front ends like Puppet others are creating that simple environment what's changed or anything's changed over the past three years in this market it's been pretty dynamic from what I could see not a lot of proven solutions it's evolving you share this year your vision of can you share this year your view of what happened over the past three years in terms of that market change and kind of what's in front of you well I think that's the thing I think we've seen you know several years ago we were still in in a phase where your business would grow organically and so your growth curve would obviously still be in that sort of L shape but unlike today where we've seen sort of viral and social growth and moving from being able to you know gain a thousand users to being able to gain ten thousand twenty thousand a hundred thousand a million users in a day you know these products have had to evolve to deal with those situations and that's where that sort of automation has come in and those guys have really had to focus on being able to make sure that they can scale and work within that environment has the number one issue been provisioning servers and networks or all the above or any one area that's jumping out at you or is it I mean provisioning is definitely an ongoing sort of concern and and that's where I think we fit in really well is that we can provide the monitoring as they continue to provision so what's the node JS angle for you guys so for us there's sort of two components where we're a user of node it functions within our system as our internal API so pulling data from the processing layer into our UI we also use it for external API so anybody wants to pull data out of our system they can do it by a node JS you know as it turned out and as it sort of became like this cool little virus within our organization one of our developers said oh I you know we had a feature that people really wanted which was sort of this network connections TCP SSH HTTP so he prototyped it very quickly in node and it turned out to be so stable that we just kind of kept it that way so it's been continually creeping in as we've been using it forward and then on the second angle is is that with our partnership with Joyant we're pulling via their API the detrace data this being coming out of node JS on the layer so we're grabbing that starting to visualize it and allowing people to put alerts on it so you're one of the tools that's integrating into detrace I mean that's definitely one part of what we do absolutely well that's what they were talking about they say that there needs to be more tools available around detrace yeah and I think we're going to continue to keep innovating in that area I think that there's so much opportunity with the amount of sheer data that detrace can pull out because you know we tend to look at stuff a little bit more in the 10,000 foot level if you look at how amazing the stuff that Joyant's doing on the detrace side it's like grain of sand compared to the 10,000 foot level so it's sometimes it's really overwhelming to look at but if you can get the alert at the higher level and then dig in I think it's really valuable right so for you I guess if I can see why you're using node JS it seems like it caught on very quickly but what are some of the other you know real reasons why you're using it well the thing was is that we weren't completely sold and within our API we actually started A.B. testing so we A.B. tested against PHP we A.B. tested against Python within our internal API and it just turned out that node was actually the most effective data mover for us so you know we tested it and it proved itself to be the best solution for us so for us that's really why we jumped on it was just the best solution so do you have any funding are you funded yet we've been bootstrapping and doing it ourselves what's your background all over the place tell us a little more come on share tell us well you know it's mostly on the creative industry side so I did a bunch of movies and a bunch of television series and a bunch of music videos tell us some of your you're a natural for the cube what do you think of the cube the lights are very bright like I did you know a ridiculous amount of filmed entertainment but the thing was is during that whole time I was always trying to push on the new media side and on the gaming side and I was one of the guys that helped create this TV show called Electric Playground which is a TV show that reviews video games and it was really interesting because it's actually one of the first television shows to evolve out of a web property so we started with the web property and then moved into film and television so I started as a web guy and then moved into filmed entertainment and then as I sort of moved through film and entertainment I started moving back into web and gaming so my last company was a company called Dime Rocker which we tried to create this really cool platform to create 3D games to Facebook and I think we were just a little bit ahead of the curve on that one and then during that whole experience we couldn't get the statistics out of our servers and so it kind of evolved into me finding a way to be able to pull the metrics out of our servers to be able to monitor them so thus DevOps but you know you began the DevOps journey yes we talk about on the cube here we take all the other events the big data events where there's no in the big data world the discipline is interesting you have a lot of creative meets math jocks to programmers all kind of rolled into one so you have that interesting talents not just peer developers so it's it's the new skill set right being versatile well it was really interesting because it was I flowed from web to like that creative industry stuff and then back from that creative industry right back into web Hollywood to the valley Hollywood to the valley I'm in Vancouver so it's from that's a big film that's a big film it's a massive film yeah yeah we so my final question that Glenn is what's next what do you see out in front of you so you got to start up your bootstrapping it you probably generate some cash or financing or that comes in what's next we how do you see this market evolving what's the vision well I see you know I continue to see how the the sort of social and viral growth is going to continue to affect how businesses are built and I think for us we just want to be able to help those businesses grow and have them focus more on the application and keeping it stable as they grow and then for us just being there to support them through the monitoring side well great to chat with you Glenn let low heat here inside the cube we're at live at node summit where all the actions happening the first conference of its kind in our world conference around node.js real successful framework with javascript doing well great performance thanks so much for coming to cube and we'll be right back in five minutes first time on the cube baby rock and roll I think it's probably five or six times I've been on the cube now right you know at first the guys are just fun to work with at welcome back hey always a pleasure to be in the cube I'm about to go in the cube you never know what's going to happen I'm a three-time veteran of being on the cube I hope many many more Chad Sackich Chad welcome to the cube Dave John it's great to be here man I keep coming back because great insightful questions from from John and Dave what face melting action have you seen here at the event and I know there's a lot of it it's a great vehicle to to communicate with a broad audience a lot of folks watch great to have you back good job all right Craig Nunez VP of marketing at HP stores thanks very much for coming on the cube when people mention the cube they they're like oh my god I saw you on the cube and they're all excited about it it's it's a it's an experience it's not just information they experience kind of what's going on there it's like real time it's like they were there that was like going to the gym boom boom legendary IBM CEO of Samantek and now CEO of virtual instrument great to have you on the cube so for cube to be here at a conference like this it's got fifteen twenty thousand people and sharing that live around the world that's consistent with the way the the world is evolving so it's wonderful wonderful John and Dave are amazing I don't know how they keep everything in their heads the way they do it's a great format and we're obviously seeing that this a notion of real-time coverage and a real conversation is what's driving us as a company and I I said very seriously when the questions and the comments that we hear from from them and from all the different guests here directly turned into the products that we built yeah that was my first cube and I really enjoyed it it was the rapid fire of impressions it made me think on my feet but they were very thought-provoking and really got me going on analyzing the greatness of Rista and the greatness of the cube as well John and Dave the reason their approach works they're not just guys you know reading down the question list right okay next one next one there it's a conversation right and it's you know they're going to challenge you they're not going to settle for the marketing hype and the BS and all that stuff that the industry throws around you got to hit them up on the HP question a lot's changing HP some turmoil at the top obviously controversy they're going to hold you down to the real facts compare you to the choices our users have and have you respond to it on the spot right thinking real-time and so that's real talk not just kind of a paper interview I think I'm John Furrier with Siliconego.com and I'm here with Dave Vellante we are inside the cube our flagship telecast we go out to the events extract all the signal from the noise and share that with you and great guest line-ups we've got CEOs CTOs all the top executives bloggers thought leaders venture capitalists I'm absolutely stunned by because I know it demands 100% attention for these guys to be up there talking to people about a wide variety of technology topics I can't believe these guys can make it so many days in a row so I'm wondering how long they're going to go home and pass out for after this but it was incredible they just do a fantastic job if you're not having a conversation then you're very scripted and if you're scripted then you might be getting the right words but you're often not getting the whole meaning and the whole depth of the conversation to the fullest extent I think this is a heck of a lot more authentic it comes straight from the heart and the brain sometimes you might forget to make some of your points if you're not a real-time thinker but I think from both from a participation and from a consuming point of view it's much more real Chris holds no punches so I've been on a cube a number of times and I think that the interesting thing about being in that particular venue in that format they introduced me as hey a puff doesn't pull punches well they don't either right they ask really difficult uncomfortable questions sometimes and you can tell people and the positions and where they are in terms of what they're able or desire to speak of you can tell where they are on that borderline and just honestly answering questions versus kind of glossing over them and I enjoy being there because I don't want to say I'm outspoken but I honestly answer questions with the full intent of being able to be respectful to the people that I bring solutions to right if I whitewash this crap you're going to turn me off every single time you see me on any venue let alone the cube so I like being asked tough questions I like answering them honestly and that's a fantastic venue for doing it a bunch of talking hands blabbering at each other and it's worthless this was my first time on the cube and I really got a chance to get to know John and Dave and they're really amazing guys I mean the knowledge that they come with the topics that they could talk about the people that they know and just bringing it all together in this live broadcasting forum it's just fantastic I just love it I feel like a groupie or something you know in this environment you know the social environment the real-time environment where we're in right people look through the marketing fluff very quickly and if it's not authentic right you know they don't trust it anymore so in this environment I think it's a growing trend yeah hello hi I'm Alex Williams a silicon angle angle here at note summit on the cube we do a tech event coverage like no one else I'm here today with a fine gentleman from what's the name of your company can you tell us a little about what you know who you are and what you're doing here sure my name is Sachin Anand I am the founder and CEO of WebMobi WebMobi is a cloud based app platform for creating smart phone and tablet applications using HTML5 and Node.js so we enable creation of scalable mobile apps that can work across all different smart phones platforms as well as cloud based URL so we were talking a little bit before you came you know on the show and you're talking about the app creation I mean actually building apps where is that marketplace right now can you tell us a little bit about where the you know where the market is right now I mean we've seen this real increase in apps and people are deploying them by the millions what is it that's missing so HTML5 has been getting a lot of traction since 2011 and now we are at a transition point where now we have three different smart phone platforms which are getting a lot of traction and developers really want to create apps which are working with a single code base across all these three platforms and the other legacy platforms as well so I think that that inflation point is there where now we will see a lot of transition to HTML5 based development approach where we can use some of the SaaS platforms like WebMobi to create apps that can work across platforms so how does your platform work it sounds like you have a GUI for creating the GUI so is it sort of a drag and drop application creation environment yes so what happens is you go to our website WebMobi.com create an account login and then you have a GUI editor so in the GUI editor as you can create a UI which where as you are creating the UI you can see how it's going to look like on different phones and then you can define connectors which connect to our Node.js base back end to create a scalable app for example like you have 1000 users that you want to register so you can define a user object and that you can link with our front end UI and then we have also built certain connectors like for most of the popular web services so you can add a social component Twitter YouTube etc and then you can actually create an app rapidly with all these three things together and these apps are really scalable so they can do 1000 users but also 2 million users because we are using cloud-based approach and create apps from there how are you using Node.js Node.js so we have on our back end is entirely based on Node.js so we create these REST API endpoints that allows a web developer to create a client-side JavaScript code that is working across all platforms so we use those REST APIs that are talking to our Node.js back end and using that and plus we are also using connectors those connectors are also talking to other web services using Node.js why did you choose Node.js? so in terms of we are a startup and one of the big challenges is to unify the development environment where we are using HTML5 on the client-side and HTML5 on JavaScript and then we also want to use the same technology on the server-side and it really enables us to scale faster whereas somebody can where our team and myself we do development both on the client-side as well as we can switch over to the server-side so that is one advantage and then Node.js in terms of performance it's really optimal asynchronous and really fast to deploy and some of the tools that are coming up are also Express.js is really awesome and really fast to develop compared to some of the legacy technologies how complex are the apps that people can make with WebMobi can you give us an example of someone's build? sure we have built certain apps like for example one of the apps that is there is a mobile app where user account is created and then user can upload their content whether it's a photo or videos and they store it in the back-end and then it can be accessed via the mobile device and then you can do certain things with those apps so that is one use case where you can have a cross-platform content access mobile portal where you can access that content across from different mobile devices that is one use case and then of course I think one other huge use cases where even to the point where a lot of publishers have their existing web content and they want to have mobile presence of the web content so they can decide this is what they want to have on the mobile and they can import that content from using their existing web content so that is the second use case how much programming background does somebody need to have to use this do they need to know JavaScript so that's a good point so we have a different tiered business model as well as we have different levels of usage so for small and medium business they can just use our pre-built components and create mobile apps those mobile apps will just be talking to existing web services and they might have certain cookie cutter approach like doing form data etc that they can rapidly build but then for medium business to enterprise level we have Node.js components that they can further develop and upload on our server and that requires definitely JavaScript and knowledge mostly on the client side and because we are using a package hybrid apps or packaging those JavaScript so that enables the developers to just know JavaScript and not too much focus on the mobile specific intricacies so we just have a few minutes left perhaps we could just end this conversation with giving us a little bit summary of what's next for your company are you seeking funding what are your plans for the coming year so we launched our paid service today itself so we want to scale and further grow and acquire customers both at enterprise and business level and definitely we are looking for funding to further expand and rapidly acquire businesses we also want to focus on certain verticals that allow us to create a niche and that we are going to be announcing more in the next couple of months and focus on that and then expand from there well great well thank you very much for taking some time we appreciate it okay we'll be right back in a few minutes I'm Alex Williams Silicon Angle here with Clint Finley also Silicon Angle see you in a few minutes welcome back to Node Summit live from San Francisco California I'm John Furrier the founder of siliconangle.com and siliconangle.tv and this is the cube our flagship telecast where we go out to the events live stream and talk to the smartest people we can find entrepreneurs thought leaders executives venture capitalists and extract the knowledge and share that with you and I'm joining with Clint Finley the editor of DevOps Angle which we launched today and we're here at Node Summit the inaugural conference for Node.js and we try to talk to the smart people and sometimes we get the inventors and we're here with Ryan Dahl the inventor of Node.js Ryan welcome to the the cube hello hi okay so we've interviewed Doug Cutting in the past inventor of creator of Hadoop you created Node.js obviously huge success lead a chance to talk on Monday night at the Thirsty Bear and tell some of the story but really want to say just congratulations for just doing some great work and it's evolved into its own budding ecosystem and industry so on a first say congratulations thanks so tell us the story of Node.js why did it all came together for you just for us tell the folks kind of how it all started and take us through the life of how it all began what problem were you trying to solve originally so I guess the original original problem was a long time ago when people were trying to figure out how to do uploads via HGP and it used to be that if you uploaded a file you would kind of post to the form and it would just kind of freeze up on you you wouldn't gain interaction maybe at best you get a little spinny dial or something but these days you get a progress bar that kind of says how much you're uploading and at some point like I would guess 2006 or so I saw a demo in probably Flickr although I can't remember exactly where they actually showed this you would post an image and you saw the progress bar going it's just blown away like oh my god how do they do that and you would think like oh the web browser obviously is sending a file via some socket to some server the web browser obviously knows how much of the file has been sent so it's exposed by the by the DOM but it's actually not exposed client side to the user the way that these progress bars are as you're uploading a file you reach around on the side and ask the server you know how much have I uploaded how much have I uploaded and the server responds ok 3% 5% and so in this way the user can kind of see how how the progress bar is going how the upload is going solving this doing this sort of thing in the web stacks that were around at the time is difficult because it requires handling handling multiple requests at the same time right somebody's uploading this file that could be going on for several minutes and at the same time you have this extra request coming in that needs to respond concurrently to the upload turns out that a lot of the frameworks were designed in a way that they made the assumption that a request response is something that happens instantaneously and that your entire web development experience should be abstracted as a function that you get a request and you return a response and that is the extent of your context so node was originally born out of this problem and thinking about this and how can you handle these two things at the same time and obviously there's many different ways of doing this but non-blocking sockets is one way and so node is more or less the idea that exploring the idea of what if everything was non-blocking what if you never waited for any IO to happen and just use only non-blocking IO what falls out of that and pairing that with JavaScript and turns out you can make a web upload progress bar with this among other things but it basically comes out of the it turns out a lot of problems can basically be summed up as this sort of interactive websites where you need to do more than one thing at a time whether it's a chat where one person sends a message and you broadcast it out to everybody else or if it's a game where you're moving around and you need to relay those movements to other people it's all more or less the same problem you need a programming environment that somehow abstracts, it gives you the right abstraction for dealing with all of these different events happening when did you see nodes to really get the lift up and obviously you're taking it around you're playing with nodes doing these things you're mentioning when did it kind of start clicking like wow this is really going on so in early 2009 I had this idea I was like okay JavaScript and non-blocking IO great let's put those together and see if we can build something useful with it and I worked on that for about six months maybe a bit less four months or so before I had a demo that I could start using and kind of as I was developing this I built a chat application at the same time so with the framework I was building this chat thing and after some time I just realized like wow this is this is like 200 lines of code and I've got this chat server and it's purely JavaScript there's nothing other than JavaScript in here it's just like oh wow this is actually you know going from something just kind of playing around with the idea neat idea kind of academic maybe even to something where you realize that holy crap you can actually build things in a reasonable amount of time with this it was a performance like at that time you're like wow this is actually fast yeah I mean it was good enough to handle tens of clients and you know have no lag basically so good enough performance with Node we spent a lot of time making sure that we're not doing anything overly stupid inside of it so we care about performance a lot turns out that original the 10x improvement that we got by doing non-blocking I.O that was the big that was the big choice since then we've been trying and trying and trying to explore other ways of doing performance but you know and we've gotten some wins here and there but more or less the performance has been the same since the original design right so what happened next okay you got to show people this right so you call your best buddies and say hey look at this right so at this time like JavaScript I think these days it's recognized as kind of a language but a couple years ago it was it was not really that way right it was this weird browser thing but it was just beginning to be recognized as Crockford came out with this book JavaScript the good parts and people started thinking oh you know actually this is actually a programming language you could actually design programs with it Gmail was written you had these big complex applications written in JavaScript and with that some sort of respect for the language so the JS Conk was created by Chris Williams in 2008 I believe and the European version of that came out in 2009 and so I wrote them as like oh I got this demo you know I really want to show this off at your conference and they wrote back and they're like yeah yeah sure you know got me a slot there and so I finally showed it off at this European conference and it went really well I gave the standing ovation wasn't there? Yeah supposedly that's what they tell me I was extremely nervous I mean I had been working on this thing for just like many months and I was like super nerdy about it it's just like I had been practicing my presentation for like weeks before that it's just like very very wanting to show off you know what I meant by this because I felt like if I started talking about non-blocking I.O and blah blah blah everybody's just going to zone out entirely what was great was that I had a demo of a IRC server written in Node so people could connect with non-web browsers just with their IRC clients and connect to the Node IRC server and start chatting and which thank god I mean this demo worked because I felt like the entire talk was very philosophical and kind of abstract but then you see like oh holy shit here is an IRC server written in fucking JavaScript and it's 400 lines of code and this is something that kind of blew people's mind. Yeah people are like wow that is really something new actually Awesome. People have been doing JavaScript on the server side since the 90's so what was it about V8 and Node.js that made the difference that now people are really excited about doing JavaScript on the server side right so yeah as you said there's been a lot of server side JavaScript none of them have stuck several reasons one they kind of had this very traditional model of how you present the server to the user this request response you get a request you do a bunch of stuff then you return the response but you're not you don't acknowledge the presence of other requests going on concurrently to you so it has this very simplified model which is fine and works but was not enough of a differentiator from Ruby on Rails and Django and PHP to really mean anything to people it's like oh cool I could do it in JavaScript but you know I've got rails here it works fine it's not that big of a deal to think in Ruby and in JavaScript the other aspect was it was all in Rhino which the JavaScript interpreter on top of the JVM which is notoriously slow and it wasn't until 2008 when Chrome came out that people started realizing that oh wow companies are putting a lot of effort into improving the JavaScript performance to the degree that you had the very professional teams working on these virtual machines so now you have in 2008 Chrome comes out with V8 and you realize oh wow okay so Google is really pushing JavaScript performance and they see this as a way of dominating the market if they can make JavaScript faster people will start using their web browser because Gmail runs faster and suddenly Mozilla is put on edge and they have to now make their JavaScript their spider monkey yanger monkey stuff work faster and suddenly it becomes this benchmarks contest Microsoft as well needs to now step up its game and start making this fast JavaScript is faster than Ruby and Python basically overnight and so it seems like in 2008 this is a very good language to start investing in you get very good compute performance out of it and so it was at JSConf you presented all this at JSConf here's no JS here's how it's different from the old server server side stuff and that's how it took off it was just people got there and just went nuts with it yeah so as I said I had been working on this for a long time and by this conference I was basically like out of money like I could no longer afford to work on this project full time just on my own so I went around looking for sponsors for the project so that I could continue to work on it and various people were interested in doing this and I went around and talked to a lot of people but the most promising one came from Joian who were like oh you know we build this data center software and what we want is we actually want node to be used for our data center software like we don't really have an interest in monetizing node itself but we want our software to run well and this is a perfect thing for building our own data center stuff and so this sounded great to me because little little program sitting there responding to events little demons sitting around the data center doing various things sounded like a very good use case for node so I teamed up with and moved to San Francisco and have been working on it full time since then and it's just been kind of a constant progression of pushing this technology since then fixing bugs and introducing it to new companies and convincing people and talking to them about it and I think we've had a fairly good linear growth for two years or so which is pretty pretty crazy what have you learned for the folks out there who are open source great for a lot of innovation so what can you share with the other folks out there who are working on open source that work hard and want to do a project might have a success like a node not directly competing people out there working hard what can you share with them of lessons learned or things you wish you could get back and do differently or not do differently what would you share with other folks out of these great new open source stuff I think there's a lot of people who feel I think one thing that we've done very well in Node is integrate other people into the community and just be very open about what we're working on and trying to bring people into the project so I've spend a lot of time people will contribute a patch which is not necessarily appropriate for Node style is bad it introduces other bugs it's really big or whatever it's some feature that I could hammer out in a couple minutes because I'm totally familiar with the code base but I'll spend the next week going back and forth with these people saying okay fix this and fix that and then they'll give me another revision I'll say fix this and fix that and just kind of going back and forth and talking about how they could get it into the code base when you come to a new code base when you're just a random person on the internet and you're contributing to an open source project you don't know all of the things going on in that code base right so there's something that needs to you need to be stewardship you need to get introduced to it and I think that a lot of projects will kind of reject these sort of contributions or not take the time to really integrate these people to it but you know fix this and you spend a week with somebody and get their patch in and you know make sure that they're on the author's list and everything then you have a person who now knows how the code base is going and can start getting more so what you're saying is spend the time embraced the people coming in who want to work help people get involved and help show them how to contribute to the project if they want to spend an hour of their time doing a patch for your project you spend a week of your time pulling them in and hopefully you're going to get somebody who then contributes more that's great and that's always great about communities shows your commitment and brings them socializes them into the project the community of note is really where it's at the runtime itself is possibly nice but you know the community modules and all of the people that we have is what's important okay so now this is where I put you on the spot okay I won't be offended if you don't say any names but of all the companies here which ones are your favorite that you say not from a company standpoint but like coolness that's a cool thing of implementation of node okay so the one that shocked me yesterday was tile milk which is doing a mapping application so you can make custom Google Maps type mapping applications with you know data points and whatnot but you actually build these things on locally on your desktop so they made a windows application using the node port to windows have this desktop application with node inside of it that allows you to kind of create a map and then generates this file that can then be uploaded to a server where they're hosting it also with node display these maps so they have this great database of all these different maps that you can kind of overlay with each other and this great desktop product and it just looks amazing it's just something that I don't know I'm always amazed seeing these things just like wow I would have never thought node would be used we actually had those guys on the cube yesterday so anyone who's watching right now you can find that interview Mapbox is the name of the company I thought it was TileMill TileMill is the program Mapbox is the company and you can find our interview with them on silicon angle TV and we also talk with Voxer too which is getting a lot of traction what do you think of those guys Voxer is our biggest customer because they are just pushing massive amounts of data through node they have this big distributed system with hundreds of node instances doing voice over IP through this thing so they have this walkie talkie app you click the button you say hey what's up blah blah blah and it gets distributed to your followers but voice it goes up through node and gets spread out and then down into react and so they're just pushing massive amounts of data through node and they're finding problems recently in November started really blowing up with many users and so they're finding a lot of our biggest problems at scale so they'll find seg faults way before anybody else does so we're in close contact with Voxer quite impressive they're driving our kind of emergency fixes I think they're embedded in the codebase that's great we had Matt's great guy we talked to him last night we shared some kind of inside baseball numbers which we didn't talk about in the cube we wanted to respect this privacy very big success story great growth there anything that surprised you here at this conference that you go wow not just companies just the pure this conference was really about showcasing what's going on making sure that it's visible outside of the node community the number of projects going on and I of course in this community I've talked to a lot of these people here but even so sitting there in the last session here and just seeing company after company after company