commit 04f4a772aeb893bfed3bfe32fc569e713fa8db3b
parent c6193c751091fdce034665f669cf88b1f056c96b
Author: Joel-Haeberli <haebu@rubigen.ch>
Date: Wed, 5 Jun 2024 12:01:18 +0200
docs: enhance
Diffstat:
3 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/docs/content/results/reflexion.tex b/docs/content/results/reflexion.tex
@@ -1,8 +1,8 @@
-\section{Reflection}
+\section{Conclusion}
\subsection{Technically}
-Generally I think I did an acceptable job in the implementation. I was able to implement the required processes and the targeted user-experience. The implementation (in C2EC as well as in the Paydroid app) suffers of some technical debts which I finally accepted, because I had to prioritize the formal parts of the thesis, such as the poster, video, book entry or this documentation. I could have prevented some of these issues, when I read the documentation and specification more concentrated. But overall I am satisfied with the work I did concerning the small time range that was available for the implementation.
+Generally I think the implementation does its job very good. I was able to implement the required processes and the targeted user-experience. The implementation (in C2EC as well as in the Paydroid app) suffers of some technical debts which I finally accepted, because I had to prioritize the formal parts of the thesis, such as the poster, video, book entry or this documentation. I could have prevented some of these issues, when I read the documentation and specification more concentrated. But overall I am satisfied with the work I did concerning the small time range that was available for the implementation.
\subsubsection{C2EC}
@@ -12,17 +12,17 @@ In Go code of the C2EC component I had to implement a robust way to communicate
Concerning the extensibility of C2EC I was able to implement code level abstractions which allow an easy integration of additional payment system providers. After the feedback of Prof. Dr. Christian Grothoff I was could eliminate an unnecessary layer of abstraction, which made it even easier.
-I think I could apply a lot of knowledge I gained through the past three years. From time to time I was thinking: "ah, this is why the prof told us this". This helped me to harden my understanding of various topics.
+I think I could apply a lot of knowledge I gained through the past three years. From time to time I was thinking: "ah, this is why the Prof. told us this". This helped me to harden my understanding of topics such as encoding, REST API, concurrency and many more.
\subsubsection{Paydroid Terminal Application}
-The paydroid application was challenging to me since I never wrote a real Android application on my own. That\'s why I think I did a good job by implementing a best practice structure with the view models, composable and navigation controller. Through the feedback of Prof. Dr. Benjamin Fehrensen I was able to improve the design and verify the correctness of these best practices.
+The paydroid application was challenging to me since I never wrote a real Android application on my own. That is why I think I did a good job by implementing a best practice structure with the view models, composable and navigation controller. Through the feedback of Prof. Dr. Benjamin Fehrensen I was able to improve the design and verify the correctness of these best practices.
-I first had problems to understand how exactly the versioning in Android works. The backward compatibility is given even when big time gaps between the feature needed and the version in use occur. In the beginning I suffered a little to understand the difference of the none compose and compose era of Android programming and mixed the patterns. In the end I think I implemented a modern Android app.
+I first had problems to understand how exactly the versioning in Android works. The backward compatibility is given even when big time gaps between the feature needed and the version in use occur. In the beginning I suffered to understand the difference of the none compose and compose era of Android programming and mixed the patterns. After better understanding how features work in jetpack compose I think I implemented a modern Android app.
Since the app needs to do requests in the background I had to understand how this could be achieved. Therefore I needed to understand how I can access other threads. I think in this area is the biggest shortcoming of my implementation. I implemented an asynchronous state-handling. Threads running detached from the UI-Thread will update the model, which will lead to the regeneration of the composables. I think it would be a better way to implement a proper pub / sub model using a libraries like rxjs or Androids state flow features. Due to the lack of time I decided to not do this anymore.
-It was interesting to learn about the difference of Go\'s goroutines and Kotlin\'s coroutines. While running background tasks using goroutines works perfectly fine, in Kotlin on Android I learnt it is required to start a new thread and launch coroutines on the new thread. Otherwise Android will not allow network requests, because it disallows I/O operations on its UI thread. From my point of view this shows a limitation of coroutines on top of JVM threads. They are not real parallel but just suspend work on the thread and check periodically if they can process further. If there are thread level restrictions (like the Android restrictions), they will affect the execution of the coroutines on top and like this undermine the concept of coroutines.
+It was interesting to learn about the difference of Go goroutines and Kotlin coroutines. While running background tasks using goroutines works perfectly fine, in Kotlin on Android I learnt it is required to start a new thread and launch coroutines on the new thread. Otherwise Android will not allow network requests, because it disallows I/O operations on its UI thread. From my point of view this shows a limitation of coroutines on top of JVM threads. They are not real parallel but just suspend work on the thread and check periodically if they can process further. If there are thread level restrictions (like the Android restrictions), they will affect the execution of the coroutines on top and like this undermine the concept of coroutines.
\subsection{Methodically}
diff --git a/docs/thesis.pdf b/docs/thesis.pdf
Binary files differ.
diff --git a/docs/thesis.tex b/docs/thesis.tex
@@ -234,10 +234,10 @@
\listoftables
%------------ List of Listings -----------
-\lstlistoflistings
+%\lstlistoflistings
%------------ Glossary -------------------
-\printglossary
+%\printglossary
%------------ Index ----------------------
\clearpage