Yesterday I worked on cleaning up some papercuts. I learned that Sundays are going to be for papercuts. My weekly review is involved, and it takes most of the time I set aside for work.
Today I wanted to tackle search within TVLens. Along the way we added a few more things to get it there:
- complete search operators
- Fuzzy search (secondary search)
- User tags (see ADR 14)
Search (ADR 12)
Search covers title, original title, description, tagline, cast, crew, character, genre, network, tag, season name and episode synopsis. This is the first search function I have built. I expected it to end up slow. It surprised me. We will make it faster still.
I was able to test search really well because I expanded the catalog from 100 to 464 television shows. Growing it also pulled in a lot more trailers. We went from 4 shows with a trailer to 223. I did not write anything to make that happen. Every import checks for a trailer, so the shows missing one picked it up on the way through. That expansion turned up a bug I did not know I had. Re-importing shows already in the database failed. TMDb changes the IDs it hands out for seasons and episodes, and my importer trusted them to stay put. I had never run it twice against the same data, so it never came up (see ADR 13). We built a good foundation for search. Tomorrow I want to polish the rougher edges and the UI.
Fuzzy search
Many users will not know exactly what to search for. Others will misspell a name or a show. For example, I typed Beaking Bad and Breaking Bad still came up as a result.
User tags
I also built in tags. They refine the recommendation scope based on how we describe shows. For Sons of Anarchy I added motorcycle gangs. In the future motorcycle gangs becomes a universal tag. Shows carrying it can turn up as a recommendation, or you can search for it directly.
Other Things
- I removed the search bar from the navigation bar on the search page itself. That declutters the UI. One search box instead of two.
- We made minor changes to text and toggles throughout.
- We also added your own tags to the bottom of the ‘My Ratings’ page.
It was fun building out the foundation of search. Tomorrow I look forward to refining the UX.