Summary of Achievements
Final MoSCoW Requirements Review
ID | Requirement | Priority | State | Contributors |
---|---|---|---|---|
1 | Dance-mat like interface that allows users to play games with their feets | Must | ✓ | Dongyeon, Minghui, Tina, Team 26 |
2 | Mouse mode of the virtual dance mat | Must | ✓ | Minghui |
3 | Make the virtual dance mat compatible with both the standing and sitting scenario | Must | ✓ | Dongyeon |
4 | Pose recognition algorithm | Must | ✓ | Dongyeon, Minghui |
5 | Map gestures to keyboard or mouse events | Must | ✓ | Dongyeon, Minghui |
6 | Define the range of hand movements that need to be corrected, the speed and accuracy of correction | Must | ✓ | Tina |
7 | Select the appropriate technology to achieve the required level of hand jitter correction. Prerequisite is the use of Mideapipe library | Must | ✓ | Tina |
8 | Develop the hand jitter correction system, integrating the chosen technology into the mouse control layer of MotionInput 3.2 | Must | ✓ | Tina |
9 | Best pose detection for the virtual dance mat | Should | ✓ | Dongyeon, Minghui |
10 | Dance mat visualiser | Should | ✓ | Dongyeon, Minghui |
11 | New display key for in-air action buttons | Should | ✓ | Dongyeon, Minghui |
12 | Configuration wizard to allow users to customise FeetNav features | Should | ✓ | Dongyeon, Minghui |
13 | Use design principles to optimise the configuration wizard | Should | ✓ | Dongyeon |
14 | Intuitive and aesthetically pleasing design | Should | ✓ | Dongyeon, Minghui |
15 | Eliminate edge cases to optimise user experience | Should | ✓ | Dongyeon, Minghui |
16 | Test the hand jitter correction to ensure that it meets the defined requirements. Evaluate the system’s accuracy, speed, and user experience | Should | ✓ | Tina |
17 | Refine the hand jitter correction system based on the testing results | Should | ✓ | Tina |
18 | New display element for in-air action buttons | Could | ✓ | Dongyeon |
19 | Integrate the refined hand jitter correction system into every landmark of the hand module | Could | ✓ | Tina |
20 | User could set the level of jitter correction/smoothing in the configuration wizard | Could | ✗ |
Individual contribution distribution table
Work packages | Dongyeon | Minghui | Tina | Ali |
---|---|---|---|---|
Project partner liaison | 20 | 20 | 60 | 0 |
Requirement analysis | 34 | 33 | 33 | 0 |
Research and Experiments | 30 | 34 | 33 | 3 |
UI Design | 40 | 40 | 20 | 0 |
Coding | 50 | 40 | 10 | 0 |
Testing | 40 | 35 | 25 | 0 |
Report Website | 15 | 40 | 40 | 5 |
Video Editing | 35 | 22 | 43 | 0 |
Overall Contribution | 33 | 33 | 33 | 1 |
Main roles | Lead Developer, UI Designer, Tester | Lead Developer, UI Designer, Report Editor | Client Liaison, Report Editor, Video Editor | Editor |
Critical evaluation of the project
User experience
Overall, our product is easy to learn and intuitive to use. The configuration wizard also allows users to customise our product to apply it over a large range of activities, such as gaming, web browsing, and drawing.
Functionality
We have fulfilled all the key requirements and tried our best to come up with as many optional requirements as possible to optimise user experience. In the end, every component of our product is fully functional and can be effectively integrated with one another.
Stability
The virtual dance mat is 95% stable. The leftward and rightward leg movements are always stable and are rarely triggered by mistake. However, as the depth of the landmarks from the camera is an estimation by MediaPipe, the forward and backward leg movements are less stable as the distance between the two feet is sometimes miscalculated.
Efficiency
Throughout the development of the project, we have applied various design principles to ensure the efficiency of the codes. As a result, our final product can almost synchronise users’ movements and the corresponding keyboard and mouse events. There is only a slight delay as there are many layers in the MotionInput legacy codes to process the raw image.
Compatibility
As all the FeetNav features can be used without the Internet and the configuration wizard is developed using MFC, which is commonly used for developing desktop applications for Windows, all the FeetNav features are able to work across all Windows devices.
Maintainability
As all of our work was shared across the group, every member tried to make additions that were organised and well-documented. Moreover, our codes were constantly refined so that they were efficient and concise.
Project Management
With the help of various planning tool, we managed our time well and were able to deliver all products by time. Moreover, we often met up to discuss our progress to make sure that everyone was up to date with the latest information. Peer programming was often used in our group to generate codes of high quality.
Future work
1. Add gestures in the four diagonal directions
Nowadays, a lot of dance mats in the market are a 3x3 grid and support eight buttons. Therefore, pose detection algorithms for leg movements in the four diagonal directions can be added so that our product can simulate the full functionalities of a modern dance mat.
2. Gesture recorder for lower body movements
For the moment, the virtual dance mat only supports four keyboard or mouse events. Therefore, it is impossible to play a lot of games with only lower body movements. If a gesture recorder were added to allow users to map more gestures, such as a kicking gesture, to more keyboard events or mouse events, it is possible to slowly remove the in-air action buttons so that our product can be used by a wider range of users. For example, this will allow users with no arms to play games with our product.