Critical Reflection
As mentioned in the preface, a thesis project is a learning process and a lifetime opportunity to get out of one’s comfort zone and boost one’s ability to learn and grasp new fields in a very short time. One’s capability to independently learn, discover, think out of the box and innovate tremendously increases. With this precious capability, one is ready to face and proceed in the professional (and academical) world. What a person does with this capability is up to their ambition, personal interest and motivation.
I purposefully treaded
out of my comfort zone during the fulfilment of this thesis, I used many
different technologies I had never used before, because it was often the best suitable
one or the only way to complete certain implementations. For example, I had
never truly used Python before this thesis. However, for my AI implementation
this was necessary, hence, I did not hesitate to use it. By stepping out of my
comfort zone I exposed myself to new risks, some I could mitigate from the very
beginning of the project but others I couldn’t, hence I acknowledged them, put
a mitigation plan and tackled the problems when they occurred. This is because
I wanted to get the most out of this experience and use it to boost my
knowledge in this ever-growing field of applied computer science. If there is
one thing that I have learned during my experience in this field, it is that
the best way to learn is to venture, explore and just try out!
This approach surely
resulted in numerous risks, but with each risk I discovered, I learned, and I
mitigated. However, there are some problems that were left unsolved as these
would have taken too much time to solve at that point in development. For
instance, as I was still new to Firebase, I had not learned how to properly use
key, value pair data structures. Thus, I did not properly implement to use the
key as identifier for a data object. This made it so that certain data objects
in my implementation would cause a problem if they were deleted. This is
because their identifier value was based on the amount of data objects in a
list. In the end I found out how to solve this, but at that point in time it
was too late in the project timeline to implement the fix.
As we all know, the design
of the user interface is a key factor in the success of any mobile app. Many app
projects and design specialists invest ample time in the most important aspects
of good user interfaces: Intuitive and consistent design, clarity, high
responsivity and attractiveness. When delivering this first version of the app
I laid great effort to make the best user interface, yet, due to the time
limitations for this version (project), I had to compromise and limit the
efforts invested for this part and skip preparing wireframes, conduct UX
workshops to collect user feedback and iteratively improve the user interface.
Another challenge
involved the ever-changing development library landscape. It occurred to me
when the library I was using to develop Firebase in Python, e.g. Pyrebase, was
deprecated during development. I was required to make the switch to “Firebase
Admin” to avoid a major flaw.
In the end, I am truly and deeply satisfied with what I have achieved in
the context of this thesis. Proving my architectural insight, project
management, creative, initiative taking, and critical thinking skills. I am
glad that the topic I chose was very interesting and challenging to me
throughout the whole project. This kept me invested in the project without
needing much self-motivation. I found what I was doing wildly fascinating and
enjoyed each step of the way no matter how tough it became.
Comments
Post a Comment