Problem Space 

Have you ever lost an important screenshot right when you needed it most, like boarding a flight? We did too. The frustration of sifting through a cluttered camera roll, hunting for receipts, documents, or travel details, is a common headache. We found that existing apps were either not user-friendly or lacked intuitive designs, making them cumbersome to use. We hypothesized that there is an unmet market need with pain points that we could solve for and help improve by leveraging AI to this problem area. This led us to the following problem statement: 

How might we help everyday smartphone users remember and organize their screenshots so that they can refer to information in the screenshot afterwards?

Problem Background  

With the increasing reliance on digital content and frequent use of screenshots, managing and accessing these images has become more challenging. Users need an automated solution to organize and remind them about their screenshots, reducing clutter and improving information retrieval. Addressing this issue now can significantly enhance daily workflows and reduce cognitive load from managing digital clutter.

Research indicates that disorganization leads to cognitive overload and stress, as users struggle to find information. Additionally, qualitative assessments of smartphone use reveal that users experience frustration and decreased productivity due to the clutter in their photo galleries (Smith et al., 2018).

User Pain Points & Research Insights

To validate our hypothesis, we conducted an initial market research survey using Google Forms and received 25 responses from a diverse group of participants across various age groups and professional backgrounds. The goal of these interviews was to understand if and how users interact with their screenshots, identify the difficulties they face, and explore potential solutions to enhance their experience.

Based on the responses, we found that:

  • An overwhelming majority (95%) take screenshots multiple times a day or at least once a day.
  • Users typically search for screenshots by manually browsing through the gallery or remembering the approximate date the screenshot was taken.
  • Users frequently misplace important screenshots due to volume and lack of organization.
  • A significant number feel overwhelmed by the number of screenshots they have

Forms response chart. Question title: How do you feel about the current default screenshot organization method on your device?. Number of responses: 25 responses.

Forms response chart. Question title: What features would you like to see in a screenshot organization app? (Select all that apply). Number of responses: 26 responses.

➤ Check out our Affinity Map.

The main takeaway was that users needed a way to easily access important information stored in screenshots, which are often hard to find due to clutter and disorganization. Users expressed significant frustration with locating specific screenshots later on, which hindered their efficiency. One user emphasized that an easy way to access screenshots would save considerable time and boost productivity.

We then identified the following key pain points:
  1. Forgetting Screenshots: Users often forget about their screenshots and forget to organize them, leading to missed information and frustration.
  2. Disorganization: The accumulation of numerous screenshots leads to cluttered storage, further complicating the retrieval process.
  3. Storage Issues: Large volumes of screenshots take up significant device storage space.
  4. Time-consuming- Users spend a significant amount of time managing their screenshots, which could be better spent on other tasks.
  5. Cumbersome Organization Methods: Existing manual organization methods are not user-friendly or lacked intuitive designs. 

Feedback

Our user feedback revealed that the need to manage screenshots extends beyond specific groups like travelers or students to a wide range of smartphone users, including busy professionals, parents, and tech-savvy individuals. This expanded our focus to help a broader audience. By addressing common pain points such as forgetting, disorganization, and user-friendly interface, we aim to create a versatile solution that enhances productivity and simplifies digital management for all smartphone users.

User Persona 

While our ultimate goal for Screensort is to serve all everyday smartphone users,we chose to first concentrate on addressing the needs of Carmen Ellington, a travel connoisouer. She loves traveling but struggles with organizing her travel documents. She seeks a solution to easily manage and access important information, ensuring a smooth and stress-free journey. With Screensort’s automated folder organization, Carmen’s pain points can be resolved as her travel documents will be neatly categorized, saving her time and reducing stress of looking through a cluttered camera roll during a critical time. 

Solution Explanation

Based on the users’ pain points, we identified numerous potential features. To determine which would benefit users the most, we created a prioritization list. 

For our MVP, we chose to implement the following features:

  • Access and Manage Screenshots: Enable the app to access and manage screenshots within the camera roll.
  • Manual Categorization: Implement manual sorting to relevant folders to organize screenshots. 
  • Onboarding Experience: Provide clear instructions and guidance for an easy onboarding process.
  • Reminder System: Set up reminders to review screenshots in a timely manner.
  • Error Messaging: Display error messages to help users understand and resolve issues.

Lofi & Hifi Mockups

Iterative Design Learnings

We conducted a usability test to evaluate how users interact with and perceive the Screensort app. Participants were asked to perform specific tasks, such as interacting with specific elements and creating new folders. Afterward, they were prompted with a series of questions to help us identify areas that might need clearer expectations and improve the overall experience. For example, 

to determine whether users found the app user-friendly and easy to understand, we specifically asked if they understood terms like 'snooze.' Additionally, the usability test helped us understand what additional functionalities users would like to see, get feedback on the app’s aesthetic and usability aspects, and gauge the user's overall experience and satisfaction with the app. 

Most users found the app easy to navigate and appreciated the clear instructions which contributed to a positive experience. They were generally satisfied with the app's core functionality, though improvements in performance and additional features were desired.  Overall, users expressed a positive reception but noted areas for enhancement to maximize the app's potential.

Technical Implementation Details

Where is it hosted?
  • Our mobile app is being developed to manage files locally; it does not connect to any hosted services. As it is still in development, it is not available on any app stores, but the code can be viewed at our GitHub repository: https://github.com/jamesmbcarlson/CoLab_Screenshots
What is your tech stack?
  • Screensort is being developed with the Android Studio IDE, using Java.
High level journey of a request
  • We began development using Python, the coding language both developers were most familiar with, and the Kivy framework, which can be used to develop mobile apps using Python. As we continued to develop with Kivy, it became clear that Kivy was too limited for our development needs. 
  • We pivoted away from Python and Kivy and instead turned to Android Studio, so we could ensure we could get a working version of the application to run on Android, the mobile OS of choice for both developers. To effectively utilize Android Studio, we switched to Java, a new programming language for the developers.
  • Similarly, early in development, we pursued sorting the screenshots using image classification (using the ultralytics YOLOv8 deep learning model), but as we became more familiar with the technology, it became evident that sorting any screenshot a user may take was way too broad a dataset to reliably categorize, so we had to pivot away from this too. 
  • With limited time remaining, we focused on getting the core features of the application running before investigating other methods for automated sorting.

Technical Challenges

What was the hardest part of development?
  • As outlined in the high-level journey described above, we started development with different tools, languages, and objectives then we ended up with. These pivots were necessary, but definitely created the biggest obstacle in our development process, and ultimately created more work for us. After the time spent with our first iteration, we had to start from scratch with a new tech stack.
Does your app have any scaling issues?
  • The application mostly deals with its data, creating and managing lists, so it should be able to handle fairly large libraries of screenshots.
What are some key takeaways?
  • Choosing the correct tech stack from the beginning is critical, and we would have benefited greatly from choosing technologies with which we were already familiar.

Future Steps 

We will not be continuing the development of Screensort, but we are immensely grateful for the experience and the learning opportunities we gained throughout the journey. If we were to continue development, we would leverage the valuable feedback from the MVP to better meet user needs.

A significant 96% of users expressed a strong desire for automatic sorting of screenshots into relevant folders. Therefore, our next step would be to develop and integrate AI algorithms to automate this process, enhancing user convenience and efficiency. Additionally, we would prioritize improving the search functionality, enabling users to quickly locate screenshots by keywords, dates, or tags, as this feature was highly requested based on user feedback.

Learnings

Product Manager Learnings:

Arshana Arumugarasan

I learned how to effectively collaborate with a diverse team, each member bringing unique ideas and perspectives to the table. This experience taught me the importance of prioritizing features and breaking down the project into manageable increments. By focusing on delivering smaller, functional pieces of the product iteratively, we ensured continuous progress and avoided the risk of ending up with an incomplete product. This approach not only fostered a more cohesive team dynamic but also allowed us to adapt to feedback and make necessary adjustments along the way, ultimately leading to a more refined and user-centric final product.

Designer Learnings:

Sloane Shearer

Co.Lab really boosted my confidence in my skills. I was able to practically see how much I can offer a product team.

Designer Learnings:

Jo Sturdivant

  1. Adapting to an Established Team: Joining the team in week 6 of 8 was challenging, as I had to quickly adapt to existing workflows, dynamics, and goals. This mirrors real-world situations where you often integrate into teams mid-project, and flexibility is essential.
  2. Work-Blocking for Efficiency: With only two weeks to complete the project, I learned the importance of a structured work-blocking system. This approach allowed me to manage my time effectively and meet deadlines under pressure.
  3. Making Data-Driven Design Decisions: Unlike my past projects, I had to rely on research conducted by others. This was a valuable experience in using pre-existing data to guide design decisions, helping me focus on the core insights without starting from scratch.

Developer Learnings:

James Carlson

I really appreciated my team’s flexibility and understanding as we ran into obstacles that required adjustments and pivots, and found it valuable to have experienced that difficulty. Ultimately, I wish I had pushed for a smaller scope in our project, but I’ve learned to better communicate my own limitations and abilities.

Developer Learnings:

Vanady Beard

&

As the back-end developer, I learned how important it is to create efficient and reliable systems that support the entire application. This experience also taught me the importance of optimising the database and ensuring the backend is scalable and easy to maintain.

Developer Learnings:

Stephen Asiedu

&

As a back-end developer, I've come to understand the importance of being familiar with various database systems and modules. This knowledge enables me to build diverse applications and maintain versatility in my work. I've also learned that the responsibility for making the right choices rests on my shoulders, guided by my best judgement.

Developer Learnings:

José Garrido II

&

I found this to be a good experience, learning how to work with a team and finding our own way. I learned that I need to manage expectations, and communicate my own abilities.

Developer Learnings:

Maurquise Williams

&

  1. Process of Creating an MVP: Developing a Minimum Viable Product (MVP) taught me how to focus on delivering core functionalities balancing between essential features and avoiding scope creep.
  2. Collaboration in a Real-World Tech Setting: This experience taught me how to collaborate efficiently in a fast-paced tech environment, keeping the team aligned and productive, even while working remotely across time zones.
  3. Sharpening Critical Thinking and Problem-Solving Skills: This experience honed my ability to think critically and solve problems efficiently. By tackling challenges and finding quick solutions, I sharpened my decision-making and troubleshooting skills in a dynamic, real-world setting.

Developer Learnings:

Jeremiah Williams

&

All in all this experience was very awesome I learned that in coding with others being transparent is key

Developers Learnings:

Justin Farley

&

I learned how important communication is when working with a team. Communication provides understanding, advice, ideas, and much more. While working with the product team, I’ve found that communication keeps everything flowing smoothly. Working with a team also showed me that every member brings something different to the table and we all have to work together in order to align and meet our end goal.

Full Team Learning

One of the most significant takeaways was the importance of collaboration and effective negotiation. Open and honest communication allowed us to harness the diverse ideas and perspectives within our team. This collaboration was crucial in identifying and prioritizing the essential features of our product, ensuring we stayed within the project scope and that every team member felt heard and valued. Another key lesson we learned was the importance of staying adaptable. In a dynamic development environment, things often didn't go as planned. By remaining flexible and open to change, we quickly learned to pivot and adjust our approach when necessary. This adaptability allowed us to overcome unforeseen challenges and continue making progress towards our goals.