Evaluation

We evaluated the project after we completed it.

Final MoSCoW list

To evaluate the progress we've made we produced a table illustrating what MoSCoW requirements have been achieved and which ones have not.

Description Priority State Contributors
Use appropriate music. MUST Kirill
Create podcast structure. MUST Ken
Generate text for the script. MUST Ken
Generate audio for the script. MUST Kirill
Generate images used in videos. MUST Kirill
Create a website to host podcast on. MUST Kang
Allow creation of an episode using a PDF file. MUST Ken
Add user suggestions. SHOULD Kang
Add episode descriptions. SHOULD Kang
Create episode search. SHOULD Kang
Clone voices. SHOULD Kirill
Have a diverse range of potential guests. SHOULD Ken
Add music based on sentiment. COULD Kirill
Have a Light/Dark theme. COULD X
Add share options. COULD X
Add saved tab. COULD Kang
Add comedic elements in the episodes Could X
Implement immersive 3d audio. Could X
Allow users to download episodes. Could X
Implement augmented reality. WON'T HAVE X
Translate website. WON'T HAVE X

Percentage of completed core requirements: 100%

Percentage of completed optional requirements: 22%

Individual Contribution

We've produced a table showing each member's contribution as well as their roles.

Description of the task Ken Kang Kirill
Client Liaison 100% 0% 0%
Requirements Gathering 35% 30% 35%
HCI Production 25% 50% 25%
Research 33% 33% 33%
Script Generation 100% 0% 0%
Audio Generation 0% 0% 100%
Video Generation 0% 0% 100%
Frontend Programming (Podcast Website) 0% 100% 0%
Backend Programming (Server) 0% 100% 0%
Deployment of project on Azure 0% 100% 0%
Weekly Reports 30% 30% 40%
Testing 100% 0% 0%
Report Website 10% 10% 80%
Final Video 33% 33% 33%
Overall 33% 33% 33%
Main Roles Team Leader, Backend Developer, Tester Fullstack Developer, UI Designer Backend Developer, Report Editor

Evaluation

This is the final evaluation of our tool, having considered the suggestions from members from other teams.

  • User Interface

    We have produced an intuitive user interface with clear tabs, making it easy to navigate. Throughout the development we prioritized user experience, ensuring each detail was carefully considered from the user's perspective.

    However, when we showed our tool to a member of a different team, it was suggested that we add an "All episodes" note to make it clear that the episodes page contained all the episodes, and also we were suggested to move the names of the tabs to the middle for a cleaner look. On the good note, we were told that the UI did not distract from the overall podcast listening experience.

  • Functionality

    The main goal within functionality was ensuring seamless episode listening and easy episode discovery for the users. We have successfully implemented the core requirements related to functionality part of the project.

    Following user feedback, we were told that the current features work well without any concerns raised. However, incorporating additional optional requirements could further enhance the functionality of the podcast."

  • Stability

    Our platform has undergone some testing, during which it has demonstrated consistent stability without experiencing any crashes or technical errors. However, it's important to note that the platform has not been subjected to heavy usage scenarios, which may affect its reliability under more severe conditions.

    While user feedback has been positive regarding stability, further testing is certainly required to ensure robust performance.

  • Efficiency

    Our podcast makes use of AI to generate most parts of it, including script, audio and image generation, meaning it might take up some time to load the episodes, especially if the user suggestions feature is used. Improvements could be explored by experimenting with alternative models and utilizing additional Python libraries. Additionally, as we integrated multiple APIs during development, it introduced some dependencies on charging services, potentially resulting in occasional or permanent feature limitations."

    User feedback highlighted that episodes took longer than expected to generate. It's important to note that immediate generation isn't feasible, especially for the unique topics. However, we realise that there is room for improvement in speeding up the generation process, which we will address to enhance the overall user experience.

  • Compatibility

    Our platform works best on the desktop website and even though it remains accessible on smartphones and tablets, it was primarily designed for a desktop website usage. On the positive side, it works well across different operating systems.

    Multiple members of other teams have said it would be very convenient to comfortably use the podcast on a smartphone by either implementing a mobile version of the website or by uploading the episodes of our podcast to streaming platforms such as Spotify or Apple Podcasts. We have taken a note of this feedback and are committed to addressing it in the near future.

  • Maintainability

    The podcast is fairly easy to maintain as episodes could be manually generated by simply adding a topic. Also, as script, audio and video generation files have been coded separately, it is easy to fix a bug within each part or add a new feature to a specific part of the generation process. This modular approach facilitates efficient maintenance and future enhancements to the podcast platform.

  • Project Management

    Although we successfully met the core requirements, additional planning could have facilitated the implementation of more features. Our approach to work allocation was effective; each team member was assigned a big part of the project, allowing for focused expertise and efficient integration of project components. This method minimized the need for extensive explanations or collaboration on individual sections, as team members were proficient in their respective areas and could easily fix a bug or implement a new feature, if needed. However, we could have also spent less time researching and have started coding sooner as this would have allowed for a better functionality without compromising the quality of our project. Finally, we adapted well to changes and incorporated additional requirements as needed. as well as addressing the challenges we faced whether they related to coding or other project-related complexities.

Future Work

If we had more time, these are the things we'd look into doing to make our podcast better:

1. Generate a dynamic video instead of a static one. This is something we looked into, but decided not to implement due to all of the text-to-video tools being very expensive. As we had a podcast, we thought many people would just listen to it and so audio was more important, hence we focused on the audio aspect of the podcast.

2. Upload episodes (audio MP3 files) to popular streaming platforms such as Spotify Podcasts, Apple Podcasts, and even YouTube. This expansion can significantly broaden our audience reach, increasing the visibility of our podcast. Also, doing so will make it easier to use on a smartphone.

3. Add more tabs and pages to the website to include things such as help page, contact page, share features etc. This could certainly provide a more comprehensive user experience, making the tool easier to use.

4. Add an option to choose or generate a new voice. This was suggested during user feedback; although we have a dictionary with different voices, it's not possible to choose a voice (via website). Voices can be changed manually inside the code, but an easier way to do it would be a great addition.

5. Experiment with more models, python libraries and generally try more things. Some of the 'experimental' tools could lead to an improved efficiency or a new feature could be implemented using another model. If we had more time, we would consider some more tools.