Pages

Monday, 1 June 2015

Podcast Interview with Aseem Kishore, 53

Had a super chat with one of the long-standing Neo4j users at our friends at fiftythree.com. Aseem Kishore has been a real advocate for Neo4j since a few years now, and his story is really cool. Here's a first presentation from 2013 that details the early parts of their story:

He actually did another talk at GraphConnect 2014 as well, but for some reason that one is not embeddable: watch it here.

So time for a Podcast interview:

Here's the transcript of our conversation:

RVB: Hello everyone. My name is Rik, Rik Van Bruggen from Neo Technology, and here we are again recording a episode for our Neo4j graph database podcast. Tonight's session is being recorded all the way across the atlantic, and I've got Aseem here, Aseem from FiftyThree. Hi, Aseem.

AK: Hi, Rik. How you doing?

RVB: I'm doing really well, and you?

AK: I'm doing great.

RVB: That's fantastic. Thanks for making the time, and again, apologies for me messing up the schedule twice [chuckles].

AK: No problem.

RVB: So thanks for coming online. Aseem, would you mind introducing yourself to our audience here?

AK: I'm Aseem Kishore. I'm an engineer here at a start up in New York called FiftyThree. We make an iPad app called Paper, and a hardware stylus called Pencil, and a collaboration service called Mix.

RVB: I've heard so much about it. I actually saw a pop-up store of FiftyThree in the airport in London last week. You guys are expanding very quickly, aren't you?

AK: We're actually split between New York and Seattle, so most of our software's in done in New York and most of our hardware's done in Seattle.

RVB: What's your relationship to Neo4j Aseem? Can you tell us about that?

AK: We use Neo4j as our primary database for Mix, which is our collaboration service. And in general, from the start of the company, that's been the database that we've been building our back end services on.

RVB: So it's real time applications that you build on it. What applications are those?

AK: The biggest one is definitely Mix, which is-- basically you can think of it like a social network for ideas. So the sketches that people are creating people in paper, they can post them to Mix and then the key feature that we have is that you can take another person's sketch, or idea and expand on it, so we call that re-mixing. We've built up this-- not just the social graph but really an idea graph or creativity graph. So you can see the evolution of ideas from just-- for example if you're a UI designer you can see the evolution from just a simple wire frame all the way to all sorts of expirations and directions to take that wire frame in.

RVB: So it's really a complete solution, starting at the pen, to the app, to the social platform.

AK: Exactly yeah.

RVB: Very cool. How long have you been using Neo4j for that then?

AK: Mix has been in production for a half year, we were using Neo4j just for things like accounts, and things like that, before we had Mix for maybe a year before that, and then developing with it for another year before that.

RVB: So, why graphs? How did you come to Neo? How did you come to graph databases and why did you pick it? Could you expand on that?

AK: That's a good question, why graphs? The easiest answer is that we always had Mix in our sights, and with the idea of free mixing, ideas can really go anywhere. They can go on all sorts of directions, so some of the examples we see on our own site are someone might publish a very useful template, let's say an agenda for the day. So that will get a lot of directory mixes so the shape of that tree will be very broad, and in other cases we see a lot of back and forth collaboration happening. So for example, a couple of architects working together might start with a simple sketch of a new house and then they keep on adding different elements and tweaking things here and there, and so that can become a very long chain. And then you see all sorts of things in between, so the the whole notion of ideas can go anywhere, suggested to us that we needed to have an approach that was flexible to that.

RVB: And then that’s the graph model, basically that delivers that isn’t it? It’s our--

AK: Exactly.

RVB: Fantastic. So what has the experience been like so far? Has it been delivering on its promise?

AK: In terms of the flexibility, it absolutely has. A good example is early on, when we were still in a private data for Mix, we were trying to decide how exactly we want to convey this idea of free mixing to users. Initially we started out similar to let’s say You Tube video comments, where when you are looking at a particular idea you can see the remixes of that idea directly underneath it, then you click on one of those and you can see its remixes and so on. But then we realized that this is really too many clicks, a lot of times you really want to get the whole story in one glance and so we were able to very easily change our UI to show the entire tree of remixes on one page, and that was a very simple query change. We didn't have to change the way we store the data or denormalize it, or anything like that, so in terms of that of flexibility it absolutely has. One of the things we've been growing with is just running your Neo4j in production at scale, so Mix is growing very quickly. We hit the million user mark - I forget the exact number off the top of my head but I think it was within the first couple of months, which is pretty fast for a service - and we're continuing to see some pretty rapid growth. So we're just now trying to learn how we can scale our cluster the most effectively.

RVB: Have you been working with someone on more recent versions of Neo then as well, or is that all based on older versions or ... How do you guys typically work that?

AK: Good question, we try to stay pretty recent. We launched with a new Neo4j 2.1 and that's what we've been on. We're now just starting to experiment with 2.2.

RVB: As you probably know there's a lot of attention going in that direction at Neo, so I'm hoping that we're going to stay aligned over the next couple of months and years, it's going to be great help. So what does the future hold Aseem? Where are you guys going? Where are graph databases going at FiftyThree? What do you think is in store for us?

RVB: I guess for where FiftyThree is going, there's obviously a lot I can't talk about, but in general what we see our goal as, is to enable all sorts of people to be creative. So not just people like designers and architects and artists, but software developers, business people, lawyers, financial advisors, investors. All these people that-- they don't think of their everyday job as being creative, but it turns out that in all of these professions, there's a part of the process where creative thinking and being able to communicate visually and get your ideas down on paper is critical. And so these are the kind of tools that we're building and so we have some pretty big things planned for this year, and Neo4j going to actually play a significant part in some of these. We're going to continue to push the envelope on what we're able to get out of our graph database, even perhaps even more real time and perhaps even much more write through-put, for example, much more scale. As far as word graph databases in general are going, I don't know that I can personally say, but what we've been really happy with is that the domain is so flexible that if we can make it work for us, we actually prefer to. So, one thing we've been seeing at other companies is that Neo4j is often used as a secondary database. So for example having talk to Medium, most of their core data is actually stored in Dynamo but then they use Neo4j to store the specific relationships like following, and recommendations. And that approach makes sense, but for us, it's so convenient to have all of the data in Neo4j because now we can use it, increase, our transactions are uniform things like that. So we're going to continue to discover where exactly can't we use corrupt databases and we're hoping that's not many places.

RVB: I sure hope that, you know because graphs are so white board friendly that they would also be very Paper friendly, right? That would be great.

AK: The fun story is we just launched a new feature in Paper, a new set of tools we call Think Kit, which are all about diagramming and white boarding. And fun stories, all of the hand tuning of heuristics of shape recognition, all that stuff, one of the use cases was definitely drawing graphs and a couple of my--

RVB: No way.

AK: [crosstalk] were used in our neutral testing which is funny.

RVB: I saw one of the guys, Michael Hunger was already using it, so [chuckles] that was very cool. Thank you so much, Aseem for coming online and doing this recording with me. I really appreciate it.

AK: No problem, thank you Rik.

RVB: We want to keep these things quite short, so I'm going to wrap up here, but not without thanking you again and hoping that we'll see each other someday at some GraphConnect Conference or something.