Planning the feature
Let's talk through the tradeoffs of different approaches to the new Video Views feature.
Every new feature has a 6-month version, a 6-week version, and a 6-day version.
In the case of this new feature, there's plenty of ways we could approach it:
- filtering videos on the homepage or Videos page by whether a user has watched them
- creating a new menu option on the main nav dropdown that shows "My EmberMap" with a user's watched videos
- creating a new route dedicated to displaying the user's watched videos
After talking through our options, we land on a minimal version of this feature that will prove useful to users: adding a checkmark to our existing Video Listing component.
The listing component already exists, and already supports icons. If we can update it to show a subtle checkmark, users should be able to quickly scan a series and see which videos they've watched.
The approach we take also has implications for how we load data and how we render the page, including what work is done on initial render and what's done lazily, as well as how FastBoot can render and cache the page. Pages with user-specific data are harder to cache.
By keeping our new UI feature limited to the Video Listing component, we should keep the majority of our page renderable by FastBoot and easily cacheable.