Cast Instant Answer
For a long time, we've known at DuckDuckGo that one of the most searched for things is the cast members of a tv show or movie. Whilst we intended to produce one of our instant answers (IAs) for this (the special module we present instead of a typical text link), we didn't have a flexible or reusable module that would provide the rich content we wanted.
I was tasked with leading the design-portion of this project, working as a tight unit with a backend engineer and frontend engineer, to ship a fully functional MVP to our customers.
Summary
I worked closely with a backend and frontend engineer, with a focus on finding the most minimal shippable idea we could, that would not restrict future development. What we landed on was a simple cast grid that showed the top 5 (with the ability to expand to the top 10) cast members of a given movie or TV show.
One of the most complex parts of this task, was working to find solutions when cast members didn't have images. APIs are complicated, and you can't often guarantee you'll get all the data you need from a single source. Whilst we were able to capture the important data from IMDb's API, we learnt that they scrape the images themselves from a source, and therefore don't provide them in their data. As such, we needed to source our own images and create a symbolic link between our data.
Despite having great coverage, we couldn't always guarantee we'd have images. This is particularly true of obscure movies or older movies where actor/actress imagery is limited.
A common search query might be for, say, Terminator 2 which returns the full cast set and what we'd expect. But, in certain cases, we had to come up with a different UI to cater for the obscure movie outputs. So to solve for this, we ended up with what we dubbed the 'grid-list' view (see an example here).
This 'grid-list' allowed us to cater for when we had little to no main characters with images, but without resorting to a giant grid of placeholder images. We could then also drop the odd image we had in there, if we had it.