ID
Requirement
Touchless Kiosk Controls
F1.1
The system must allow controlling web-based kiosk interfaces using hand gestures such as swipes, finger pinches etc.
MUST
✅
Aaryaman, Aryan
F1.2
The system must be able to track the relevant hand and ignore the disturbance from the environment
MUST
✅
Aaryaman, Aryan
F1.3
The gesture controls must be relatively performant and run at at least 20fps on a mid-powered kiosk computer (i5 8th gen, 4GB RAM)
MUST
✅
Aaryaman, Aryan
F1.4
The system should allow adjusting parameters such as gesture sensitivity, detection thresholds, and deciding between using the right or left hand.
SHOULD
✅
Aaryaman, Aryan
End user frontend (Web Extension)
F2.1
The extension must be able to hook into any web-based interface without modifying its source code.
MUST
✅
Aaryaman
F2.2
The extension must be able to display a live preview of the user's hands so that they can more reliably control interfaces via gestures.
MUST
✅
Aaryaman
F2.3
To respect the user's privacy and avoid embarrassment, the live preview should display an abstracted version of the user's hands.
SHOULD
✅
Aaryaman
F2.4
The extension should allow changing the sensitivity of the gestures in real-time based on user preference.
SHOULD
✅
Aaryaman
F2.5
The extension should have a status box indicating if the backend software is active.
COULD
✅
Aaryaman
F2.6
To improve resiliency, the extension should be able to relaunch the backend if it stops functioning.
SHOULD
✅
Aaryaman
Communication Protocol
F3.1
The communication protocol must support duplex communication between the front and the back end.
MUST
✅
Aaryaman
F3.2
The communication protocol must support the manipulation of config settings and allow tweaking parameters such as sensitivity in real time.
MUST
✅
Aaryaman
F3.3
The communication protocol must not use any remote endpoints and work without network access to maintain security.
MUST
✅
Aaryaman
F3.4
The communication protocol should provide an API for external use and use a consistent JSON schema.
SHOULD
✅
Aaryaman
F3.5
The communication protocol should work even in the event of MotionInput crashing and should be able to relaunch it to improve resiliency.
SHOULD
✅
Aaryaman
Source Compilation
F4.1
There must be an easy-to-use compilation script that can compile the backend into an executable that doesn't require additional dependencies.
MUST
✅
Aaryaman, Aryan
F4.2
The executable must target the Windows operating system from Windows 10 and above.
MUST
✅
Aaryaman, Aryan
Touchless Kiosk Launcher
F5.1
The launcher must not display the MotionInput live preview screen or open the windows console.
MUST
✅
Aryan
F5.2
The launcher should have a single launch button which starts the server and MotionInput.
SHOULD
✅
Aryan
F5.3
The launcher must allow the administrator to set the desired sensitivity of the swipe gesture.
MUST
✅
Aryan
F5.4
The launcher must allow the administrator to set the desired hand (right or left).
MUST
✅
Aryan