MoSCoW List Achievement



Key Functionalities: 100%

Optional Functionalities: 74%

Individual Contribution

Critical Evaluation

During development, we made many changes to the UI design, which took months. Because we pay attention to users' needs, collect feedback, and always think about whether such a design is appropriate, we constantly improve our design in communication with users.


For example, when switching between different power modes, there will be no relevant instructions at the beginning. However, considering that our users may not have much computer knowledge, we provide explanatory words when switching, and give users an impression of different power modes through simple, understandable and universal colours such as red, yellow and green.


The purpose of our project is to realize the monitoring of Linux system computer energy use, and we have basically realized all the functions required by client. On top of that, we added some new features.


For example, in the current context of rising energy prices, we have added the function of calculating electricity costs and setting budgets to the program.


However, this is not perfect. In our original vision, we wanted to display energy use by categories, such as work, game, and then click on work to subdivide it into word, ppt.... But later found that this is too bloated, and cannot find a good way to optimize, so gave up the feature.


Our project is developed based on Linux users, but no one in our group has used Linux before, so we borrowed a Linux host and carried out the development. At present, we have done a lot of tests and used different Linux hosts to try the effect, and the results are stable. So far, the program has not been unable to process data and calculations.


Our program acts as a monitor of energy use, firstly it cannot use a lot of energy, which we have done. Secondly, it responds immediately to changes in the computer's energy use, showing different data and plotting new graphs.


Our program is developed for Linux, so it can only be used on Linux, it is not valid for Windows and macOS, and it does not work on mobile phones.


We developed the front end and the back end completely separately, so if there was a problem on the front end or the back end, we could go straight to the person who was doing the corresponding part. At the same time, our different functions are also in different modules, and each part can be used independently, so when a problem occurs in one part, it can be easily located and fixed, without the need to change the whole. This also means that it's easy to add new features if users want to.


Once a week, we will hold a meeting and communicate with TA for guidance and help. At this time, we will report our work results from last week, and arrange and allocate the work for the next week. This allows everyone on the team to participate in the project and complete their responsibilities. At the same time, we will have a meeting with clients every two weeks, the main purpose is to determine their needs and show our results. Based on their feedback, we will revise our plan to better meet the needs of clients.


During the rest of the week, our group mainly communicates via WhatsApp with Microsoft teams and uploads our code via Github.


In addition, we have a plan from the beginning that lasts for several months, and of course, we have to revise the plan according to the situation rather than just stick to it. We also keep track of our weekly progress and regularly blog about it.


Project management

Once a week, we will hold a meeting and communicate with TA for guidance and help. At this time, we will report our work results from last week, and arrange and allocate the work for the next week. This allows everyone on the team to participate in the project and complete their responsibilities. At the same time, we will have a meeting with clients every two weeks, the main purpose is to determine their needs and show our results. Based on their feedback, we will revise our plan to better meet the needs of clients.


During the rest of the week, our group mainly communicates via WhatsApp with Microsoft teams and uploads our code via Github.


In addition, we have a plan from the beginning that lasts for several months, and of course, we have to revise the plan according to the situation rather than just stick to it. We also keep track of our weekly progress and regularly blog about it.


Bug List

Future Work

- Expansion of hardware and software compatibility: EcoMeter currently works with Intel’s 12th Gen processors and Linux OS. In the future, developers could work on expanding compatibility to include other Intel hardware and software systems.


Automatic optimisation: In addition to the four existing power modes, developers could implement automatic and dynamic process binding to fully utilise the capabilities of Intel's 12th Gen processor, further optimising the application's energy efficiency and performance.


Enhanced energy optimisation recommendations: EcoMeter currently offers some tips on how to optimise energy usage, but developers could incorporate more advanced algorithms and machine learning techniques to provide tailored and accurate recommendations based on individual usage patterns.


Advanced data visualisations: Developers could work on creating more advanced and informative data visualisations that would enable users to gain deeper insights into their energy usage of the system.


User interaction and experience: Future developers could also focus on improving the user experience by implementing features such as a light/dark mode, customisable settings, and more interactive data visualisations to better engage and inform users.