Engineering Blog

Diving into Yelpy Insights

As you may have seen on our Yelp Official Blog, we recently did a post on a new feature we are testing: Yelpy Insights. Here on the Engineering and Product Blog, we wanted to dive into the work our engineering team did to help discover and display Yelpy Insights. The Idea: Yelpy Insights was actually borne from feedback we had received from vegetarian yelpers (and in fact, some members of the engineering team!) that finding a good place to eat vegetarian food was tricky. For example, some things that are liked by vegetarians are also liked by omnivores, but some...

Continue reading

Lookin' Good: UI Verification in GHUnit

Here at Yelp, we build some popular mobile apps. We have around 5 million monthly unique users and about 1/3 of all Yelp searches come from mobile. Our apps continue to grow in complexity as we add new features. We try our best to test before releases, however, sometimes UI breaks and we don’t notice. For example, in a recent release, we had the ‘Get Directions’ button disappear from our iPad app! [Screenshot] We finally noticed it missing when we got a report from a user. We were fairly embarrassed that we hadn’t caught the problem ourselves. This was a problem...

Continue reading

Mission: Mobile Makeover

As previously reported, we recently released a brand new mobile site, hand made with love for our more than 8 million users with mobile Webkit browsers who visited www.yelp.com from mobile devices in August. Surprisingly, there are a lot of challenges when creating a whole new, albeit mini, website (who would have thought?). If you were to look online for guidance on designing a mobile website, you would come across lots of articles that cover three main considerations: The once precise cursor is now your chubby, fumbling finger You have to present a lot of data on a wee-small screen...

Continue reading

Output Filtering Failure

About a month ago, we launched m.yelp.com specifically targeting iPhone, Android, and WebKit-based smart phones. Our engineering team pushes code live on average three times a day. Moving fast means we need to have sound engineering practices internally — such as code reviews by peers and automated testing tools such as unit-tests and static analysis — to catch mistakes before they happen. In this blog post we will detail a misstep that we made and the response that followed. On the morning of October 27, 2011, we were alerted by a team of researchers at Harvard, Yale, and Boston University...

Continue reading

Calling All Data Miners!

Summers are tough here at Yelp’s HQ in San Francisco. It’s hard to keep up with all the hot new businesses, order the best food at every restaurant you visit, or even just find that fancy dive bar your friends have been chatting up. If you’re anything like me, you aren’t satisfied just using these features on Yelp - you want to tear them apart, see how they tick, and make them better. The trick? All these features are powered by our incredible review data. The data Yelp is providing the reviews for nearly seven thousand businesses at 30 universities...

Continue reading

Yelp Hackathon #5 Brings You KegTime and More

If you read this blog regularly, you’re probably already familiar with Yelp Hackathons. They’re 48 hour periods of time we devote to anyone in the company to crank on projects that they’re excited about. In the past, our Hackathons have included special guests, pinatas and, oh yeah, hacking! This year’s didn’t disappoint, with 28 total projects built, a petting zoo in the office (What? Your company doesn’t have those?) and a High School Science Fair type set-up so our hundreds of Yelp employees in San Francisco could wander, sip some Belgian ale and take a gander at what their fellow...

Continue reading

Understanding Git

Yelp converted from using Subversion for source control over to Git over a year ago. As it turns out, however, Git (and distributed version control systems in general) can sometimes be daunting for some developers to understand, especially if they’re used to more traditional centralized versioning solutions. Git can also be a bit daunting for new developers just starting to use source control - it tends to assume that everyone is a power user, offering a high amount of potential, but sometimes at the cost of user-friendliness. In an effort to help more people get a deeper understanding of just...

Continue reading