2022 january update
Compare changes
content/2022-january-update.md
0 → 100644
+ 56
− 0
We use [Python](https://python.org) to power Funkwhale's API. Python is a great and flexible language, but its dependency management can get messy. You have to install and set up a virtual environment, install dependencies from a file… it's not ideal. So we decided to take some time this month to improve this.
To make dependency management easier going forward, we've implemented [Poetry](https://python-poetry.org/). This nifty tool takes the complexity out of handling dependencies and virtual environments. It also keeps everything off of your base system, so no need to worry about getting software mixed up!
As mentioned above, we use Python to power our API. Python introduces changes between each new version, so we have to stay on our toes. A new version may drop support for something, or we may add something that doesn't work on an old version. This affects those who run Funkwhale on bare metal. Distros tend to ship with different Python versions.
This is a subject that is near and dear to my heart. Our documentation has languished a little bit over the years. We've added bits, chopped other bits out, and fixed some language. But what we haven't done is interrogate the structure of the information. Some things are still quite hard to find and understand.
We decided that the time was right to tackle this issue head on. This month we have been rewriting and restructuring **all documents** in our documentation. We've rewritten guides, added missing information, and completely reworked the structure. This is still a work in progress (turns out we have a **lot** of documentation). The goal is to make it easy for everyone to find what they need with a few clicks!
Something we've been keen to do is introduce more structure to our UI. Currently, we are using [Fomantic](https://fomantic-ui) elements to build everything. Fomantic is great, but making it feel like our own can be difficult. We're also not always consistent with how we use it in different parts of the app. This can get quite confusing for users.
As part of the 1.2.0 release, we linted our entire codebase. This is a process that looks at the code and corrects its format and layout. While this is a great thing to do, it can also introduce some problems. We've been able to pick through and sort these out, and we now lint everything automatically. This should keep these bugs out in the future!
We now have a big list of suggestions on our [forum](https://forum.funkwhale.audio/d/84-google-summer-of-code). We're going to take some time to sort through these and put some estimates together. The steering committee will meet next week to discuss next steps and decide what we want to put forward.