In the course of working on this culmination project, I have learned many important lessons that I am sure will help me as I begin my professional career.
First of all, outlining the idea for the project in great detail, throughout every iteration, although felt tedious at first, led me to have a much clearer idea than I would have otherwise, and created a solid foundation for the successive work. Through this iteration, I also learned to better listen to feedback and value other people’s ideas as well as concerns alongside my own. For the first time in my life I was working on something creative of this scale that was not private, but repeatedly exposed to what felt like the public eye – and although at first it felt almost sacrilegious, I learned the value of such exposure.
Learning to present the ideas clearly, which came for me later on in the spring semester, is another benefit; I find myself feeling grateful for all the confused questions I have received, although then it felt frustrating to have to over-explain something that felt so clear in mind. Concerning the elements that didn’t feel quite clear even to me even more so – I felt that I would figure it out when the time was right, but I could have found myself in a position where the right time came too late. So it was of benefit to be forced in such a way into having a clear enough idea about all the details that I could communicate them.
A challenge in this project that has also brought many lessons of its own was its collaborative nature. I had never worked on a coding project of such scale with another person, and I have learned just how crucial communication is. Communication on a number of topics, including ideas and vision, but also on expectations from collaborators and setting clear deadlines. And, perhaps most crucially, communicating on the code: both of us were used to working solo, but we struggled to navigate each other’s work, and building upon what was already in place was double as difficult. This experience has taught me the importance of keeping my code not just clean and organized, but clear to the point that would usually seem to me redundant, but has now proved crucial. Time spent on commenting the code will save more time on explaining and reworking with your colleague.
But even for myself, I found that, although I had a clear idea of the final product when starting work on it, I did not outline the logic of how it would be built, having a vague idea and going with the flow, so to speak, learning along the way. In the late stages of the project, both Julien and I hit roadblocks and had to come up with inefficient, convoluted solutions to important problems, which I believe could have been avoided had we developed a technical outline first, choosing the best course of action and following an agreed upon, logical system. In the end, I felt like reworking it all from the ground up, but in order to conserve time, we had to work with what we already had. In future projects, to avoid the frustration and anxiety and borderline loss of motivation, I will certainly plan ahead more thoroughly.
The planning ahead concerns all parts of the project really, not just researching and outlining the logical inner workings of the project, but its creative direction, its intended experience from the point of view of the uninitiated.
Concerning the code, I started off with totally original approaches in the procedural generation, and as the work progressed, I had to consult the web for learning the necessary solutions to my questions.
In the ideation process, I felt uncertain about all three of my original concepts that we were tasked to think up, and chose the meditation app as it was the most grounded and tangible of the three, the other two being a book recommendation service and an AI-powered dream tracker. But even still, the original idea for the meditation app was quite different from where it ended up: I intended it to be a quest-based experience guiding the user through the book The Mind Illuminated. Through feedback and reflection, I decided to steer the idea towards more mindful and procedural fields, since the consensus was that the concept of quests is in fundamental conflict with the purpose of meditation.
When I had a basic understanding of the future form of the project, I talked to Prof. Smith and he suggested conceptual additions (having a physical seed and watering it, saving a journal entry at the end of a session) that really helped me shape the project in my mind and become truly invested in it. The advice of Profs. Wilson and Auji helped with more technical problems, and the faculty panels steered the thoughts about UX and artistic direction.
The intended experience for the app is for the user to practice mindfulness of their emotions with the watering cans, and then transition that mindfulness to their breath, to which they can sync the day and night cycle of the garden by swiping their thumb up and down the screen. Then, to cap the session off, save a journal entry to look back on any time alongside with the procedurally generated, unique tree that they watered and watched grow. I intended for the app to be a tool for mindfulness with these additional dynamic elements that would make the garden feel alive.
When the project was displayed at the spring show, I was surprised to see interest in it, people asking if they can download the app, and I regretted not having uploaded it at least on Google Play. Overall, the project in the end had most of the intended functionality, but it was certainly not at the level I had imagined it to be, mostly because by the end of the spring semester, it had simply gotten too tangled and I had lost the zest I originally had, to the mistakes I had made within it and the overall stress of the final semester of my degree.
This project has taught me much, and I hope to carry these lessons and to build upon them in the coming years.