Project Overview
Memory Lane is an Android mobile application designed for people with dementia, particularly the elderly, to help them engage in reminiscence therapy. The app uses quizzes featuring images and videos of people, places, and objects to spark memories. With this approach, it aims to reduce cognitive decline, helping users feel more connected to their past while strengthening their cognitive skills.
Objective and Vision
The Memory Lane project was built with the goal of improving the lives of people diagnosed with dementia by encouraging cognitive recall through reminiscence therapy. The project aimed to create an intuitive and supportive tool that caregivers and families could use to help patients reflect on positive memories, enhancing their mood, self-esteem, and reducing anxiety. The app focuses on ease of use for elderly users, with a simple interface, text-to-speech features, and multi-language support.
The ultimate goal is to create an interactive experience that combines therapy with fun and engagement, fostering a sense of connection to memories and loved ones.
Tools and Technologies
Memory Lane employs several technologies to achieve its goals:
- Android Studio: The IDE for developing the Android application.
- Firebase: Real-time database to store user data such as quiz questions, images, and audio files.
- Google Text-to-Speech API: Supports users who may have difficulty reading by reading questions aloud.
- Image Picker Library: Allows users to upload images and videos for quiz questions.
- MPAndroidChart Library: Displays results with charts for user progress in recognising individuals and objects over time.
Key Features
Quiz
Memory Lane’s core feature is a quiz that helps users reconnect with their memories. Users are asked to identify people or memorabilia shown in images or videos and answer questions related to them. Each question has multiple choices, and hints are provided if the user struggles. The goal is to reinforce memory retention through repeated interactions.
Text-to-Speech (TTS)
To assist users with moderate or severe dementia, Memory Lane integrates text-to-speech (TTS), ensuring that every question, answer, and hint is read aloud. This feature is designed to improve accessibility and support users who may find reading difficult.
Questions Creation
Caregivers or family members can create custom quiz questions by uploading their own images, videos, and audio files. This personalisation makes the therapy more effective by using familiar content. Audio can be recorded directly through the app.
Database Integration
All quiz data is stored securely in Firebase, ensuring it can be accessed on any device. Users need an internet connection to download new quizzes or upload their custom content.
Multi-language Support
To cater to a diverse user base, Memory Lane supports five languages commonly spoken in Canada: English, French, Mandarin (Taiwanese and Mainland), Cantonese, and Punjabi. The app automatically selects the preferred language based on the phone’s localisation settings.
Spaced Repetition
The app uses a spaced repetition system to enhance memory retention. Question sets that users struggle with are presented more frequently, giving users additional opportunities to reinforce their memory of those items.
Challenges Faced and Solutions
Working on Memory Lane presented several challenges, both technical and organisational. For most of us, it was our first time working as a team on a project of this scale. Many of my teammates had no prior experience with Java, and none of us had used Android Studio before. On top of that, we all had to quickly get up to speed with Git for version control, which was completely new for everyone. Learning how to coordinate and collaborate efficiently was another major hurdle, as we struggled with conflicting schedules that made team meetings and task delegation difficult.
To overcome these challenges, I took the initiative to lead the team. I invested time in rapidly learning Git and GitLab, and explored how we could use it to manage tasks, milestones, and issues effectively. By ensuring that everyone was on the same page with version control and project management, we were able to avoid major setbacks that could have occurred due to miscommunication or mishandling of code changes. I also made efforts to create a more flexible and adaptive work schedule that allowed us to accommodate each team member’s availability.
Takeaways and Insights
This project taught me invaluable lessons, both technically and in terms of leadership. Since I had experience with Java from my highschool course, I was able to extend that knowledge to learning Android development. I quickly realised that knowing the language wasn’t enough; I had to adapt my existing skills to a completely different environment and ecosystem. I learned how to make the most of external libraries like the Image Picker, which allowed us to implement certain features without having to reinvent the wheel.
Beyond the technical aspect, this project honed my ability to manage a team. With no prior experience leading group projects, I had to quickly learn how to coordinate tasks, set clear milestones, and maintain progress. I found that regular communication and keeping everyone motivated were key to ensuring steady development. I also gained insights into user testing, learning from my teammate how to perform it and use the feedback from actual users to identify bugs and improve the user experience. Overall, this experience taught me not just how to build an app but also how to guide a project from start to finish while dealing with challenges both technical and interpersonal.
Team and Contributions
-
Andrei Harbachov: Project Lead, Developer & Tester
-
Felicia Samatha: Designer, Developer & Tester
-
Karanbir Singh: Developer
-
Yuling Su: Developer
-
Yulong (Lucas) Wu: UX/UI Designer & Developer