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.

