Pages

Wednesday, 26 August 2015

Well, today most certainly is a high-point in my podcast experience so far. A couple of weeks ago I got our lovely co-founder and CEOEmil Eifrem (I spoke to the other two founders - Johan and Peter - before) on a Skype call, and we chatted away - and even did a Pop Quiz including a HIGH QUALITY DRUM ROLL! YES!

It was a wonderful chat, I think. Spontaneous and right from the heart - you should not miss it.

Here's the transcript of our conversation:

RVB: 00:02 Hello everyone. My name is Rik Van Bruggen from Neo Technology, and here I am again doing a podcast recording that I've been looking forward to for a very long time with my Über boss and CEO [chuckle] Emil Eifrem. Hi, Emil.

EE: 00:19 Hey, Rik. How's it going?

RVB: 00:20 It's going really well. Thank you for coming on the podcast. You're number 33. I think there must be some symbolism in here.

EE: 00:27 Anytime you describe me as an Über boss is a good time in my day.

RVB: 00:33 Absolutely. Emil, thanks for coming on the podcast. Like always, we're going to ask you some questions and talk a little bit about graphs and Neo4j, obviously. And we've got a little quiz prepared, so that should be interesting. First of all Emil, many people will know you, but not everyone. Could you introduce yourself? Say who are you, what do you do and what's your relationship to graphs and Neo4j.

EE: 01:01 Sure. I have been here since the beginning together with my co-founder Johan and my co-founder Peter back in the late '90s - in '99 and early 2000s. We got the idea that maybe we could structure data in a different way. And we got there through a variety of reasons and means, ran into a couple of problems that were ill-modeled - difficult to model in a relational database. So, we figured that there's got to be a better way. Eventually, through a number of complications and a very non-linear path, ended up with what's today known as the Property Graph Model. That was quite along time ago and it was at a different startup. I was the CTO of that startup and didn't start it or anything, but I was the CTO. Since then, I've basically been working on graph databases. And back in 2007, we spun out the IP from that old company and formed what today is Neo Technology.

RVB: 02:12 That has been quite a ride, hasn't it? It's quite a long time, actually, if you think about it.

EE: 02:19 Yeah. One way of looking at it is that this is all I've done my entire professional life. I've always been working on graphs, professionally. I, of course, grew up as a hacker way earlier than that. I have worked in a lot of other software, as well. But really, my professional focus for the past 15 years has being on graph databases.

RVB: 02:42 Amazing. The question I always ask people on this podcast is also, "Why? Why graph? What's so good about graphs?" What's your perspective on that? I'm sure you have a couple to share.

EE: 02:56 Yeah. This is easily a topic that could fill many podcasts for me. But I think, fundamentally, it's because that's the way to make sense to the world. That's the way that the world makes sense to me, fundamentally. As an individual, I don't know if you would agree with this - describing me as your Über boss - but I'm a very relationship-oriented person, and I just think that's sort of on a human level. But I also think that's just how computer systems and how software fits together. And I think that there's a lot of value in being able to explicitly declare and honor relationships and data, and that's fundamentally what the Property Graph Model is about. There are some number of benefits, but if you peel away everything, it really all stems from the fact that relationships are first class citizens. And I think that's how I look at the world, and that's how we ended up with that model.

RVB: 04:05 Absolutely. It's kind of interesting to me when I talk to users or prospects about this, we always compare it to the relational model. And I always say, "You know, the relational model is very anti-relational." You know ?

EE: 04:18 Yeah.

RVB: 04:19 It isn't that relational.

EE: 04:21 It's weird because the word "relational" is actually from mathematical relations not from the relationship, but that's too fine of a distinction. Most people around don't know that and it's kind of hard to communicate, but it is funny that graph databases are way more relationship-oriented than relational database, which on the other hand is way more relationship-oriented than most so-called NoSQL models out there, than the key-value model, or document databases, et cetera.

RVB: 04:50 Very, very true. Absolutely. This could go on for a very long time, but instead of doing that--

EE: 04:56 No. Come on [laughter].

RVB: 04:58 Instead of doing that, I thought we would do something different for this podcast, after all you are the Über boss. So I thought we'd do a little quiz, if you're up for that.

EE: 05:09 Let's go for it.

RVB: 05:10 Let's go for it. The quiz is very simple. I'm going to give you two words, and you're supposed to pick a word and tell me why you're picking the word. Is that okay?

EE: 05:22 That is okay, but only if there's a dramatic way of introducing the question. Like, for example, a high quality drum roll.

RVB: 05:32 Like for example [music]. Was that what you had in mind?

EE: 05:38 When I think high quality drum roll, that's exactly what I had in mind [chuckles].

RVB: 05:43 All right. We'll start with that. The first two words are very, very easy to get you going. What do you choose between sports or music?

EE: 05:51 Definitely music. Definitely music. It's funny. Now that I live in the US, then there's all kinds of sports analogies happening here in business. I think the only rival source for analogies in business is military. Everyone goes to military analogies, right? But then the second one is always sports, and it's about this filling the stadium over there, it's getting to home base over there, and it's third - it's like all of these kinds of sports analogies, of which I know absolutely none. Then of course, after that, people then assume that it's because I'm European. So then they go to soccer analogies instead, and I have no idea about those either. So sports has never been my strength--

RVB: 06:44 But what about music?

EE: 06:45 Absolute utter geek in that respect. Definitely music. I've, on the other hand, always dabbled in music. In fact, I'm actually a classically trained pianist, which I sometimes use. For example, when I give some talks about Neo4j, whenever I mention the word relational database, at a couple of events, there's been a piano in the room, for whatever reason, and then I walk up there and I play, "Dum, dum, dum, dadum, padum." You know the Imperial March, right? So it even comes to good use in my modern day present role. Now, I think music has been a very constant in my life, whereas sport hasn't. So it's an easy choice for this one.

RVB: 07:33 Absolutely. I think it's time for a second question, if you're up for that.

EE: 07:36 Go for it.

RVB: 07:38 Here we go. [music] High quality drum roll for you. And the question is, USA or Sweden?

EE: 07:49 USA or Sweden. I'm going to have to go with Sweden there, and it's funny. This is the second time in my life that I live in the US, and I'm the least nationalistic person that you'll ever find, in general. However, I've observed in myself that the moment that I move outside of Sweden, is the moment that I really start loving Sweden. When I lived in Sweden, I criticized it all the time - with all these things that are broken, wrong, and fundamentally flawed, et cetera. Except, some magical, the moment I get on that plane and I land somewhere else, it is this absolutely perfect Utopian place that can never do anything wrong [chuckles]. And since I am in Silicon Valley as we record this, I'm definitely going to choose Sweden.

RVB: 08:34 Absolutely. How does that relate to things like corporate culture and stuff like that? How would you describe Neo Technology in the corporate culture?

EE: 08:44 That's a great question. As you well know, Rik, I rant all the time about this. I have the saying, "I want to create an American company with a Swedish soul," right?

RVB: 08:55 I wanted to hear you say it [laughter].

EE: 08:58 It's kind of a weird expression, but it means something to me. Basically, growing up in Sweden, I grew up very much to the left of most people in terms of politics, and not just-- here in the US, of course, there are like one extremely right-wing party, and then there is the Republicans to the right of them, right? From that perspective, then every single party is left. But even in Sweden, like I grew up in the left wing. Then amongst that group of people, its not very common to - how should I say this - big American companies aren't usually the most idolized organizations on the planet. But despite that, I've actually always had a big admiration for big American companies. And yes, there are so many things that are fundamentally flawed about them, but the numbers speak for themselves. If you look into the Fortune 500, there is a huge, huge disproportion to many of them that are American companies, and they're just very, very good at executing in many-- very good at execution, I should say, in many instances. I admire their aggressiveness, I admire their ambition - the fact that they set goals and they measure themselves to them.

EE: 10:17 On the other hand, I think there's a number of things where American companies, in general - I'm stereotyping now - where American companies don't act in a way that I can agree with, and primarily around how you treat employees, how you treat your fellow colleagues. And that's why I think that Swedish companies, who aren't the most amazing on the planet when it comes to setting aggressive goals, for example, but they do excel, I think, in terms of creating a culture where you have truly individual peers that, in general, treat each other very respectfully and very well, and have a more humane approach. And I want to marry the two of them into one company. So that's why I say that, "Building an American company with Swedish soul."

RVB: 11:01 I'm going to have a quick drum roll [chuckles]

and I'm going to ask another question [music] that is very related, I think, which is authority or consensus?

EE: 11:13 Authority or consensus. Definitely consensus. I'm a very consensus-oriented person. I think that consensus is one of those words that people tend to have a very negative view of that word, and sometimes for good reason because it can lead to some bad things. There are definitely bad forms of consensus that lead to, basically, from a technologies' perspective and a database' perspective that lead to deadlocks. If you end up in a situation where you, as an organization, you can't execute until everyone buys in, then that's not good because it doesn't scale. But it is incredibly powerful that if you have a small team that has set out to perform a specific task or reach a specific goal, if that small team has achieved consensus around the approach and the method through which they're going to get there, that unlocks what I believe is one of the most amazing powerful forces on the planet, which is intrinsic motivation. That's how you get really smart people to be motivated is giving them an opportunity to chime in, and through discussion, arrive at their method of getting there, and then they feel ownership. And consensus is one way of getting there. But it has to have controls in place where it doesn't lead to deadlock, and that's an important one. But between consensus and authority, I definitely choose consensus.

RVB: 12:50 I've been with Neo for about three years now and I've definitely seen you actively promoting it, so I really respect that a lot. Cool. I think we need another drum roll.

EE: 13:05 I was just waiting. [music] What is that? Is that from your cellphone or something?

RVB: 13:12 Yes, it is. Yes, yes [chuckles].

EE: 13:15 It's great, very high quality.

RVB: 13:17 You row with the means that you have, right [chuckles]? Lead or follow?

EE: 13:26 Definitely lead. I don't know if anyone else would-- this may not pass the “not” test. You want to choose words where everyone would not choose one of them, and I think most people would choose lead here. But I'm still going to go with the flock and choose lead, ironically enough. I think that's one of the things that I do believe that we do here at Neo Technology. I think that graph databases as a category didn't exist before we got started, and I think that we've done a lot of work on not just promoting Neo4j, this specific product, but graph databases and the general approach. And I think that part is one aspect where I'm actually proud in how we've led the industry, not just for our own benefit but truly because we believe that the general approach of having a relationship perspective on data is valuable.

RVB: 14:23 Absolutely. It comes with a lot of costs as well, right? Leading is expensive, isn't it?

EE: 14:30 Yes, that's very true. And I think there's just from whatever business strategy perspective, I think there's a lot of examples where you have a so-called first mover in an industry that takes a lot of cost, and effort, and blood, sweat, and tears to build momentum around something, and then the so-called fast follower comes in and swoops it away. In many ways, I think, that's exactly where we are in the graph space right now. I think that certainly 15 years ago when we got started, but even two, three years ago. For example when you started, I think it was much less obvious that there would be a distinct, stand-alone, huge category called graph databases. We all believed it, right? We all kind of saw it, but I don't think in general that if you would ask 100 database experts, that they would agree with that. I do think that is true today.

EE: 15:30 So, we are now exactly at that point where the category as a whole is about to take off, and we see it in the competitive landscape, as well. We see that there's a bunch of big companies that used to ignore graph databases and talk about it as a niche, but we now know are building out proper, full blood property graph implementations, and take them to the market. So it's a very interesting time in the graph database space right now.

RVB: 15:57 Very true. One more, okay?

EE: 16:00 Sure. Go for it.

RVB: 16:02 [music] I'm going to use this in presentations [laughter].

EE: 16:08 Of course, I mean it's just that good.

RVB: 16:11 It's so good. Focus or platform?

EE: 16:15 Focus or platform. Wow. That's a hard one because I want to choose both of them. But if I have to choose, it's going to be focus because I think that you build out a platform through a focused product. Because a focused product is what ultimately delivers the most value to users. And I always had this - I don't know what you call it if it's a motto, a mantra, or something. But when I was very heavily involved with designing the product, which unfortunately or maybe fortunately I no longer have the bandwidth to do, but I always had this saying where it's like, "When in doubt, leave it out." Whenever I or we had any kind of concerns like, "Is this feature truly needed by everyone?" We would leave it out, because I think that all great things, all great products out there that at that least I admire have a strict focus to them. And I think that's how you get broad adoption, and from there, you can then build out laterally in the product, which ultimately will create a platform. So if I have to choose, I'm going to go with focus.

RVB: 17:36 It's sort of also makes me think, at least, and part of the reason why I asked the question is the “Crossing the Chasm” analogy of [?] [more?]. Okay, very cool. I think we are going to wrap up here. It's almost 20 minutes into the podcast so--

EE: 17:53 Time flies when you are having fun.

RVB: 17:56 It does. It really does. I want to thank you again for coming on the podcast. I think all of the listeners will really appreciate it, as well. And thank you also for building a great company and a great product together with all of us.

EE: 18:09 Together with many people and very much including yourself, Rik. This podcast, I was just mentioning this to Rik -- for the listeners, I was mentioning this to Rik before we got started that I don't think I listen to every single episode. There may be one or two that I have not listened to, but I'm biggest fan of this podcast. I think it's a treasure trove of how people thought about graph database, and I think we're going to look back on it ten years from now and just hear voices actually from the source at the early beginning of this amazing category.

RVB: 18:43 I hope so, too. Thank you again and I look forward to seeing you and meeting you again very, very soon.

Tuesday, 18 August 2015

Now that the summer is starting to wind down, it's time to get back to the podcasting routine! Yey! So here's a wonderful conversation with a Neo4j user that is doing super interesting stuff with Neo4j: Prashant Yadav of Kincards has been very active in the community, and has plenty of interesting stuff to say...

Here's the transcript of our conversation:

RVB: 00:02 Hello everyone. My name is Rik Van Bruggen from Neo Technology and here we are again recording another podcast for our new Neo4j Graph Database podcast. Today I'm joined, all the way from Michigan, very early for you there. Hi, Prashant from KinCards.

PY: 00:21 Hey Rik, how are you?

RVB: 00:23 Hey, it's good to have you on the podcast. Thanks for making the time.

PY: 00:27 Thank you.

RVB: 00:27 Yeah. Prashant, you recently created the blog post for us on the Neo4j.com website - and that was very well received - which was sort of the opportunity for me to have a chat with you for the podcast and-- but lots of people might now know you yet. So why don't you introduce yourself, if you don't mind.

PY: 00:47 Sure, Rik. I'm an IT enthusiast. I have been working in the IT industry for more than nine years now. I have been in the [concerting?] industry, so have worked with a lot of big and great customers and have done a lot of big implementations as well as design. With all this job and day-to-day work, I used to, or I have been attending the RF conferences, meeting people, doing a lot of meetings, and in all those conferences and all those meetings one thing was common, that people tend to forget their business cards and--

RVB: 01:30 I know how it feels [chuckles]. I've been there.

PY: 01:34 --I have seen this a number of times when people want to exchange information but they cannot find their business cards, or they left it in their hotel room or at home, or they run out of business cards. This seemed to be a big problem to me, because I wanted to get someone's information, and writing it on a notepad and finding a pen and paper is always difficult, and then, sometimes when you collect some business cards you lose them on your way back to home. Those business cards are really important to you and to your business. So I decided to find a solution to this problem and with that I founded KinCards which allow you to create your own virtual business card which could be shared with anyone anywhere in the world just by sharing a link. Or if someone is already on KinCards they can share their business card using a small username just like you have for Twitter or Facebook, so that makes your life easy. You do not lose your business cards. You do not lose anyone's contact information again. It also works as your contact wallet, where once you're connected with someone their business card or contact information will always be on your dashboard or in your wallet. So even if you lose your phone or something happens to your Google contacts, you will never lose your contacts' information again.

RVB: 03:00 Yeah, very cool. And so it's KinCards.com, isn't it?

PY: 03:03 Yes, that's KinCards.com.

RVB: 03:04 That's very, very cool. You guys have been around for a long time now, or how long have you been up in there?

PY: 03:10 No, we are new ones. I started working on KinCards early this year - in 2015 - and we are still in beta phase, but we're getting great response from our users. So we have already-- we have a public website, we allow public beta sign up on our website, and we're getting great response on our object.

RVB: 03:36 Super, I registered for it myself yesterday and it's very intuitive, I must say. Very, very nice.

PY: 03:41 Okay, thanks.

RVB: 03:43 So, you guys are using a graph database - Neo4j specifically - in that application, are you?

PY: 03:49 Yeah. So actually with KinCards we were also thinking that personal information is crucial and we just do not want to throw it away. We just want to make sure that we are giving our personal information to someone that we really want to, and we are not just putting it on the Internet for anyone and everyone to access that. So we thought of creating a model where when someone is sending their business card, or someone is requesting a business card, there is a connection, or there is a request and approval or rejection process or workflow. And for all that, once you accept someone's request, or once you reject someones request there is another kind of connection, where people know each other, that are acquaintances, they might get connected in future, but they don't actually want to exchange their business card right now. Or maybe someone is managing more than one business card and they don't want to share their personal information, but want to share their business information with someone. So to manage all these kind of relationship, we were looking for [?] that can manage all these relationships between people and connect people and manage the relationship between their contact information or their business cards. We did a lot of research and we found that Neo4j is the best graph database that served all of our needs, and [scalable?] and [?].

RVB: 05:22 Super. Wow. So have you guys been doing a lot of developing only through Neo4j directly, or are you combining it with other stores, or how does it work for you guys?

PY: 05:36 So right now, we are doing a lot of development, we are getting feedback from our users. And based on that we have set some priorities, and we see how we can achieve our requirement using Neo4j and with our existing infrastructure, and we are scaling really fast because we are seeing a high demand in people, people, when they create their business card on KinCard they tend to share that with others, and their connections get interested in signing up at KinCards, so that's how we are growing right now.

RVB: 06:14 Very cool. So, what was the primary drive for going for a graph database? Because I understand that relationships are very important in your model, in your domain, right? But are there any specific kinds of queries, or recommendations, or specific use cases that you thought was going to be a good fit for Neo as well?

PY: 06:33 I think the primary reason for going for a graph database was the relationships that we are creating. So, behind the scene we are creating multiple complex relationship between people and their KinCards. It's really complex to explain how we manage those relationships. I can tell you that it's not easy to show all your information in a way that you're not publicly providing all that access to anyone and everyone, and just forwarding that to the person you really want to share, or you just met. We wanted to look into a lot of different things and manage all those relationships. That was the driving force behind finding a graph database, but after that we found that graph databases really cool and they are the database from future. And we really don't need a normal relation database if we have Neo4j or something like that.

RVB: 07:34 That's really great to hear, yeah. Thanks for that. Where does this take you? Where are you going to take your platform, and what's the vision for the graph database within that platform, Prashant? Do you have any perspectives on that?

PY: 07:50 We are adding great new features to KinCards every single day. We are aggressively working on this platform. We're getting a lot of feedback from our users, and our user base is growing very fast - especially in US and India - right now. But, as far as I see it, I feel that it can become another Facebook or Twitter where people want to share their business card through KinCards, and they want to manage their contacts through KinCards instead of using their mobile phone's contact apps which is a bit hard to navigate and find and use. So I see that it might replace the contact applications in your phone, or any of those applications like Bump or what you have seen in past for sharing contact information.

RVB: 08:46 Okay. And so that also means that you're going to be exploiting the graph, and the graph database, much more intensely in future as well I suppose? And lots more people sign up, and people put it to different uses?

PY: 09:01 For sure. So as I mentioned earlier that Neo4j allow us to scale it to the level where we want it to be and so far we have had no issues with Neo4j. Everything's going great. It's really flexible. We are changing models. We are changing things - adding new features, adding new models through the database every single day - and Neo4j is supporting us in all those changes.

RVB: 09:29 Wow. That's super to hear and I'm very happy about that. Right now I think we'll wrap up the podcast. We try to keep these to about ten minutes so people can consume them whenever they want. I want to thank you for coming online, Prashant. It's very, very kind of you. I wish you lot of luck with KinCards and I hope that it delivers on all of its promises.

PY: 09:54 Thank you so much Rik. Nice talking to you. Thank you for calling me.