Reducing Code Using Kotlin

Greg Milette posted February 5, 2018
This post was co-authored by Greg Milette and Ian Stewart  TripAdvisor has a great mobile app for vacation rental owners. Recently we made it even better by converting 33% of its code to Kotlin. One of the benefits we are seeing while doing this conversion is a reduction in code size. Having less code is good for reducing errors and lowering maintenance costs. Therefore, we care a lot that Kotlin promises…
Full Article

Scaling Product in a Two-Sided Marketplace

Maud Larpent posted December 20, 2017
In a two-sided marketplace, innovating and launching new and exciting features for your end users often means getting new content from your suppliers, getting it in a different format, or at a different speed, etc. When your marketplace is the size of TripAdvisor’s, and connects to hundreds of partners that all have different means to connect their supply, this can lead to a very disparate content. In this context, providing…
Full Article

Improving TripAdvisor Photo Selection With Deep Learning

Gregory Amis posted November 18, 2017
The newly redesigned TripAdvisor.com emphasizes traveler photos throughout the site, but not all of these photos are useful in every situation. Deep Learning networks provide an excellent opportunity for us to improve our users’ experience by highlighting the most attractive and useful photos for varying presentation contexts. This post will discuss our approach for gathering training data, developing a model, and scaling it up to over 110 million photos and…
Full Article

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