forked from HEIG-VD/template-tb
-
Notifications
You must be signed in to change notification settings - Fork 0
/
poc.tex
74 lines (51 loc) · 7.19 KB
/
poc.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
\section{Contexte}
Comme expliqué dans le cahier des charges, l'idée était d'avoir un prototype fonctionnel de l'application assez rapidement (durant la Milestone 2, voir \ref{milestone3}) afin de pouvoir la tester lors du Baleinev Festival de cette année qui a eu lieu le 21 avril 2023. Cela a permis de tester l'application en conditions réelles, de voir les potentiels problèmes qui apparaissent et finalement d'avoir un retour du public cible.
Il a été décidé de déployer l'application \gls{beeplace} sur deux écrans du festival au rez-de-chaussée et non pas sur les tours de l'école comme le montre la figure \ref{fig:beeplace-baleinev-2023}. La raison principale est que l'application ne permet pas encore de découper l'affichage en plusieurs parties. Il aurait donc fallu projeter toute la toile sur un écran et cela aurait été difficilement visible à cause de la distance. Divers codes QR ont été disposés à proximité des écrans afin de permettre aux utilisateurs de pouvoir accéder à l'application facilement.
\begin{figure}[H]
\centering
\includegraphics[width=0.9\textwidth]{assets/figures/beeplace-baleinev-2023.jpg}
\begin{center}
\textit{Photo réalisée par Kevin Pradervand}
\end{center}
\caption{Un des deux écrans projetant BeePlace lors du Baleinev Festival 2023}
\label{fig:beeplace-baleinev-2023}
\end{figure}
Le résultat, après plus de 8 heures de festival, est visible sur la figure \ref{baleinev2023.svg}.
% \begin{figure}[H]
% \centering
% \includegraphics[width=0.6\textwidth]{./assets/figures/baleinev2023.png}
% \caption{Résultat du BeePlace lors du Baleinev Festival de 2023}
% \label{fig:baleinev2023}
% \end{figure}
\fig[H, width=0.6\textwidth]{Résultat du BeePlace lors du Baleinev Festival de 2023}{baleinev2023.svg}
\section{Application}
L'application réalisée est une version simple de l'application finale. Les fonctionnalités implémentées sont les suivantes:
\begin{itemize}
\item Lors de l'arrivée sur l'application, l'utilisateur voit l'état de la toile partagée entre tous.
\item L'utilisateur peut choisir une couleur, zoomer et se déplacer sur la toile.
\item L'utilisateur peut poser un pixel de la couleur sélectionnée.
\item Après avoir posé un pixel, l'utilisateur doit attendre quelques secondes avant de pouvoir en poser un autre.
\item Création d'une route protégée afin de remettre à zéro la toile en cas de débordements.
\end{itemize}
Quant aux réglages choisis lors de la soirée:
\begin{itemize}
\item La taille de la toile était de 64x64 pixels.
\item Le temps d'attente entre deux pixels était de dix secondes.
\end{itemize}
La taille pour la toile a été un choix judicieux. En effet, elle n'était pas trop grande et les joueurs étaient obligés de faire coexister leurs créations sans avoir chacun leur propre espace dédié bien séparé des autres.
Concernant le temps d'attente entre chaque pixel, il a été défini de manière assez arbitraire mais le résultat a semblé satisfaisant. L'idée était de forcer plusieurs joueurs à collaborer sans pouvoir remplir la toile tout seul. Cependant, l'envie initiale était que les joueurs puissent poser quelques pixels chaque dix secondes (deux ou trois par exemple) afin de réduire la frustration. Malheureusement, cette fonctionnalité n'a pas pu être implémentée à temps.
\section{Conclusion}
\subsection{Bilan}
L'application, bien que moins mise en avant et donc moins utilisée que Pimp My Wall, a été un succès. En effet, les retours des festivaliers ayant testés l'application ont été très positifs. Ils avaient pour la plupart participé au r/place original et ont apprécié le fait de pouvoir revivre cette expérience, de manière plus intimiste. En effet, l'application n'étant pas connue, seule une partie des personnes sur place lors du festival y ont participé. Cela a permis aux festivaliers de pouvoir créer des dessins plus sereinement sans avoir peur de se faire déborder par d'autres joueurs.
Du côté du staff de Baleinev, le bilan est également positif. En effet, grâce au temps d'attente entre chaque pixel, les débordements n'ont quasiment pas eu lieu. Les joueurs n'ont pas la possibilité de ruiner la toile en quelques secondes contrairement à l'application de dessin Pimp My Wall (comme expliqué précédemment dans les objectifs de l'introduction \ref{sec:objectifs}). Il n'a donc pas été nécessaire de remettre à zéro la toile et de perdre dans ce cas les créations des joueurs.
\subsection{Améliorations}
\label{poc-ameliorations}
Malgré ce premier bilan positif, de nombreux points peuvent être améliorés dans la suite de ce travail de Bachelor.
\subsubsection{Dynamisme de l'application}
La première amélioration, celle qui touche le plus les joueurs, est l'ajout de la possibilité de poser plusieurs pixels à la fois. En effet, cela permettrait de dynamiser l'application car le nombre de joueurs est clairement plus limité que sur le r/place original et la toile s'actualise donc beaucoup moins souvent. Pouvoir poser un pixel à la fois est assez frustrant pour les joueurs. Il faut donc trouver un juste milieu entre le dynamisme de l'application et donner trop de pixels aux joueurs qui pourraient alors réaliser des dessins trop rapidement sans avoir à collaborer avec d'autres joueurs. Avoir deux ou trois pixels toutes les dix secondes semble être un bon compromis.
\subsubsection{Scalabilité}
Pour continuer, des tests de montée en charge sont toujours d'actualité afin de pouvoir parer à toute éventualité. En effet, l'application n'a pas été testée avec plus d'une dizaine de joueurs simultanément le soir du festival. Il est donc difficile de savoir comment elle réagirait avec plusieurs centaines voir milliers de joueurs dans le cas d'une utilisation plus intensive.
\subsubsection{Identification des utilisateurs}
Le souci majeur rencontré est l'identification des utilisateurs. La problématique sera plus longuement abordée dans la section \ref{identification-utilisateurs} du chapitre concernant l'implémentation mais il est important de déjà l'évoquer rapidement. La technique d'identification afin de vérifier que les utilisateurs respectent le temps d'attente entre deux pixels repose sur l'empreinte digitale de l'utilisateur, plus couramment appelé Fingerprint~\cite{devicefingerprint}. La librairie utilisée pour cette première version, Broprint.js~\cite{broprintjs} est une librairie open source très pratique. Malheureusement, un utilisateur a fait la démonstration que, sur son téléphone, il lui suffisait de rafraîchir la page pour poser un nouveau pixel. Son empreinte était donc considérée comme différente à chaque chargement de page, ce qui casse le principe de l'application. Ce souci devra donc être réglé dans le futur.
\subsubsection{Interface sur mobile}
Pour finir, l'application contient actuellement quelques problèmes sur mobile lorsque l'utilisateur zoome ou dézoome en sortant ses doigts de l'écran. Dans ces cas-là, il faut actuellement recharger la page pour pouvoir continuer à jouer dans de bonnes conditions. Ce problème est dû à la manière dont le code gère l'écoute des événements des doigts de l'utilisateur et doit être corrigé dans une prochaine version.