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)