TVBuddy

Client Problem

Developer Problem

Impacts

User Problem

Users

Yoo-min

Ali

Reginald and Florence

Implement Usability Principles for Elderly and Younger Children

Wants some way to save which movies he wants to see (Implement a watch list)

Wants to be able to see more Korean movies (Implement a filter that can sort by country)

Competitor Apps

Netflix

Disney+

Client Requirements

Constraits

3 weeks of development time

Limited to Mobile User Interface

Find movies to watch based on search criteria

View relevant information about movies

Add and remove movies on their watchlist

View a list of all movies on their watchlist

Implement "Watch Later" button (Set field as Boolean)

Implement Search Bar (Uses select query)

Implement "Watch Later" screen (Displays all "Watch Later" movies chosen by the user)

Target Demographics

13+

User Interface (UI)

Coding Environment

Data

Key Algorithms

Development Tools

Search Query to find movies (select query)

Choose movies to "Watch Later" using a button (update query)

Data Storage and Retrieval

SQLite3 Database (moviemeta.db) (Digital Data Store)

Excel Database (movies.csv or movie_metadata.csv) (Transient Data Store)

App Data

Fields (fieldName, datatype)

movie_name, varchar(50)

director_name, varchar(50)

runtime, int

genres, varchar(20)

imdb_link, varchar(255)

language, varchar(20)

country, varchar(20)

content_rating, varchar(5)

year, varchar(4)

imdb_score, float

Data Sources Options

movies.csv

movie_metadata.csv

Pros

Cons

Pros

Cons

Features

Usability Principles

Require movie ratings (PG-13)

Filter by (Content Rating, Country, Genres, Language, Year) (select query)

Terminal

Language: SQL

Has more fields that allows for more filtering options for the user

A lot of unnecessary fields and data that will be deleted during normalisation

Less normalisation required due to having less fields and less redundancy

Includes the same fields as movies.csv and has even more

Shows the movie's Name, Theatrical Poster and Rating on the Home Screen (Prescribed)

Search Bar that uses "select" query to search for results (Prescribed)

Show the selected movie's: (Prescribed)

Filter that uses "select" query to show specific results (Self Determined)

Runtime

Genre(s)

Language(s)

Theatrical Poster

Movie Name

Director

Rating out of 10

Content Rating

Year of Release

Country of Release

IMDB Link

Allow the user to choose the order of the grid in the Home Screen (Accessibility)

Have 4 screens (Home, Movie Details, Watchlist, Settings) for simplicity (Effectiveness, Utility)

No In App Purchases (Safety)

Allows users to have a permanent watchlist

Increased usage of streaming services

Does not have all the fields that the developer would prefer to use

Save and record users' favourite genres and recommend more movies

Update the database if a movie has been selected into the watchlist

Allows users to select movies to "Watch Later" and put them onto a watchlist (Prescribed)

See 'Features' for relevant information

A watchlist that allows users to see all the movies they have chosen to "Watch Later" (Prescribed)

Screens

Movie Screen

Watchlist

Home Screen

Settings

Allows users to change the order of the matrix shown in the Home Screen

Uses a Hamburger Menu to move between Home, Watchlist and Settings Screens (Self Determined)

Entered by tapping on a theatrical poster

Excel Spreadsheet

Allow users to filter the movies they want to watch (Effectiveness, Utility)

Icons used should be from SF symbols to allow users to recognise them better (Effectiveness)

Matrix order should be small enough to allow users to clearly identify the theatrical poster (Accessibility, Effectiveness, Safety)

Recommends movies based on users' approval of previously watched movies

Most likely keeps tracks of a previously watched movie's genres to continue recommending other movies to users

Kids Section

Has multiple watchlists

Many types of filters

Primary Keys

movie_name

year

Show only "Watch Later" movies (select query)

Filter movies by their Content Ratings

Splits content into 'Movies' and 'Series'

Only particularly useful if database includes TV shows

Sorts movies into popular franchises (If applicable)

Marvel

Star Wars

Disney

Pixar

synopsis, text

Uses user preferences to recommend movies to them (Prescribed)