HBO.com is the face of all HBO shows and movies and a destination for anyone interested in their content. However, its Search functionality was malfunctioning and inaccurate. As part of a larger CMS re-platform, we redesigned Search, basing it on past user behavior and content models. We then developed and iteratively refined this functionality. As User Experience Lead, I analyzed current behavior and user needs and led an iterative, ground-up design effort. I also closely collaborated with developers on building, testing and fine-tuning Search performance.
I analyzed the existing Search functionality, particularly internal Search data. Because of Search’s poor internal performance and the corresponding unreliable data, I added incoming organic Google search data to my analysis. I mined this combined dataset as well as HBO’s substantial institutional knowledge to discover baseline user needs, combining the CMS content model and the site IA to outline a Search strategy.
Search analytics were necessarily constrained by the current (limited) functionality of the search engine. Thus, defining improvement was only going to lead to a local maximum rather than an order-of-magnitude improvement. Since bigger picture improvement was my goal, I had to augment search analytics data, using it sparingly as a benchmark.
Unlike the design of a traditional UI, the primary input interface was language, which is notoriously loosely defined, but also enormously powerful. In addition, the backend system (in this case Elastic Search) had to be tuned with appropriate prioritization to generate expected results. Both of these raised several challenges which required me to change my traditional design approach.
Since the user input was language, the possible range was infinite in size and in complexity. Mapping all potential user-inputs to results was impossible. Instead, I started with what the system could understand and retrieve and worked backward to potential user-input.
Unlike the process for more closed-ended systems, the testing phase for this project was necessarily a longer and detailed effort. I repeatedly tested the evolving Elastic Search system against our design document while tweaking the system to better match our expected results. In some cases, we tweaked the design to accommodate for the system’s behavior.
Design for such a fuzzy information-retrieval system needed a lot more than just defining inputs and outputs. Instead, I had to reconfigure my expectations from purely deterministic to more probabilistic results, iteratively tweaking weightings and testing queries to reach a fair balance.