chore: Update Fitbot app styles and themes

This commit is contained in:
SebasKoedam
2024-05-06 19:58:53 +02:00
parent 13f7403f48
commit 53cf5cd19b
5 changed files with 344 additions and 4 deletions

View File

@@ -20,7 +20,6 @@ import com.aldebaran.qi.sdk.object.locale.Language;
import com.aldebaran.qi.sdk.object.locale.Locale;
import com.aldebaran.qi.sdk.object.locale.Region;
public class MainActivity extends RobotActivity implements RobotLifecycleCallbacks {
@Override

View File

@@ -32,7 +32,7 @@ public class MainScreen extends AppCompatActivity {
toolbar = findViewById(R.id.toolbar);
/*---Tool Bar---*/
// setSupportActionBar(toolbar);
// setSupportActionBar(toolbar);
/*---Navigation Drawer Menu---*/
navigationView.bringToFront();

View File

@@ -0,0 +1,2 @@
# BOM

View File

@@ -1 +1,176 @@
# Expert 1 Sprint 1
# Expert 1 Sprint 1
---
## K1: Je hebt object georiënteerde software gemaakt die samenwerkt met een database.
Voor het maken van object georiënteerde software die samenwerkt met een database ben ik nog niet ver genoeg. Ik ben bezig geweest met het maken van OOP software, maar ik ben nog niet begonnen met het maken van een database. Ik ben wel van plan om dit te gaan doen in de volgende sprint. Door een verandering in ons product zal de database anders ingericht worden dan eerder gedacht. Daarom zal ik in deze expert laten zien wat ik al wel heb kunnen doen en wat ik van plan ben om te gaan doen.
### Database
De database moet nog worden opgezet. Het idee is om dit te doen met behulp van: NodeJs, MariaDB en Apache. De database zal worden opgezet op een Raspberry Pi.
De database zou eerder worden gebruik voor gegevens van de gebruiker en veel andere data. Dit is veranderd na de feedback van de sprint review, de feedback die wij kregen was om het project/product veel simpeler te houden en aan te passen op onze doelgroep. De database zal nu worden gebruikt voor opslaan van bepaalde oefeningen en de bijbehorende data.
### OOP
Object Oriented Programming is een programmeermethode dat gebruik maakt van objecten en classes. Het doel van OOP is om de code beter te structureren en te hergebruiken. Omdat wij gebruik maken van java voor het maken van de software, is het makkelijk om gebruik te maken van OOP. Java is een object georiënteerde programmeertaal en maakt het makkelijk om gebruik te maken van OOP sinds het een van de belangrijkste concepten is van Java.
#### Inheritance
Inheritance is een princiepe waarbij een nieuwe class wordt gemaakt met behulp van eigenschappen van een bestaande class. De nieuwe class wordt afgeleid van de bestaande class.
Voorbeeld: Een olifant is een dier. Een olifant heeft alle eigenschappen van een dier, zoals ademhalen, eten, slapen, enz. Een olifant heeft ook enkele specifieke eigenschappen, zoals grootte, gewicht, slurf, enz.
Use case:
```java
public class MainActivity extends RobotActivity implements RobotLifecycleCallbacks {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Register the RobotLifecycleCallbacks to this Activity.
QiSDK.register(this, this);
}
@Override
protected void onDestroy() {
// Unregister the RobotLifecycleCallbacks for this Activity.
QiSDK.unregister(this, this);
super.onDestroy();
}
@Override
public void onRobotFocusGained(QiContext qiContext) {
// The robot focus is gained.
}
@Override
public void onRobotFocusLost() {
// The robot focus is lost.
}
@Override
public void onRobotFocusRefused(String reason) {
// The robot focus is refused.
}
}
```
De MainActivity class erft van RobotActivity, dit zorgt ervoor dat MainActivity properties en methods kan gebruiken van RobotActivity.
#### Abstraction
Abstraction is een princiepe om de complexiteit van een object te verbergen en alleen de nodige kenmerken weer te geven.
Voorbeeld: Een auto bestaat uit verschillende onderdelen, zoals motor, versnellingsbak, wielen, enz. Maar we hoeven niet te weten hoe deze onderdelen werken om een auto te besturen. We moeten alleen weten hoe we de auto moeten besturen, zoals hoe we gas moeten geven, remmen, sturen, enz.
Use case:
```java
@Override
public void onRobotFocusGained(QiContext qiContext) {
Say say = SayBuilder.with(qiContext) // Create a new Say action.
.withText("Hello world!")
.build();
say.run(); // Execute the Say action.
}
```
In de method `onRobotFocusGained` wordt een `Say` actie gemaakt en uitgevoerd. De gebruiker hoeft niet te weten hoe de `Say` method werkt, maar kan deze gewoon gebruiken.
#### Encapsulation
Encapsulation is een princiepe om de interne gegevens van een object te verbergen en alleen toegang te geven via methods.
Voorbeeld: Een bank heeft verschillende methods om geld te storten, geld op te nemen, saldo te controleren, enz. We kunnen niet rechtstreeks toegang krijgen tot de interne gegevens van de bank, zoals de balans, de rekeningnummers, enz. We moeten de methods van de bank gebruiken om deze gegevens te krijgen.
Use case:
```java
To be added
```
In de `MainActivity` class worden de methods `onCreate`, `onDestroy`, `onRobotFocusGained`, `onRobotFocusLost` en `onRobotFocusRefused` gebruikt om pepper te kunnen besturen. De gebruiker hoeft niet te weten hoe deze methods werken, maar kan deze gewoon gebruiken.
#### Polymorphism
Polymorfism is een princiepe waarmee een class verschillende vormen kan hebben. Het kan worden bereikt door methods te hebben met dezelfde naam, maar met verschillende parameters.
Voorbeeld: Een dier kan verschillende geluiden maken, zoals een hond kan blaffen, een kat kan miauwen, enz. Maar we kunnen een algemene method maken die `makeSound` heet en deze method in de dierclass implementeren. De hondclass kan deze method overschrijven en blaffen implementeren, en de katclass kan deze method overschrijven en miauwen implementeren.
Use case:
```java
To be added
```
---
## K2: Je hebt de wensen en behoeften van gebruikers verwerkt in een goed doordacht prototype.
De wensen en behoeften van de gebruikers zijn op dit moment nog niet verwerkt in een prototype. Dit is omdat er nog niet genoeg informatie hebben over de wensen en behoeften van de gebruikers. In sprint 2 zal er een prototype worden gemaakt waarin de wensen en behoeften van de gebruikers zijn verwerkt.
De manier waarop ik de wensen en behoeften van de gebruikers wil gaan verwerken in het prototype is door middel van Test/Learning cards. Dit is een manier om de gebruikerservaring te testen en te verbeteren.
---
### ISO
Voor het testen van de gebruikerservaring wordt de ISO (International Standard Organization) definitie van kwaliteit in gebruik gebruikt.
“Qualiteit in gebruik is de mate waarin een product of systeem door specifieke gebruikers kan worden gebruikt om aan hun behoeften te voldoen om specifieke doelen te bereiken met effectiviteit, efficiëntie, vrijheid van risico en tevredenheid in specifieke gebruiksomstandigheden.”
#### Effectiviteit
Effectiviteit is de mate waarin gebruikers specifieke doelen kunnen bereiken met nauwkeurigheid en volledigheid.
##### Test Card
In de test card wordt de test beschreven die wordt uitgevoerd. De test card bestaat uit de volgende onderdelen:
Hypothese:
Test:
Meetmethode:
Criteria:
##### Resulaat
In `Resultaat` worden de resultaten van de test beschreven. De resultaten worden beschreven aan de hand van de hypothese, test, meetmethode en criteria.
##### Learning Card
In de learning card wordt beschreven wat er is geleerd van de test. De learning card bestaat uit de volgende onderdelen:
Hypothese:
Observatie:
Leerpunt en inzicht:
Advies:
---
De effectiviteit en tevredenheid worden op gelijke manieren getest. Zodra de test is uitgevoerd en de resultaten zijn geanalyseerd, wordt er een learning card gemaakt. In de learning card wordt beschreven wat er is geleerd van de test en wat er kan worden verbeterd. Na alle resultaten te hebben geanalyseerd, wordt er een prototype gemaakt waarin de wensen en behoeften van de gebruikers zijn verwerkt.
---
## K3: Je hebt een infrastructuur ontworpen en gebouwd volgens zelf-gedefinieerde vereisten.
---
## K4: Je ontwerpt een embedded systeem op basis van gegeven hardware.
---
## K5: Je kan software schrijven voor een intelligente controller voorzien van actuatoren en sensoren.

View File

@@ -1 +1,165 @@
# Expert 2 Sprint 2
# Expert 2 Sprint 2
# User Testing
## Table of Contents
## Introduction
This is a user test document for the occupation page. The occupation page allows users to view the occupation of the silent booth.
---
## ISO
For testing user experience, the ISO (International Standard Organization) definition of quality in use is used.
“Quality in use is the degree to which a product or system can be used by specific users to meet their needs to achieve specific goals with effectiveness, efficiency, freedom from risk and satisfaction in specific contexts of use.”
---
### Effectiveness
#### Test Card
Hypothesis: I think the page is very effective because it is easy to use and the user can easily find the information they are looking for.
Test: Ask the user to find the last use of the a silent booth.
Metrics: How long does it take for the user to find the information?
Criteria: The user should be able to find the information within 10 seconds.
#### Results
Harrald: The user was able to find the information within 10 seconds.
Olivier: The user was able to find the information within 10 seconds.
Sietse: The user was able to find the information within 10 seconds.
Dano: The user was able to find the information within 10 seconds.
Bram: The user was able to find the information within 10 seconds.
#### Learning Card
Hypothesis: I think the page is very effective because it is easy to use and the user can easily find the information they are looking for.
Observation: The user was able to find the information within 10 seconds.
Learning point & insight: The page is effective.
Advice: None
---
### Efficiency
#### Test Card
Hypothesis: I think the efficiency of the page can be improved beacuse there is a lot of text on the page.
Test: Ask the user to find a cretain time and day on the heatmap of the silent booth.
Metrics: How long does it take for the user to understand the heatmap? How many clicks does the user need to understand the heatmap?
Criteria: The user should be able to understand the heatmap within 30 seconds and with a maximum of 3 clicks.
#### Results
Harrald: The user was able to understand the heatmap within 30 seconds and 3 clicks.
Olivier: The user was able to understand the heatmap within 30 seconds and 3 clicks.
Sietse: The user was not able to understand the heatmap within 30 seconds and 3 clicks.
Dano: The user was able to understand the heatmap within 30 seconds and 3 clicks.
Bram: The user was not able to understand the heatmap within 30 seconds and 3 clicks.
#### Learning Card
Hypothesis: I think the efficiency of the page can be improved beacuse there is a lot of text on the page.
Observation: Some users could not find the history. Most user found the legenda confusing.
Learning point & insight: Imrpove the legenda and make the history more visible.
Advice: Make the history a button and make the legenda more clear. Less text should be needed to understand the heatmap.
---
### Satisfaction
#### Test Card
Hypothesis: I think the satisfaction of the page can be improved because the page is not very attractive.
Test: Ask the user to give their opinion on the page (this will be done in a form).
Metrics: What is the user's opinion on the page?
Criteria: The user should give a opinion on the page.
#### Participants
- Harrald
- Olivier
- Sietse
- Dano
- Bram
#### Questions and Results
1. **What is your first impression of the page?**
Harrald: Duidelijk en overzichtelijk.
Olivier: Simpel.
Sietse: Ziet er prima uit, goed overzichtelijk.
Dano: Ziet er strak uit, minimalisties design en duidelijk waar het over ging.
Bram: Eerste pagina was relatief duidelijk, alleen de history pagina was ietwat lastig te overzien en te veel gevuld met tekst met uitleg in plaats van voorbeelden, verder goed uitgewerkt.
2. **Is the information on the page clear?**
Harrald: Prima.
Olivier: Ja, last update zou last use moeten zijn.
Sietse: Ja.
Dano: Ja, er staat kort en bondig waar het over gaat.
Bram: Na wat moeite met het overzicht was het goed beschikbaar.
3. **Is the history easy to find?**
Harrald: Ja.
Olivier: Ja heel duidelijk.
Sietse: Ja behalve dat je niet super snel ziet dat het een knop is.
Dano: Ja, fijn dat er een feedback kwam toen de muis er overheen ging
Bram: Jazeker, alleen inplaats van een knop er voor zou ik op het vakje zelf klikken in plaats van het tekstje.
4. **Is the history easy to understand?**
Harrald: Even wennen, uitlijning kan duidelijker en tijden niet schuin.
Olivier: Ja alleen wel veel kleur door elkaar.
Sietse: Na een uitleg wel, maar wat de waardes zelf betekenen is een beetje onduidelijk.
Dano: Het kan beter, beetje onduidelijk waar de tijd bij hoordt.
Bram: Net iets te lastig, persoonlijk.
5. **Do you miss any features on the page?**
Harrald: Nee.
Olivier: Nee.
Sietse: Het is moeilijk te zien wat booth 1 of 2 is.
Dano: Nee.
Bram: Niet dat ik zou weten.
#### Learning Card
Hypothesis: I think the satisfaction of the page can be improved because the page is not very attractive.
Observation: All users gave a positive opinion on the page.
Learning point & insight: The page is attractive because it is clear and easy to use. The heatmap can be improved.
Advice: Improve the heatmap and make the history a button.
---
## Conclusion
The occupation page is effective, efficient and satisfying. The page is easy to use and the user can easily find the information they are looking for. The efficiency of the page can be improved by making the legenda more clear and the history more visible. The satisfaction of the page can be improved by improving the heatmap and making the history a button.