Features and Testing Report - Sri01729/DHVANI GitHub Wiki
Current State and Intended Goals
1. Project Overview
Dhvani is an innovative music streaming service crafted to offer a personalized listening experience by adjusting playlists not only to the user's mood but also incorporating environmental factors such as weather and location. By developing sophisticated algorithms, Dhvani aims to revolutionize user interaction with music, ensuring every listening session is uniquely tailored to the individual's immediate context and emotional state.
Purpose
Dhvani's primary goal is to provide a deeply personalized music streaming experience that dynamically responds in real-time, delivering soundtracks that perfectly align with the listener's environment and mood. This innovative approach aims to elevate user engagement with music and introduce a new layer of personalization within the music streaming industry.
Target Users
Dhvani targets a broad spectrum of music lovers who desire an enriched and dynamic listening experience. This includes users who are:
- Active individuals or those frequently outdoors, needing music that resonates with their changing surroundings.
- In search of music that mirrors their current mood, whether for relaxation, concentration, or socializing.
- Eager to explore music that suits their tastes and situational context without the hassle of manually selecting songs.
Key Functionalities
- Mood Detection: Employs user input and contextual analysis to determine mood, tailoring the music selection accordingly.
- Environmental Adaptation: Leverages weather and location APIs to adapt playlists that complement the prevailing environmental conditions.
- Location-Based Music: Curates playlists featuring music that reflects the culture or artists from the user’s current location, offering an immersive experience that connects listeners with local sounds and rhythms.
Intended Goals
By this juncture in the semester, my objectives for Dhvani included:
- Core Algorithm Development: Finalizing the initial version of the algorithm that integrates mood detection with environmental factors for personalized music selection.
- User Interface (UI) Design: Introducing a user-friendly and intuitive interface for effortless navigation and music control.
- Mood Detection Integration: Implementing functionality for mood detection based on user input, by selecting the mood with the button.
- Weather and Location Adaptation: Achieving successful integration with weather and location APIs to tailor playlists according to current environmental conditions.
- Location-Based Music: Developing the capability to offer playlists that resonate with the listener's current location, featuring local cultural music or artists.
Achieved vs. Intended Goals
I have effectively developed the core algorithm and crafted an intuitive UI. The mood detection feature is operational but requires further refinement for enhanced accuracy. Weather and location adaptation is functional but continues to be fine-tuned for more precise playlist personalization. The location-based music feature has been partially implemented, with ongoing efforts to expand the music database to cover a wider range of locations and cultural sounds.
Learnings
The gap between the intended goals and what I have achieved thus far has highlighted the challenges in accurately capturing and integrating mood, environmental factors, and location-specific cultural music into the personalization algorithm. These experiences have emphasized the value of iterative development and the necessity for continuous improvement based on user interactions and feedback.
2. Implemented Features and Discrepancies
Implemented Features
Throughout the development phase of Dhvani, several key features have been successfully implemented, contributing significantly towards achieving my vision of a highly personalized music streaming service. These features include:
- Core Algorithm Development: I have finalized the initial version of the sophisticated algorithm designed to personalize music selection by integrating user mood detection with environmental factors such as weather and location.
- User Interface (UI) Design: A user-friendly and intuitive interface has been introduced, facilitating effortless navigation and control over the music experience, making it accessible to a wide range of users.
- Environmental Adaptation: Through successful integration with weather and location APIs, Dhvani can now adapt playlists to complement the prevailing environmental conditions, offering users a seamless and contextually relevant listening experience.
- Location-Based Music: I've initiated the development of the location-based music feature, which curates playlists featuring music that reflects the culture or artists from the user’s current location, enhancing the immersive experience Dhvani aims to provide.
Discrepancies
While significant progress has been made, there are discrepancies between some of my intended goals and the outcomes achieved so far. These discrepancies, along with the lessons learned, are detailed below:
-
Environmental Adaption: Making the music playlist mapping with the weather condition of the location is kind of tough. The type of weather defined by the API has limited weather descriptions which affects the curation of the personalized music playlist.
- Lesson Learned: This challenge underscored the importance of API and also the music playlist that rely heavily on API JSON data.
-
Complete Location-Based Music Implementation: Although partially implemented, the location-based music feature has not been fully realized to the extent I envisioned at the start of the semester. Expanding the music database to cover a wider range of locations and cultural sounds has proven to be more resource-intensive than initially estimated.
- Lesson Learned: The development highlighted the need for more in-depth market and music industry research before setting implementation timelines, especially for features that require extensive content curation and partnership with music rights holders.
These discrepancies have been instrumental in refining my approach to feature development and implementation. They have emphasized the need for continuous iteration, user feedback, and adaptability in the development process, ensuring that Dhvani evolves to meet its goals effectively.
3. Test Plan Summary
Overview of Test Plan
To ensure Dhvani provides an optimal user experience and meets the high standards for functionality, performance, and accessibility, I executed a comprehensive test plan that covered the following areas:
- Functionality Testing: Verified that all features work as intended across different devices and browsers.
- Accessibility Audits: Conducted using tools like Lighthouse to ensure the app is accessible to users with disabilities, adhering to WCAG guidelines.
- Speed Testing: Utilized Google PageSpeed Insights to assess the loading times and overall performance of Dhvani on both mobile and desktop platforms.
- User Experience Testing: Gathered feedback from real users to evaluate the app's usability and how intuitive the navigation and features are.
Test Results
- Functionality Testing: Dhvani's core features, including mood detection and location-based music selection, performed well across all tested browsers and devices. However, some minor issues were identified with the environmental adaptation feature under specific conditions.
- Accessibility Audits: The application scored 85 out of 100 on AXE, highlighting areas for improvement in color contrast and keyboard navigability.
- Speed Testing: Dhvani achieved a score of 100 on desktop and 80 on mobile in Google PageSpeed Insights, indicating excellent desktop performance but suggesting the need for optimization on mobile devices.
- User Experience Testing: Feedback was overwhelmingly positive regarding the intuitive design and functionality. Some users suggested to give user manual for the website.
Desktop and Mobile
Generative AI Summary
Dhvani has shown promising performance across functionality and user experience testing, with robust features that resonate well with users. Accessibility and mobile speed performance have been identified as areas needing improvement. Specifically, enhancements in color contrast, keyboard navigability, and mobile loading times are necessary to elevate the user experience to meet all accessibility standards and optimize performance across all devices.
Learnings
The test results have been instrumental in pinpointing the strengths and areas for improvement within Dhvani. The insights gained highlight the importance of continuous optimization for accessibility and mobile performance to ensure an inclusive and seamless experience for all users. Moving forward, I will prioritize addressing the identified issues in color contrast, keyboard navigability, and mobile optimization, alongside refining the mood detection feature based on user feedback. These improvements are essential for achieving the goal of providing a universally accessible, fast, and highly personalized music streaming service.
4. Project Finalization and MoSCoW Analysis
As project deadline is approaching, I plan to implement a series of features and improvements that will enhance the overall user experience and solidify the service's value proposition. Below is a MoSCoW analysis that categorizes these features by their level of priority.
Future Features
The following features are earmarked for implementation before the project's completion:
- Enhancement of the environmental adaptation logic for more accurate playlist curation.
- Expansion of the location-based music database to include a broader spectrum of global music.
- Refinement of the core recommendation algorithm to improve the precision of mood-based music suggestions.
MoSCoW Analysis
Must-Haves
- Personalized Music Recommendations based on Weather: Core functionality providing music tailored to current weather conditions.
- Mood-based Music Recommendations: Ensuring users receive music recommendations aligned with their current mood or emotions.
- Location-based Music Recommendations: Delivering music suggestions reflecting the user's geographical location's ambiance or culture.
Should-Haves
- User-Friendly Interface: An intuitive interface that is easy to navigate, facilitating a seamless user experience and enhancing user engagement.
Could-Haves
- Automatic Playlist Generation: The ability to automatically generate playlists based on a combination of weather, mood, and location factors.
Won't-Haves
- Social Sharing Features: Social media platform integrations for sharing playlists or music recommendations are not essential for the initial MVP and can be considered for future iterations.
- Advanced Machine Learning Models: While ML models can enhance recommendation accuracy, complex models requiring extensive data and resources will be deferred to prioritize speed and simplicity in the MVP.
Task Documentation
Each of these tasks has been integrated into the project planning framework to ensure clear tracking and accountability.
5. User Testing
Previous Learnings
The insights from the last round of user testing for Dhvani revealed several areas for improvement, primarily in the realms of UI/UX and functionality:
- UI/UX Changes: Users suggested changes to animations on login/signup pages, the location of the sound button, and the color consistency for actionable elements. There were also requests for making playlist cards entirely clickable, maintaining a consistent color scheme across all UI elements, and ensuring that the layout remains fluid and responsive to content size.
- Functional Enhancements: Feedback indicated the need for disabling conflicting interactive buttons, providing clear feedback and indicators for successful actions like login, and highlighting the currently playing song. Users also reported functional issues such as unresponsive mood selections and playlist interactions.
Next Round of Testing
For the next round of user testing, will implement a structured approach focusing on the usability and integration of the previous feedback:
- Comprehensive UI Testing: Ensuring all interactive elements are intuitive and accessible, and that animations enhance the user experience without causing distractions.
- Consistency and Feedback: Validating the consistency of UI elements and verifying that feedback mechanisms like success messages are clear and helpful.
- Functional Testing: Testing the functionality of mood-based music recommendations, playlist interactions, and ensuring that all buttons and icons perform as expected.
Research Approach
The upcoming user testing phase will be more structured and rigorous compared to the initial build-out phase, with the following methodologies:
- Participant Selection: Engaging a diverse group of users that represent the target demographic to ensure a broad range of feedback.
- Usability Testing: Conducting sessions where participants complete tasks while I will note any usability issues.
- Surveys and Questionnaires: Gathering quantitative data on specific aspects of the user interface and user experience.
- A/B Testing: Comparing two versions of the app to determine which features or designs perform better in terms of user engagement and satisfaction.
Key areas of focus for this round of user testing include:
- Ease of Use: Whether users can easily navigate and understand the app without instruction.
- Functionality: If the core features, such as mood-based and location-based music recommendations, are working correctly and efficiently.