Why is our booking engine so slow?
During the last few months Hurtigruten has rolled out new online booking engines to allow customer to book travel directly on the Hurtigruten websites in the UK, Norway and through our global website. In addition we have launched a solution designed specifically to improve our service towards travel agencies.
The booking engines work, but we have several challenges that need to be addressed. Our challenges can be divided into usability, peformance and feature issues.
Currently our biggest challenge is the speed of the solutions and feature issues in the travel agent solutions. This blog post is under development, so feel free to add comments and ask questions.
Acknowledge the problem: The booking engines are slow
Good explanations for slow software will always exist. That’s not the point. Instead of focusing on the explanations, we must acknowledge the problem and start focusing on diagnosing and solving the problem. Last week I spoke with 10 customers. All of them perceived the Hurtigruten booking engine to be slow. Here’s a quote from one disatisfied customer in Tromsø:
“When I select departure port, the system makes me wait, when I select a date, I have to wait. When I finally click “Find price and order”, the system makes me wait before I’m told that there’s no departure!”
To further demonstrate the speed issue, I recorded two videos of the actual booking process:
Based on customer feedback and video demonstrations, there is no doubt that the we need to improve the performance. The next step is to understand the commercial urgency of our challenges.
Understand the urgency: We’re losing money every day
Research shows that 41 percent of online shoppers will only tolerate one or two bad online experiences before abandoning a retailer’s Web site. This means that by making our customers wait we’re losing money every day! We’re not sure exactly how much money we’re losing, but it’s probably not 85 million Norwegian kroner (article in Norwegian).
To put this more into perspective, we can look at the online sales funnel for an unspecified period of Hurtigruten’s B2C booking engine in Norway. The illustration below is a simplified version of the online sales funnel, but the data supports the fact that we’re losing alot of customers in our booking process. Some of the leakage is natural. Some people will always use the booking engine to check prices and departure times with no intention of buying. However, based on the research and my previous experience with booking engines, it’s reasonable to assume that improvements in the booking engine speed (or perceived speed) will increase the number of online bookings. If we fix the problem today, we stop losing money tomorrow. If we wait 3 months, we lose money every day for 3 months.
Diagnose the problems
A booking solution consists of several components that affect the performance of the solution. In order to diagnose the performance, we must analyze each component in search of improvement potential. I am not an expert in these areas, but I’m hoping that this blog post will help us get an overview and understand the sense of urgency. Here’s a starting point…(feel free to add relevant information)
1. Front-end code audit
2. Application review and pay off code debt
3. Caching methods
4. Server tune-up / Hardware upgrade
Prioritize and fix the problems – quickly
Once the problems have been diagnosed, we must prioritize the implementation based the complexity and the overall value of improvements. Some improvements are quick and cheap to implement, others may require further analysis and detailed planning.
- Website Performance: What To Know and What You Can Do (Smashing Magazine)
- Best Practices for Speeding Up Your Web Site (Yahoo Developer Network)
- Use server cache control to improve performance (Websiteoptimization.com)
- Optimizing perceived speed (MSDN)
- How To Automate Optimization and Deployment Of Static Content (Smashing Magazine)
- The Truth About Download Time
- 8 simple caching rules (ZDnet 2004)