Overview

BackBlog is a collaborative movie playlisting app independently developed for both iOS and Android devices.

The app aims to make organizing movie watchlists easy and fun!

Users can:

  • Create movie logs solo or with friends
  • Search thousands of movies
  • Keep track of which movies have been watched
  • Generate random list orders to easily choose a movie
  • Discover what friends are watching
System

Both apps were developed independently on their native platforms.

System Diagram
System Diagram

The app operates seamlessly between iOS and Android devices. For example, if two users are viewing the same log on separate devices, any updates to the log will appear instantly on both devices.

User Interface

Here are a few core pages showcasing the app's user interface. I will discuss the reasoning behind this user interface in a later section.

Landing Page

Home Page

Log Page

Log Page

Results Page

Search Results Page

Movie Page

Movie Page

The full set of Figma prototypes can be found here

Background

This project was created by a group of five students over the course of an academic year as a senior project.

The first semester was dedicated to design. We spent this time planning the core functions of our app, prototyping the entire user interface with Figma, and making improvements based on feedback from user testing. I led my team through this design phase and created three iterations of UI prototypes.

The second semester was spent developing the apps. As both apps were to be developed independently on their native platforms (instead of using a cross platform development kit like Flutter), we decided to split our group into three teams: two on Android, two on iOS, and one working on the APIs. Our group held in-person standup meetings at least four times per week as well as a meeting with our professor once per week. Our tasks were divided and managed through Jira. User testing was also performed routinely throughout the semester to help us make improvements.

Responsibilities

As the lead UI/UX designer and developer, I was responsible for designing prototypes of the user interface and navigation flow, as well as directly developing the front end of the applications.

I chose Figma as the design tool for its generous free plan and straightforward collaboration features. The Figma mobile app also enabled our group to conduct user tests easily, as the presentation tool creates the illusion of the prototype being an actual application on the device.

Since development time was quite short, I chose Jetpack Compose for Android and SwiftUI for iOS. These declarative UI frameworks made development faster and more intuitive. Both enable the creation of reusable UI components in a manner similar to how React does.

I created the front end of both applications by defining reusable components for each page and connecting them to our API for dynamic data. I also occasionally provided the backend developers with insight as to how any given function of the app should behave to assist in their work.

User Interface: Continued

I developed three major iterations of prototypes, refining each one based on feedback gathered from user testing. With each iteration, the design became increasingly complex. The first iteration featured about 8 fully designed screens and menus, while the final iteration was expanded to over 20, reflecting the increased complexity and improvements made throughout the process.

Given the app's extensive feature set, it was essential to design it so that opportunities for confusion were minimized. I achieved this by maintaining consistency between pages and providing a clear visual hierarchy. Each page is structured into well-defined sections with appropriate headings in the same position on every page, ensuring a familiar navigation flow. Key functions on every page are behind buttons highlighted with a distinct light blue color, which contrasts with the background and makes them easy to recognize. It was also important that tasks and actions were streamlined so they can be done in as few steps as possible. Most tasks require no more than 3 clicks to complete. Users are given feedback via toast popups for success and error messages.

Progression

This straightforward design was not immediate and required several rounds of user testing and revisions. The first prototype merely served as a collection of rough ideas, while the final prototype is much more refined and better supports the needs of users.

First Iteration

The first iteration consists of only a few pages and allowed our group to experiment with how certain features of the app could be visualized. This example features two home pages, with the first showing a large "Up Next..." movie image and overlapping text. I later decided to separate these elements, as seen in the second home page, since the movie image was also clickable and redirects to a movie information page. With each part of this section separated, we can minimize accidental clicks.

First Iteration

Second Iteration

The second iteration features several improvements over the last. The "Up Next..." section now has larger buttons and a clear separation between title, date, and rating. Each log now also includes profile pictures for each user in the log, allowing users to easily distinguish logs.

Second Iteration

The logs in both prototypes can be scrolled horizontally to show all their entries. The log page can also be accessed by clicking their titles, giving users control over the log and making it easier to see its contents.

Final Iteration

The final iteration is a significant improvement upon the previous ones. Although horizontal scrolling on the home page enabled users to view log contents quickly, there was no simple way to include log features without it becoming overwhelming. Therefore, I opted for simple tiles that redirect to the log page for feature interactions. These tiles are draggable, with the top-left tile influencing the "What's Next?" section.

All buttons were changed to a bright blue color, creating contrast with the background. A swiping feature replaced check buttons, allowing users to swipe left on a movie to mark it as complete, moving it to a "Watched" section.

Final Iteration

The movie detail page also received an overhaul, now featuring a movie poster, background image, and streaming providers. While many more pages could be discussed, I am proud of the final product. User test results improved with each iteration, which was our ultimate goal.


Made with NextJS, React, and Tailwind