Facebook Director Of Engineering Talks Zuckerberg, Graph Search On Reddit

By Justin Lafferty 

Reddit has a feature called Ask Me Anything, where notable people allow readers to, well, ask them anything. Facebook has loved this recently. Wednesday, Facebook employees answered questions about the company’s hiring practices, and now Director of Engineering Lars Rasmussen responded to queries about Co-Founder and CEO Mark Zuckerberg, graph search, and free coffee.

Here are some of the more interesting responses from Rasmussen’s AMA session:

Q: Did you get taken on one of the infamous “walks” by Zuckerberg? If so, what did he say to you?

A:  Yup :) I have had the pleasure of such “walks” with Zuck I believe three times: when I interviewed with Facebook back in late 2010, when Zuck asked me to work on search in the late spring of 2011, and then again after we launched graph search to discuss the future of the project.

Zuck’s pitch for me to work at Facebook was compelling (obviously: I took the job after all :) It was distinctly not a “here is why Facebook is the best place to work, period”-style pitch. Rather, Zuck made I thought a very insightful analysis of what sort of person would be best served working at a more mature company like Microsoft/Apple/Google, what sort of person would be better served starting their own company, who should work at a VC, and, of course, what type of person should pick Facebook. Felt much more like life advice than bragging of Facebook’s incredible achievements. It was all about risk vs. reward, and an individual’s ability to impact the world. I try to use the same style of reasoning when talking to others considering working here. Or anywhere for that matter.

When our walk was about working on search, Zuck had a very strong vision for what he wanted, and how compelling a structured search product over the content people have shared on Facebook could be. He knew this was the sort of thing I liked to take on: hugely ambitious, technically challenging, something I had never worked on before, lots of unanswered product questions. I was sold about 10 steps into the walk :)

The third walk was just last week. I am super-proud of what the search team has produced with the beta version of graph search, but the best part is that we are only just getting started. Years and years of amazingly interesting and impactful work for the product to get anywhere near it’s potential. Good times …

Q: How do you react to people’s privacy concerns about graph search, especially given Facebook’s woeful privacy record and reputation?

A: Well first of all, it is important to repeat that graph search — like every new feature we build — respects every privacy setting people have placed on their content. Graph search can find only content that someone has shared with you and that you could already see on the site.

Graph search does of course make it a lot easier for you to find the content others have shared with you, which makes it more important that everyone has the right privacy set on the content they have shared in the past and will share in the future.

This is one of the reasons we are rolling graph search out slowly. Back in December, we launched a series of tools for everyone to more easily audit their own content, and content others have shared about them. We want to give everyone a chance to use those tools before rolling our graph search more broadly.

Getting privacy right for graph search was an enormous effort in itself, and we take people’s concern and feedback on the matter very seriously.

Q: What is the primary technology stack behind graph search?

A:  (Mike Curtiss from Facebook’s search infrastructure team kindly helped with this answer)

We have an inverted-index system called Unicorn that we use to select nodes in the social graph based on edge relationships to other nodes. Unicorn is akin to document search systems for other contexts like email, Web pages, or files on your computer; but it also has some graph-centric features that make it especially useful for searching over the social graph. For example, we don’t index the lists of friends of friends for every user (friends only), but our system makes it possible to retrieve friends of friends by executing a single query.

Just like the rest of Facebook, we try to use (and contribute to) open source technology when possible. So we use Hadoop in our pipeline for building search indices.

Q: Why is graph search still in opt-only beta? When will it roll out to everyone (will it ever)? Was it just not ready for primetime or what? If and when it does become the default Facebook search, will it be much different from the way it is now?

A: There are two primary reasons for the beta and slow rollouts: the privacy issues I mentioned in http://www.reddit.com/r/IAmA/comments/18jb6d/i_am_the_pointyhaired_engineering_director_for/c8fd04l, and that the product is still pretty rough around the edges.

I personally like giving people access to products as early as possible, because you can improve things much faster when you get real feedback from real users. For example, with real users, we can do live comparisons of two different orderings of the same set of results for the same search, and see which causes the most engagement. Without live usage, we’d just be arguing all day :)

It is impossible to predict when it will roll out more broadly. In a nutshell, it will happen when the product is mature enough that the majority of our users prefers it over the old search. The few people who have access currently very much prefer it over the old, but they are of course early adopters who asked to be let in. People like that tend to be more forgiving of those rough edges :)

(I notice I am using a lot of smilies here. AMAs are fun!)

We decided, by the way, when to start this public beta period by letting Facebook employees opt into the new search, and back out if they still preferred the old one. By late fall last year, more than 1,000 of my awesome colleagues had switched to graph search and stayed in :)

I don’t expect graph search to look very different by the time we start rolling it out more broadly (I could be wrong about this of course.) But the quality will be higher, and we will understand more searches. Stay tuned …

Q: As a tech reporter working in the Valley, I heard about graph search as far back as 2010. When did the project truly begin, and did you push back any release dates?

A: We showed the original prototype of what we much later named graph search in the early summer of 2011. We only spent a few weeks building it, although it used code from previous prototypes of structured search products that were not based on natural language.

I think it is fair to say the project took longer to get to the beta stage than I predicted when we started. Pretty much all projects I have ever worked on have had this property :) Time flies when you are behind schedule!

Readers: What else do you want to know about graph search?