Skip to main content

When Mobile Web Becomes Legacy: Our Engineering Process for Ongoing Rapid Development

Bethany Andres-Beck (Independent)
Mobile
Rhinelander South
Average rating: ****.
(4.67, 3 ratings)
Slides:   1-PDF 

The TripAdvisor mobile web site is a conglomerate of three generations of design. New development interacts with both our existing infrastructure and code shared with the desktop site. Rather than total rewrites, iterative piecewise improvement has let us avoid the second-generation problem and get improved designs in front of our users faster.

With that comes the challenge of performance and balance. Which phones get depreciated when? When can we delete the Palm OS hybrid app specific javascript? What happens when we think a design is great but user numbers disagree? In the end there are three heuristic principles we use to guide our decisions:

  1. Speed Wins.
    The faster we deliver, the faster we learn.
  2. If It’s Worth Doing, It’s Worth Measuring.
    Knowledge is always the goal.
  3. Be Brave!
    Fear is a sign that something needs to change (possibly after we write more tests). Use that energy to motivate changes in process and propel us ever forward.

Bethany will talk about both some of our technical decisions, like Selenium testing on real devices, and our cultural decisions that make this approach work. We discourage code ownership while encouraging product ownership, celebrate incremental improvements and balance customer concerns with engineering effort (sometimes through pure stubbornness). Legacy code comes with challenges, but when used well it can also be uniquely empowering.

Photo of Bethany Andres-Beck

Bethany Andres-Beck

Independent

Beth Andres-Beck is the technical lead on the TripAdvisor Mobile Web team, where she has helped drive adoption of broad-based testing as the team grows. In addition to technical mentorship of an awesome team, she writes code across the stack from Java to JavaScript and HTML5. She’s been at TripAdvisor since 2011, when she swapped from optimizing video understanding software with CUDA to building the mobile web site. Her passion is using a combination of social engineering and object-oriented design to support rapid, collaborative development at scale.