During the Sign up process in the App, the App has to install a VPN connection (to the Yona Server) on the device.
It should not be possible to disconnect the VPN (see the Qustodio app) when the Yona App is installed and the App should check whether or not the VPN is active.
See for more info also the security related interaction flow related to Flow - Sign up
Since all traffic of the device will go through the VPN, the Yona Server will classify all http traffic and match it with the Challenges defined by the user. Since a Challenge is related to browser traffic on the device and the time spent on apps, the Yona App should have a background process that informs the Yona Server on the time slots each app on the device is in use. The Yona Server provides an interface to provide that data (
yona:appActivity link of user).
In the event the user uninstalls the App the Yona Server should be informed so the Friend(s) of the user will be informed that the user is not connected anymore.
In the event VPN to the Yona server is not active, the App should notify the Yona Server so the Friend(s) of the user will be informed that the user is not connected anymore.
The App needs to support multiple languages so all labels come from a label file. The Yona Server will provide an Interface to retrieve the language specific labels.
Generic UI behavior
All user related screens have a Purple header. Friend related screens have a blue header.
Several views are grouped by date. Guidelines:
All labels in capitals.
- Today is labelled as "Vandaag"
- Yesterday as "Gisteren"
- Other than Today or Yesterday: "WOENSDAG 8 APRIL"
- This week as "Deze Week",
- Last week as "Vorige Week".
- Other than This or Last week: "23 MAART - 30 MAART"
A user should be able to upload and change his Avatar (Me - Profile). In the event there is no Avatar picture uploaded by the user, the system should create an Avatar:
- For the current user, it should be based on two letters: the first one of the first and last name (Maria Schuurman → MF)
- For buddies, it should be based on one letter: the first one of the nickname (Dirk-Jan van Ommeren → Feestvarken → F)