In this post, I’ll share about my capstone project and then expand upon my favorite technology of the project – the Kivy Framework. For my capstone, I am working in a group of four to develop an app that borrows from dating apps. The PetPals app has the purpose of facilitating pet adoption at an animal shelter. In the app, users can browse and search pet profiles. Plus, the shelter can manage pet profiles on their end. Our team decided to rely on the Kivy Framework for Python to develop this app. I want to share why it’s my favorite technology from this project and some of its drawbacks.
So what is Kivy? Well, it is an open source python app development framework. With Kivy, we can develop one main code base. Then, we can generate apps for iOS, Android, Windows and Mac. At Oregon State University, there is a predominant use of Python throughout the CS curriculum. By choosing Kivy, my teammates and I leverage our high competency in Python. My team avoids having to quickly learn and use a mobile development language such as Swift or Kotlin. Instead, there is a lot of familiarity and knowhow when using Kivy. While there are certainly Kivy aspects like modules to learn, it has been very easy to pick up. During my initial spike into Kivy, I found plenty of resources for getting started. There were many simple app tutorials. For example, I created a simple app that implemented a picture carousel. I managed to browse three images by swiping left or right. This is a clear prototype for how browsing a pet profile may become. Throughout these initial weeks, my team continues to make exciting progress by implementing components of the PetPals app. For instance, they have created login screens and landing pages.
Despite these advantages, there are some ways that using Kivy could be better. Initially, one concern was the default appearance of the UI widgets. For me, they seemed too simple and I was unsure about how much customization would be possible. Perhaps that is a minor concern now as my team has been able to customize the look and feel so far. On the other hand, one major issue was the installation of Kivy on Windows. I ran into issues when setting up my local environment through the terminal. The guide failed to address incompatible dependencies that blocked and ultimately foiled my attempts at installing Kivy. It was only through searching forums that I found a solution that finally worked for me. A specific build of Python – 3.8.2 and a specific version of Kivy would render no issue with that one problematic dependency. Although this did consume a few hours, I still find Kivy incredible in its potential use for my capstone project. Moreover, my team is using Kivy on Windows, Mac and Ubuntu. So in that light, perhaps my installation woes are best left behind.
Leave a Reply