Directly Responsible Individuals

Matthew Mamet posted October 10, 2017
The context behind the Directly Responsible Individual (DRI) is found in a lesson learned from Steve Jobs. Steve had a habit of making sure someone was responsible for each item on any meeting agenda, so everybody knew who is responsible. “Any effective meeting at Apple will have an action list,” says a former employee. “Next to each action item will be the DRI.” A common phrase heard around Apple when someone…
Full Article

Managing tracking code in iOS using delegation pattern

Kunal Balani posted January 30, 2017
Tracking is ubiquitous in mobile engineering. At TripAdvisor we measure the success metric associated with every feature. This also means that a good percentage of our code base consists of tracking related code. Most of the tracking changes are usually embedded in UIViewController subclass, making it rigid and difficult to test. The article introduces handling and managing, tracking changes using delegation. Let's take an example of how a tracking code within the app looks like…
Full Article

TripAdvisor for Chrome

Shaun McQuaker posted December 14, 2016
  Why a Chrome Extension? At TripAdvisor we're always looking for new and innovative ways to engage our users on every platform and device. Recently we've started an initiative to develop a Chrome extension for desktop - TripAdvisor for Chrome. The extension allows travellers to better plan their trips, vacations and local outings. Wouldn't it be nice if as you surfed the web, you could immediately access useful TripAdvisor content…
Full Article

Citymaps — “Vietnam”: Tracking Down An Elusive Bug

Bob Matsuoka posted November 22, 2016
In our experience a serious bug -- particularly one pushed in production code -- tends to get found and solved quickly, and is in fact relatively straightforward to reproduce and isolate.  We encountered one recently, however, that did not fit this model, and it ended up causing us a few weeks of frustration as well as some work probably could have been avoided. Background About a month ago, we pushed a fairly…
Full Article

Mining Text for Review Snippets

Robert Hall posted October 28, 2016
On TripAdvisor we have lists of restaurants and hotels which can be filtered e.g., to show only restaurants which serve a particular cuisine type.  Each location has a set of "tags" which determine which filtered lists it will appear in (for example a restaurant may have the tag of "italian cuisine" or a hotel may have the tag of "free wifi" in which case these locations will be displayed when…
Full Article

Swift, Objective-C, Or Both?

Jay Ayres posted January 11, 2016
If you are a developer of a native iOS app written in Objective-C, the topic has likely come up whether it is worth switching your app to use Swift, and if so, when, and how. TripAdvisor is no exception, and with hundreds of thousands of lines of Objective-C code in our flagship app, we have had a huge decision to make on this topic. It is unrealistic for TripAdvisor to…
Full Article

Improving the TripAdvisor Flights experience on Android

Cheng Han posted December 4, 2015
Our goal is to create a first class user experience for Android. In an effort to improve this on native apps, TripAdvisor Flights team did a great amount of work about year ago. For our flights app, because most of important flights itinerary information needs to be shown on the search header, it takes a considerable amount of screen real estate, which leaves less space for showing the search result itself. In…
Full Article

No Software Engineers? Sorry, Exactly the Opposite

Jeff Palmucci posted November 8, 2015
This post originally appeared as part of an internal email thread at TripAdvisor. If you do not enjoy ranting on the internet (and if you say you don’t, you are not kidding anyone), please read no further. <rant> So last Friday, Ian Bogost’s post on software engineering appeared on TripAdvisor’s internal humor mailing list, “catbert”. In it, he shares his opinion that software engineers aren’t really engineers proper, because of…
Full Article

Using NLP to Find “Interesting” Collections of Hotels

Craig Schmidt posted October 5, 2015
There are a lot of hotels on TripAdvisor. At the moment, there are 1790 hotels listed for Paris, 1054 hotels for London, and 466 hotels in New York City. We have been working on better ways to explore these hotels, and find an interesting place to stay. In this blog post, I'll describe an upcoming feature on TripAdvisor, that uses Natural Language Processing (NLP) to find groups of hotels that…
Full Article

The second-best feature of Java 8

Joshua Hendrickson posted September 21, 2015
After far too long, Java 8 finally adds support for real, actual lambda expressions in all of the places you hoped it would. I know of no one who would dispute that the best new feature in Java 8 is support for this basic construct that will simplify code and improve readability. However, you may not be aware that Java 8 includes more new features than just lambda support. So which feature of Java 8 ranks second best? I claim that you…
Full Article