Please enable JavaScript.
Coggle requires JavaScript to display documents.
eiga old - Coggle Diagram
eiga old
Client problem :clipboard:
Requirements
Data
Must retrieve and display movie records based on search criteria
Must update movie records to indicate if a movie is on a user's watch list or not
Display all movies currently on a user's watch list
UX
Must be accessible on mobile devices
Should feature a responsive interface that meets the usability and accessibility requirements of the intended user group
Code
Should include an algorithm to retrieve records from the movies database based on search crtieria
Should include an algorithm to update the movie database with watch list data
Purpose
Should help individuals keep track of what movies they want to watch in the future
Users need to be able to create and edit a personalised 'watch list'
Users can search for movies they want to watch
Users need to be able to view information about movies
Constraints
Must be a mobile app -- will be primarily developed and designed for iPhones/smartphones, but the interface should be easily transferable to iPads/tablets as well. Both are suitable but the app will probably be used more often on phones because adding movies to a 'watch list' is something you would do while you are somewhere you can't immediately start watching a movie (i.e. out and about).
Up to 3 weeks to design and develop a low-fidelity prototype and generate the data and SQL components
Comparable + competitor apps
Taste: Movie & TV Reviews
Offers quiz to gather information about user's interests and preferences and is used to generate personalised recommendations and find users with similar interests
Allows users to search movies and view all the relevant information about them
User can easily browse movies by mood or genre
Shows 2 review scores for each movie: one from all users, the other from users that have similar interests and preferences to the user
IMDb app
Provides information about movies including where they can be watched/streamed, trailers, ratings, and critic reviews
Allows users to rate the movies they've watched
Allows users to built a watchlist -- this is filterable and sortable
Provides personalised recommendations for shows and movies
Allows users to create and share playlists of movies, shows and celebrities
Dark UI to suit the 'cinema' theme of the app
Users want ways to record movies they have already watched, but this is not provided in the app
Users are frustrated that search bar takes more than 1 tap to get to -- they claim it is the feature they use most frequently, so they want to be able to access it very quickly and easily
Developer problem :computer:
User interface
Usability principles
Tabbed app —
Features
Search / browse
Search bar at top of page -- their search term is checked against movie titles, plot keywords, actors, and director
When nothing is being searched, a list of genres is shown (collection view) -- user can click on one to browse all movies tagged with that genre
Search results should be ordered by relevance: results with search term in the movie title should come first, then genres, then actors/director, then plot keywords
Ability to sort the search results by title, year, critic score or user votes
Clicking on a result should open a new page with all the necessary information about the movie (including button to add to watchlist and checkbox for whether the user has viewed it already)
Recommended
Button to retake interests + preferences quiz
Lists movies (collection view) that have the appropriate plot keywords, genres, actors and directors -- separated into 2 sections: the first based on the user's interests and preferences (start-up quiz) and the second based on the movies that the user has already watched
Watchlist
Lists all the movies the user has added to the watchlist
Ability to sort by title, year, critic score or user score
On first launch
Interests + preferences quiz: asks user to pick which genres they enjoy, whether they care about movie duration, what languages they want to watch movies in, and their favourite actors and directors
Coding environment
Development tools
For UI design: Adobe XD
For database: SQLite (and terminal)
Language: SQL, Swift (if fully developed)
Key algorithms
Movie searching: the search query needs to be checked against the movie titles, genres, actors, director and plot keywords
Results and watchlist need to be able to be sorted: either by title, year, critic score or user score
Recommended movies: need to select movies that have the same genres, language, duration (if the user has indicated that it matters), actors, directors -- all recommendations should also have a relevantly high user rating.
Button for adding/removing a movie to the watchlist -- needs to update database (change the value in the 'in_watchlist' field)
Button to mark a movie as watched -- needs to update database (change the value in the 'user_seen_before' field)
Need to store user preferences, including languages, liked genres, whether they don't want to watch longer movies, favourite actors and favourite directors -- this would be done in a separate table (?????????????????)
Data
Data source options
movies.csv
Pros
Contains information about each movie's country, director, genre, age rating, critic score, votes, writer, release date, runtime, main star and year -- all of these would be important for the user or for providing recommendations
Each field only ever has 1 value -- this simplifies the normalisation process
Cons
Unnecessary fields such as budget
Only way to sort movies depending on interests is by the genre field (which only contains a single, vague term)
Ambiguous fields such as 'votes' and 'score'
movie_metadata.csv
Pros
'Plot keywords' field will be extremely useful for searching and generating user recommendations
Essential information provided such as country, age rating, year, and duration
Other useful fields provided such as number of reviews (both critic and user), the names of the main 3 actors + their facebook likes, a link to the movie's IMDb page, the language, and the movie's facebook likes
Cons
Unnecessary fields such as whether the movie is in colour, budget and the number of faces in the poster
Multiple values in some records -- will require extra steps in normalisation
Some records have missing information (data is incomplete)
Required app data
movie_name
director
duration
genre
plot_keywords
actor_name1 (and 2,3)
critic_score
user_votes
language
content_rating
in_watchlist
user_seen_before
year
Data storage and retrieval
Will be stored in an SQLite database
Databased will be generated by importing data from a .csv file into an SQLite database
User problem :confused:
Reginald + Florence (retired seniors)
Often get movie recommendations from friends
Can't remember friends' recommendations
Yoo-min (fluent in English and Korean)
Wants to watch movies from a variety of countries
Finds that international movies are not often recommended in other movie recommendation apps/services
Open to watching movies in any language
Ali (busy executive & movie-lover)
Time poor so app needs to be quick and easy to use
Does not have much time to watch movies so might care about movie durations
Wants a 'queue' or 'watch later' feature so he can create a list of movies he'll save for when he does eventually get time to himself
Ratings are important because he does not want to waste time watching sub-standard movies
Impacts :warning: